2010年09月2日 上午 40:14 | 作者:hemon
- $array = array(1,2,3);
- foreach($array as &$value) {}
-
- $value = 4; //var_dump($array);
- unset($value); //var_dump($array);
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
&int(4)
}
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(4)
}
foreach中unset引用&元素,只是unlink了引用(没收了变量的&)
分类:未分类 | 没有评论
2010年09月1日 上午 00:55 | 作者:hemon
动画图片一般都是使用gif格式,不过在游戏中,gif的帧率和播放速度就不太好控制了,解决办法就是使用png sprite(google
)技术,看图:
查看全文 »
分类:未分类 | 没有评论
2010年08月27日 上午 11:31 | 作者:hemon
http://www.igvita.com/2009/10/21/nginx-comet-low-latency-server-push/
http://stackoverflow.com/questions/2419346/can-nginx-be-used-as-a-revers…
http://github.com/slact/nginx_http_push_module
分类:未分类 | 没有评论
2010年08月17日 上午 25:40 | 作者:hemon
- CURLOPT_FOLLOWLOCATION
Warning: curl_setopt() [function.curl-setopt]: CURLOPT_FOLLOWLOCATION cannot be activated when in safe_mode or an open_basedir is set
- curl_setopt_array()
如果curl_setopt_array中包含CURLOPT_FOLLOWLOCATION键值,会导致所有options设置失败,让你感觉curl_setopt_array有问题,其实这个函数本身是没问题的。
分类:未分类 | 没有评论
2010年08月16日 上午 30:25 | 作者:hemon
通杀浏览器:IE、Opear、webkit(Safari / Chrome)、Firefox
- function header_filename($filename){ // $filename 必须 UTF-8 encode
- $ua = $_SERVER['HTTP_USER_AGENT'];
- if ( strpos($ua, "MSIE") !== false ) {
- $encoded_filename = urlencode($filename);
- $encoded_filename = str_replace("+", "%20", $encoded_filename);
- header('Content-Disposition: attachment; filename="' . $encoded_filename . '"');
- } elseif ( strpos($ua, "Firefox") !== false ) {
- header('Content-Disposition: attachment; filename*="utf8\'\'' . $filename . '"');
- } else {
- header('Content-Disposition: attachment; filename="' . $filename . '"');
- }
- }
分类:未分类 | 没有评论
2010年08月7日 下午 31:08 | 作者:hemon
freebsd下,crontab未继承用户环境变量,需要在crontab头部加入PATH,HOME:
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
HOME=/home/zhangwei
* * * * * cd ~/script && php hello.php #如果未设置HOME,那就找不到~,如果未设置PATH,就找不到php
分类:未分类 | 没有评论
2010年08月1日 下午 11:31 | 作者:hemon
还是这位大爷牛:http://lanphaday.bokee.com/5145363.html
单机
1.先取10000个整数,从小到大排好序,形成一个有序队列Q[0~9999]。
2.然后取第10001个整数,是否比Q[0]小?
3.使用插入排序法(算法复杂度log2(N),二分法,10000个,找到自己的插入位置,需要查找14次::2^14=16384)插入到Q中。
4.剔除掉队列中最小的那个数Q[0];
5.重复2-4,直到1亿。
总的计算次数是:
10000 × 14+ (1亿-10000) × 14
14 × 1亿 ≈ 14亿
如果把队列Q增大为16384呢?貌似降低了后期排序的6384*14次计算,可是理论上时间复杂度没什么变化……
将Q增大为2^14,即Q[0~16363]
16384 × 14 + (1亿-16384) × 14
14 × 1亿 ≈ 14亿
随着遍历的进行,这个Q[0~9999]内的min最小数会越来越大,插入排序的概率也会越来越小。这个概率到底是多少呢?
分布式计算?
假设阁下有10000台机器 !
1.把1亿切分成10000×10000的分卷
2.在单台机器完成10000的快速排序(也可一边传输一边使用插入排序……)
3.在总机执行TOP10000的归并排序
1亿+网络传输(1亿)+10000×10000×14+网络传输(1万)+2×10000×14
1亿+14亿+28万+网络传输(1亿零1万) ≈ 计算(14亿零15万)+网络传输(1亿零1万)
快速排序的时间复杂度
最坏:N*(N-1)/2
最好:N*logN
归并排序的时间复杂度
N*logN
分类:未分类 | 没有评论
2010年07月29日 下午 37:46 | 作者:hemon
// ie
<script>document.onselectstart = function(){ return false; }</script>
// ff
<style>body{-moz-user-select:none}</style>
分类:未分类 | 没有评论
2010年07月29日 上午 46:14 | 作者:hemon
A*寻路初探
http://blog.vckbase.com/panic/archive/2005/03/20/3778.html
在A*寻路中使用二叉堆
http://my.opera.com/jingze/blog/show.dml/434118
分类:未分类 | 没有评论
2010年07月27日 下午 43:43 | 作者:hemon
- 进入ports目录
cd /usr/ports
- 搜索软件
make search key=[search software]
Port: gmpc-libnotify-0.19.0_3
Path: /usr/ports/audio/gmpc-libnotify
Info: A libnotify for gmpc
Maint: miwi@FreeBSD.org
B-deps: ORBit2-2.14.18_1 atk-1.30.0_1 ……
- 进入path目录
cd [Path]
- 使用sudo权限安装
sudo make install
分类:未分类 | 没有评论