Archive for 六月, 2009

ExtJS & Google Gears

星期二, 六月 30th, 2009

老实说,这两者真的非常般配,一个是JavaScript的RIA佼佼者,一个提升Web浏览器体验的明星,如果选择以JavaScript和Ajax为主的RIA应用,这两者配合绝对没有问题。ExtJS 3.0会带来更多的特性,Gears的其他特性可以保证构建更好的应用(http://activerecordjs.org不错的)。Apress推出了一本新书《Practical Ext JS Projects with Gears 》,有兴趣的可以尝试一下。

Sinatra电子书

星期一, 六月 29th, 2009

早上在 http://rubylearning.com/blog/2009/06/29/20-rubyists-using-sinatra-do-you/ 看到不少Sinatra的fans,下面有一个链接,是关于Sinatra的电子书的,售价$4.75。考虑到组内还有其他人员向了解这个框架,我也不想再亲自介绍,还不如一本书说的明白,于是就买了这本书。书收到啦,不错的,介绍的非常仔细,入门的最佳拍档。

Sintra的上传文件的处理

星期一, 六月 29th, 2009

周末还在困惑,Sinatra如何处理上传文件的,早上看到一篇blog的介绍: params[:logo_file][:tempfile] 其中logo_file就是file input的名称,返回值是一个File对象,接下来就可以操作啦。如果使用curl,可以使用下述命令上传文件: curl -F logo_file=@header.jpg localhost:4567/logo_upload

Rack, WSGI and Servlet

星期六, 六月 27th, 2009

Rack: provides a minimal interface between webservers supporting Ruby and Ruby frameworks,在Web服务器和Ruby(Ruby框架)之间提供最小的接口规范。
WSGI:Python Web Server GateWay Interface,Python的Web服务器网关接口,也就是说Python的Web Server都要遵循这个接口。
Servlet:Web Server端应用,担当客户请求和服务器端响应的中间层,当然还包含各种服务器端规范,Java的Web服务器都要实行这一规范。

对比这三者,出发点都是一样的,要规范Web Server和Web Framekwork之间接口,假设Web Server和Web框架之间的桥梁。Web Server实现了这个规范,是为了更方便框架开发者,框架开发者不再需要了解Web Server具体的API。Web框架遵循了这个规范,框架将可以部署到各种Web Server上,方便最终的开发人员。这样,我们编写的Ruby,Python和Java代码就更规范,更统一,更便于理解。Rack,目前Ruby大多数框架(如rails,Sinatra等)和Web Server(Mongrel,Thin等)都支持,这样我们可以在Ruby代码中利用Rack API来实现相关的功能。Python的WSGI是web server规范,当然很多的框架都用这一特性,如Django等。Servlet就更不用说啦,Java中的Web Framework(如Struts,Spring MVC等)基本都是利用Servlet规范实现相关的功能的。
Del.icio.us : Rack, Servlet, WSGI

Cooliris 1.11发布

星期六, 六月 27th, 2009

最大的特性就是在Tab标签中浏览图片啦,而不是全屏,这方便了很多,尤其是你在多个站点的图片时。当然还有其他特性,可以访问: http://blog.cooliris.com/2009/06/26/cooliris-v111-smooth-cultivated-and-fully-integrated-2/
Del.icio.us : Colliris

10行Ruby代码和60行Haml代码

星期五, 六月 26th, 2009

今天做了一个Sinatra和Haml的整合测试,就是一个List和Detail页面,这个也是网络上最常见的页面:一个列表,然后点击进入详情页面。实现的逻辑就是: 1 使用ActiveRecord和数据库交互 2 构建两个URL,’/’和’/:id’,用于显示列表和详情页面 3 一个处理交换的rb文件和两个haml模板页面 整个系统非常简单,但是用的代码量也非常简单:一个rb文件,两个haml文件,可以说最精简啦。Sinatra和Haml不愧为DSL,非常强大。

Haml:重新审视

星期五, 六月 26th, 2009

DSL,首先是一个好东西,Haml是HTML的DSL,当然更简洁,更方便。如果你选择快速开发,那么个人认为大可不必对这些DSL抵触。看了Sinatra的设计,更有这种感觉。RubyMine 1.2会对Haml提供全面的支持,到时我说不定全部会投入到Haml中啦。

Sinatra: Light Web Service Framework

星期四, 六月 25th, 2009

Sinatra: Muler推荐我看一下这个,当我看了这个框架的readme后,我彻底喜欢上它啦。这个是一个轻量级的Web Service框架,当你还在了解Rails,Struts 2中实现REST时,Sinatra可以通过几行代码帮你解决啦。之所以说它是Web Service框架,首先服务都不可能太多的,完全可以人工管理的。如果你在开发RIA应用,只需要一个后台提供相关的Service,如使用ExtJS,那Sinatra解决这个问题将非常快啦,你可以体验一下。