«前の日記(2006-06-09 (金)) 最新 次の日記(2006-06-11 (日))»  

まちゅダイアリー


2006-06-10 (土)

日本 Ruby カンファレンス 2006

1日目。 朝はどうしても外せない授業があったので、会場に着いたのは11時半。 そういえば事前登録をしていなかったことを思い出す。 まつもとさんの基調講演は半分くらい聞けるかな…と思っていたら、着席したところでちょうど質問コーナーに入ったところだった。

質問者
Perl と Ruby どっちがモテますか?
まつもとさん
彼女にパールとルビーのどっちが欲しいか聞いてみてください。

会場から大きな拍手。午前中はこれで終了。 まつもとさんは想像よりも格好良かった(失礼!)。

お昼

ヴィーナスフォートまで歩き、RubyCafeにて昼食をとる。

「RUBY CAFE」のご紹介

RUBYはワイン色の宝石。ワインは宝石のように貴重なもの… RUBY CAFEでは開栓後もワインの風味を守るため、特別なサーバーを用いて、24種のワインをグラスでご用意しています。

第二部: パネル企画「Ruby 2.0」

午後の最初は Ruby 2.0 についてのパネルディスカッション。

  • 「Ruby 2.0 は燃料。我々は走り続けなければいけない」という言葉が印象的。
  • 「○○ 2.0 は燃料」って他にも使えるかも。
  • キーワード変数は 2.0 に入らない。
  • 遅くても 2007 年のクリスマスには 1.9.1 (安定版) を出したい。

会場からの「既存の JavaVM などを使わずに YARV を 1 から実装した理由は」という質問に対して、ささださんが「既存の拡張ライブラリ (C) をそのまま使えるようにするため」と回答。なるほど。

「Rubyize による言語境界の越え方」 (arton さん)

  • arton さんより Rubyize (ルビライズ) の紹介。 Office のイルカを華麗に操っていた。

「使いやすいライブラリ API デザイン」(田中 哲さん)

  • 怠惰的設計。規格をそのままラップするのではなく、ユーザ (プログラマ) の望みを推測したインタフェースを用意すること。
  • 「対象領域」、「メタファ(例え)」、「常識」、「一貫性」が大切。
  • ふと「WEBrickとMongrel、SGMLとXML」の話を思い出した。

この単純さと複雑さの間の往復は、いくつもの領域で何度も見かける。特にそれを総称して良い悪いを言うことはできないし、そのつもりもない。しかし、複雑なものを単純化することの良さを主張される場合は、その結果失なったものは何かを理解しておかなければならないということである。

「Ruby プログラミング + モデリングでより楽しくなろう - その1」(石塚さん)

Ruby とモデリングの話。

  • デザインパターンのクラスライブラリ化。課題はインタフェースの統一と、 Ruby らしさを活かすこと。
  • 確かに Rails の ActiveRecord を使うときも、事前にクラス図みたいなものを描かないと訳が分からなくなると思った。
  • UML は Ruby よりモテる。

その2もいつか聞けるかな…。

「セキュアアプリケーションプログラミング」(なひさん)

  • Ruby/OpenSSL の紹介。RSA, DSA, AES, HMAC, SSL について、サンプルプログラムを交えて。
  • C の OpenSSL ライブラリはバイト配列を扱う関数群なので、使い方が難しい。 Ruby/OpenSSL は綺麗にマッピングしているのでより安全。これは他言語にない強みなので、上手に活用して欲しいとのこと。

「仕事で使うRuby」 (後藤謙太郎さん)

Wiki (Hiki, RWiki) とチケットシステム (影舞) の仕事への活用方法について。

  • 会社で使う場合は、デザインをカスタマイズしてコーポレートロゴを入れるといい。そのまま印刷して使えるから。なるほど。
  • Wiki には決まりごと(ルール、手順書)や議事録を書く。
  • チケットシステムはワークフローの管理に使う。デザインのカスタマイズ必須。別の影舞に間違ってデータを入れてしまうから。
  • Ruby アプリの知名度が低い (アプリよりライブラリのほうが多い!) 。商用 OS に入っている Ruby のバージョンが古い。

「Railsによるメタプログラミング入門」(前田修吾さん)

最後は前田さんによるメタプログラミングのお話。

  • 普通のプログラミング: 「プログラム → データ」。メタプログラミング: 「プログラム → プログラム」。この図のおかげで理解できた。Cのマクロもメタプログラミングの一種。
  • Rails では find を拡張しているので、 Enumerable の find が使えない。

その他感想

会場は思ったより広かった。 それ以上に、会場の導線や、休憩コーナーの飲み物など、会場の準備&運営がしっかりしていると感じた。 スタッフの皆様に感謝です。

明日の午前中は「tDiary」「dRuby」「Amrita2」の三本立てで、午後は Rails の話。どちらも豪華&楽しみ。

Tags: Ruby Life