你可能听说过Rails、Sinatra这些Ruby Web框架,也可能尝试过其中一、两个,但如果你还不了解Rack甚至根本没听说过它,那么你的Ruby Web开发还停留在表面:Ruby Rack是前面这些Ruby Web框架的基础,Rails和Sinatra都建立在它之上;不了解Rack的原理就无法真正理解你的Ruby Web应用的架构与工作机制、对一些复杂的问题也无能无力。任何一个正经的Ruby Web开发者都应该了解、掌握Rack。
继续阅读 »
Ruby Rack及其应用(上)对Rack的定义、基本原理和构建方法做了介绍,并且提到Rails、Sinatra等web框架都是在Rack之上构建的。现在让我们来看几个Rack作为中间件的典型例子,包括Auth、Session以及Log。
继续阅读 »
在Ruby程序中使用MongoDB你有两种主要的选择:Mongoid或者是MongoDB官方的Ruby Driver。有这么一种常见的说法:Mongoid一般用于Rack应用程序,如Rails,而MongoDB Ruby Driver则用在Rack应用以外的领域。然而,在Rack应用程序中直接使用MongoDB Ruby Driver也并没有什么问题,与Mongoid相比还有一些优点:
继续阅读 »
为什么不是Rails?因为Rails太臃肿了!如果你有一个好创意,你应该从Sinatra轻快地开始。Sinatra十分轻盈——它只是在Rack的基础上添加了一些必要的辅助功能,如routes、views以及一些HTTP辅助方法,总共不到2500行代码(v1.4.7)——框架代码越少越好,这样你就容易掌控全局;相比之下,Rails仅ActiveRecord代码就超过35000行!
继续阅读 »