SlideShare uma empresa Scribd logo
1 de 50
Baixar para ler offline
私とRubyとcgi.rb
藤岡岳之(xibbar)
1000
Speakers in
Sendai
22 Nov. 2008
自己紹介
福島市在住
秋田県出身
福島大学教育学部出身
有限会社ラビックス
社内では何でも屋
もう7年
結論
東北にもRubyコミッタいるよ
東京ばかりがITじゃないよ
Rubyの活動
Matz Rubyのコミッタ
cgi.rbの担当
Rails勉強会@東北
現在休止中ですが
日本Rubyの会関係に出没
高橋メソッドで有名な!?高橋征義さんが会長
高橋さんをリスペクトして、今から高橋メソッドにし
ます
高橋メソッドひさしぶりだ
7年前
起業
すること
にした
Linuxと
CGIで
ヤフオク
画像の
アップ
ロード
ファイル
の回収シ
ステム
学会論文
投稿シス
テム
2002年
に作成
もしかし
たら日本
初かも
当時の
ウェブア
プリ
掲示板や
チャット
など
全部perl
で出来て
いる
ソース読
んでみる
すぐ嫌い
になる
長いし記
号ばっか
りだ
配列の配
列が存在
しない
バッドノ
ウハウ
ばっかり
Rubyで
作ること
にした
Rubyを
採用した
理由
オブジェ
クト指向
が好き
すぐ実行
できる
当時
servlet
はあった
実行する
まで20秒
orz
もうだめ
だ
一人親方
には無理
だ
Rubyと
cgi.rbに
出会った
コードを
即実行で
きる
cgi.rbと
は
CGIのた
めのライ
ブラリ
cgi=CGI.new
cgi[‘name’] # => “xibbar”
cgi.rbのサンプル
フォームからの送信
CGIアプリから受け取ったデータを
自動的にパースしてくれる
cgi.rbで
ウェブア
プリ作成
Railsと出
会うまで
は
Railsと出
会った時
は泣いた
さすがに
泣いては
いないや
ウェブプ
リはRails
で製作
現在は。
Railsじゃ
大げさな
時もある
cgi.rbでhello world
require cgi
cgi = CGI.new('html3')
cgi.out do
cgi.html do
hello world
end
end
Railsだと大げさ
例えば、RSS配信をしたいのにわざわざ
Railsを使うのはちょっと。。。
Railsだと、ソースはちょっとで済むけど、設置がめん
どくさい
例えば、Railsだとメモリ食い過ぎる
共有サーバなのにfastcgiとかmongrelとかってメモ
リ食い過ぎだよね
高橋メソッドで書くの疲れてきた orz
1.8のcgi.rbメンテナ
まつもとさんが消極的メンテナ
実質不在に等しい
つーか、テストないし
バグもたまに出るし
仕様も時代遅れだし
特にマルチパートフォームのパースは最悪
ノロいんだよ!
まあそれでも私は使うのだ
と、思っていたら、、、
最速でコミッタになった
7月頃にcgi.rbについて議論を始める
IRCも駆使して、cgi.rbを今後なんとかしようよと私
が言い始める
8/23に私がcgi.rbのパッチを投稿し始める
怒濤のパッチを投稿する
9/6にコミッタになる
なんと、パッチを投稿初めてわずか14日
真相は、パッチの検証をできる人が少なくて、コミッ
タになるという話はIRCで出来上がっていた
Rails-2.2で1.9対応
昨日、rails-2.2がリリースされた
i18n対応されていると書いてある
Ruby-1.9のcgi.rbにしっかり追従している
ようだ
ちょっとうれしい気分(Railsはcgi.rbを見捨てな
かった。私のやる気↑)
Rails勉強会を再開しよう
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は少しの(一般的な)修正で動く
コミッタになってから
暇をみつけてはコミットしています
世界中で使われているcgi.rbのメンテナだと
思うとちょっとうれしい気分
名刺にもちゃっかりRuby Committerと入れている
cgi.rb以外ではほとんどバグ報告だけ
でも、m17n関係のバグはたくさん報告した
まとめ
東北にもRubyコミッタいるよ
東京ばかりがITじゃないよ
東京よりも給料は少ないけど、
自然はたくさんあるし、
家賃も安いし、
5万円あれば2DKに住めるよね
ランチも600円で食えるし
ランチで1000円とか高いよね
会社で頼んでいる弁当350円だし
おわり
一緒に東北でITやろうよ

