GitHubindexHello source: index.md View on github | Report issue Generated by middleman 3.1.6. Powered by Ruby 2.2.2.
■ [ruby][rack] 5分でわかるRack RackはRubyのためのWebサーバインターフェイスだ。 RubyでWebっていうとRailsが有名だけど、実はRails以外にもいろんなRuby用のWebアプリ用フレームワークが存在する。 Ramaze Merb Camping Waves などなど…。 一方Webを実際に動かすにはWebサーバが必要だ。RubyのためのWebサーバも、これまたいろんなものがある。 Apache(CGI, FastCGI..) WEBrick Mongrel Ebb Thin などなど…。 ここで問題が一つ。それは「フレームワークが増えるたびに、いろんなサーバをサポートするためのコードが必要になる」ってとこだ。 各フレームワークの作者がみんなそれぞれにCGIやMongrelに対応するためのコードを書いてるなんて、無駄だと思わないか? RackはWebア
Rack provides an minimal interface between webservers supporting Ruby and Ruby frameworks. RackはRubyをサポートするウェブサーバ群とRubyフレームワークとの間の最小のインターフェースを提供する。 Rack: a Ruby Webserver Interface File: SPEC この仕様はRackプロトコルの形式化を目的とする。あなたは、そのためにRack::Lintを適用する事ができる(そしてそうすべき)。あなたがミドルウェアを開発する際、必ずすべての誤りを捕捉する前後にLintしなさい。 Rackアプリケーション Rackアプリケーションはcallに応えるRubyオブジェクト(classではない)。それは1つの引数environmentをとり、3つの値(statusとheadersと
Rackとは、Rubyで実装したアプリケーションとウェブサーバとを繋ぐインターフェースです。Rackプロトコルに従って実装したアプリケーションは、利用するウェブサーバを自由に選択する事が可能となります。 Rackの開発元へは、以下のリンクから。 Rack: a Ruby Webserver Interface Rackプロトコルについて、簡単に説明します。 Rackプロトコルに従ったアプリケーションとは、環境変数envを引数にとるメソッドcallを持つRubyオブジェクト(インスタンス)を意味します。callは、3つの要素を持つArrayオブジェクトを返します。これは順に、『HTTPステータスコード』『HTTPレスポンスヘッダ』『HTTPボディ』となります。 環境変数 アプリケーションは、環境変数を読み書きする事で、入出力操作等を行える様になります。環境変数は、いわゆるCGI環境変数や、R
Rackに興味を持って調べていたのですが、ファイルのアップロードがよく分からずに、色々調べながらサンプルを作ってみました。コードとサンプルを掲載しておきます。FastCGIと通常のCGIでテストしています。 uploader.fcgi #!/usr/bin/env ruby $KCODE = 'u' require 'rubygems' require 'rack' require 'uploader' app = Rack::Builder.new { use Rack::Lint use Rack::ShowExceptions use Rack::ShowStatus run Uploader.new } # Rack::Handler::CGI.run app Rack::Handler::FastCGI.run app なお、最後をRack::Handler::CGI.run a
http://rack.rubyforge.org/ 先日登場した Rack というライブラリを使うと、Web サーバごとに同一のインターフェイスを利用できるようになります。通常、Ruby で Web アプリケーション を動作させるとき、cgi なのか、fcgi なのか、もしくは mongrel や webrick を使うのか、ということを考えなければなりません。cgi のみで動作決めうち、など良いのですが、ガワである Web アプリケーションフレームワークや一般に配布するアプリケーションなど、既存のフレームワークを用いずに作るときは、さまざまな動作環境でも動くように考慮しなくてはなりません。 たとえば既存のフレームワークである Rails や Camping はそれぞれ個別に cgi/fcgi/mongrel/webrick などの対応を行っています。しかし Rack で定義されているイ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く