第 3 日目の発表紹介

RubyKaigi2011 第 3 日目は、7/18 (月) の開催です。今回は大ホールと小ホールで行なわれる発表 (LT を除く) 紹介です。

大ホール

一般社団法人日本 Ruby の会と関連プロジェクト報告 (るびま、るりま)

スピーカー
高橋 征義
時間
9:50〜10:50

一般社団法人として法人化予定の、日本 Ruby の会から法人化のお知らせや法人化への経緯、そして今までの活動結果についての報告になります。日本 Ruby の会の法人化にあたって、今後どうするか話しあう会が今年の 2 月に行なわれていました。そこから、どのような進展があったでしょうか。

また、関連プロジェクトとして、るびまるりまの活動報告も行われます。

普段からお世話になっている舞台の裏はどうなっているのでしょうか。目を離せないセッションになりそうですね。

All About RubyKaigi Ecosystem

スピーカー
島田 浩二、こしば としあき、角谷 信太郎
時間
11:00〜12:00

RubyKaigi がどのような生態系を持つことで、Ruby の成長を共有し、Rubyist たちの出会いを生み出し、育む「場」として歩んできたのか。今回の RubyKaigi のテーマ、「最後の RubyKaigi」という言葉に込められた決意についても話していただけるのではないでしょうか。

Ruby 遺産とレガシーコード修理技術

スピーカー
柴田 博志
時間
13:30〜14:30

Ruby で実装された Web 日記システムの tDiary のコミッターである柴田さんによるお話です。柴田さんは日本の Ruby の特徴として Rails より前に実装された古い Ruby アプリケーション、「Ruby 遺産」が存在することをあげます。柴田さんが開発に関わっている tDiary もそのひとつで、2011 年でちょうど 10 周年を迎えました。柴田さんは Ruby 遺産をメンテナンスし続けていくためには様々な手法が必要だと言います。

今回の発表では tDiary の開発で得られた経験をもとに、それらの手法について掘り下げて紹介されるそうです。10 年存在し続けている tDiary をどう開発してきたのか、非常に興味深いセッションになりそうです。

テスティングフレームワークの作り方

スピーカー
須藤 功平
時間
13:30〜14:30

株式会社クリアコード代表取締役の須藤 功平さんによる発表です。須藤さんは test-unit 2 の開発者でもあります。test-unit は Ruby 1.8 に標準添付されていましたが、1.9 では minitest が標準添付となりました。test-unit 2 はその test-unit の後継として須藤さんが開発されているテスティングフレームワークです。

今回の発表では test-unit 2 や minitest、RSpec などのポリシーの違いや、テスティングフレームワークを作る時にどのようなポリシーで作られるべきかについて話をされるそうです。テスティングフレームワークもライブラリの一種である以上、使う人を意識した工夫が凝らされているはずです。テスティングフレームワークを作る機会はなくとも、ライブラリの設計の話のひとつとして非常に参考となる発表になるのではないでしょうか。

Ruby を持て、世界に出よう!

スピーカー
浅里 洋嗣
時間
14:40〜15:40

JRuby では BanzaiMan というハンドルでコミッタとして活躍されており、日本語 JRUBY にて JRuby 公式ブログの翻訳をされている浅里 洋嗣さんの発表です。

浅里さんは、Engine Yard にて JRuby のサポートエンジニアをやられております。今回、浅里さんが御自身の経験より、日本人が国外で働くときに気をつけるべき点について発表されます。

今年の RubyKaigi にも、たくさん海外から参加する方がいます。RubyKaigi で、海外に就職するチャンスを得るということがなくはないかもしれません。そんなときのために、聞いておきたいセッションです。

Ruby の教えてくれたこと

スピーカー
島田 浩二
時間
14:40〜15:40

RubyKaigi2011 の運営委員長である島田浩二さんの発表です。島田さんは、札幌にあるゴールドスポンサーえにしテック代表であり、Ruby札幌を主催されています。るびまの編集でも、おなじみですね。

島田さんは札幌 Ruby 会議 03にて、同名の発表をしています。Ruby を使っているときに感じる良さについて考えることが、島田さんにとっての成長になると考え、どこに良さを感じるのかということについて話されてました。

今回は札幌 Ruby会議 03 の内容を再考され、島田さんなりの言葉で発表していただけるようです。 様々な名言が生まれた札幌 Ruby 会議 03 につづき、素敵な言葉の数々を聞けるのではないでしょうか。

小ホール

parse.y の歩き方

スピーカー
あんどう やすし
時間
9:50〜10:50

昨年、話題となった Google Wave 入門の著者であるあんどうやすしさんの発表です。

Ruby は 1995 年の公開以来、重要なリリースはクリスマスに行われてきたという歴史があります。これを Matz から (そしてコミッタ達から) のクリスマスプレゼントと捉え、「そろそろもらう側から送る側にまわってはどうか」という考えをあんどうさんは RubyKaigi2010 の LT で述べました。そして同 LT では、オリジナルの文法を持った Ruby を各自で作ってプレゼントに送ってはどうかという提案をし、あんどうさんが作ったオレオレ Ruby をいくつか披露しました。

今回の発表ではさらに踏み込んで、オリジナルの文法を持たせるための方法として parse.y に手を入れる方法を紹介されるそうです。結局 2010 年のクリスマスではあんどうさん以外にオリジナルの Ruby をプレゼントとして送った人はいないらしく、今回の発表では賛同者を得られるようにしたいとのこと。そこのあなたも、今年の冬はあんどうさんと一緒にサンタクロースになってみませんか?

