日本Ruby会議2008 2nd day メインセッションAM1

後から書き直すのが面倒なので、講演を聞きながら取ったメモを直接載せておきます。時間帯別にエントリを分けました。

メインセッション 2008/6/22(日) 9:00-12:00

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

C言語によるRuby拡張ライブラリの書き方。速すぎてあまりついていけなかった。

  • Rubyのライブラリを書くには、Rubyソースコードを理解できる必要がある。
    • 一次情報: ruby.h, intern.h, rubyio.h, rubysig.h, version.h, st.h
  • 要求される技術
  • 作ったライブラリの配布
    • setup.rb (青木さん作)、gem, binary (MSI, apt, dmg)
  • デモ: extrails によるgemの作成
  • 何を拡張ライブラリで書くか?
    • ×テキスト処理、ネットワーク処理、ファイル操作
    • ○アドレス操作、割り込み操作、ネイティブAPI呼び出し
  • デモ: GCを可視化

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

  • 業務への活用事例
    • 開発案件に入る割り込みをどう処理するか?
  • 顧客との連絡ツール:Hiki
  • 案件管理ツール (内部用): Redmie
    • all-in-one: issue tracker, repository browser, wik, カレンダー
    • 安定した開発、分かりやすいUI、Webベースの管理、(Railsのサンプルとして)
    • 問題点: 日本語ファイル名がUTF-8である必要がある
  • 伝票管理: BTS影舞 Kagemai
    • 簡単で十分な機能、単純なワークフローに適合
  • イントラアプリ (RSS非対応) 向けRSSフィーダの自作

erbを偲んで(関将俊さん)

  • 代表作は <%=h %>
  • MVC原理主義者 vs. Webアプリ業界に流入した普通の人
  • GUIにおけるview
    • 最初は、コードの中に全部書く
    • 座標とか色とかかくのは面倒、異質なコードが入り込む
    • 部品の記述をコードを外へ → テンプレートと呼ぶ
    • 2つの世界: コードとテンプレート、独立しているが単体では存在できない
  • viewとは
    • テンプレートではなく、View Object
    • 実行環境+テンプレート
    • なぜ使う? → その方が楽だから/分業のためではない
  • ERB way
    • Rubyを文書に埋め込む
    • Rubyアプリの中に埋め込む