顶一个
不好意思,暂时还不能支持远程。不过还是谢谢您的关注,有机会来公司聊聊。
继续招
继续招
#15 楼 @sg552sg552 我也报个名,周六要是没有其他事情就去
#28 楼 @sg552sg552 我倒是想去参加,可惜事情冲突了。只好先支持一下了 。看以后有机会吧。
#12 楼 @jimweirich 谢谢,已修复 :)
Rack 最基本的含义是:基于 ruby 的最简版的 web server 和 web framework 的 API, 也就是接口协议 (Interface protocol),定义在 (http://www.rubydoc.info/github/rack/rack/master/file/SPEC). 它的很多想法来自于 python 的 WSGI,基本上可以理解为一个 lambda 表达式:
lambda { |env| [200, {}, ['Hello World!']] }
基于上述最小 API 定义上,人们为了日常使用方便,编写了常用库 Rack (https://github.com/rack/rack)。日常编程中,人们通常提到 Rack,指的就是这个库。
require 'rack'
请注意一下 Rack 的定义 (Rack provides an minimal interface between webservers supporting Ruby and Ruby frameworks). 就是说 Rack 不仅仅可以用来定义 web server API,也可以用来定义 framework。这样,可以使用 pipeline 设计模式,将一系列 Rack 协议兼容组件连接起来完成 web server 的功能。这一系列组件就是 Rack middleware。 在 2 中提到的 Rack 库中,提供了 Rack::Builder 来完成这个 pipeline 的组装。
Rails 一开始基于 CGI 的,后来开始逐渐向 Rack 迁移,到 2.3 版形成稳定版 (http://viget.com/extend/rack-support-in-rails-why-it-matters)。 之后,不断的将 ActionController 的功能移植为 Rack 兼容的组件,纳入 ActionDispatch 中,使得可以用于非 Rails 的应用中。 当然到目前,还有大量的其他框架支持 Rack,请参考:(https://github.com/rack/rack)。
Perl 的 PSGI (http://search.cpan.org/~miyagawa/PSGI-1.10/PSGI.pod)
从协议和规范的角度,暂时没有和 Rack 对等的。[servlet 完全是另一个东西 :) 我就不多说了。]
upup
upup
#11 楼 @jimrokliu 你咋不收了?
#17 楼 @jimrokliu 来吧,没有机会创造机会来。
day day up
这个得顶
13' MacBook Pro 新款:)
13' MacBook Pro 新款 :)
欢迎来看看 :)
欢迎来看看 :)
#11 楼 @jimrokliu good