You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
このガイドはRackのミドルウェア、urlマップ、Rack::BuilderといったRackのプロトコルや概念に関する実用的な知識を身につけていることを前提にしています。 1 Rack入門 Rackは、RubyのWebアプリケーションに対して、モジュール化された最小限のインターフェイスを提供して、インターフェイスを広範囲に使えるようにします。RackはHTTPリクエストとレスポンスを可能なかぎり簡単な方法でラッピングすることで、Webサーバー、Webフレームワーク、その間に位置するソフトウェア(ミドルウェアと呼ばれています)のAPIを1つのメソッド呼び出しの形にまとめます。 Rackに関する解説はこのガイドの範疇を超えてしまいます。Rackに関する基本的な知識が不足している場合は、下記のリソース を参照してください。 2 RailsとRack 2.1 RailsアプリケーションのRackオ
This guide covers Rails integration with Rack and interfacing with other Rack components. After reading this guide, you will know: How to use Rack Middlewares in your Rails applications. Action Pack's internal Middleware stack. How to define a custom Middleware stack. This guide assumes a working knowledge of Rack protocol and Rack concepts such as middlewares, URL maps, and Rack::Builder. 1 Intro
http://ruby-doc.org/stdlib-2.0.0/libdoc/webrick/rdoc/WEBrick/HTTPRequest.html#method-i-meta_vars WEBrick::HTTPRequest#meta_vars の実装を読むととても分かりやすい。 で、この変換規則は、コメントの通り CGI version 1.1 に準拠している。RDocの方がリンク切れなのでプルリク事案っぽい... このmeta_varsの内容+Rackの独自オブジェクトでenvが出来上がる。Rack独自オブジェクトの付与の仕方は、RackのWEBrickハンドラのこっからここまでを読んどけば理解できるんじゃないだろうか。 というか、WEBrickが存在するおかげでRackの実装の入り口から出口までRubyのコードで分かるのですばらしいですね。 Register as a ne
14 April 2012 Rack is an interface for Ruby components accepting and responding to HTTP requests synchronously. Though there is not an official Rack spec for asynchronous responses, Rack servers such as Rainbows! and Thin provide an asynchronous interface for responses that may happen at an unknown time in the future, such as in a web chat room. The synchronous Rack interface is defined in its SPE
In Ruby on Rack #1 – Hello Rack! we used rackup to make port/server configurable. And rackup’s config file looked like : # config.ru run Proc.new {|env| [200, {"Content-Type" => "text/html"}, "Hello Rack!"]} Under the hood, rackup converts your config script to an instance of Rack::Builder. What is Rack::Builder ? Rack::Builder implements a small DSL to iteratively construct Rack applications. - R
Ruby on Rack #1 - Hello Rack! Published over 2 years ago Ruby community is coming up with new frameworks almost every week, but in midst of that, Rack isn’t getting enough attention. Attention that it deserves. And also, the next stable release of Rails after 2.2 will have a better public facing interface for taking full advantage of Rack. Rack was initially inspired from pythons’s wsgi and it qu
I’ve been using Rails 4 (beta) a lot recently. In a previous post we looked at how ActionController::Live can be used with Server-Sent Events, but the problem with that is that there’s no way for the client to communicate back to the web server. Enter: WebSockets. The main issue with implementing WebSockets is that they have to keep their connections open for a long period of time, and when you’re
“Tamago”というWeb Application Frameworkを作った。 https://github.com/shokai/tamagoに置いてある。 昨日学校に行く前にメシを食いながらHerokuやSqaleやらPaaSについて調べていたら、SinatraやRailsではなくRackを直接使ってPaaSで動かしている人たちが何人かいた。 sqale使ってみた – komagataとか。 で、電車の中でふとWAFを作ってみたらどうかと思って作ってみた。 最終的に学校に着く頃にこんな風に書けるのができてた。 GETやらPOSTで指定したパスへのアクセスを受け取って、Hamlのテンプレートが使えたりするDSLが使える。 get '/' do haml :index end post '/' do Time.now.to_s end get '/env' do ENV.keys.so
今スイスにいる。 行きの飛行機の中での勉強用にこのページを保存しておいて、Rack middlewareの作り方を学んだ。 第25回 Rackとは何か(3)ミドルウェアのすすめ:Ruby Freaks Lounge|gihyo.jp … 技術評論社 というのもSinatra::RocketIOをRack::RocketIOにしたいからなんだけど、Rack Hijack APIがよくわからない。(hijackについてはそのうち書く) ソースコードはgithubに全部置いてある。 github.com/shokai/rack-plugin-study Sinatra/Rails/Padrino等のRuby製webアプリケーションフレームワークと、 webrick/thin/mongrel/unicorn等などのRuby製webサーバーを接続するしくみがRackです。 Webアプリフレームワーク
前回の記事では、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アプケーションフレームワークと一口に言っても、非常に簡単にアプリケーションが書けて
前回、前々回の記事では、Rackの生まれた背景、Rackとは何か、実際にRackアプリケーションを作る際に使えるものをご紹介しましたが、もう一つまだ説明していない重要な要素がRackにはあります。今回は、そのミドルウェアという仕組みについてご紹介します。 ミドルウェアとは ミドルウェアとは何かを一言で言うと、「別なアプリケーションをラップして、リクエストやレスポンスを加工したり、処理を切り換えたりするRackアプリケーション」です。 この仕組みがあることで一体何ができるのでしょうか。Webアプリケーションを作っていると、リクエストやレスポンスをアプリケーションに行く前やアプリケーションの処理の後に加工したくなることはよくあります。例えば、条件に応じてURLの書き換えをしたり、エンコーディングの変換をしたり、Cookieの処理をしたり…といったことが日常茶飯事です。こういう処理を、サーバと
Search: Libraries » livingsocial/rake-pipeline (master) » Index » File: README Rake::Pipeline Rake::Pipeline is a system for packaging assets for deployment to the web. It uses Rake under the hood for dependency management and updating output files based on input changes. Usage The easiest way to use Rake::Pipeline is via a AssetFile file in the root of your project. A sample AssetFile looks like
(追記:2012-12-25) 本記事およびこれに続くRackの記事(全4本)をまとめて電子書籍化しました。「Gumroad」を通して100円にて販売しています。内容についての追加・変更はありませんが、誤記の修正およびメディア向けの調整を行っています。 電子書籍「エラーメッセージから学ぶRack」EPUB版 このリンクはGumroadにおける商品購入リンクになっています。クリックすると、オーバーレイ・ウインドウが立ち上がって、この場でクレジットカード決済による購入が可能です。購入にはクレジット情報およびメールアドレスの入力が必要になります。購入すると、入力したメールアドレスにコンテンツのDLリンクが送られてきます。 詳細は以下を参照して下さい。 電子書籍「エラーメッセージから学ぶRack」EPUB版をGumroadから出版しました! 購入ご検討のほどよろしくお願いしますm(__)m Rac
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く