Your SlideShare is downloading. ×
0
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

944

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
944
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
1
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "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 ありがとうございました。
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×