Mais conteúdo relacionado

Mais procurados

Look at-the-lisper.2017.02.18
Look at-the-lisper.2017.02.18Look at-the-lisper.2017.02.18
Look at-the-lisper.2017.02.18home
 
Ruby札幌2008年の活動に向けて
Ruby札幌2008年の活動に向けてRuby札幌2008年の活動に向けて
Ruby札幌2008年の活動に向けてKoji SHIMADA
 
Tokyurubykaigi05
Tokyurubykaigi05Tokyurubykaigi05
Tokyurubykaigi05yamanekko
 
Came From Ruby No Kai 20090124
Came From Ruby No Kai 20090124Came From Ruby No Kai 20090124
Came From Ruby No Kai 20090124Shintaro Kakutani
 
aozorahackと青空文庫の現状とこれから (OSC 2016 Tokyo/Spring)
aozorahackと青空文庫の現状とこれから (OSC 2016 Tokyo/Spring)aozorahackと青空文庫の現状とこれから (OSC 2016 Tokyo/Spring)
aozorahackと青空文庫の現状とこれから (OSC 2016 Tokyo/Spring)masayoshi takahashi
 
出会い駆動コミュニティー
出会い駆動コミュニティー出会い駆動コミュニティー
出会い駆動コミュニティーyoku0825
 
デブサミ2009コミュニティLT大会:私の出身コミュニティ
デブサミ2009コミュニティLT大会:私の出身コミュニティデブサミ2009コミュニティLT大会:私の出身コミュニティ
デブサミ2009コミュニティLT大会:私の出身コミュニティmasayoshi takahashi
 
コミュニティを持って学んだ交流できる”場”の6つのポイント
コミュニティを持って学んだ交流できる”場”の6つのポイントコミュニティを持って学んだ交流できる”場”の6つのポイント
コミュニティを持って学んだ交流できる”場”の6つのポイントHiroyuki Ishikawa
 
JJUG CCC 2013 Springの懇親会LT
JJUG CCC 2013 Springの懇親会LTJJUG CCC 2013 Springの懇親会LT
JJUG CCC 2013 Springの懇親会LTirof N
 
山口県初のDojo「CoderDojo光」はじめました
山口県初のDojo「CoderDojo光」はじめました山口県初のDojo「CoderDojo光」はじめました
山口県初のDojo「CoderDojo光」はじめましたHiroyuki Ishikawa
 
KOF2017 東海道らぐLT
KOF2017 東海道らぐLTKOF2017 東海道らぐLT
KOF2017 東海道らぐLTMasataka Kondo
 
IT業界における伝統芸能の継承 #hachiojipm
IT業界における伝統芸能の継承 #hachiojipmIT業界における伝統芸能の継承 #hachiojipm
IT業界における伝統芸能の継承 #hachiojipm鉄次 尾形
 
CoderDojo五日市 OSChiroshima2017
CoderDojo五日市 OSChiroshima2017CoderDojo五日市 OSChiroshima2017
CoderDojo五日市 OSChiroshima2017朋紀 髙橋
 
[参考情報]OSC広島のお知らせ
[参考情報]OSC広島のお知らせ[参考情報]OSC広島のお知らせ
[参考情報]OSC広島のお知らせYoshitake Takata
 
YAPC::Asia 2014 LT
YAPC::Asia 2014 LTYAPC::Asia 2014 LT
YAPC::Asia 2014 LTmaka2donzoko
 

Mais procurados (20)

20160716 Gemのお話
20160716 Gemのお話20160716 Gemのお話
20160716 Gemのお話
 
Look at-the-lisper.2017.02.18
Look at-the-lisper.2017.02.18Look at-the-lisper.2017.02.18
Look at-the-lisper.2017.02.18
 
