天气是 ‘晴’ 的文章

x200s清理键盘记

2011.12.17 | 天气: | 标签:

一直不觉得笔记本电脑的键盘有多脏,直到今天我发现夹缝里有只虫子的时候才下狠心拆来清洁一下,我现在就是用洗干净的键盘来写此文的,胆大心细肯定能和我一样按原样装回去。

拆解方向

Thinkpad的键盘徒手就可以拆解了,蓝色的边表示掀开的位置,例子:
C键如下图所示:

下图是所有键的方向示意,特殊结构的键为暗红色区
阅读全文 »

[HOWTO]网站开启缓存 加速用户载入

2011.12.11 | 天气: | 标签: , ,

因为托管的服务器在美国,所以和国内的速度没有可比性,所以开启了缓存来加速各位的访问速度。火星人都不知道哈哈~

本文针对的是Apache服务器,主要是修改一个叫.htaccess的文件。
要注意:htaccess是一层层地执行,所以最好修改的是网站根目录下面的.htaccess。

FireBug的测试结果


华丽地节省了98%的流量,独立博客们都知道这意味着什么哈,当然,只有再次访问网站的用户才能调用浏览器的缓存,所以有点老访客福利的感觉。

代码

#Cache IMG CSS
<filesmatch "\.(flv|gif|jpe?g|png|ico|swf|css|js|bmp)$">
Header set "Cache-Control" "max-age=2592000"
</filesmatch>

#Super Cache for Jquery one year
<filesmatch "jquery.*\.js$">
Header set "Cache-Control" "max-age=49881203"
</filesmatch>

代码解释

FilesMatch不用我说了吧,意思是:匹配文件。
重点是后面引号中的\.(flv|gif|jpe?g|png|ico|swf|css|js|bmp)$,这段表示让服务器缓存所有指定的扩展名的文件,比如常见的图片格式png、gif等。
而Cache-Control就是让浏览器控制缓存的时间,单位是秒。
可能你会奇怪,为什么后面还有jquery.*\.js$,其实是因为我网站上经常调用Jquery的JS库,但是我自己写的Js又要长期修改,不能设置得太长,所以让服务器去寻找所有:jquery开头的JS文件,并设置成577天的缓存。这样又不会干扰到我的js文件。

副作用

用户访问里以后,你更改了服务器上某个用户的缓存文件,浏览器不会一下子载入新的文件。

[WP插件发布]修订版本清理器

2011.11.19 | 天气: | 标签: , , , ,

用过Wordpress写文章的同学都知道——Revision,或者中文叫“修订版本”的这个东西相当有用,特别在停电、猫猫狗狗在键盘上撒了尿、喝牛奶呛到的时候。因为Revision会保存之前的全文备份。当然,因为是全文备份,所以也相当占用SQL数据库。可是Wordpress只提供了要么有要没有的开关,其他插件最多也只是提供了手动删除的功能,我这懒人只好自己做一个出来了。

安装方法和其他插件没有两样,而且,最好玩的是,本插件绝不占用普通用户访问时候的CPU或者是内存,至于是什么原理,呵呵,会PHP的同学可以看看源码。而且您绝对不是小白鼠,因为有246只世界各地的小白鼠用了0.1版,一个多月都没有人投诉我,这才升级到1.2版的。

可以到wordpress.org/extend/plugins/revision-cleaner/去下载

顺便说下,如果你发现了什么BUG,请联系我的邮箱(最好是patch哈 ←。←人懒成这样)。

还有我不知道这SVN怎么用才能像GIT一样搞出pull request……

Revision插件演示

接下来是凑字数吐槽时间:

  1. 欢迎会英语汉语以外的同学提供I18N翻译,因为我见过日本、瑞典、法国的用户当了小白鼠……
  2. wordpress插件的hook很好用,理解了这个机制以后,写得很顺手哈
  3. 插件是通过读取trunk下的readme.txt来完成名称、版本等一系列配置的,这改得很蛋疼
  4. SVN每次都要复制,很烦
  5. 博客的图片已经支持点击LIGHTBOX浏览了
  6. 我的博客支持VIM快捷键浏览了,目前是:
    • F:全屏(所有页面)
    • C:直接飞到评论(单篇文章)
    • H:下一页(主页有效)
    • J:向下(所有页面)
    • K:向上(所有页面)
    • H:上一页(主页有效)

为了继续凑字数,我想说下这个插件的不占用普通用户访问时候资源的原理——其实很简单——就是只有管理员才有权限……整个插件HOOK到admin_menu上。在定时上,其实也没有定时器,这样就不占用任何普通访客的Loop,因为插件只是靠Mysql内部的时间来判断和删除(一条MYSQL语句占用的资源其实也极小),但是在写文章的人眼中就是定时删除了……好吧,别打我哈哈哈