[WP插件]QQ Avatar
2011.12.20 | 天气: 晴 | 标签: wp破事, 技术, 网站如果用户使用数字QQ邮箱留言且公开空间头像
就替换Gravatar头像成QQ头像
插件特点:
- 其他插件不能获取头像,我的可以
- 缓存QQ头像
,一次加载,永久有用 - 加密QQ号码,不泄露”隐私“
因为很多同学没有申请Gravatar,所以博客留言头像那栏总是神秘人,不过有些同学用QQ纯数字邮箱留的言,正好QQ有个不算是API的方法获得QQ头像,所以我就想写个插件了。
如果用户使用数字QQ邮箱留言且公开空间头像
就替换Gravatar头像成QQ头像
因为很多同学没有申请Gravatar,所以博客留言头像那栏总是神秘人,不过有些同学用QQ纯数字邮箱留的言,正好QQ有个不算是API的方法获得QQ头像,所以我就想写个插件了。
一直不觉得笔记本电脑的键盘有多脏,直到今天我发现夹缝里有只虫子的时候才下狠心拆来清洁一下,我现在就是用洗干净的键盘来写此文的,胆大心细肯定能和我一样按原样装回去。
Thinkpad的键盘徒手就可以拆解了,蓝色的边表示掀开的位置,例子:
C键如下图所示:

下图是所有键的方向示意,特殊结构的键为暗红色区
阅读全文 »
因为托管的服务器在美国,所以和国内的速度没有可比性,所以开启了缓存来加速各位的访问速度。火星人都不知道哈哈~
本文针对的是Apache服务器,主要是修改一个叫.htaccess的文件。
要注意:htaccess是一层层地执行,所以最好修改的是网站根目录下面的.htaccess。

华丽地节省了98%的流量,独立博客们都知道这意味着什么哈,当然,只有再次访问网站的用户才能调用浏览器的缓存,所以有点老访客福利的感觉。
#Cache IMG CSS Header set "Cache-Control" "max-age=2592000" #Super Cache for Jquery one yearHeader set "Cache-Control" "max-age=49881203"
FilesMatch不用我说了吧,意思是:匹配文件。
重点是后面引号中的\.(flv|gif|jpe?g|png|ico|swf|css|js|bmp)$,这段表示让服务器缓存所有指定的扩展名的文件,比如常见的图片格式png、gif等。
而Cache-Control就是让浏览器控制缓存的时间,单位是秒。
可能你会奇怪,为什么后面还有jquery.*\.js$,其实是因为我网站上经常调用Jquery的JS库,但是我自己写的Js又要长期修改,不能设置得太长,所以让服务器去寻找所有:jquery开头的JS文件,并设置成577天的缓存。这样又不会干扰到我的js文件。
用户访问里以后,你更改了服务器上某个用户的缓存文件,浏览器不会一下子载入新的文件。
用过Wordpress写文章的同学都知道——Revision,或者中文叫“修订版本”的这个东西相当有用,特别在停电、猫猫狗狗在键盘上撒了尿、喝牛奶呛到的时候。因为Revision会保存之前的全文备份。当然,因为是全文备份,所以也相当占用SQL数据库。可是Wordpress只提供了要么有要没有的开关,其他插件最多也只是提供了手动删除的功能,我这懒人只好自己做一个出来了。
安装方法和其他插件没有两样,而且,最好玩的是,本插件绝不占用普通用户访问时候的CPU或者是内存,至于是什么原理,呵呵,会PHP的同学可以看看源码。而且您绝对不是小白鼠,因为有246只世界各地的小白鼠用了0.1版,一个多月都没有人投诉我,这才升级到1.2版的。
可以到wordpress.org/extend/plugins/revision-cleaner/去下载
顺便说下,如果你发现了什么BUG,请联系我的邮箱(最好是patch哈 ←。←人懒成这样)。
还有我不知道这SVN怎么用才能像GIT一样搞出pull request……
接下来是凑字数吐槽时间:
为了继续凑字数,我想说下这个插件的不占用普通用户访问时候资源的原理——其实很简单——就是只有管理员才有权限……整个插件HOOK到admin_menu上。在定时上,其实也没有定时器,这样就不占用任何普通访客的Loop,因为插件只是靠Mysql内部的时间来判断和删除(一条MYSQL语句占用的资源其实也极小),但是在写文章的人眼中就是定时删除了……好吧,别打我哈哈哈

最近复习不顺,脑子发热就投了简历到豆瓣,没想到对方HR还真的通知我了。豆瓣耶!闪闪发光的绿字小清新互联网企业招牌,所以赶紧搜罗各种豆瓣前端面试经,然后发现只有两篇,还都没说到细节。
所以按照各种建议复习了各种DOM操作,复制、删除、移动。CSS排版有没有,IE怪异模式有没有!结果……到了面试时,面试官很和蔼:“你今天看起来很紧张”,当然紧张啊!问到最擅长的哪三个(HTML、CSS、JS),脑子进水了答JS,结果完全答不出ORZ,我平时只是依赖jQuery,我错了!答其他两个估计还能扯一扯,这个可是板上死死的。
$('.class')和$('div.class')哪个选择效率高,瞎掰了第二个——现在知道蒙对了。map(fn,array){for (var index in array){a[index] = fn(a[index])}},可以用map来函数掉数组的内容啊有没有!!这是谷歌的LISP方法有没有!!!连这都不知道还来应聘,脸还有没有!!糟糕,实在是糟糕,可人家工程师说“如果没通过,不会太刺激你吧”,很和蔼,很呀撒西有没有!!我是面试官我会直接骂人蠢了,有没有!!!可惜迟了,我只是晚了一天知道这些,如果那天晚上看完DOM继续看闭包和map,顺手写几次这个代码就知道了嘛。那么现在就坐豆瓣办公室小清新了有没有!!
可人生没有如果,要就要一次性做好。
人家面试官还说:”你没花时间打基础,广泛学一些东西,某些没深入“很准确有没有!!我都想找洞钻了有没有!!
某人说“看得出来你这家伙眼界不低,不要眼高手低了. ”
确实,豆瓣招牌不是白来的,人家可是技术做保障啊,可以很放心刷豆瓣啊有没有!!回头要看“犀牛”和代码大全有没有,记得你没基础啊,学机械自动化的二流本科屁娃?!人家前端招聘问你最近得意的作品有哪些,不要答wordpress插件有没有!!不要在博客上放豆瓣灌水机器人来威胁别人有没有!!
此志引以为记