web

不知道从哪一届开始,老罗开锤子手机发布会的时候,会当场捐赠一款开源软件,第一次是捐赠给 OpenSSL,第二次是 OpenResty。那次发布会开完,OpenResty 在程序员圈子里火了一把,成为一种热门技术了。其实,OpenResty 在后端程序员世界里,早就享有盛名。当你不得不去面对高并发的场景的时候,你一定会发现 Nginx 的巧妙和强大,然后你会想到用 Nginx 解决问题,然后你一定会发现 OpenResty。

三年前就想学 OpenResty,一直被拖延症耽搁了。这期间,OpenResty 发展很快,无论是自身还是社区都进步很快,甚至也有了配套的 awesome-resty 项目。我下定决心这次好好学学。

Keep Reading — 2496 words totally

Yii 2.0 框架学习笔记-基础抽象

Yii 框架从 2.0 开始,底层抽象上面发生了一些变化。比如,多了 DI 和 Service Locator 等设计模式相关的抽象。这两天,专门看了下代码,写下一点我的想法。

上面的图是,是我用 Visual Paradigm 画的类图。从图里我们看到,2.0 版本以来,最根部的抽象是一个叫 Configurable 的接口,其主要作用就是说明所有的类都可以用类似 Key-Value 结构来进行配置。除了一些 Helper 的类,绝大部分对象都是 Configurable 的实现。

打开 Configurable 的代码,发现是一个空的接口,所以,我认为作者这是要表达一种抽象层面的概念,并没有实际的用途。查了 Stack-Overflow ,据说这是原自 Java 里的一种惯用做法,不过说实在的,我还是没有太理解,全空用来表达概念,可能是出于某种性能层面的考虑。但是,读起来确实有点故弄玄虚的错觉。

Keep Reading — 1441 words totally

Aptana Studio是一款专业的、开源的开发环境,主要用于Web应用开发。该开发环境支持最新的浏览器技术HTML5,CSS3,Javascript,除此之外,对服务器端语言Ruby(对RoR貌似有很好的支持),PHP,Python也有很好的支持。

目前能够在Web开发中对HTML,CSS,和JS同时提供编码帮助的IDE环境极其少见,Dreamweaver是我知道的做得比较好的,但是Dreamweaver对语言的支持只做到了静态语法检查和代码高亮,更进一步则无能为力了,只能算是准IDE,毕竟不是真正的IDE环境,NetBeans在这方面有不俗的表现,正是我选用此款IDE的原因。

Keep Reading — 497 words totally

应该就是离现在不太远的时候,Google推出了用于提高网页质量的工具集,Page Speed。我最早听说是在若干月前的PHP Classes的news letter上。最近才有时间来仔细看看这个东西。

Page Speed现在的形态是一个工具集,目前提供了客户端和服务器端的两种组件。服务器端提供了Apache服务器的模块mod_pagespeed,该模块可以自动优化网页和资源文件。客户端的工具是一个插件,分别提供了firefox、Chrome的版本,其功能更加类似于Yahoo推出的YSlow,也是真对一个页面进行诊断,给出相应的优化建议,Yahoo提出的东西在业界被称为是14条军规,从Page Speed插件给出的建议来看,基本也没有逃出这14条军规的范畴。除此之外,Google还推出了一个网页版本的Page Speed,只要键入网址,就可以自动分析页面的问题给出建议。

Keep Reading — 308 words totally