分类: 前端开发 标签: compiler, compressor, fl, html压缩, java, yui 评论: 1之前为了编译平台写过一个前端语言的分析、检查、压缩工具FL,实际使用中主要用它的检查和支持模版语法的HTML压缩功能。集成在编译平台里一直运行的很好。现在把剥离出来,形成一个单独的JS/css/HTML压缩工具。
javascript/css/html压缩工具地址: http://www.welefen.com/lab/compressor/index.html
目前支持的功能有:
1、使用YUI Compressor或者Google Compiler压缩javascript
2、使用YUI Compressor或者FL压缩css
3、使用FL压缩html。虽然HTML压缩是支持模版语法的,但目录没有开启。如果有人需要的话可以将这个功能开启。
继续阅读 »
分类: PHP 标签: smarty3, 优化, 工具, 性能 评论: 1之前的文章中提到在一些复杂的模版页面中,Smarty3有性能问题。经过分析发现,主要是管理文件依赖,自定义函数参数以及一些依赖导致的。目前官方发布的新版本中虽然进行了一些性能优化,但并没有彻底解决这个问题。既然官方还没有解决,在实际项目中如何解决这个问题呢?
结合前端编译平台,可以在开发的时候还是使用Smarty3的这些新特性(毕竟这些新特性给开发和代码维护带来了非常多的便利),然后在上线前编译的时候将这些新特性的书写方式还原。如:将自定义函数还原到代码中。
经过一段时间开发和测试之后,目前已将代码放到github上,https://github.com/welefen/smarty3optimizer。有需要的同学可以了解下
继续阅读 »
分类: 前端开发 标签: d2, d2沙龙, 编译平台 评论: 69.25有幸被邀请到d2沙龙(北京)给大家做前端编译平台的交流,由于时间很短,讲的很快,很多地方都是一带而过。
大家如果还有什么疑问,欢迎评论,我会一一解答。
分类: 前端开发, 浏览器插件 标签: 排行榜, 豆瓣电台, 音乐电台 评论: 2之前写过一个音乐电台的插件,目前已经有1500名安装用户了,可以参见这里。并且给一些操作加了统计,从统计数据上来看,各个电台的使用率差别还是挺大的。下面大致介绍下各个电台的使用比率。
一个月(08.20 – 09.20)电台使用比率

继续阅读 »
分类: PHP, 前端开发 标签: baidu, 服务, 百度, 编译平台 评论: 3之前写过如何减少代码上线过程中对线上服务的影响,文中提到的方法是将所有的代码上到服务器的一个临时目录,然后一起操作cp到目标目录。这种方式虽然可以大大的减少上线过程中对线上服务的影响,可以影响时间缩短到2分钟以内。但对于0故障的服务来说,2分钟的服务故障还是非常不能接受的(比如:百度新首页)。
由于静态文件和模版是上到不同的服务器,静态文件还部署到CDN。模版是和后端代码放在一起。这样如果还是原文件名的不能彻底解决问题。
我们知道,任何的静态文件最开始都是在模版里引用了才生效,比如:在模版里有个link,或者有个外链的script。
通过分析,如果上线的时候,将静态文件先上,并且将有改动的静态文件全部重命名的话就可以彻底解决这个问题。一方面静态文件重命名后不会干扰线上正在使用的静态文件,另一方面模版还没上的时候,这部分新的静态文件将不会引用,待模版上线后就会全面切到新的静态文件模式下。
继续阅读 »
分类: 我的生活 标签: baidu, 导航, 应用, 开放, 百度, 百度首页, 首页 评论: 6新百度首页经过2个多月的内测昨天晚上终于全流量开放了,登录后就能看到新首页。并且成为百度2011世界大会的主角,由此今年的百度世界大会的主题为《耀在百度首页》。

这次新首页除了保留原有首页的所有功能外,特意添加了导航、实时热点、应用和新鲜事。
继续阅读 »
分类: 前端开发, 浏览器插件 标签: chrome, google, music, web store, 人人, 开源, 电台, 虾米, 豆瓣, 音乐 评论: 34音乐电台是一款支持百度听、豆瓣电台、酷狗电台、虾米电台、酷我电台、乐酷电台、多米音乐、音悦电台、亦歌电台、人人电台、一首歌电台、百度音乐盒、搜狗音乐盒、Google音乐盒等14种电台的chrome插件,该插件已经放到chrome web store里,目前已经有700名安装用户。
通过收集大家的一些反馈,发现播放模式和选项不是太好用。最近对这块进行了重新的规划,周末在家将代码进行了完整的重构和升级,将版本升级到2.0。升级的功能如下:
继续阅读 »
分类: PHP 标签: baidu, google, imghash, phash, php, sift, tineye, 图片指纹, 相似搜索 评论: 8前几天看到阮一峰的博客里写到关于相似图片搜索的原理, 里面介绍了Google相似图片搜索的大致原理,主要是从Neal Krawetz博士的LOOKS LIKE IT翻译而来。文章详细的介绍了相似图片搜索处理的相关步骤,并且给出了一个python的实现,由于我对PHP比较熟,所以写了个PHP的版本。 继续阅读 »
分类: 前端开发 标签: ajax, chrome, google, gzip, pushstate, sdch 评论: 3概述
我们知道,为了加快网络传输,一般都使用gzip对文本进行压缩。如果你现在用最新版的chrome去访问页面,然后打开network控制面板,查看http headers,细心的你会发现在Request Headers里的Accept-Encoding不再是gzip,deflate,而是多了个sdch,变成了gzip,deflate,sdch。如图:

继续阅读 »
分类: PHP 标签: ActionChain, Dispatcher, php, Router, ThinkPHP, 自定义URL, 路由 评论: 0什么是ActionChain
在MVC框架中,一般都提供对自定义URL的支持。也就是将所有的请求都重定向到index.php,然后PHP程序通过URL配置规则来确定执行什么样的逻辑。
随着产品业务逻辑越来越复杂,页面模块化程度越来越高,一个URL要执行多个逻辑功能。通常的情况就是在对应的Action里分别调用不同模块的接口,然后输出到模版。但这种方式对代码的维护和管理非常不方便,不能很快速的定位到一个URL执行了哪些逻辑。
ActionChain就是用来解决这个问题的,它可以在一个URL里指定按顺序执行多个Action,每个Action可以是相互独立的。这样可以极大的方便了代码的阅读性和维护性。
什么是ThinkPHP框架
THinkPHP是一个国人开发的已经有多年历史的框架,已经有越来越多的中小型产品使用这个框架开发。并且我也用这个框架开发了多个应用。
这个框架提供了大量的非常快捷的访问接口,这也是我为什么喜欢这个框架的原因。并且相对于Zend, Yii, CI等框架,要简洁的多。
http://thinkphp.cn/ 可以通过这个URL了解更多的信息
继续阅读 »