RubyKaigi2010 2 日目は、8/28 (土) の開催です。今回は大ホールと中ホールで行なわれる発表紹介です。
Ruby を作っているコミッタが大集合する豪華なセッションです。[ruby-dev:41951] Re: Ruby committers Q&A at RubyKaigi に現在このセッションに参加予定のコミッタ一覧が掲載されてます。
ふだん使っている Ruby を作っている人の顔を知ることができ、また質問を気軽にすることができるというのが、このセッションの見所です。
Ruby を作っている人がたくさんいる状況で質問ができるという、めったにない機会です。とても、楽しみですね。また、シャイな Rubyist のために Web でも質問を受けつけています。
Ruby と RubySpec のコミッタ、Ruby 1.9.2 リリースマネージャ補佐、Ruby テストメンテナである遠藤さんによる発表です。
例えば最悪な Hello, world! を書いてみたを見れば、「芸術的に」読みにくい Ruby プログラムとはどんなものかすぐに理解できるでしょう。他にも、説明だけ聞いても何が何だか分からないような quine リレー等、多彩な引き出しを持つ遠藤さんの超絶技巧プログラミングの世界を垣間見るチャンスです。
遠藤さんご自身による RubyKaigi 2010 発表予告のエントリもあるので、ぜひご一読ください。
西山さんは、Ruby と Ruby リファレンスマニュアル刷新計画のコミッタとして活躍されています。また、るびまの編集者でもあり、標準添付ライブラリ紹介でもおなじみです。今までに書かれた 15 回の連載に目を通してみると、知られていそうで意外と知られていないライブラリや、クラス、メソッドが見つかったりする、おすすめの記事です。
そんな西山さんが、Ruby や Ruby を取り巻く環境に関わっていて、日々どんな活動をしているのか話してくださるそうです。
Ruby リファレンスマニュアル刷新計画の活動報告です。RubyKaigi2007 と RubyKaigi2008 では青木峰郎さんが、RubyKaigi2009 では okkez さんが、Ruby リファレンスマニュアル刷新計画について発表してしています。今回も、前回に引き続き okkez さんの登壇です。
okkez さんといえば、Rubyist Hotlinks の第 24 回にも登場してくれましたね。
Ruby リファレンスマニュアル刷新計画は、Ruby 1.8 系および 1.9 系の完全な日本語ドキュメントを作ることを目標に活動しています。日頃、コーディング中に Ruby リファレンスマニュアル、通称「るりま」を参照する機会は少くないでしょう。リファレンスが充実すればするほど、コーディングもはかどるようになります。発表では、このプロジェクトの今後の予定や困っていることが紹介されるとのことなので、るりまを通じて Ruby に貢献する道が示されることと思います。興味をお持ちの方は、ぜひ!
Ruby のコミッタであり、多数のライブラリを作成されている田中 哲さんによる発表です。
田中 哲さんといえば、最近行なれた札幌 Ruby 会議 02 での「Ruby における 2038 年問題の解決」や、東京 Ruby 会議 03 での「open3 のはなし」の発表が記憶に新しいですね。
Ruby のライブラリ API は Unix からとても大きな影響を受けています。当然、Ruby は Unix より後発ですので Unix の失敗を修正している部分が存在します。それらの事例や今後の修正の予定及び、それらから得られた API 設計について話されるようです。Unix に詳しくなくとも、Ruby という多くのユーザーを持つソフトウェアの API 設計についての話から得られるものはとても大きいでしょう。
昨今の勉強会やカンファレンスではお馴染みのライトニングトーク、RubyKaigi2010 でも開催されます!
ライトニングトークとは、限られた時間のなかで発表者が思いのたけをぶつけ、5 分の制限時間を超えれば強制終了のドラが鳴り即座に次の発表に移るという、まさに雷のようなショートトークの時間です。
今回の発表は以下のようなラインナップです。ここでは、各トークのスピーカーを紹介します。詳しい内容は当日をお楽しみに!
『ThoughtWorks アンソロジー』で知られる ThoughtWorks 社の方のセッションです。 プロジェクトで Ruby を採用した理由やどのようにアーキテクチャを設計したのか、といった少し上流の話を主として、Ruby を使用することでどのように変化に対応し、早くリリースすることができたか、という経験について話してくださるようです。 ThoughtWorks 社がどのような対応を行なってきたのか、とても興味深いですね。
Sinatra は、 MVC における C を主に担当する軽量 Web フレームワークです。 Jiang Wu さん自身の経験を元に Rails ユーザが Sinatra へ移行する際に気になった点などの解説をしてくれます。 また、3 月に 1.0 がリリースされたことによる API の変更点についての解説も合わせて行っていただけるので、モダン Sinatra プログラミングとしての発見もあるかもしれませんね。
なお、日本語での Sinatra 1.0 のリソースとしては gihyo.jp にて連載されている Ruby Freaks Lounge にて Sinatra 1.0 の世界にようこそという回があるので、予習をしておくと良いかもしれませんね。
DataMapper は Ruby で書かれた ORM です。6 月 12 日についにバージョン 1.0 がリリースされました。
Ruby においては、Ruby on Rails の人気の高さから ActiveRecord を使用しているユーザーが多いと思いますが、DataMapper も非常に優れた ORM です。InfoQ に開発者へのインタビューの記事が掲載されています。事前に読んでおくと、発表の内容も掴みやすいでしょう。
Jake Scruggs さんは、コードメトリクス計測ツール群である metric_fu の Lead Developer です。
プロジェクトの成長と共に、いつしかテストの実行に大きな時間が掛かるようになってしまいます。時間の掛るテストはスローテストと呼ばれ、開発のリズムを崩し、テストを実行することを億劫にします。
そこで、10 のプロジェクトを通じて経験した、Ruby におけるスピーディなテストを作成するためのポイントやガイドラインについてを話していただけるようです。 豊富な経験に基づく内容なので、実際にテストを書く際の指標として得るものは大きいでしょう。
テストが多くなるにつれ、テストを自動化して簡単に実行できるようにすることが重要になってきます。
自動化されたユニットテストを行う事は重要ですが、きちんと網羅されていなければ有効ではありません。また、JavaScript を含んだテストの実行やファイルアップロードのテストは、自動化が難しいものです。そのような、やりにくいと感じる部分のテストをどのように行ったかを説明していただけるようです。
どのように問題を解決していったのか、とても興味深いですね。
『Metaprogramming Ruby』の作者である Paolo “Nusco” Perrotta さんのメタプログラミングについての発表です。Paolo さんは、Java の有名な ORM である Hibernate のコミッタの一人でもあります。
『Metaprograming Ruby』 は、現在角征典さんにより翻訳され、ジュンク堂書店 RubyKaigi 店の店頭に列ぶ予定です。また、会場ではサイン会も行なわれる予定です。
メタプログラミングは Ruby の特徴としてよく知られていますが、一方で黒魔術と呼ばれ難しいものと思われています。『Metaprogramming Ruby』翻訳者の角さんによる、Ruby によるメタプログラミングについての簡単なクイズを解いて、予習しておくと良いかもしれませんね。