Web 前端开发 Firefox 扩展

我在搞 Web 前端开发时用 Firefox 浏览器,有几个必备的扩展,非常好用,今天整理一下,给大家分享,也给自己列个清单备忘。 Firebug 不用说了,必备 YSlow 网站性能优化建议 Web Developer 必备 Tamper Data 这个需要重点介绍,当你也要做服务端开发时,客户端和服务器交互的 http 头部和 body 到底是什么样,都能准确地列出来,这曾经帮我发现并解决过重要的问题,强烈推荐。 […]

Mootools 教程

今天发现一个 MooTools 教程,共 30 篇,每天一个,目前为止还没写完。 简单看了看,还挺详细的,有很多例子,还详细说明了好多不为人知的问题。 30-days-of-mootools-12-tutorials-day-1-intro-to-the-library 同时还发现了一个 MooTools 的论坛: http://www.mooforum.net/

文件备份 在线备份 在线备份你的电脑

备份这个话题,我有很多想说的。 我个人对数据安全非常敏感。刻盘通常都刻 2 份,自己数码相机拍的照片每隔 1 个月就要做一次全部备份。 我有个朋友,因为硬盘坏了,里面存放的所有的照片都找不回来了,不知道该用什么词来形容。 前几天我的博客打不开了,帐户被临时关闭。原因是我在服务器上存了 300 多 G 的文件备份。这个空间的特点就是不限存储容量,但使用协议上写了不允许用作文件备份。我当时没仔细看,今天就被惩罚了。 我跟那边的客服沟通后立即删除了这些备份,过了一会儿就恢复了。 我估计是因为备份文件占的空间太大,达到了警戒值,他们自动检测的程序发现了。我存了半年多的备份,时间是有些长。现在我计划只保存一个月的,应该在 100G […]

http header Expires not modified 304

困扰了我好久,看了 YSlow 的文档,也看了好多网站优化的书,按照书上的说法,加了 expires 和 cache-control 头,静态文件被缓存后,浏览器就不会再次发送请求了。 可是我看 apache 日志,仍然是有请求发到服务器,apache 发送 304 响应头。虽然起到了缓存的作用,但我希望是完全的客户端缓存,也就是说浏览器根本不会向服务器发请求询问。 今天又 google […]

SofavDB_Debug_PDO MySQL 执行时间 日志

这个类可以完全替代 PDO,如果你需要知道自己的程序跟 MySQL 交互花费多少时间,而你又有洁癖,不想把自己的代码搞得一团糟,那我强烈地建议你试试这个 SofavDB_Debug_PDO。 通常,创建一个 PDO 连接,都是 new PDO()。 在开发环境中,你只需要把上面那个语句替换成 new SofavDB_Debug_PDO() 即可。 然后,凡是通过 prepare 的 […]

MySQL 索引 优化 Using filesort

MySQL 数据库,MyISAM 类型的表 table_item,有 5、6 个字段,主键是 id。 user_id 和 item_id 两个字段都是单独的 INDEX 类型的索引。 问题是如何发现的? 今天搞程序,在自己的开发环境下,打开一个简单的页面都要好长时间,不知道问题出在哪里,只发现硬盘灯闪个不停。 […]

Apache 漏洞 PHP 文件 上传

标题党一下,其实这个不应该算是 Apache 的漏洞。 简述漏洞情况: 有的网站有文件上传功能,尤其是可以上传 rar 文件的。如果文件名是 abc.php.rar,而且这个文件被放在了 http://www.leakon.com/uploads/abc.php.rar,你在地址栏输入这个地址,Apache 就会调用 PHP 模块去解析 abc.php.rar。 为什么会解析呢? 因为 Apache […]

PHP clone 复制对象 优化对象创建速度

用 clone 结构来复制一个对象。 PHP 的对象赋值,默认是引用传递。 如果需要一个对象的副本,只能用 clone。 从性能上考虑,当在一个循环中需要反复创建一个新对象的时候,可以考虑在外层创建,在循环内层用 clone 来复制对象。这样性能将会得到很大提高。 这里有实地测试的代码和测试结果可以参考: <<PHP 对象克隆 性能优化示例>> 引用一下结论: […]