TdX#01 RubyKaigiの作り方
TdX#01 RubyKaigiの作り方TdX#01 RubyKaigiの作り方
TdX#01 RubyKaigiの作り方
 
Ruby札幌2008年の活動に向けて
Ruby札幌2008年の活動に向けてRuby札幌2008年の活動に向けて
Ruby札幌2008年の活動に向けて
 
Tokyurubykaigi05
Tokyurubykaigi05Tokyurubykaigi05
Tokyurubykaigi05
 
Came From Ruby No Kai 20090124
Came From Ruby No Kai 20090124Came From Ruby No Kai 20090124
Came From Ruby No Kai 20090124
 
aozorahackと青空文庫の現状とこれから (OSC 2016 Tokyo/Spring)
aozorahackと青空文庫の現状とこれから (OSC 2016 Tokyo/Spring)aozorahackと青空文庫の現状とこれから (OSC 2016 Tokyo/Spring)
aozorahackと青空文庫の現状とこれから (OSC 2016 Tokyo/Spring)
 
出会い駆動コミュニティー
出会い駆動コミュニティー出会い駆動コミュニティー
出会い駆動コミュニティー
 
aozorahack hackathon #1
aozorahack hackathon #1aozorahack hackathon #1
aozorahack hackathon #1
 
デブサミ2009コミュニティLT大会:私の出身コミュニティ
デブサミ2009コミュニティLT大会:私の出身コミュニティデブサミ2009コミュニティLT大会:私の出身コミュニティ
デブサミ2009コミュニティLT大会:私の出身コミュニティ
 
コミュニティを持って学んだ交流できる”場”の6つのポイント
コミュニティを持って学んだ交流できる”場”の6つのポイントコミュニティを持って学んだ交流できる”場”の6つのポイント
コミュニティを持って学んだ交流できる”場”の6つのポイント
 
JJUG CCC 2013 Springの懇親会LT
JJUG CCC 2013 Springの懇親会LTJJUG CCC 2013 Springの懇親会LT
JJUG CCC 2013 Springの懇親会LT
 
山口県初のDojo「CoderDojo光」はじめました
山口県初のDojo「CoderDojo光」はじめました山口県初のDojo「CoderDojo光」はじめました
山口県初のDojo「CoderDojo光」はじめました
 
Yapc2012ltthon
Yapc2012ltthonYapc2012ltthon
Yapc2012ltthon
 
KOF2017 東海道らぐLT
KOF2017 東海道らぐLTKOF2017 東海道らぐLT
KOF2017 東海道らぐLT
 
IT業界における伝統芸能の継承 #hachiojipm
IT業界における伝統芸能の継承 #hachiojipmIT業界における伝統芸能の継承 #hachiojipm
IT業界における伝統芸能の継承 #hachiojipm
 
CoderDojo五日市 OSChiroshima2017
CoderDojo五日市 OSChiroshima2017CoderDojo五日市 OSChiroshima2017
CoderDojo五日市 OSChiroshima2017
 
RubyKaja 2012
RubyKaja 2012RubyKaja 2012
RubyKaja 2012
 
[参考情報]OSC広島のお知らせ
[参考情報]OSC広島のお知らせ[参考情報]OSC広島のお知らせ
[参考情報]OSC広島のお知らせ
 
YAPC::Asia 2014 LT
YAPC::Asia 2014 LTYAPC::Asia 2014 LT
YAPC::Asia 2014 LT
 

Semelhante a 1000speakers仙台

tDiaryなどのレガシーウェブアプリをRuby1.9で動かす方法
tDiaryなどのレガシーウェブアプリをRuby1.9で動かす方法tDiaryなどのレガシーウェブアプリをRuby1.9で動かす方法
tDiaryなどのレガシーウェブアプリをRuby1.9で動かす方法xibbar
 
いわみくとMeetup第15回
いわみくとMeetup第15回いわみくとMeetup第15回
いわみくとMeetup第15回Satomi Tsujita
 
NativeBaseをはじめとするUIに関する ライブラリを使ったサンプルを作ってみた
NativeBaseをはじめとするUIに関する ライブラリを使ったサンプルを作ってみたNativeBaseをはじめとするUIに関する ライブラリを使ったサンプルを作ってみた
NativeBaseをはじめとするUIに関する ライブラリを使ったサンプルを作ってみたFumiya Sakai
 
