1000speakers仙台

50
私とRubyとcgi.rb 藤岡岳之(xibbar) 1000 Speakers in Sendai 22 Nov. 2008

Upload: xibbar

Post on 19-Jan-2015

1.131 views

Category:

Documents


6 download

DESCRIPTION

 

TRANSCRIPT

Page 1: 1000speakers仙台

私とRubyとcgi.rb

藤岡岳之(xibbar)

1000 Speakers in

Sendai22 Nov. 2008

Page 2: 1000speakers仙台

自己紹介

福島市在住秋田県出身福島大学教育学部出身有限会社ラビックス社内では何でも屋もう7年

Page 3: 1000speakers仙台

結論

東北にもRubyコミッタいるよ東京ばかりがITじゃないよ

Page 4: 1000speakers仙台

Rubyの活動

Matz Rubyのコミッタcgi.rbの担当

Rails勉強会@東北現在休止中ですが

日本Rubyの会関係に出没高橋メソッドで有名な!?高橋征義さんが会長高橋さんをリスペクトして、今から高橋メソッドにします高橋メソッドひさしぶりだ

Page 5: 1000speakers仙台

7年前

Page 6: 1000speakers仙台

起業することにした

Page 7: 1000speakers仙台

LinuxとCGIで

Page 8: 1000speakers仙台

ヤフオク

Page 9: 1000speakers仙台

画像のアップロード

Page 10: 1000speakers仙台

ファイルの回収システム

Page 11: 1000speakers仙台

学会論文投稿システム

Page 12: 1000speakers仙台

2002年に作成

Page 13: 1000speakers仙台

もしかしたら日本初かも

Page 14: 1000speakers仙台

当時のウェブアプリ

Page 15: 1000speakers仙台

掲示板やチャットなど

Page 16: 1000speakers仙台

全部perlで出来ている

Page 17: 1000speakers仙台

ソース読んでみる

Page 18: 1000speakers仙台

すぐ嫌いになる

Page 19: 1000speakers仙台

長いし記号ばっかりだ

Page 20: 1000speakers仙台

配列の配列が存在しない

Page 21: 1000speakers仙台

バッドノウハウばっかり

Page 22: 1000speakers仙台

Rubyで作ることにした

Page 23: 1000speakers仙台

Rubyを採用した理由

Page 24: 1000speakers仙台

オブジェクト指向が好き

Page 25: 1000speakers仙台

すぐ実行できる

Page 26: 1000speakers仙台

当時servletはあった

Page 27: 1000speakers仙台

実行するまで20秒orz

Page 28: 1000speakers仙台

もうだめだ

Page 29: 1000speakers仙台

一人親方には無理だ

Page 30: 1000speakers仙台

Rubyとcgi.rbに出会った

Page 31: 1000speakers仙台

コードを即実行できる

Page 32: 1000speakers仙台

cgi.rbとは

Page 33: 1000speakers仙台

CGIのためのライブラリ

Page 34: 1000speakers仙台

cgi=CGI.newcgi[‘name’] # => “xibbar”

cgi.rbのサンプル

フォームからの送信

CGIアプリから受け取ったデータを自動的にパースしてくれる

Page 35: 1000speakers仙台

cgi.rbでウェブアプリ作成

Page 36: 1000speakers仙台

Railsと出会うまでは

Page 37: 1000speakers仙台

Railsと出会った時は泣いた

Page 38: 1000speakers仙台

さすがに泣いてはいないや

Page 39: 1000speakers仙台

ウェブプリはRailsで製作

Page 40: 1000speakers仙台

現在は。

Page 41: 1000speakers仙台

Railsじゃ大げさな時もある

Page 42: 1000speakers仙台

cgi.rbでhello world

require ‘cgi’cgi = CGI.new('html3')cgi.out do cgi.html do ‘hello world’ endend

Page 43: 1000speakers仙台

Railsだと大げさ

例えば、RSS配信をしたいのにわざわざRailsを使うのはちょっと。。。Railsだと、ソースはちょっとで済むけど、設置がめんどくさい

例えば、Railsだとメモリ食い過ぎる共有サーバなのにfastcgiとかmongrelとかってメモリ食い過ぎだよね

高橋メソッドで書くの疲れてきた orz

Page 44: 1000speakers仙台

1.8のcgi.rbメンテナ

まつもとさんが消極的メンテナ実質不在に等しいつーか、テストないしバグもたまに出るし仕様も時代遅れだし特にマルチパートフォームのパースは最悪ノロいんだよ!まあそれでも私は使うのだと、思っていたら、、、

Page 45: 1000speakers仙台

最速でコミッタになった

7月頃にcgi.rbについて議論を始めるIRCも駆使して、cgi.rbを今後なんとかしようよと私が言い始める

8/23に私がcgi.rbのパッチを投稿し始める怒濤のパッチを投稿する

9/6にコミッタになるなんと、パッチを投稿初めてわずか14日真相は、パッチの検証をできる人が少なくて、コミッタになるという話はIRCで出来上がっていた

Page 46: 1000speakers仙台

Rails-2.2で1.9対応

昨日、rails-2.2がリリースされたi18n対応されていると書いてあるRuby-1.9のcgi.rbにしっかり追従しているようだちょっとうれしい気分(Railsはcgi.rbを見捨てなかった。私のやる気↑)

Rails勉強会を再開しよう

Page 47: 1000speakers仙台

Ruby1.9のcgi.rb

1.9のcgi.rbは大分テコ入れをした予想外に苦戦(1.9に入ったm17nのせいだ)でも、cgi.rbにテコ入れした結果、cgi.rbはまだ生きていけそうだつか、ほかのウェブアプリのためのフレームワークはm17n対応しているのだろうか

1.9のcgi.rbはテストが入ったしかも、このテストは1.8のcgi.rbでも動くように作ってある!

tDiaryは少しの(一般的な)修正で動く

Page 48: 1000speakers仙台

コミッタになってから

暇をみつけてはコミットしています世界中で使われているcgi.rbのメンテナだと思うとちょっとうれしい気分名刺にもちゃっかりRuby Committerと入れている

cgi.rb以外ではほとんどバグ報告だけでも、m17n関係のバグはたくさん報告した

Page 49: 1000speakers仙台

まとめ

東北にもRubyコミッタいるよ東京ばかりがITじゃないよ東京よりも給料は少ないけど、自然はたくさんあるし、家賃も安いし、5万円あれば2DKに住めるよねランチも600円で食えるしランチで1000円とか高いよね会社で頼んでいる弁当350円だし

Page 50: 1000speakers仙台

おわり

一緒に東北でITやろうよ