07 2008存档
看了一本讲性能优化的书,挑出其中比较有意思的建议,仅供参考:
1. 同样是加减乘除,int比float和double都要快,所以尽量用int做加法、乘法运算,最后再除法,变回浮点型
2. “&&”符的左右判断可以更考究,比如:if( (strlen(a)>10) && (b>100) )没有 if( (b>100) && (strlen(a)>10) )高效,因为strlen较花时间
3. 对于多层的if-else语句来说,要把可能性最高的放在开始,这样逻辑通常就在第一个判断后执行,避免了总是经过多次判断走到后面的else上
4. 通常switch比if-else快
5. 迭代比递归快
6. 快速字符串比较方法:先比较两个字符串的第一个字符,再全部比较。因为通常待比较的字符压根儿就不同,没必要一来就strcmp这么大动干戈
7. 把字符串以int方式读取来比较能够加快比较速度
8. fprintf比fstream快不了多少,但fgets比getline快很多
1. 同样是加减乘除,int比float和double都要快,所以尽量用int做加法、乘法运算,最后再除法,变回浮点型
2. “&&”符的左右判断可以更考究,比如:if( (strlen(a)>10) && (b>100) )没有 if( (b>100) && (strlen(a)>10) )高效,因为strlen较花时间
3. 对于多层的if-else语句来说,要把可能性最高的放在开始,这样逻辑通常就在第一个判断后执行,避免了总是经过多次判断走到后面的else上
4. 通常switch比if-else快
5. 迭代比递归快
6. 快速字符串比较方法:先比较两个字符串的第一个字符,再全部比较。因为通常待比较的字符压根儿就不同,没必要一来就strcmp这么大动干戈
7. 把字符串以int方式读取来比较能够加快比较速度
8. fprintf比fstream快不了多少,但fgets比getline快很多
haodong: 你装完系统以后没有关掉报警,害我昨晚每个整点都收到一条短信
李玉鹏: 噢,忘了关了....
haodong: 请我吃饭吧
李玉鹏: 哦,你想吃啥?
haodong: 也没啥想吃的...折现吧
李玉鹏: 不厚道...你不想和阳光鹏鹏共餐吗?
haodong: ...
李玉鹏: 噢,忘了关了....
haodong: 请我吃饭吧
李玉鹏: 哦,你想吃啥?
haodong: 也没啥想吃的...折现吧
李玉鹏: 不厚道...你不想和阳光鹏鹏共餐吗?
haodong: ...
前几天看了电影《苜蓿地》(CloverField),觉得出乎意料的好。
一开始就是国防部播放一部某场浩劫之后在现场发现 的录像带,而这个录像带的发现地点是一个叫“苜蓿地”的地方,原名——中央公园(其实这一段开头就让人觉得寒气逼人了)。接着就是录像带的内容,一群年轻 人的夜晚派对,突然夜空传来巨响和怪兽低沉的吼叫,自由女神的头被砸了下来,透过重重叠叠的大楼和街道隐约看到巨怪的部分躯体....由于采用了第一人称视角拍摄,一幕幕故事情节都让观众觉得仿佛进入了自己的一场噩梦,恐惧从心底袭来。逃难的主角失去了哥哥、朋友,渐渐也看到了怪兽的全貌——简直就像是地狱放出来的恶魔,最后,主角还是没能逃离纽约,和女友逃到了中央公园的一座桥下,桥轰然倒塌,镜头被掩埋,录像带的播放结束。
用第一人称视角表现整部电影,以给观众带来强烈的冲击和真实感,这是当年《女巫布莱尔》成功的秘诀,《苜蓿地》重用了这一成功元素,借助更为先进的电脑特技,把灾难片的境界又推高了一个层次。同是怪兽电影,《苜蓿地》牵动人心的程度也大大超过了97年的《酷斯拉》,相信短期内很难再看到更为出彩的片子了。
一开始就是国防部播放一部某场浩劫之后在现场发现 的录像带,而这个录像带的发现地点是一个叫“苜蓿地”的地方,原名——中央公园(其实这一段开头就让人觉得寒气逼人了)。接着就是录像带的内容,一群年轻 人的夜晚派对,突然夜空传来巨响和怪兽低沉的吼叫,自由女神的头被砸了下来,透过重重叠叠的大楼和街道隐约看到巨怪的部分躯体....由于采用了第一人称视角拍摄,一幕幕故事情节都让观众觉得仿佛进入了自己的一场噩梦,恐惧从心底袭来。逃难的主角失去了哥哥、朋友,渐渐也看到了怪兽的全貌——简直就像是地狱放出来的恶魔,最后,主角还是没能逃离纽约,和女友逃到了中央公园的一座桥下,桥轰然倒塌,镜头被掩埋,录像带的播放结束。
用第一人称视角表现整部电影,以给观众带来强烈的冲击和真实感,这是当年《女巫布莱尔》成功的秘诀,《苜蓿地》重用了这一成功元素,借助更为先进的电脑特技,把灾难片的境界又推高了一个层次。同是怪兽电影,《苜蓿地》牵动人心的程度也大大超过了97年的《酷斯拉》,相信短期内很难再看到更为出彩的片子了。
广告发展到极致就是让人看不出它是广告,瞧瞧下面英国吉百利公司为新款巧克力推出的广告,没有为自己的巧克力进行任何吹嘘,但绝对让你印象深刻。
这要是让脑白痴来做吉百利的广告,肯定是:“吉百利新款巧克力!富含维生素ABCDEFG、能补充钙铁锌硒钛铝铁、补充大脑营养,常吃吉百利巧克力,有助于智力发育、骨骼生长、延缓衰老,我们全家都爱吃!“....不说了,想吐。
这要是让脑白痴来做吉百利的广告,肯定是:“吉百利新款巧克力!富含维生素ABCDEFG、能补充钙铁锌硒钛铝铁、补充大脑营养,常吃吉百利巧克力,有助于智力发育、骨骼生长、延缓衰老,我们全家都爱吃!“....不说了,想吐。
周五去吃巫山烤全鱼,桑拿天,还没开吃浑身就已经汗透了。
某同事爱吃鱼头,拔了一个。
同事A: 这鱼头怎么脑髓这么少啊....
同事B: 估计是生前不爱动脑。
haodong: 生前不动脑,死后脑被动....
这什么诗啊。
某同事爱吃鱼头,拔了一个。
同事A: 这鱼头怎么脑髓这么少啊....
同事B: 估计是生前不爱动脑。
haodong: 生前不动脑,死后脑被动....
这什么诗啊。
前几天A400M下线,看那现场,跟开庆祝大会似的,空客造大飞机已经不是一天两天了,为啥这一架如此引人注目?仔细看看才发现,现在各国对军用运输机的需求量还蛮大的,尤其是中型(姑且认为载重量30~100吨以内的即为中型)军用运输机(所谓军用,通常指其有短距起降能力,而且能适应恶劣的自然环境,如炎
热的沙漠、潮湿的雨林等)更是国际航空市场上的抢手货。现代战争要求军队必须能够在极短的时间内把大量人员、装备部署到突发冲突的地区,要完成这样的任务,运输机当然是不二之选。欧洲人自己能造运输机,从此不再买美国佬的旧货,当然是额手称庆了。
现在比较有竞争力的中型运输机有美国的C-17,俄罗斯的伊尔-76,俄罗斯乌克兰正在联合研制的安-70,还有就是欧洲的A400M(美国的C-5和俄罗 斯的安-225属于超级运输机,虽然强悍,但并不通用,所以未予列出)。个人比较看好A400M,因为欧洲的航空产品向来都是都是精工细作,而且节能环保。
c-17 "环球霸王"
伊尔-76
安-70
A400M
现在比较有竞争力的中型运输机有美国的C-17,俄罗斯的伊尔-76,俄罗斯乌克兰正在联合研制的安-70,还有就是欧洲的A400M(美国的C-5和俄罗 斯的安-225属于超级运输机,虽然强悍,但并不通用,所以未予列出)。个人比较看好A400M,因为欧洲的航空产品向来都是都是精工细作,而且节能环保。
机型 | 生产地 | 载重量(吨) | 满载航程(公里) | 起飞距离(米) |
C-17 | 美国 | 77 | 4630 | 2286 |
伊尔-76 | 俄罗斯 | 48 | 5000 | 1600 |
安-70 | 俄罗斯、乌克兰 | 35 | 5530 | 1800 |
A400M | 欧洲 | 37 | 3300 | 940 |
目标:搭一个简单的http上传服务,还有客户端
环境:php-4.3
在服务端准备一个action.php,内容如下:
设置php.ini
重启apache使服务生效
客户端upload.php代码:
参考网站:
http://kb.discuz.net/index.php?title=PHP%E6%96%87%E4%BB%B6%E4%B8%8A%E4%BC%A0
环境:php-4.3
在服务端准备一个action.php,内容如下:
<?php
// 在 4.1.0 以前的 PHP 中,需要用 $HTTP_POST_FILES 代替 $_FILES。
// 在 4.0.3 以前的 PHP 中,需要用 copy() 和 is_uploaded_file() 来代替 move_uploaded_file()。
$uploaddir = '/tmp/upload/';
$uploadfile = $uploaddir. $_FILES['file']['name'];
print "<pre>";
if (move_uploaded_file($_FILES['file']['tmp_name'], $uploaddir . $_FILES['file']['name']))
{
print "File is valid, and was successfully uploaded. Here's some more debugging info:\n";
print_r($_FILES);
}
else
{
print "Possible file upload attack! Here's some debugging info:\n";
print_r($_FILES);
}
print "</pre>";
?>
设置php.ini
参数 | 设置 | 说明 |
file_uploads | on | 是否允许通过HTTP上传文件的开关。默认为ON即是开 |
upload_tmp_dir | -- | 文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹 |
upload_max_filesize | 2000m | 允许上传文件大小的最大值。默认为2M |
post_max_size | 2000m | 指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值。默认为8M |
说明 | ||
一般地,设置好上述四个参数后,在网络正常的情况下,上传<=8M的文件是不成问题 | ||
但如果要上传>8M的大体积文件,只设置上述四项还一定能行的通。除非你的网络真有100M/S的上传高速,否则你还得继续设置下面的参数。 | ||
max_execution_time | 3600 | 每个PHP页面运行的最大时间值(秒),默认30秒 |
max_input_time | 3600 | 每个PHP页面接收数据所需的最大时间,默认60秒 |
memory_limit | 200m | 每个PHP页面所吃掉的最大内存,默认8M |
重启apache使服务生效
客户端upload.php代码:
<?php运行upload.php,即把cookie_log.txt上传。
$ch = curl_init();
$data = array('name' => 'cookie_log.txt', 'file' => '@/home/cookie_log.txt');
curl_setopt($ch, CURLOPT_URL, 'http://localhost/action.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_exec($ch);
?>
参考网站:
http://kb.discuz.net/index.php?title=PHP%E6%96%87%E4%BB%B6%E4%B8%8A%E4%BC%A0
第三天早上去了西山湾水电站,据说是锡林格勒最大的水电站。天气非常好,天蓝得清透,倒映着湖水也一片蔚蓝。和同事又去爬了一座小山(这哪里是草原之行,简直成山区之行了....没办法,谁叫我在山区长大呢),居高临下,视野非常开阔。
大坝旁有一条小溪,溪边是浓浓的绿荫,空气湿润清新,沁人心脾。这次出行,数这里风景最好、环境最宜人了。
大坝旁有一条小溪,溪边是浓浓的绿荫,空气湿润清新,沁人心脾。这次出行,数这里风景最好、环境最宜人了。
第二天早上还在太仆寺旗,导游安排的是看敖包,但是很不巧,我们昨天爬山的时候已经去看过了....所以改为自由活动,有的打牌有的杀人,我拉不到同伴,只好单人徒步又去爬山,不过这回换一个更好看的。
爬的就是这座山,远景
近景
下午去了多伦,有个很小的湿地公园,空气非常清凉,让人感觉很舒服。多伦总算是个小镇,还有超市,去买了点奶酪,味道不错。
湿地中间的一小块水潭
湿地上的小树林
下午去了多伦,有个很小的湿地公园,空气非常清凉,让人感觉很舒服。多伦总算是个小镇,还有超市,去买了点奶酪,味道不错。
周五和同事们去了一趟锡林郭勒草原。第一天,经过将近8个小时的漫长车程终于到了太仆寺旗。一下车就感觉到阵阵凉风,必须加披一件长袖。草原也不是完全的一片平,偶有微微起伏的绿山,更添风景。
牛奶、酸奶喝过不少,但却从未见过真的奶牛,这次算是得偿所愿了。看看这身段、这造型、这肤色....这可是货真价实、如假包换的奶牛啊!
牛奶、酸奶喝过不少,但却从未见过真的奶牛,这次算是得偿所愿了。看看这身段、这造型、这肤色....这可是货真价实、如假包换的奶牛啊!