一般社団法人日本Rubyの会について
一般社団法人日本Rubyの会について一般社団法人日本Rubyの会について
一般社団法人日本Rubyの会についてmasayoshi takahashi
 
1年かけてgemを1つ作りました
1年かけてgemを1つ作りました1年かけてgemを1つ作りました
1年かけてgemを1つ作りましたIto Kunihiko
 
Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発Koichi Shimozono
 
Rails5とAPIモードについての解説
Rails5とAPIモードについての解説Rails5とAPIモードについての解説
Rails5とAPIモードについての解説Fumiya Sakai
 
Ruby on railsでlinebotを試した記録
Ruby on railsでlinebotを試した記録Ruby on railsでlinebotを試した記録
Ruby on railsでlinebotを試した記録Fumiya Sakai
 
RubySeminar16_Analyze
RubySeminar16_AnalyzeRubySeminar16_Analyze
RubySeminar16_Analyzesady_nitro
 
Rubyと電子出版 (TokyuRubyKaigi02)
Rubyと電子出版 (TokyuRubyKaigi02)Rubyと電子出版 (TokyuRubyKaigi02)
Rubyと電子出版 (TokyuRubyKaigi02)masayoshi takahashi
 
Ruby ビジネス創出展 Ruby初心者向けプログラミングセミナー
Ruby ビジネス創出展 Ruby初心者向けプログラミングセミナーRuby ビジネス創出展 Ruby初心者向けプログラミングセミナー
Ruby ビジネス創出展 Ruby初心者向けプログラミングセミナーTomoya Kawanishi
 
Rubyist started to learn Groovy - things important to leran new LL
Rubyist started to learn Groovy - things important to leran new LLRubyist started to learn Groovy - things important to leran new LL
Rubyist started to learn Groovy - things important to leran new LLUchio Kondo
 
Ruby and I at 神奈川Ruby会議01
Ruby and I at 神奈川Ruby会議01Ruby and I at 神奈川Ruby会議01
Ruby and I at 神奈川Ruby会議01Yutaka Tachibana
 
ライブラリでよくある動きをUIKitのみでDIYしてみる(Part1)
ライブラリでよくある動きをUIKitのみでDIYしてみる(Part1)ライブラリでよくある動きをUIKitのみでDIYしてみる(Part1)
ライブラリでよくある動きをUIKitのみでDIYしてみる(Part1)Fumiya Sakai
 
Railsのデバッグ どうやるかを改めて確認する
Railsのデバッグ どうやるかを改めて確認するRailsのデバッグ どうやるかを改めて確認する
Railsのデバッグ どうやるかを改めて確認する虎の穴 開発室
 
在宅フリーランスで 失敗した話3選
在宅フリーランスで 失敗した話3選在宅フリーランスで 失敗した話3選
在宅フリーランスで 失敗した話3選Tomoe Sawai
 
高トラフィックサイトをRailsで構築するためのTips基礎編
高トラフィックサイトをRailsで構築するためのTips基礎編高トラフィックサイトをRailsで構築するためのTips基礎編
高トラフィックサイトをRailsで構築するためのTips基礎編Kazuya Numata
 
勉強会、コミュニティの初まりと成長 Developers Summit 2017
勉強会、コミュニティの初まりと成長 Developers Summit 2017勉強会、コミュニティの初まりと成長 Developers Summit 2017
勉強会、コミュニティの初まりと成長 Developers Summit 2017Yoshinori Kobayashi
 
K ruby community_plan (2) (2)
K ruby community_plan (2) (2)K ruby community_plan (2) (2)
K ruby community_plan (2) (2)Kosuke Masumitsu
 
K ruby community_plan (2) (2)
K ruby community_plan (2) (2)K ruby community_plan (2) (2)
K ruby community_plan (2) (2)Kosuke Masumitsu
 

Semelhante a 1000speakers仙台 (20)

