What is going on

首先恭喜一下er童鞋的大婚吧. 接着er大婚的喜气,项目决定在今天发布我们的TIPI项目,项目从成立到现在,一直有条不紊的前进. 现在项目也进行的差不多,可以公开给大家了. 项目的第一个tag,其实是在20分钟前才提交完.终于能如期发布. 下面是我们的发布公告.  欢迎围观:) 我们的朋友,TIPI团队成员,博客哥,erhttp://www.zhangabc.com同学在今天这个春光灿烂,春暖花开,春心荡漾,春情澎湃的大好日子里,兴高采烈的走入了婚姻的殿堂。 在这样一个让人激动不已,激情四射的日子,TIPI团队决定发布深入理解PHP内核项目的第一阶段成果。 大概在半年前,我们在网上相聚,莫名的邂逅,有了我们这样的一个团队。我们有激情,有想法,有行动,也有了我们这个项目。 开始的艰难…

我喜欢在博客中显示我在豆瓣上的一些信息,比如想看哪些书哪些电影神马的。刚开始用的是 Robin的 http://www.robb.com.cn/plugins/ 的 WP-DoubanShow插件,他用的是豆瓣API。这个插件需要手动修改主题模板文件。刚开始用的挺好,修改就修改吧。不过后来换过几次主题后发现每次修改模板文件还挺“脏”的。遂问robin能否修改成widget的方式,他说官方推出了一个豆瓣秀功能http://www.douban.com/service/badgemaker, 所以不继续维护了。看过官方的说明。发现要在Wordpress中用也只能手动修改模板,不过官方提供了一个生成js的设置项,可以根据需要生成相应的脚本,选项也还算简单。 在网上搜了一番,没有给wordpress用的插件,所以自己写了一个…

昨天在网上看到几道有意思的PHP题, 下面这道题让我想起了对应的Javascript版本. ` 这段代码运行结果是什么呢? 别急着执行这段代码,先想想你的结果.然后再对比一下吧. 我们看先看看global的定义 http://www.php.net/manual/en/language.variables.scope.php 这里也没有太为规范的解释.只是说可以通过global关键字来访问全局变量. 这里还涉及到一个类型转换的问题. 大家都知道PHP脚本是编译为opcode逐语句执行的. 那么现在要一句语句解释就很容易了. ` 这里可能比较困惑的的是现在变量$a到底是局部变量还是全局变量了.因为global在定义局部变量之后.所以$a变为了全局变量,而在最后输出结果的时候$a并没有值.所以最后在相乘的时候是 NULL * 100; 也就是0了;可能会有人有疑问, 后面只是把…

上一篇文章里提到是用PHP扩展实现获取变量的变量名的方法. 今天发现有一个PHP实现的版本 . 实现方法来自:http://mach13.com/how-to-get-a-variable-name-as-a-string-in-php 刚开始以为这个方法好使, 仔细想想其实也是有问题的. 这个解决方法是用的PHP里的get_defined_vars()方法,该方法返回当前作用域内的所有变量信息.也是和$GLOBALS一样,以变量名 => 值的方式返回. 他的代码很简单: ` $v) $aDefinedVars_0[$k] = $v; $iVarSave = $iVar; $iVar =!$iVar; // 将当前变量的值取反 $aDiffKeys = array_keys (array_diff_assoc…

工作中开发主要在公司的开发机上,ssh到远程服务器上用vim开发,有时候因为网络原因或者不小心把终端给 关了或者网络出现问题以后就痛苦了,因为会话关闭后开启的程序就挂了,vim默认会用swp文件保存修改, 但是为了安全起见,不想关掉swp,一不小心真丢数据就划不来了,非法关闭vim之后再次打开就会提示是否恢复文件, 自从发现screen这个绝佳的会话管理工具,就深深的爱上了它,IBM的这篇文章有详细的介绍 linux 技巧:使用screen 管理你的远程会话”。 在使用过程中发现一些问题,screen默认使用Ctrl + A当做热键, 用惯了命令行的人肯定会用Ctrl +A , Ctrl + E来定位当前输入的命令吧. 其实在~/.screenrc中修改一下就可以了,下面是我的.screenrc: vbell_msg "" # 比如在tab自动提示的时候,默认总是会出现一个Wuff,觉得很烦,关掉 escape…

如果你比较好奇,可以先从这里下载所有代码,也可以点击这里查看chrome下上传的demo,点这里查看firefox下的demo 前不久Gmail推出了支持拖拽的附件上传功能,试用了下还真不错,其实很久以前就在想能有直接拖拽附件的功能,多亏有了HTML5,Web应用越来越像客户端的应用了。 在好奇心驱使下,想了解一下Gmail到底是怎么做到的,了解了一下最新的HTML5 File API草案,这个接口主要提供的就是提供对文件对象的访问,别想歪了,这个接口是无法随意的访问系统里的文件的。他能做的就是访问标签里所选择的文件,这些文件可以通过用户手动选择,或者是HTML5的拖放接口选中的文件。有兴趣的童鞋可以看看这个规范,还算比较简单。 下面简单看看接口定义几个对象。 FileList、File对象。 在HTML5中的标签中增加了mutilple属性,允许进行多文件选择。大家应该都知道一般上传标签中是不允许选择多个文件的。 新增的这个属性就是允许进行多个文件的选择(这个在桌面应用中也很常见)。 下面是在Firebug中的输出 ` var f = document.getElementById…