Visual Glitch, using Ruby

スピーカー
ucnv
時間
9:50〜10:50

ウェブプログラマーであり映像制作等の活動もされている ucnv さんによる、”Glitch” にまつわる発表です。”Glitch” とは元々音楽方面から来ている言葉で、電子回路の接触不良によって生じる雑音など、意図せずに発せられた音を利用する曲作りのことです。

それが現在では視覚面においても行われており、今回それを題材として、Ruby を使ったグリッチ映像の作り方や原理を説明していただきます。ucnv さんは AviGlitch というライブラリを自作しており、それを使って作られた映像を ucnv さんのサイトで見ることができます。

Ruby を使った映像制作、そしてグリッチというとなかなか珍しい発表かもしれません。この機会に Ruby を通してグリッチという不思議な表現方法に触れてみてはいかがでしょうか。

Finding Black Holes in Ruby with the Small Eigen Collider

スピーカー
Andrew Grimm
時間
11:00〜12:00

Ruby には CRuby をはじめ、RubiniusJRuby などさまざまな Ruby 実装が存在します。発表者である Andrew Grimm さんによると、それらの複数の Ruby 実装間での仕様や実装の違いを見つけるには RubySpec などのユニットテストだけでは十分ではないそうです。

Andrew さんが作成した Small Eigen Collider というライブラリはリフレクションとメタプログラミングを利用してランダムに Ruby のコードを生成し、複数の Ruby 実装でそのコードを実行し、実行結果の違いによって各実装の違いを検出するそうです。Andrew さんはこの Small Eigen Collider を使って複数の実装で SEGV するバグを見つけたそうです。

今回の発表では、Small Eigen Collider を作った理由や Andrew さん自身がどう使っているか話してくれるそうです。テスト手法としてもメタプログラミングの利用例としても非常におもしろいお話が聞けそうです。

3/11 そして Rubyist としてできること

スピーカー
井上 真
時間
11:00〜12:00

RubyKaigi2010 でリアルタイムウェブができるまでというお話を聞かせてくれたロンドン在住の Rubyist 井上真さんの発表です。

2011 年 3 月 11 日に起こった東日本大震災の際に立ち上げられた sinsai.info の翻訳をされている経緯から、sinsai.info の中でどのように Ruby を使われているか、提供されているデータを元にマッシュアップする際にどのような事が必要だったのかをお話してくれるそうです。

また、海外から訪れている参加者へ、現在の日本がどのようになっているか、海外からどのように関わっていけるか、といったお話もして頂けるそうです。どのような想いが語られるのか、とても楽しみですね。

Writing custom DataMapper Adapters

スピーカー
Joshua Moore
時間
13:30〜14:30

台湾で Ruby や Rails で仕事をされている Joshua Moore さんによる、DataMapperAdapter の書き方についての発表です。

DataMapper は Object-relational mapping (ORM) の一つで、ActiveRecord と同様にエンタープライズアプリケーションアーキテクチャパターンで紹介されているパターンの実装です。DataMapper では、データストアに対する基本操作のインターフェースとなる Repository という概念があります。また、Repository とデータストアの間を取り持つ Adaptar というものがあります。今回は、独自の Adapter を作る方法について解説してくれるようです。

ORM といえば、同日に桑田さんによる ORM についての解説セッションがあります。どちらも楽しみなセッションです。

Personal Dilemma: How to work with Ruby in Brazil?

スピーカー
秋田ファビオ誠
時間
13:30〜14:30

akitaonrails の id で活躍されている秋田ファビオ誠さんの発表が、急遽決定しました。秋田さんは、RubyConfBrasil を主催しています。

秋田さんは、2005 年から Rails に注目し、「昼間の仕事で Ruby を使いたい」と思うようになりました。しかし当時ブラジルでは、Ruby を知っている人がほとんどいなかったようです。

この発表では、そのような状況から何如にして、Ruby コミュニティや仕事をブラジルで築くことができたかという話を聞かせてもらえるようです。

分散オブジェクト環境 DeepConnect の新バージョンについて

スピーカー
石塚 圭樹
時間
14:40〜15:40

Ruby の名付け親であり、irb の開発や Rubyist Hotlinks のインタビューもある石塚さんの発表です。 ネットワーク越しやプロセス間でのメッセージのやりとりを行う、分散オブジェクト環境 DeepConnect の新バージョンについてのお話をしてくれます。 GitHub にて、DeepConnect のクラス図が公開されているので、これを眺めてから発表を聞くとより楽しめそうですね。

O/R Mapper を支える技術

スピーカー
桑田 誠
時間
14:40〜15:40

るびまにもたくさん寄稿され、るびまの編集員もされている桑田誠さんによる発表です。実は、るびまに最近付いた、はてブボタンや、tweet ボタン、いいね!ボタンは、桑田さんによるものです。

最近では Rails の ActiveRecord をはじめ、RDBMS を使う場合は O/R Mapper を使うケースが増えてきました。今回の発表では O/R Mapper の基本的な仕組みについて話してくれるそうです。また、既存のほとんどの O/R Mapper は理想的な実装になっているとは言えないそうで、本来望ましいと言えるアーキテクチャについても話されるようです。普段なにげなく使っている O/R Mapper ですが、それを正しく使いこなすためにもぜひ聞いておきたいセッションのひとつです。