tDiaryなどのレガシーウェブアプリをRuby1.9で動かす方法
tDiaryなどのレガシーウェブアプリをRuby1.9で動かす方法tDiaryなどのレガシーウェブアプリをRuby1.9で動かす方法
tDiaryなどのレガシーウェブアプリをRuby1.9で動かす方法
 
いわみくとMeetup第15回
いわみくとMeetup第15回いわみくとMeetup第15回
いわみくとMeetup第15回
 
NativeBaseをはじめとするUIに関する ライブラリを使ったサンプルを作ってみた
NativeBaseをはじめとするUIに関する ライブラリを使ったサンプルを作ってみたNativeBaseをはじめとするUIに関する ライブラリを使ったサンプルを作ってみた
NativeBaseをはじめとするUIに関する ライブラリを使ったサンプルを作ってみた
 
一般社団法人日本Rubyの会について
一般社団法人日本Rubyの会について一般社団法人日本Rubyの会について
一般社団法人日本Rubyの会について
 
1年かけてgemを1つ作りました
1年かけてgemを1つ作りました1年かけてgemを1つ作りました
1年かけてgemを1つ作りました
 
Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発
 
Rails5とAPIモードについての解説
Rails5とAPIモードについての解説Rails5とAPIモードについての解説
Rails5とAPIモードについての解説
 
Ruby on railsでlinebotを試した記録
Ruby on railsでlinebotを試した記録Ruby on railsでlinebotを試した記録
Ruby on railsでlinebotを試した記録
 
RubySeminar16_Analyze
RubySeminar16_AnalyzeRubySeminar16_Analyze
RubySeminar16_Analyze
 
Rubyと電子出版 (TokyuRubyKaigi02)
Rubyと電子出版 (TokyuRubyKaigi02)Rubyと電子出版 (TokyuRubyKaigi02)
Rubyと電子出版 (TokyuRubyKaigi02)
 
Ruby ビジネス創出展 Ruby初心者向けプログラミングセミナー
Ruby ビジネス創出展 Ruby初心者向けプログラミングセミナーRuby ビジネス創出展 Ruby初心者向けプログラミングセミナー
Ruby ビジネス創出展 Ruby初心者向けプログラミングセミナー
 
Rubyist started to learn Groovy - things important to leran new LL
Rubyist started to learn Groovy - things important to leran new LLRubyist started to learn Groovy - things important to leran new LL
Rubyist started to learn Groovy - things important to leran new LL
 
Ruby and I at 神奈川Ruby会議01
Ruby and I at 神奈川Ruby会議01Ruby and I at 神奈川Ruby会議01
Ruby and I at 神奈川Ruby会議01
 
ライブラリでよくある動きをUIKitのみでDIYしてみる(Part1)
ライブラリでよくある動きをUIKitのみでDIYしてみる(Part1)ライブラリでよくある動きをUIKitのみでDIYしてみる(Part1)
ライブラリでよくある動きをUIKitのみでDIYしてみる(Part1)
 
Railsのデバッグ どうやるかを改めて確認する
Railsのデバッグ どうやるかを改めて確認するRailsのデバッグ どうやるかを改めて確認する
Railsのデバッグ どうやるかを改めて確認する
 
在宅フリーランスで 失敗した話3選
在宅フリーランスで 失敗した話3選在宅フリーランスで 失敗した話3選
在宅フリーランスで 失敗した話3選
 
高トラフィックサイトをRailsで構築するためのTips基礎編
高トラフィックサイトをRailsで構築するためのTips基礎編高トラフィックサイトをRailsで構築するためのTips基礎編
高トラフィックサイトをRailsで構築するためのTips基礎編
 
勉強会、コミュニティの初まりと成長 Developers Summit 2017
勉強会、コミュニティの初まりと成長 Developers Summit 2017勉強会、コミュニティの初まりと成長 Developers Summit 2017
勉強会、コミュニティの初まりと成長 Developers Summit 2017
 
K ruby community_plan (2) (2)
K ruby community_plan (2) (2)K ruby community_plan (2) (2)
K ruby community_plan (2) (2)
 
K ruby community_plan (2) (2)
K ruby community_plan (2) (2)K ruby community_plan (2) (2)
K ruby community_plan (2) (2)
 

