<p>最低限のFastCGIが動いたので<a href="http://rack.rubyforge.org/">Rack</a>を試してみました。</p>
<p>Ruby版WSGIと呼ばれてるとのこと。WSGIって何だろう。</p>
<blockquote><a title="TokuLog 改め Perl を極めて結婚するブログ - What's WSGI? その1" href="http://d.hatena.ne.jp/tokuhirom/20061122/1164214450">TokuLog 改め Perl を極めて結婚するブログ – What’s WSGI? その1</a>
<p>WSGI は、Web Server Gateway Interface の略です。</p>
<p>WSGI は、Web Server と、Web Application/Web Framework の間のやりとりを規定するPythonプロトコルです。</blockquote></p>
<p>なるほど、Web Server Geteway Interfaceって言われるとわかりやすい。Web ServerとWebアプリは色々あるから共通のインターフェース決めようっていうのはまったく真っ当なお話ですな。</p>
<p><a href="http://d.hatena.ne.jp/secondlife/20070307/1173253661">こちら</a>を参考に最低限のFastCGI版のRackを使ったコードを書いてみました。</p>
<pre class="prettyprint"><code>#!/usr/bin/env ruby
require 'rubygems'
require 'rack'
include Rack
hello_rack = Proc.new do |env|
Response.new.finish do |res|
res.write "Hello, Rack"
end
end
Handler::FastCGI.run hello_rack</code></pre>
<p><a href="http://www.flickr.com/photos/komagata/467141258/" title="Photo Sharing"><img src="http://farm1.static.flickr.com/193/467141258_750250dd0f_o.png" width="160" height="70" alt="hello rack" /></a></p>
<p>うごいたー。</p>
<p>Handlerを変えるだけでMongrelやWEBrickなんかでも動くポータブルなコードになって嬉しい。今後はこれで書いてこう。</p>