mysql,Linux,HighPerformance,ruby on Rails

2010年5月18日星期二

CGI和FASTCGI协议认知心得

前段时间去面试,被问到关于什么是CGI协议,懵了不会。因为使用ruby总需要与CGI打交道,我还是今天把功课补上,毕竟是手上的事。读了一下CGI的RFC3875,如果用一句来说,它是一个纯文本的协议。
通过Meta关键字=VALUE形式组成一个数组,与上端的Web
Server和下连的Script互相交流。从我们web程序员的角度来说,是透明的。但它针对每个Request都会起一个进程,所以之后引进了FastCGI,改良的地方就是针对客户端的Request,FCGI只开一个主进程,内部使用分组复用的技术(有点像CDMA时分复用的技术,如果你有通信方面的背景的话,对这个肯定能有所了解。)加快处理并返回Response。
另外,RFC里有一个表达式:巴科斯范式,也顺便学了一下,你也不妨学一招吧.

参考:
http://www.ietf.org/rfc/rfc3875.txt
http://en.wikipedia.org/wiki/FastCGI

2010年5月9日星期日

使用Vagrant快速部署测试环境,给Rails3打Patch简单到小儿科!

今天看一文章,rails社区竟然有人作了一个Vagrant gem调用Oracle's VirtualBox快速虚拟出ubuntu下的rails开发环境。
我看了一下gist安装指令,已经进化到一键完成的地步,犹如当年GhostXP操作一般,这哪有什么技术含量啊,呵呵。
这样的环境对于社区开发来说,绝对是一记强行针,学会这招之后,你也可以参考Rails开发者指南,你就会了解到,想给Rails写Patch之前,第一步都是去LightHouse看看感兴趣的问题,如果有人贴了patch,就需要快速有个环境来测试了,所以之前的工具就是为这种场景下的需求准备的。但这个gem的产出,带来了一种全新的,简单的开发流程模式,相信一定会给其它开源社区的开发者带出更多灵感!赞!

参考链接徘徊于墙外: