タグ

Rubyとrackに関するrochefortのブックマーク (7)

  • Rackミドルウェア入門のためのRackミドルウェア

    Introduction of Happy Eyeballs Version 2 (RFC8305) to the Socket library

    Rackミドルウェア入門のためのRackミドルウェア
    rochefort
    rochefort 2020/06/01
    rackの話いい
  • マトリョーシカはRackだけのものじゃない、あなたのRubyにもマトリョーシカを!

    前3回(1回2回3回)の投稿を通して、僕は「Rackは棚ではなく、マトリョーシカである」ということを悟りました。つまりRackにおいて、Webアプリは一または複数のmiddlewareに多層的にラップされ、1つの#call呼び出しに対して内側から外側に向けて順に#callの実行を伝搬させるのだと知りました。そして僕はこのような呼び出し伝搬を「マトリョーシカ呼び出し」と名付けました。 マトリョーシカ呼び出しは、僕に惑星からの巨大エネルギー放出を連想させます。 巨大な惑星の外縁に与えた小さな力が、それを構成する各層の外側から内側に順に伝搬していき、そのコアに到達する。コアに到達した小さな力はそこで小さな爆発を誘引し、今度は内側から外側に向けてその各層において連鎖的な爆発を順に誘引し、最後には巨大な爆発エネルギーを惑星外に放出するのです。 僕はすっかりこのマトリョーシカ呼び出しの虜になりました。

    マトリョーシカはRackだけのものじゃない、あなたのRubyにもマトリョーシカを!
    rochefort
    rochefort 2012/08/25
    mod_zero = ->base,n{ n.is_a?(Integer) && (n%base).zero? }
  • エラーメッセージから学ぶRack - Middlewareの魔法

    前回の記事「エラーメッセージから学ぶRack - 最初の一歩」の続きです。 噂によるとRackにはMiddlewareなる魔法があるそうです。そしてRack古文書にはMiddlewareについて次のようにあります。 useの呪文を唱えよ。さすれば扉は開かれん 準備 前回作った、なんちゃってWebフレームワーク「draque」を継続して使います。config.ruが少し長くなったので、Webアプリの体を別ファイルdraque.rbに移します。 #draque.rb module Draque @@routes = { get:{} } def draque(env) path = env['PATH_INFO'] if res = @@routes[:get][path] res.call(env) else [ 404, headers, not_found ] end end def

    rochefort
    rochefort 2012/08/25
    Middleware ふむふむ
  • エラーメッセージから学ぶRack - 最初の一歩

    (追記:2012-12-25) 記事およびこれに続くRackの記事(全4)をまとめて電子書籍化しました。「Gumroad」を通して100円にて販売しています。内容についての追加・変更はありませんが、誤記の修正およびメディア向けの調整を行っています。 電子書籍「エラーメッセージから学ぶRack」EPUB版 このリンクはGumroadにおける商品購入リンクになっています。クリックすると、オーバーレイ・ウインドウが立ち上がって、この場でクレジットカード決済による購入が可能です。購入にはクレジット情報およびメールアドレスの入力が必要になります。購入すると、入力したメールアドレスにコンテンツのDLリンクが送られてきます。 詳細は以下を参照して下さい。 電子書籍「エラーメッセージから学ぶRack」EPUB版をGumroadから出版しました! 購入ご検討のほどよろしくお願いしますm(__)m Rac

    rochefort
    rochefort 2012/08/05
    not_found 面白かった
  • RackとRackで実現できること。 - ギークを夢見るじょーぶん男子

    Sinatraとか、Sinatraで実装されているLokkaとか触ってるときに、そもそもRackってなんだ?って思って調べました。 前回のSinatra触ってると出てくるRackって何? - ギークを夢見るじょーぶん男子の続きです。 RackとRackで実現できること .rb勉強会資料 - はじめる! Ruby de Web 開発 Rackとは?Rackで実現できることがスライドにまとまっていてわかりやすかった これだけで、BASIC認証ができる! use Rack::Auth::Basic do |user, pass| user == ENV['BASIC_USER'] && pass == ENV['BASIC_PASS'] end Route 477 - Rack日語リファレンス Rackリファレンス Route 477 - 5分でわかるRack , シュレーディンガーのたち

    RackとRackで実現できること。 - ギークを夢見るじょーぶん男子
    rochefort
    rochefort 2012/03/09
    rackまとめ
  • 第24回 Rackとは何か(2)Rackの使い方 | gihyo.jp

    前回の記事では、Rackとは何かについてを、Rackが生まれた背景を交えてご紹介しました。今回は、Rackを実際に使ってみるにはどうすればいいのかを実際に作りながら解説します。 rackupとRack::Builder 前回の記事の最後で、アプリケーションの他にconfig.ruというファイルを用意し、rackupといういうコマンドを使ってアプリケーションを起動しましたが、これについてもう少し詳しく説明したいと思います。 実は、単にRackアプリケーションを起動するためだけであれば、config.ru(rackupファイルと呼びます。拡張子のruはおそらくrackupの略でしょう)は必要ありません。Rackの入門記事等で目にしたことのある方もいるかもしれませんが、以下のようなコードをファイルの末尾に書き加えるとsimple_app.rb単体でアプリケーションを起動することができます。 if

    第24回 Rackとは何か(2)Rackの使い方 | gihyo.jp
  • ウノウラボ Unoh Labs: RackでWebアプリのWebサーバー依存を無くす

    rack-logo posted by (C)komagata komagataです。 仕事でも使う必要が出てきたのでRubyの勉強をしています。WebアプリケーションでRubyを使おうとしていきなり躓いたのがApache、WEBrick、Mongrel等、実行環境毎の設定やAPIの違いです。 Rubyを普段使っている人には常識過ぎるのか情報が少なく、FastCGIで単に「Hello, World」を表示させるのにも一苦労でした。(Railsでは簡単に動くのが悔しい) そんな実行環境毎のAPIの差を吸収してくれるRackというライブラリを知ったので試してみました。 RackはRuby版WSGIと呼ばれているそうです。WSGIとはWeb Server Gateway Interfaceの略でWeb ServerとWeb Applicationの間のInterfaceを定めたPython界の仕

  • 1