As Sloth As Possible

可能な限りナマケモノでありたい

タグ:RubyKaigi2008

今週いろいろと忙しかったせいで「あとで書くと言ったまま書かないメソッド」が発動してしまって大分出遅れた感があるんだけど、RubyKaigi 2008に行ってきたの続き。

拡張ライブラリの書き方講座(artonさん)

RubyをCで拡張する方法の解説。朝からマニアックなセッションやるなぁ、と思ったら「朝のうちにマニアックなものをやっておく」という運営側の戦略だったらしい。朝一でつくばまでやって来てる人程マニアックな層なので、この戦略は当たりかもしれない。

Rubyの拡張ライブラリは結構簡単に書けるらしい。面白そうなので今度Cの勉強も兼ねて書いてみようかな。ruby拡張を書いてみるテスツ - 大学6年生のhogelogでサンプルがあがってるけど、これはちょっと面白そうだ。

あと個人的に興味深かったのは、artonさんがサンプルプログラムが上手く動かなくてその場でデバッグしはじめたとき。artonさんがあれこれ書き換えてる後ろで流されてるIRCのログに、みんなで「ここをこうすればいいんじゃないか」「arton、うしろうしろー!」などと協力してて面白かった。ペアプロならぬテラプロって誰が言ったんだっけ。

さらに仕事で使うRuby(ごとけんさん)

仕事で使うツールやその運用方法などの紹介。HikiとかRedMineとか。RedMine今回色んなセッションで紹介されてたし、Ruby本体のissue trackingにも使われてるらしい。今度使ってみようかな。

あとなんとオープンソース版Fastladderを紹介していただいた。日曜、月曜とFastladderのダウンロード数が増えてたのは間違いなくごとけんさんのお陰だろうと思う。

でもその後twitterで「Fastladderってでも最近全然開発してないよね。飽きちゃったのかな」とか言われてるのを見て焦った。いやいやいやいや、本当すいません、飽きてないですちゃんとやります。中の人二名(二人ともRubyKaigiに行ってました)が中々手が空かず放置気味になってしまってたのだけど、俺の今季の個人目標にはちゃんと「Fastladderの開発」が入ってますので!Googleグループの方にも反応できてなくて本当に申し訳ないんですが、バグレポートや要望など挙げてもらえたら頑張って対応します。

The future of Ruby in Mac OS X(Laurentさん)

RubyCocoaとMacRubyの紹介をApple社員のLaurent Sansonettiさんから。大変wktkする内容だったんだけど、それにしてもあの盛り上がりようはRubyistのマカー率の高さを示してるのかな。

前半はRubyCocoaの紹介で、後半はRubyCocoaが抱える問題点をMacRubyというアプローチで解決していこうとしている、という話。具体的なところは以前書いた記事をご覧下さい。要は「ブリッジではなくObjective-CでRuby処理系を実装することで、ラッパーを介する際のオーバーヘッドや複雑さを避ける」というのが要旨。当然ながら処理速度が飛躍的に早くなるよってところで歓声が上がってた。

RubyCocoa使いとしては「NSObjectが基底クラス」ってところが一番の目玉に感じたんだけど、Rubyist視点として興味深いのは、なるべく綺麗にObjective-Cのメッセージパッシングを実現するためにキーワード付き引き数を導入してること。MacRubyは今1.9ベースだけど、この機能は1.9にも無い。これが洗練されてくればMRIにも取り入れられるかもしれないってことで今後に期待。

あと、ちなみにMacRubyはiPhoneで動かすことは当分できないそうだ。メモリ管理にRubyのGCではなくObjC 2.0のGCを使っているので、GCサポートが無いiPhoneのランタイム向けにコンパイルできないらしい。これはちょっと残念。

それから質疑応答の光景が中々面白かった。Laurentさんはフランス語が母語?だったようで、込み入った質問になると「日本語で質問→フランス語で通訳→英語で回答→日本語で通訳」とかになってた。マルチリンガル!

Real-World Enterprise Ruby(大場さん、高井さん)

企業向けの開発でRubyを導入するにあたってのノウハウを伊藤忠テクノソリューションズの二人から。内容的には非常に真面目な話な上、二人ともスーツでステージに立ってたにもかかわらず、IRCでは「スーツがコスプレにしか見えなくなってきた」「漫才が始まった」などと盛り上がっていたのでなんだろうと思って行ってみたら、確かに面白いことやってた。なんでそんなことになったのかは高井さん大場さんのキャラクターから推してしるべし。

