前回、前々回の記事では、Rackの生まれた背景、Rackとは何か、実際にRackアプリケーションを作る際に使えるものをご紹介しましたが、もう一つまだ説明していない重要な要素がRackにはあります。今回は、そのミドルウェアという仕組みについてご紹介します。 ミドルウェアとは ミドルウェアとは何かを一言で言うと、「別なアプリケーションをラップして、リクエストやレスポンスを加工したり、処理を切り換えたりするRackアプリケーション」です。 この仕組みがあることで一体何ができるのでしょうか。Webアプリケーションを作っていると、リクエストやレスポンスをアプリケーションに行く前やアプリケーションの処理の後に加工したくなることはよくあります。例えば、条件に応じてURLの書き換えをしたり、エンコーディングの変換をしたり、Cookieの処理をしたり…といったことが日常茶飯事です。こういう処理を、サーバと
どうやらUnicornというのが良いらしいという噂を聞きつけたので、どんなもんじゃろと試してみることにした。 Route 477 - 大規模Railsサイトのための新しいHTTPサーバ、Unicorn Unicornてのは何者なのかと言うと、Rack及びRailsに対応したRubyのWebアプリ用のHTTPサーバ。詳しくは上の記事を読んで下さい。githubでも使ってるそうだ。あと、名前が格好良い(あんまり関係ない)。 まずはunicornの設定 と言っても、gem install unicornしてconfig.ruがあるディレクトリでunicornコマンドを叩けば、thinとかと同じようにサーバが起動する。rackup互換のオプションも付いてるので特に悩むこともないと思う。あとは普通にApacheとかでプロキシの設定してやるなりなんなりすればすぐ使える。 それだけだと大して面白くないの
前回の記事では、Rackとは何かについてを、Rackが生まれた背景を交えてご紹介しました。今回は、Rackを実際に使ってみるにはどうすればいいのかを実際に作りながら解説します。 rackupとRack::Builder 前回の記事の最後で、アプリケーションの他にconfig.ruというファイルを用意し、rackupといういうコマンドを使ってアプリケーションを起動しましたが、これについてもう少し詳しく説明したいと思います。 実は、単にRackアプリケーションを起動するためだけであれば、config.ru(rackupファイルと呼びます。拡張子のruはおそらくrackupの略でしょう)は必要ありません。Rackの入門記事等で目にしたことのある方もいるかもしれませんが、以下のようなコードをファイルの末尾に書き加えるとsimple_app.rb単体でアプリケーションを起動することができます。 if
はじめに SinatraやRamazeといったRubyのWebアプケーションフレームワークに興味をお持ちの方であれば、Rackという名前をしばしば目にしているかもしれません。どうやら様々なフレームワークに使われているらしいのだけど、そいつが一体なんなのかよくわからない、そんなあなたのために今日はそのRackをご紹介したいと思います。 様々なフレームワーク、様々なアプリケーションサーバ しばらく前なら、Ruby on Railsブームの真っ只中、Rubyと言えばRails、Webアプリケーションを作るならRails、といったイメージを持たれていた方も多かったと思います。実際にWebアプリケーションを作ったり、Rubyに触れたりしたきっかけがRailsだったという方も多いでしょう。 しかし最近は、RubyのWebアプケーションフレームワークと一口に言っても、非常に簡単にアプリケーションが書けて
Ruby, Rack, PassengerApache2 + Ruby + Rack + mod_passenger (1)Apache2 + Ruby + Rack + mod_passenger (3)一からやる人、生 Rack は Handler でしか使ったこと無い人の為に Rack 自体の説明もしてみます。 Rack とはWebアプリケーションを開発する場合には、フレームワークも動作環境も色々な選択肢があります。たとえばフレームワークは、生開発、Rails、Merb、Ramaze、Camping、Halcyon、Mack などあるし、動作環境は、Apache だけでも CGI、FastCGI、mod_ruby、mod_passenger などなど。ほかにも、lighttpd・Nginx 上の物や、WEBrick、Mongrel もあります。id:takihiroさんの図がわかりや
Ruby, Rack, Passenger私が作るサービスは大概小粒なので、今まではほぼ Apache2 + Ruby + Rack + FastCGI で動かしていましたが、mod_passenger も Rack でアドホックなサービスを作れるらしい、と知ったので試してみました。ちなみに、Merb とか Ramaze とか Camping とかの Rails 以外のフレームワークを mod_passenger で動かす場合も、どうも mod_passenger + Rack がベースとなっているようなので、知っていて損は無いと思います。 FastCGI vs mod_passenger結論から。比較対象FastCGImod_passenger速度(req/sec)*1900前後1100前後開発の楽さ基本的に CGI で開発し FastCGI へ移行。*2 FastCGI の時は err
「彼女のステータスを返す」のソースが読みたいというリクエストがあったので、少し書き直してgistに上げてみた。 gist: 112607 - GitHub 一応上の状態でrackupすれば動きます。hamlとrackの最新版が必要な他は特に何も要らないはず。ちなみに1.8.6、1.8.7、1.9.1では動くのを確認済み。んでPassengerで動かすときには、「PassengerでRackアプリを動かす」で書いたように、config.ruと同じ階層にpublicとtmpってディレクトリを作ってやって、コメントアウトしてあるRewindableInputWrapperを有効にしてやればいいはず。 ついでにRack::Testを使って書いたspecと、実際にGETしたりPOSTしたりしてどんなレスポンス返してるのか見るスクリプトも置いといたので、参考までに。 ぶっちゃけRackとHaml(とあ
昨日のネタではRackで簡単なアプリを作ってそれを複数立ち上げたThinで動かしつつ、表のApacheからmod_proxy_balancerで適当にプロキシしてやるって構成にした。Railsとかでもよくやるので慣れてるし、扱い易いので好きな構成だ。 ただ、今回の遊びでちょっとやってみたかったけことがある。何かというと、Passengerの導入。mod_railsとかmod_rackとか呼ばれてるアレ。スタンドアロンのサーバではなくてApacheやnginxに組み込んで使うタイプで、パフォーマンスもそれなりに良いし使い易いという話を聞いてたので気になってはいた。でもRails使わなくなってからなかなか試してみる機会がなかったので、この際ついでだ、とやってみることにした。 設定は簡単 インストールについてはPassengerのページでも見てもらうとします。別に何のことはない、gemからインス
Rack provides an minimal interface between webservers supporting Ruby and Ruby frameworks. News August 21st, 2008Rack 0.4 has been released! May 31st, 2008Rack development moves to Git. May 24th, 2008There now is a Google Group on Rack Development. February 26th, 2008Rack 0.3 has been released! November 10th, 2007Rack has been presented at the Euruko 2007. Slides and a paper are available at http:
昨日のRails勉強会の帰りに松田さんと話してたネタです(お互い、早く懇親会に行ける身分に戻りたいですね)。 id:t-wadaさんとか角谷さんのプレゼンをみて、Cucumberを使いたいし、カバレッジとりたいなと思ったのですが、Railsの場合いい感じに外側からテストを書く方法がちょっと思い浮かびませんでした。 で、Mechanizeぽくいろいろアクセスできるテストライブラリを教えてもらったんですが(名前忘れた>< 助けて松田マン)、その前段として、同一プロセスでRailsアプリを走らせたいなぁ、と。 で、Rack(thinにアダプタはいってる。thin++)を使って試したらうまい感じに動きました。あとはこれを肉付けしていけばいいんじゃないでしょうか。セッションも引き継いだりしなきゃ行けないでしょうし。 簡単に説明すると、19行目でRailsアプリ本体を内包するRackのアプリを作り、あ
Welcome to the world of e-wallet free credit casino, where you can enjoy the thrill of online gambling without any financial risk. In this article, we will explore how to get started with e-wallet free credit casino. We will also discuss the benefits of using e-wallets in online gambling Malaysia casino online. Additionally, we will highlight the top casino games to play with free credit on e-wall
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く