Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Sinatra
突然ですが
コンソールから$ gem install sinatra$ ruby -r sinatra -e get("/"){ "Hello world" }                   ↓               で、ブラウザで開く    ...
ソースファイルにするとrequire sinatraget / do Hello worldend
Hello World が見えるまで       1分             (自分調べ)
Sinatra
Sinatra               isWebApplication DSL  > SinatraはRubyで下記のような最小労力で  > 手早くウェブアプリケーションを作成するための  > DSLです。           http:...
基本的な書き方
まずは...require sinatraget /users/:name do # /users/hogeをGETしたら  name = params[:name] # hogeを取得し  @name = name.upcase # hoge...
リクエスト# 固定get / do ... end# POSTpost / do ... end# 名前付きパラメータ (params[:id])get /:id do ... end# ブロック引数 (paramsの代わりに常に使用可能)ge...
今度は...require sinatraget /users/:name do # /users/hogeをGETしたら  name = params[:name] # hogeを取得し  @name = name.upcase # hoge...
レスポンス(テンプレート)# ERBget / do @greed = Hello world erb :index # views/index.erbend# HAMLget / do @greed = Hello world haml :g...
レスポンス(その他)# 文字列get / do content_type text/plain Hello world!end# ステータスコードget / do 404end# eachメソッドを持つオブジェクトによるストリーミングclass...
他にも機能が●   レイアウト(ビューの外枠共通化)●   ヘルパー(ビューの特定部分メソッド化)●   フィルタ(リクエストのbefore/after)●   エラーハンドリング(例外に応じてページ表示)●   公式拡張: sinatra-c...
続きはWebで!↓あっという間に理解できる良いドキュメント         Sin            atr               a:                    RE                      AD   ...
特徴● 起動が早い!(Railsより)● 処理が早い!(Railsより)● 学習が早い!(Railsより)● 機能が少ない!(Railsより) ○ link_to とかできない ○ migration とかできない ○ reloadとかできない
位置づけこの程度の相手、Rails様の手を煩わすまでもない >● シンプル・小規模なシステム● Viewを持たないAPI用サーバー● 既存ツールにWebフロントエンドを+● Hackathonのお供に
まとめ      Sintatra          Rails Railsのスキマ、Rails  お埋めします                 Sintatra        Sintatra                         ...
覚えておいても損はない。requi     re si            natra                   ありがとうございました。
Sinatra
Upcoming SlideShare
Loading in …5
×

Sinatra

1,213 views

Published on

Published in: Technology
  • Be the first to comment

Sinatra

  1. 1. Sinatra
  2. 2. 突然ですが
  3. 3. コンソールから$ gem install sinatra$ ruby -r sinatra -e get("/"){ "Hello world" } ↓ で、ブラウザで開く http://localhost:4567
  4. 4. ソースファイルにするとrequire sinatraget / do Hello worldend
  5. 5. Hello World が見えるまで 1分 (自分調べ)
  6. 6. Sinatra
  7. 7. Sinatra isWebApplication DSL > SinatraはRubyで下記のような最小労力で > 手早くウェブアプリケーションを作成するための > DSLです。 http://www.sinatrarb.com/intro-jp.html
  8. 8. 基本的な書き方
  9. 9. まずは...require sinatraget /users/:name do # /users/hogeをGETしたら name = params[:name] # hogeを取得し @name = name.upcase # hogeを処理し erb :show # レスポンスを返すendget /users/ do ...end
  10. 10. リクエスト# 固定get / do ... end# POSTpost / do ... end# 名前付きパラメータ (params[:id])get /:id do ... end# ブロック引数 (paramsの代わりに常に使用可能)get /:id do |id| ... end# splat (params[:splat]で*の数だけ配列で取得)get /say/*/to/* do ... end# 正規表現 (params[:captures]でキャプチャ部分を取得)get %r|/hello/(w+)| do ... end
  11. 11. 今度は...require sinatraget /users/:name do # /users/hogeをGETしたら name = params[:name] # hogeを取得し @name = name.upcase # hogeを処理し erb :show # レスポンスを返すendget /users/ do ...end
  12. 12. レスポンス(テンプレート)# ERBget / do @greed = Hello world erb :index # views/index.erbend# HAMLget / do @greed = Hello world haml :greed/index # views/greed/index.hamlend# Erubis, Builder, 鋸(nokogiri), Sass, Scss, Less, Liquid, Markdown,# Textile, RDoc, Radius, Markaby, Slim, Creole, CoffeeScript... READMEを読め!
  13. 13. レスポンス(その他)# 文字列get / do content_type text/plain Hello world!end# ステータスコードget / do 404end# eachメソッドを持つオブジェクトによるストリーミングclass Stream def each 100.times { |i| yield "#{i}n" } endendget(/) { Stream.new }
  14. 14. 他にも機能が● レイアウト(ビューの外枠共通化)● ヘルパー(ビューの特定部分メソッド化)● フィルタ(リクエストのbefore/after)● エラーハンドリング(例外に応じてページ表示)● 公式拡張: sinatra-contrib ○ capture ○ config_file ○ cookie ○ namespace(ルーティング) ○ stream ○ ...
  15. 15. 続きはWebで!↓あっという間に理解できる良いドキュメント Sin atr a: RE AD ME (Ja pan ese )
  16. 16. 特徴● 起動が早い!(Railsより)● 処理が早い!(Railsより)● 学習が早い!(Railsより)● 機能が少ない!(Railsより) ○ link_to とかできない ○ migration とかできない ○ reloadとかできない
  17. 17. 位置づけこの程度の相手、Rails様の手を煩わすまでもない >● シンプル・小規模なシステム● Viewを持たないAPI用サーバー● 既存ツールにWebフロントエンドを+● Hackathonのお供に
  18. 18. まとめ Sintatra Rails Railsのスキマ、Rails お埋めします Sintatra Sintatra Rails
  19. 19. 覚えておいても損はない。requi re si natra ありがとうございました。

×