ちなみに内容はSI業界の人にはかなり参考になったんじゃないかと思う。yuguiさんの「わかっとらんやつは黙ってろ」とは対照的な、上司や顧客にRuby導入を承認させる方法とその効用についてがよくわかるセッションだった。

最後に

仕事柄大変Perl充な日々を送っているのだけど、久々に2日間丸々Rubyまみれな時間を過させてもらって本当に楽しかった。RubyKaigiスタッフの方々、スピーカーの方々、会場でご一緒させてもらった方々に心からの感謝を。

それから車を出してくれたsotarok、家に泊めてくれたdaftbeats、俺が頼まれてたyuguiさんのサイン入り初めてのRubyを代わりに確保してくれたfrom_kyushu、本当に助かりました。ありがとう!ハチロク世代++。

追記

あと俺何気にRubyConfのTシャツやらJRubyのTシャツやらを着てた。初めてのRuby片手にPHPTシャツを着たsotarokと、Sunと何の繋りもないのにJRubyTシャツを着てた俺が連れだって歩いてる光景は中々妙な感じだったんだけど誰にもつっこまれなかったのは、ツッコミ待ちなのがバレてたんだろうか。

表題通り、RubyKaigiに行ってきました。大変に楽しかったし会場中にRuby愛が満ちていて充実した二日間だった。全体のレポートは既にそこかしこであがってると思うし、動画もUPされてるようなのでそちらを観てもらうとして、興味深かったセッションや出来事をいくつか。

基調講演(まつもとさん)

Rubyは梁山泊になりつつあるんじゃないか、という趣旨の話。が、それよりも印象に残ったのは「Rubyをキメるとキモチいい」。ええ。キモチいいですね。うふふ。

Ruby M17N(成瀬ゆいさん、Martin J. Dürstさん)

Ruby1.9からは多言語対応のため文字列の扱いが大きく変わっている。唯一の内部エンコーディングを持たず、内部で変換をかけたりもしない、Stringオブジェクト自体がエンコーディングを持つ、とか。話には聞いてたけど1.9はまだあんまり弄れてないので興味深かった。

個人的には「内部エンコーディングを持たずソースコードやStringオブジェクトの単位でエンコーディングが決まってしまうとなると、例えば日本語を処理するライブラリなどを書くときに上手く実装するのが大変になるのではないか」っていう話が気になった。多分、受けとった文字列のエンコーディングを記憶しておいて一旦変換し、処理が終わったら最初のエンコーディングに戻して返す、とか、マルチバイトの文字列を返すメソッドはオプションでエンコーディングを取る、みたいなのが基本になると思うけど、若干前より泥臭くなってる印象もなきにしもあらず。

RSpecによるRailsアプリケーションBDD事例報告(yuguiさん)

最初サブセッションの方にいたんだけど、なんかメインの方で俺のID(faultier)が連呼されててびっくりして行ったら、案の定以前一緒に仕事してた会社での事例だった。うひー。妙な汗かいた。

で、肝心のBDDですが、これは確かに実績を上げてました。RSpecとSeleniumを使うようになって格段にバグも減ったし、「何をやってるか知りたければまずSpecを見ろ」っていう習慣も自然に浸透したし、LLに不慣れなベテランプログラマや新人プログラマを含む混成部隊でもペアプロのお陰で開発速度を維持できたし全体の技術水準も上がりました。

あと余談だけど、「Specのないコードを書くときは上長に申請書を提出させる」とか「ペアプロ時にはナビゲータはピコピコハンマー装備」とか、今回の名言「わかんないやつは黙ってろ」とか、本当にやっちゃう人ですからねyuguiさんは。実際に。そこに痺れる憧れる。

Rubyで快適に連投する11の方法(ujihisa)

ujihisaの集客力は異常。

1日目終了後

ハチロク世代+α、つくばクラスタ、懇親会難民だったTAKESAKOさん、が合流して会場付近の魚民でYet Another 懇親会。幹事を努めてくれたdaftbeats、はるばる九州からきてくれたfrom_kyushu、お疲れ様!

楽しく飲んだ後はdaftbeats家におじゃまさせてもらった。hacktour組に対抗して夜通しRubyプログラミング、の予定だったけどIRCボットと戯れてるうちに夜が更けてた。何してんだ俺。

続きはあとで

長くなりそうなので2日目のことは後でまた書きます。

↑このページのトップヘ