近期文章
最方便的php调试方法 (0)
3/05/10 •
trace是很多人喜欢的调试方法,初学者往往需要用debugger的step by step的一步步来调试,有经验的开发者,只需要在特定的位置放几个trace,基本就能推测出问题所在。
php的trace可以说很方便,因为本来就是要显示到浏览器上的,直接输出到浏览器里,一目了然,不过这样的trace由于和实际数据混合再一起,总是不大干净。所以,才有firephp等这些繁琐的php的trace类型的调试方法。不过firephp比较弱智,必须在http的header之前调用才有效。
其实,这都是因为没有桌面软件编程经验所致,在桌面上,我们trace,何其方便,有微软的debugview,这是个独立的小程序,和原来的程序分开,只是显示trace进来的信息。而后,再调用win32的api:OutputDebugString。非常简单的就达到了trace目的,只是php是否可以这样呢?答案是肯定的,有个老外写了一个wrapper程序,使得php可以直接调用win32 api。我组合了一下,这样,我们就可以很方便的用debugview来调试php程序了。
使用方法如下:
1 开始,运行,输入: regsvr32 实际路径/dynwrap.dll /c,注册COM组件
2 写PHP的程序的时候,include这个win32trace.php
3 调用trace函数来trace到debugview里
http://iamduyu.googlecode.com/files/php_debugview.zip
jQuery timeago插件:友好的显示时间 (0)
3/04/10 •
做网站,怎样显示时间,是一个问题。可以照直了显示,例如:2010-03-03 22:02:32。但是这个时间是会让人头疼的,在较短的时间内,人基本不关心一个绝对的时间,更多的是关心离现在有多久,所以,看了上面那个时间,你肯定心里在计算大概离现在有多久。既然如此,为何不用电脑来帮用户的人脑来计算,直接显示为“几分钟前”等等,就会让用户看着舒服、轻松不少。
接下来的问题是,这个计算应该放在服务器端还是客户端?显然,这个计算只是显示方式的转变,并不参与应用逻辑,而且spider也不关心这种人性化的表示方式,它们反而感兴趣一个绝对的时间,基于上面两点,我觉得此计算应该放在客户端,源代码里保留绝对的时间值给spider。再者,如今的客户端仍旧这么“富”,能放在客户端的计算,当然应该在客户端来完成。
jQuery timeago插件就是解决此问题的,只需要在元素的title属性里写明一个绝对的时间,timeago插件便可以在客户端自动将此时间转成人更容易理解时间表达语句:
你发表的内容在<span class=’timeago’ title=”2010-03-04 08:08:32″></span>
<script>
$(‘.timeago’).timeago();
</script>
原版插件的精度不够,例如大于一分钟小于九十分钟,都会显“示为数分钟之前”,我增加了“十几分钟前”,“半小时前”等。
下载地址:http://iamduyu.googlecode.com/files/jquery.timeago.js
Google buzz:再见Gmail (2)
2/09/10 •
几小时前,Google发布了炒作了几天的,Google针对social概念下的又一款产品:Google buzz。和以往任何一次发会不同,从产品层面来说,这是一款毫无新意的产品,把名字换成FriendFeed也没什么人会觉得有何不妥,主要的创意是和Gmail集成,与其说是创意,不如说是推广策略。Google buzz的目的非常明确:不放过任何UGC的应用,并希望能够止住内容付费的势头。
我关心的是,第一,Google终于玩起了赤裸裸的捆版销售的策略。如同上世界微软捆版IE到windows干掉Navigator一样。当然,只要不是垄断性质,这种捆版也无可厚非。
第二,Gmail有了大面积传播的功能,这在我朝就是犯了大罪了,没办法了,可能真的要墙外见了。
搜狗浏览器的“真双核”的实现 (0)
2/05/10 •
最近搜狗浏览器发了很多新闻稿给各大网站,号称自己“真双核”。什么意思呢,就是在webkit内核和trident(IE)内核之间“无缝”切换,主要也就是说cookie能够在切换过程中,得以保留和继续发挥作用,一个内核登录的网站,在切换完之后,在另一个内核下,仍旧能够登录,是登录的状态。作为一个曾经二次开发过浏览器的软件开发者,我觉得,这个idea是好的,可是,标准开发渠道是行不通的,得有些技巧。
技术上来说,cookie被微软引入了一个新的属性,叫做httponly,也就是说,脚本环境无法获取这种cookie。因为http是无状态的协议,网站登录的状态,大多用cookie来维系。让某些重要的cookie对脚本环境不可见,会有效的避免cookie被有恶意的脚本获取,增强安全性。同样,这种cookie在对trident引擎二次开发的时候,也是不可以获取的。所以,它无法共享给webkit,切换浏览器内核必然丢失这些cookie。 而httponly的cookie本来就是为了安全登录所用,绝大多数CMS,比如wordpress,都是用httponly的方式来传输登录的cookie,
我是说正规渠道在IE8以下的系统里,无法获取,但如果hook进trident内核的底层http协议的实现,winInet,的确是可以获取这种cookie,其实也不复杂。
题外话,最近搜狐张朝阳发表了一篇很赞的演讲,妙处就在于针砭了当前体制最根本的症结所在,却又能从经济这个层面入题,避免了触动逆鳞。其实,郎咸平一直都在这么干。
当然,我觉得张朝阳的奋笔疾书应该是有大环境的原因的,以前,媒体国家队只是传统传媒领域,而如今又以一种非竞争的姿态,强势切入互联网,理论上,最受影响的,自然是搜狐,新浪这样的传统门户。如果自己的利益,自己不去维护,谁还来维护你呢?建议其它门户大佬参照张朝阳童鞋的做法。
早一点的文章
各分类的近期文章
Programming»
2/05/10 •
搜狗浏览器的“真双核”的实现12/11/09 •
醒醒吧,微软11/06/09 •
Closure Tools:Google的javascript库9/11/09 •
vertical-align详解8/01/09 •
linux内核开发起内讧
web2.0»
3/07/10 •
打倒美帝奥斯卡3/05/10 •
最方便的php调试方法3/04/10 •
jQuery timeago插件:友好的显示时间2/09/10 •
Google buzz:再见Gmail1/22/10 •
孙云丰的苦难
三国腾百里»
11/24/09 •
百度i贴吧是迫不得已?
软件作品»
10/15/09 •
WP-WeiBo:新浪微博的WordPress插件7/31/09 •
dwoop: ctags for dreamweaver3/27/09 •
WP-Gmailer:让你的WordPress用Gmail来发邮件12/25/08 •
Firefox spy,探测你的firefox隐私。
题外话»
12/30/09 •
李献计历险记10/22/09 •
Follow your heart9/08/09 •
未选之路8/04/09 •
更喜欢女足了7/25/09 •
我纠结,我打算站错队。
