Sinatraで鼻歌まじりのWeb開発

Preview:

DESCRIPTION

Ruby Sapporo Night vol. 10

Citation preview

Ruby Sapporo Nightvol.102009-04-17(Fri.) Apple Store, Sapporo

Ruby Sapporo Nightvol.102009-04-17(Fri.) Apple Store, Sapporo

Ruby札幌×Local PHP部

クロスコミュニティ企画 - 2

Sinatraで鼻歌まじりのWeb開発

しだら ようじSHIDARA Yohji

日本Rubyの会Ruby札幌

Web development with Sinatrahumming a tune.2009-04-17 Ruby Sapporo Night vol. 10アップルストア札幌

提供

Ruby札幌From Sapporo, with Love for Ruby.

設樂 洋爾 / SHIDARA Yohji / dara

‣dara@ruby-sapporo.org‣http://friendfeed.net/dara‣札幌生まれ, 札幌育ち, 札幌大好き‣スープカレー大好き‣Ruby札幌 運営チーム‣RubyKaigi2008 実行委員 / スピーカ‣RubyKaigi2009 実行委員

My Products

soupcurry.info

jpmobile

buzztter.com

今日お伝えしたいこと:

Rails時代のサクサクWeb開発に

Sinatra は楽しい

私が感じるPHPの魅力

サクッと書いてサクッとアップロードすると

サクッと動く

RubyでWeb開発といえば

Ruby on Rails

全部入り

「ちょっとしたものを作るには大げさだなぁ」

そこで

Sinatra のご紹介

Getting Started

Sinatra is a DSL for quickly creating web-applications in Ruby with minimal effort:

require 'rubygems'require 'sinatra'

get '/' do 'Hello world!'end

myapp.rb:

$ sudo gem install sinatra$ ruby myapp.rb

“with Minimal Effort”

require 'rubygems'require 'sinatra'get '/ja' do 'Konichiwa.'endget '/' do 'Hello world!'end

パラメータも取りたい

require 'rubygems'require 'sinatra'

get '/hello/:name' do "Hello #{params[:name]}!"end

テンプレート

もちろんRailsのようにテンプレートファイルを

用意することもできるけれど

ソースファイルに埋め込むこともできる

get '/' do erb :indexend__END__@@ layout<html><%= yield %></html>@@ index<div title="title">Hello world!</div>

Hamlも使える

http://haml.hamptoncatlin.com

get '/' do haml :indexend__END__@@ layout%html = yield@@ index%div.title Hello World!

コード中に埋め込むこともできる

require 'rubygems'require 'sinatra'

get '/' do haml '%div.title Hello World'end

Sinatra is a DSL for quickly creating web-applications in Ruby with minimal effort.

Deploy

PHPは手軽にdeployできるのにRailsときたら職人芸の世界...

WEBrick, Mongrel, Thin, Rack, monit, god, FastCGI, Pound, Lighttpd,Nginx,

Apache, mod_proxy_balancer, ...

救世主現る

Passenger(mod_rails, mod_rack)

海外ホスティングではPassengerをサポートするサービスも増えてきているSite5, DreamHost, ...

Linode や Slicehost などVPSなら自分で簡単にインストールできる

$ gem install passenger$ passenger-install-apache2-module

Passenger でSinatra アプリケーションをdeployすることもできる

一つディレクトリを作ってその中に...

config.ruファイル: require 'app' run Sinatra::Applicationapp.rbファイル: require 'rubygems' require 'sinatra' get '/' do "Hello, world." endpublicディレクトリ: 空でよいtmpディレクトリ: 空でよい

ディレクトリごとアップロードし、中のpublicディレクトリを

DocumentRootとして指定する(ホスティングの管理画面などで)

以上

再起動したいときはtmp/restart.txt

をアップロードする(空でよい)

これは憧れの

サクッと書いてサクッとアップロードすると

サクッと動く

の世界!

まとめ

Rails時代のサクサクWeb開発に

Sinatra + Passengerは楽しい

ぜひ、あなたの道具箱に。

Sinatra + Passenger

提供

Ruby札幌From Sapporo, with Love for Ruby.

各種ご案内

From Sapporo, with Love for Ruby.

Ruby札幌主宰/運営チーム

島田 浩二snoozer.05@ruby-sapporo.org http://ruby-sapporo.orghttp://iddy.jp/profile/snoozer05/ http://twitter.com/snoozer05

しまだ こうじ

Ruby 勉強会@札幌

✓ 次回開催日:5月のどこかで• 決まったら公式ページやMLで案内

✓ 時間:未定

✓ 場所:未定✓ 参加費:無料

書籍の読み合わせやコードリーディング、気になる技術やライブラリの紹介や勉強したネタの発表などを行う場です

Ruby Sapporo Night勉強会などに参加する前にRuby札幌の雰囲気を感じてもらえるようなRuby札幌の紹介の場です

✓ 次回開催日:調整付けば6月のどこかで• 決まったら公式ページやMLで案内

✓ 時間:19:00 - 20:00

✓ 場所:アップルストア札幌✓ 参加費:無料

ジュンク堂 札幌店Ruby札幌棚コンピュータ書籍コーナーの一部をプロデュースさせていただいています。

COMINGSOON!!!

2009年4月25日(土)@ジュンク堂 札幌店入場料800円(ドリンク付)要予約(残席僅か)電話011-223-1911

または B2Fサービスカウンター

島田浩二 ×

角谷信太郎

「プロダクティブ・プログラマ」刊行記念トークセッション

日本Ruby会議20092009年7月17日(金)~19日(日)

学術総合センター(東京都千代田区)http://rubykaigi.org/2009

COMINGSOON!!!

From Sapporo, with Love for Ruby.

Ruby札幌主宰/運営チーム

島田 浩二snoozer.05@ruby-sapporo.org http://ruby-sapporo.orghttp://iddy.jp/profile/snoozer05/ http://twitter.com/snoozer05

しまだ こうじ

http://ruby-sapporo.org

ご参加お待ちしています

Ruby Sapporo Nightvol.11coming soon