做web开发的朋友都清楚,js程序的调试是相当郁闷的,因为首先这种语言语法比较灵活,它是一种弱类型的脚本语言,很多错误是无法控制的,这些不谈,最痛苦的是没有什么好的调试工具,现在的情况比以前稍好,在Firefox下还有firebug,这的确是一个不错的js调试工具,但在IE下使用就很麻烦,而且效果很不好,鄙人一直苦于寻找一个很好的IE下的js调试工具,能够自动捕获错误,并定位位置和原因,没想到今天竟在无意中寻找到了这么个好工具,不敢私藏,共享出来,希望能为各位web开发者带来方便 这个工具的名字叫Companion.JS,
with 10 CommentsGvim和Vim即使使用一样的配色方案,颜色也会有少许的差别, 我比较喜欢Vim的desert, 经过一番努力,终于搞得俩边看起来基本一样了(注意:只是针对desert )。 在gvim的_vimrc中添加如下: hi SpecialKey guifg=Blue hi MoreMsg guifg=Green hi Visual guifg=NONE guibg=NONE gui=reverse cterm=reverse hi Folded ctermbg=4 guibg=Blue hi FoldColumn ctermbg=7 hi…
最近要给Yahoo的同事们做一个关于PHP和Apache处理请求的内部机制的讲座,刚好写了些关于Opcodes的文字,就发上来了,这个文章基于 Sara Golemon的 Understanding OPcode
with 98 Comments保证你要转换的字符串编码为UTF8,如果不是,请iconv cnStr成utf8
$cnStr = "中"; //utf8的中文 //unicode $code = unpack("H6codes", $cnStr); //汉字 $cnStr = pack("H6", $code['codes']);
如果需要的是unicode的编码值, 那只要把汉字iconv成unicode再unpack就行了.
恩, pack/unpack很强大,, 和c语言交换数据, 二进制方式的序列化,操作二进制文件.. etc...
在PHP中有这么一族函数,他们是对UNIX的V IPC函数族的包装。
它们很少被人们用到,但是它们却很强大。巧妙的运用它们,可以让你事倍功半。
它们包括:
信号量(Semaphores)
共享内存(Shared Memory)
进程间通信(Inter-Process Messaging, IPC)
基于这些,我们完全有可能将PHP包装成一基于消息驱动的系统。
1. bool isBigEnding()...{ int i = 1; return ((char)i) == 1; } 2. bool isBigEnding()...{ union ...{ int i; char c; }x=...{1}; return x.c == 1; } 3. bool isBigEnding...{ union ...{ int i ; struct ...{ unsigned short int b : 8; }bit; }x=...{1}; return x.bit.b == 1; }
传统的B/S结构的应用程序,都是采用"客户端拉"结束来实现客户端和服务器端的数据交换。
本文将通过结合Ticks(可以参看我的另外一篇文章:关于PHP你可能不知道的-PHP的事件驱动化设计 ),来实现一个服务器推的PHP聊天室简单构想。
还是那个关于开发安全签名的PHP模块, 今天将它包装成一个PHP的CLASS,也同样,网上的资料少之甚少,于是我想将经验写一篇,关于如何在Extension Module中创建一个可以被PHP访问的对象的文章。 和大家分享。
with 11 CommentsWeb 服务器执行一个脚本,可能几毫秒就完成,也可能几分钟都完不成。如果程序执行缓慢,用户可能没有耐心等下去,就关闭浏览器了。
而有的时候,我们更本不关心这些耗时的脚本的执行结果,但却还要等他执行完返回,才能继续下一步。
那么有没有什么办法,只是简单的触发调用这些耗时的脚本然后就继续下一步,让这些耗时的脚本在服务端慢慢执行?
接下来,我将使用fscokopen来实现这一功能。