Mais de xibbar

エンジニア志望だったのにRuby社長をしてよかったと思う5つのこと
エンジニア志望だったのにRuby社長をしてよかったと思う5つのことエンジニア志望だったのにRuby社長をしてよかったと思う5つのこと
エンジニア志望だったのにRuby社長をしてよかったと思う5つのことxibbar
 
札幌Ruby会議03のlt
札幌Ruby会議03のlt札幌Ruby会議03のlt
札幌Ruby会議03のltxibbar
 
Fukushima.rb#00
Fukushima.rb#00Fukushima.rb#00
Fukushima.rb#00xibbar
 
仙台Ruby会議02 Pdf
仙台Ruby会議02 Pdf仙台Ruby会議02 Pdf
仙台Ruby会議02 Pdfxibbar
 
地域振興論2009
地域振興論2009地域振興論2009
地域振興論2009xibbar
 
栃木Ruby会議02 Lt途中まで
栃木Ruby会議02 Lt途中まで栃木Ruby会議02 Lt途中まで
栃木Ruby会議02 Lt途中までxibbar
 
More Better Nested Set
More Better Nested SetMore Better Nested Set
More Better Nested Setxibbar
 
Ruby&Active Support for expert 3
Ruby&Active Support for expert 3Ruby&Active Support for expert 3
Ruby&Active Support for expert 3xibbar
 
RubyとActive Support for expert 2
RubyとActive Support for expert 2RubyとActive Support for expert 2
RubyとActive Support for expert 2xibbar
 
Ruby and ActiveSupport for expart
Ruby and ActiveSupport for expartRuby and ActiveSupport for expart
Ruby and ActiveSupport for expartxibbar
 
Tohoku Open Source Conference 2008
Tohoku Open Source Conference 2008Tohoku Open Source Conference 2008
Tohoku Open Source Conference 2008xibbar
 
acts_asを使ってみよう
acts_asを使ってみようacts_asを使ってみよう
acts_asを使ってみようxibbar
 
Rails2 Pr
Rails2 PrRails2 Pr
Rails2 Prxibbar
 

Mais de xibbar (13)

エンジニア志望だったのにRuby社長をしてよかったと思う5つのこと
エンジニア志望だったのにRuby社長をしてよかったと思う5つのことエンジニア志望だったのにRuby社長をしてよかったと思う5つのこと
エンジニア志望だったのにRuby社長をしてよかったと思う5つのこと
 
札幌Ruby会議03のlt
札幌Ruby会議03のlt札幌Ruby会議03のlt
札幌Ruby会議03のlt
 
Fukushima.rb#00
Fukushima.rb#00Fukushima.rb#00
Fukushima.rb#00
 
仙台Ruby会議02 Pdf
仙台Ruby会議02 Pdf仙台Ruby会議02 Pdf
仙台Ruby会議02 Pdf
 
地域振興論2009
地域振興論2009地域振興論2009
地域振興論2009
 
栃木Ruby会議02 Lt途中まで
栃木Ruby会議02 Lt途中まで栃木Ruby会議02 Lt途中まで
栃木Ruby会議02 Lt途中まで
 
More Better Nested Set
More Better Nested SetMore Better Nested Set
More Better Nested Set
 
Ruby&Active Support for expert 3
Ruby&Active Support for expert 3Ruby&Active Support for expert 3
Ruby&Active Support for expert 3
 
RubyとActive Support for expert 2
RubyとActive Support for expert 2RubyとActive Support for expert 2
RubyとActive Support for expert 2
 
Ruby and ActiveSupport for expart
Ruby and ActiveSupport for expartRuby and ActiveSupport for expart
Ruby and ActiveSupport for expart
 
Tohoku Open Source Conference 2008
Tohoku Open Source Conference 2008Tohoku Open Source Conference 2008
Tohoku Open Source Conference 2008
 
acts_asを使ってみよう
acts_asを使ってみようacts_asを使ってみよう
acts_asを使ってみよう
 
Rails2 Pr
Rails2 PrRails2 Pr
Rails2 Pr
 

1000speakers仙台