Follow me on GitHub

学习笔记

为WordPress 添加GitHub/BitBucket 项目页

插件的作用是将源码托管项目以列表的形式展现在独立页面, 目前支持Github和 BitBucket两个项目托管平台。 效果演示见这里
这里用到了GitHub & BitBucket Project Lister 插件, 原作者已经停止更新, 且无法正常展示Gihtub 项目。
这里是我fork的版本, 修正了两个错误:

More >

伪Shadow DOM解决样式污染问题

前段时间在微信上看到伯乐在线推送的 一行代码,浏览器变临时编辑器 文章,感觉还蛮酷的。看完原理部分后,感觉恰好可以套用前几天想到的一个解决方案。

就是前文中提到的书签栏小工具。自己在使用中发现,在一些网站中使用会出现小工具css规则被所在页的css规则覆盖,而导致二维码“破相”的问题,也有人称其为“样式污染” ,效果截图:

More >

拾贝电台开源了

拾贝电台是我在10年折腾的一个网络电台聚合应用。
回想自己初中时就爱摆弄收音机,到后来拿三用机翻录音乐之声Top排行榜里“新歌上榜”里的歌曲。那段时间常跑到书店查资料想各种办法提高翻录音质,技术成熟后就可以以很低的成本,得到比购买正版卡带更新、品质无差的音乐了。做法是不太光彩,却毫不影响那段回忆的美好。上大学以后,收音机用的少了,一次偶然的机会发现很多喜爱的电台在网上就能收听。但需要收藏各个电台网址比较麻烦,一开始做了个网页,上面以目录的形式罗列了各个电台节目源,这样想听哪个节目点链接就行。到后来在网页上集成MediaPlayer控件… 拾贝电台就是这么来的。

More >

愚人节专题项目前端开发小结

加入17173后参与的第一个项目——《愚人节超级大忽悠》。

需求文档

程序需求说明

  • 第一步:用户填写昵称,为方便后面设定独立的地址
  • 第二步:进行选择
  • 第三步:显示答案
    • 回答正确显示:你太聪明了,想忽悠你,小编还要再下点功力。敢继续吗?
    • 错误回答:答错了,获得猪头一个!
  • 第四步:一共十道题,答完以后显示如下:
    • 结果1、这么刁钻的题都答对了,你真是绝“顶”聪明!都说聪明的人容易秃头,小心为妙!
    • 结果2、你太牛X了,居然获得N个猪头,获得“超级大猪头”称号!
    • 这里要为每个玩家生成一个独立的地址。并统计这个独立地址带来多少新的玩家。(这里强调新的玩家,只是打开是没用的,要开始玩的才算新玩家。)

More >

Galaxy Nexus(三星i9250)优缺点

优点:

  1. 好身板——薄得恰到好处,曲线优美。另外得益于内置有金属框架,GN比三星其他的安卓设备更显刚性;
  2. 大、亮、细腻的屏幕——虽然屏幕底部虚拟导航键占据小部分空间,除非播放视频时导航键收起,平时屏幕可用空间并不显得那么大。由于像素密度极高,让人无法察觉屏幕的像素阵列,即使仔细观察也很难分辨,屏幕边缘融入也做的很细致;
  3. 系统更新及时——享有Google亲儿子的福利,从此远离定制UI和系统升级滞后的烦恼。目前的安卓4.2.2系统 界面操作流畅灵敏,动画切换平滑,应用运行也都顺畅。我在使用的应用都未遇到兼容性问题。系统更新总能比我实际操作中遇到bug抢先一步; More >

静态资源(JS、CSS)的版本化、优化及增量部署

版本化

Web前端性能优化中很重要的一个部分是文件加载的优化,静态文件在客户端缓存的做法可减少请求量,减小服务器和带宽压力的同时让页面加载更顺畅,提升浏览体验。

所以在服务环境中(产品上线后),一般会通过header允许浏览器缓存,并设置一个过期时间(Expires)。但若在Expires期内对资源文件做修改,客户端仍由缓存读取旧版文件而非从服务器加载,则可能造成样式破坏或脚本报错等问题。这就要求我们在开启缓存的同时,在文件更新后通知客户端更新缓存文件,也就是这里要说的“版本化”——对静态文件uri中加入版本信息,每次文件改动的同时更新版本信息,告知浏览器文件版本,从而确保始终调用最新的资源文件。

More >

移动设备浏览当前页