Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do
-
Upload
yoji-shidara -
Category
Technology
-
view
1.537 -
download
1
description
Transcript of Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do
![Page 1: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/1.jpg)
Sinatraで鼻歌まじりのWeb開発
しだら ようじSHIDARA Yohji
日本Rubyの会Ruby札幌
Web development with Sinatrahumming a tune.2009-06-20 OSC2009 北海道札幌市産業振興センター
2009年6月26日金曜日
![Page 2: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/2.jpg)
提供
Ruby札幌From Sapporo, with Love for Ruby.
2009年6月26日金曜日
![Page 3: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/3.jpg)
設樂 洋爾 / SHIDARA Yohji / dara
‣[email protected]‣http://friendfeed.net/dara‣札幌生まれ, 札幌育ち, 札幌大好き‣スープカレー大好き‣Ruby札幌 運営チーム‣RubyKaigi2008 実行委員 / スピーカ‣RubyKaigi2009 実行委員
2009年6月26日金曜日
![Page 4: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/4.jpg)
My Products
soupcurry.info
jpmobile
buzztter.com2009年6月26日金曜日
![Page 5: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/5.jpg)
今日お伝えしたいこと:
2009年6月26日金曜日
![Page 6: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/6.jpg)
Rails時代のサクサクWeb開発に
2009年6月26日金曜日
![Page 7: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/7.jpg)
Sinatra は楽しい
2009年6月26日金曜日
![Page 8: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/8.jpg)
私が感じるPHPの魅力
2009年6月26日金曜日
![Page 9: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/9.jpg)
サクッと書いてサクッとアップロードすると
サクッと動く
2009年6月26日金曜日
![Page 10: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/10.jpg)
RubyでWeb開発といえば
2009年6月26日金曜日
![Page 11: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/11.jpg)
Ruby on Rails
2009年6月26日金曜日
![Page 12: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/12.jpg)
全部入り
2009年6月26日金曜日
![Page 13: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/13.jpg)
「ちょっとしたものを作るには大げさだなぁ」
2009年6月26日金曜日
![Page 14: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/14.jpg)
そこで
2009年6月26日金曜日
![Page 15: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/15.jpg)
Sinatra のご紹介
2009年6月26日金曜日
![Page 16: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/16.jpg)
Getting Started
2009年6月26日金曜日
![Page 17: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/17.jpg)
http://www.sinatrarb.com/intro.html2009年6月26日金曜日
![Page 18: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/18.jpg)
Sinatra is a DSL for quickly creating web-applications in Ruby with minimal effort:
2009年6月26日金曜日
![Page 19: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/19.jpg)
require 'rubygems'require 'sinatra'
get '/' do 'Hello world!'end
myapp.rb:
2009年6月26日金曜日
![Page 20: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/20.jpg)
$ sudo gem install sinatra$ ruby myapp.rb
2009年6月26日金曜日
![Page 21: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/21.jpg)
“with Minimal Effort”
2009年6月26日金曜日
![Page 22: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/22.jpg)
require 'rubygems'require 'sinatra'get '/ja' do 'Konichiwa.'endget '/' do 'Hello world!'end
2009年6月26日金曜日
![Page 23: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/23.jpg)
パラメータも取りたい
2009年6月26日金曜日
![Page 24: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/24.jpg)
require 'rubygems'require 'sinatra'
get '/hello/:name' do "Hello #{params[:name]}!"end
2009年6月26日金曜日
![Page 25: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/25.jpg)
テンプレート
2009年6月26日金曜日
![Page 26: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/26.jpg)
もちろんRailsのようにテンプレートファイルを
用意することもできるけれど
2009年6月26日金曜日
![Page 27: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/27.jpg)
ソースファイルに埋め込むこともできる
2009年6月26日金曜日
![Page 28: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/28.jpg)
get '/' do erb :indexend__END__@@ layout<html><%= yield %></html>@@ index<div title="title">Hello world!</div>
2009年6月26日金曜日
![Page 29: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/29.jpg)
Hamlも使える
http://haml.hamptoncatlin.com2009年6月26日金曜日
![Page 30: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/30.jpg)
get '/' do haml :indexend__END__@@ layout%html = yield@@ index%div.title Hello World!
2009年6月26日金曜日
![Page 31: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/31.jpg)
コード中に埋め込むこともできる
2009年6月26日金曜日
![Page 32: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/32.jpg)
require 'rubygems'require 'sinatra'
get '/' do haml '%div.title Hello World'end
2009年6月26日金曜日
![Page 33: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/33.jpg)
続きは Web で!http://www.sinatrarb.com/
intro.html
2009年6月26日金曜日
![Page 34: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/34.jpg)
http://www.sinatrarb.com/2009年6月26日金曜日
![Page 35: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/35.jpg)
Sinatra is a DSL for quickly creating web-applications in Ruby with minimal effort.
2009年6月26日金曜日
![Page 36: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/36.jpg)
Deploy
2009年6月26日金曜日
![Page 37: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/37.jpg)
PHPは手軽にdeployできるのにRailsときたら職人芸の世界...
2009年6月26日金曜日
![Page 38: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/38.jpg)
WEBrick, Mongrel, Thin, Rack, monit, god, FastCGI, Pound, Lighttpd,Nginx,
Apache, mod_proxy_balancer, ...
2009年6月26日金曜日
![Page 39: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/39.jpg)
2009年6月26日金曜日
![Page 40: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/40.jpg)
救世主現る
2009年6月26日金曜日
![Page 41: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/41.jpg)
Passenger(mod_rails, mod_rack)
2009年6月26日金曜日
![Page 43: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/43.jpg)
海外ホスティングではPassengerをサポートするサービスも増えてきているSite5, DreamHost, ...
2009年6月26日金曜日
![Page 44: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/44.jpg)
Linode や Slicehost などVPSなら自分で簡単にインストールできる
2009年6月26日金曜日
![Page 45: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/45.jpg)
Apacheならば
2009年6月26日金曜日
![Page 46: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/46.jpg)
$ gem install passenger$ passenger-install-apache2-module
2009年6月26日金曜日
![Page 47: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/47.jpg)
Nginxでも
2009年6月26日金曜日
![Page 48: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/48.jpg)
$ gem install passenger$ passenger-install-nginx-module
2009年6月26日金曜日
![Page 49: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/49.jpg)
Passenger でSinatra アプリケーションをdeployすることもできる
2009年6月26日金曜日
![Page 50: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/50.jpg)
一つディレクトリを作ってその中に...
2009年6月26日金曜日
![Page 51: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/51.jpg)
config.ruファイル: require 'app' run Sinatra::Applicationapp.rbファイル: require 'rubygems' require 'sinatra' get '/' do "Hello, world." endpublicディレクトリ: 空でよいtmpディレクトリ: 空でよい
2009年6月26日金曜日
![Page 52: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/52.jpg)
ディレクトリごとアップロードし、中のpublicディレクトリを
DocumentRootとして指定する(ホスティングの管理画面などで)
2009年6月26日金曜日
![Page 53: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/53.jpg)
以上
2009年6月26日金曜日
![Page 54: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/54.jpg)
再起動したいときはtmp/restart.txt
をアップロードする(空でよい)
2009年6月26日金曜日
![Page 55: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/55.jpg)
これは憧れの
2009年6月26日金曜日
![Page 56: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/56.jpg)
サクッと書いてサクッとアップロードすると
サクッと動く
2009年6月26日金曜日
![Page 57: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/57.jpg)
の世界!
2009年6月26日金曜日
![Page 58: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/58.jpg)
まとめ
2009年6月26日金曜日
![Page 59: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/59.jpg)
Rails時代のサクサクWeb開発に
2009年6月26日金曜日
![Page 60: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/60.jpg)
Sinatra + Passengerは楽しい
2009年6月26日金曜日
![Page 61: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/61.jpg)
ぜひ、あなたの道具箱に。
2009年6月26日金曜日
![Page 62: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/62.jpg)
Sinatra + Passenger
2009年6月26日金曜日
![Page 63: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/63.jpg)
提供
Ruby札幌From Sapporo, with Love for Ruby.
2009年6月26日金曜日
![Page 64: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/64.jpg)
各種ご案内
2009年6月26日金曜日
![Page 65: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/65.jpg)
From Sapporo, with Love for Ruby.
Ruby札幌主宰/運営チーム
島田 浩二[email protected] http://ruby-sapporo.orghttp://iddy.jp/profile/snoozer05/ http://twitter.com/snoozer05
しまだ こうじ2009年6月26日金曜日
![Page 66: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/66.jpg)
Ruby 勉強会@札幌
✓ 次回開催日:8月1日(土) 仮• 決まったら公式ページやMLで案内
✓ 時間:未定
✓ 場所:未定✓ 参加費:無料
書籍の読み合わせやコードリーディング、気になる技術やライブラリの紹介や勉強したネタの発表などを行う場です
2009年6月26日金曜日
![Page 67: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/67.jpg)
Ruby Sapporo Night勉強会などに参加する前にRuby札幌の雰囲気を感じてもらえるようなRuby札幌の紹介の場です
✓ 次回開催日:8月21日(金) 仮• 決まったら公式ページやMLで案内
✓ 時間:19:00 - 20:00
✓ 場所:アップルストア札幌✓ 参加費:無料
2009年6月26日金曜日
![Page 68: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/68.jpg)
ジュンク堂 札幌店Ruby札幌棚コンピュータ書籍コーナーの一部をプロデュースさせていただいています。
2009年6月26日金曜日
![Page 69: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/69.jpg)
日本Ruby会議20092009年7月17日(金)~19日(日)
学術総合センター(東京都千代田区)http://rubykaigi.org/2009
2009年6月26日金曜日
![Page 70: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/70.jpg)
日本Ruby会議20092009年7月17日(金)~19日(日)
学術総合センター(東京都千代田区)http://rubykaigi.org/2009
SOLD OUT
2009年6月26日金曜日
![Page 71: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/71.jpg)
ですが...
2009年6月26日金曜日
![Page 74: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/74.jpg)
於大通公園ビアガーデン2009年8月 開催予定
SapporoRuby & Beer Party
COME AND JOIN US!
2009年6月26日金曜日
![Page 75: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/75.jpg)
2009年10月頃 開催予定
02
2009年6月26日金曜日
![Page 76: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/76.jpg)
From Sapporo, with Love for Ruby.
Ruby札幌主宰/運営チーム
島田 浩二[email protected] http://ruby-sapporo.orghttp://iddy.jp/profile/snoozer05/ http://twitter.com/snoozer05
しまだ こうじ
http://ruby-sapporo.org2009年6月26日金曜日
![Page 77: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/77.jpg)
ご参加お待ちしています
2009年6月26日金曜日
![Page 78: Sinatraで鼻歌混じりのWeb開発 @OSC2009-Do](https://reader034.fdocuments.net/reader034/viewer/2022051400/54bd169c4a7959ff308b461a/html5/thumbnails/78.jpg)
提供
Ruby札幌From Sapporo, with Love for Ruby.
2009年6月26日金曜日