アンケートご協力のお願いgihyo.jpでは,2010年度に向けて豪華プレゼントが当たる読者属性アンケートを実施しております。ご協力ください。

gihyo.jp » NEWS & REPORT » レポート » RubyKaigi2008 スペシャル★レポート » RubyKaigi2008 2nd day Photoレポート[随時更新]

RubyKaigi2008 スペシャル★レポート

RubyKaigi2008 2nd day Photoレポート[随時更新]

本日(6月22日)行われている,RubyKaigi2008 2nd dayのPhotoレポートです。随時,更新予定です。本日もメインセッションを中心にお届けします。

各セッションの模様は,角田さんにレポートしていただきました(角田さんのスケジュールの都合上,大場さん・高井さんのセッションまでのレポートになります)。

2日目のセッションは朝9時という早い時刻から始まりましたが,大ホールには多くの人が集まっていました。

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

2日目の最初のセッションは,田島あきお(arton)さんの「拡張ライブラリの書き方講座」です。

まずは1999年に発売された『オブジェクト指向スクリプト言語Ruby』(アスキー)から引用し,拡張ライブラリの定義を確認しました。

  • CまたはC++言語で記述されていて,Rubyに組み込むことのできるライブラリ
  • 重い処理の本質的な部分を任せる
  • コンパイラ型言語によるプログラムと大差ない実行速度と比較にならない開発効率を両立させることも可能

1から10までの数字を出力する処理を,Rubyのコードと,Ruby APIを使ったCのコードで示し,Cで書かれたコードが余計な処理が入らずいかに速いか,またCで書いても余り速度に大差がない箇所もあることを説明しました。

次に,拡張ライブラリを書くにあたっての情報源として,1995年以降全く更新されていないREADMEや書籍,関連ヘッダファイル,技術などを紹介しました。

そして拡張ライブラリの配布方法を説明した後に,拡張ライブラリの雛形を生成する「extrails」という自作ライブラリのデモを行いました。デモ中,typoにより上手くデモが出来ずに悩んでいる間,後ろのスクリーンに移っているIRCログでtypoの指摘と「うしろうしろー!」といった発言が流れたことは,非常に一体感がある場面でした。

さらに,テキストやネットワーク処理,ファイル操作などはRubyが得意とする処理なのでRubyに任せ,アドレス操作,割り込み処理,ネイティブAPIなどが拡張ライブラリに適していると主張しました。その後,拡張ライブラリの本質にそって作った「HeapShow」という自作ライブラリを使って,メモリのヒープ領域の利用状況を視覚化するデモを行ったところでセッションの持ち時間が終了してしまいました。

画像

このセッションの模様の一部です。

ニコニコ動画:http://www.nicovideo.jp/watch/sm3730488

さらに仕事に使うRuby(後藤 謙太郎(ごとけん)さん)

このセッションでは、発表者の後藤謙太郎(ごとけん)さんが仕事で使っている以下のRubyツールを,それぞれの特徴や利点ともに紹介しました。

  • Hiki:お客様との連絡用のツール
  • Redmine:案件の管理用のツール
  • 影舞:伝票管理のツール

Hikiは,お客様と同じ情報を見ることができIssue Trackingのプラグインが使えることが導入のきっかけになっています。また画面構成をカスタマイズしたりプロジェクト毎に新しいHikiを作成できるよう自動化に取り組んでいるようです。

RedmineはTracと比較して機能の充実さや分かりやすいUI,Railsで書かれたコードが手本になる,などの理由で採用しました。また日本語ファイル名の添付ファイルの扱いでトラブルがあった体験を話しました。

古くからずっと利用している影舞は,カラムソート機能やよく使うリンクなどのカスタマイズをしていることを紹介しました。

そして,グループウェアや社内掲示板など,社内にあるRSS出力に対応していないアプリケーションのフィード管理にmechanize,hpricot,fastladderを利用しているようです。

質問の「Issue Tracking機能がどれもカブっている」には,「お客さんに見せたくないチケットなどがあるため現状はシステムを分けている」と答えていました。

画像

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

dRubyやERBの開発者,関将俊さんの発表です。毎度おなじみ「初版まだ買えます」と,自著『dRubyによる分散・Webプログラミング』(オーム社)の紹介から始まりました。Pragmatic Programmers(達人プログラマー) シリーズより英語バージョンの発売も予定しているようです。

セッションでは主に2007年に行われたオブジェクト倶楽部のライトニングトークでの発表を元に,「MVCのVはテンプレートのことではなくView Objectだ」ということを説明しました。

最後に,ERBがstrscanが無い環境でのテストが抜けていて1.8.7で動作しなかったことの事情について,ERBのパフォーマンスチューニングの試行内容を解説しました。

画像
画像

matzを説得する方法(田中哲さん)

産業技術総合研究所の田中哲さんの発表では,Rubyのこれまでの開発において,取り込まれた提案と受け入れられなかった提案を検証し,どうアプローチすればまつもとさん(matz)に受け入れてもらえるか,について話しました。

当然のことながらバグレポートは通りやすいですが,その際に再現可能な報告やコード,実行例などを示す必要があります。

それ対して,新機能や機能変更はなかなか通らないことが多く,「途中省略されて表示されるスタックトレースを全部表示させたい」という過去にあった提案を例に話を進めて行きます。ちなみにその提案をやり取りした内容はruby-devのメーリングリストで見ることができます。

この提案は2002年から行われており,9回目となった2007年に田中さんによってやっと受け入れられました。そしてそれまでの提案を検証したところ,「設定という概念の導入」「話が大きすぎる」「悪影響が出る可能性が高い」という理由により受け入れられませんでした。これにより受け入れられにくい提案というのは,以下の問題を抱えていると指摘しました。

  • 必要性が納得出来ない
  • なにが問題なのかわからない
  • 本人以外が困っているのか疑わしい
  • 解決策が疑わしい

逆に受け入れられやすい提案は,以下の傾向があることを指摘しました。

  • 必要性が納得出来る
  • 解決策が妥当で副作用が少ない
  • Perlが採用している(matzはPerlが好き)

また,受け入れられる要素として「一貫性」はあまり当てはまらず「多態性」を重視して便利さを重要視した方がよいようです。

そして,名前は非常に重要らしく,機能は問題ないのに名前が決まらないだけが理由で受け入れられないことが,たくさんあったことを例を挙げて紹介しました。

最後に,最近の提案をとりあげました。提案内容は「Time#strftimeに小数点以下を取り出したい」というものです。田中さんの指摘通り,現在この提案は進んでいないようです

この提案の問題として「どういう用途で欲しいのか書いてない」と挙げ,実際に提案者に聞いたところ,「誰か他の人が欲しいって言ってた」という回答だったようで,この提案が通ることは難しいといえると話しました。そして,GNU DateやJava,C#が%Nを使って表せることを調べて,まずは「%Nが適切な用途を見つける」ことが提案採用に近づく道なのではないか,と述べました。

画像
画像

日本Rubyのリファレンスマニュアル2008・初夏(青木峰郎さん)

Rubyのリファレンスマニュアルを刷新作業を行っている,青木峰郎さんの発表です。2006年8月から新リファレンスマニュアルを作成を開始しており,最新の状況は「Rubyリファレンスマニュアル刷新計画」のサイトで参照できます。

今年の5月にsnapshotをリリースしましたが,今月にもupdateした内容をリリースしたいと発言していました。進捗状況として昨年のカバー率が2%だったのに対して,現在は31.2%にまで上がっています。規模が大きいtkとsoapを除けば52%にまで上がり,組み込みライブラリに関してはほぼ100%カバーしているそうです。

続いて,プロジェクトの概要について説明しました。まずはコミット数ランキングを表示し,sheepmanさんがダントツの多さでした。管理システムにはRedmineを利用しており周辺システムの改善を行っているようです。

今後の予定として,1.8.7対応を6月中に行い,組み込みライブラリを100%にし,来年のRuby会議までにはtkとsoapを除いて100%を目指しているようです。Ruby言語仕様やC APIリファレンスに関しては現状誰も行う予定はなく,言語仕様に関しては水面下で交渉を行っている段階のようです。質問された英語バージョンとの整合性についても,今のところは特に考えておらず,別々に進めればいいのではないか,という考えを示していました。

画像
画像

著者プロフィール

角田直行(かくだなおゆき)

普段はお仕事でPHPやJavaを使ってWeb開発をしています。一部でセレブエンジニアとか言われてますが,全然セレブじゃありません。

コメント

コメントの記入

パスサポ

多数の情報処理技術者試験対策書籍の発行実績を誇る技術評論社がお届けする,資格試験合格サイト「めざせ! 情報処理試験 パスサポ」が開設されました。

ピックアップ

サクセスストーリーに続く,快適サーバー運用管理のヒント!

データの増大,煩雑な管理,システムダウン,セキュリティなど,迫りくる課題からシステム管理者の負担を軽くするポイントを解説します。

gihyo.jp インフラエンジニア情報局

ネットワークやITにかかわるあらゆる業種で必要とされるインフラエンジニアに向けた技術情報や心構え,その魅力について多角的に紹介。

テストエンジニア ステーション

いま,ITに関わるあらゆる開発業務で注目されつつあるテスト系エンジニアをターゲットにしたコンテンツサイトを展開します。

一行クイックアンケート

gihyo.jpで取り上げてほしいネタは?

※検索はページ右上の検索ボックスをご利用ください。

その他の連載

キーパーソンが見るWeb業界

本連載はWeb Site Expert/gihyo.jpとの連動企画です。阿部淳也, 長谷川敦士, 森田雄のお三方による,Web業界をテーマにした座談会です。

きたみりゅうじの聞かせて珍プレー

ソフトウェア開発の現場で体験したトホホな失敗,思わずうなる珍プレーをきたみりゅうじ氏が四コママンガで紹介。みなさんからの投稿もお待ちしてます!

ActionScript 3.0で始めるオブジェクト指向スクリプティング

野中文雄氏が,簡単なスクリプトは書いたことがあるという初級者を対象に,ActionScript 3.0の基本からクラス定義までを解説します。

まだ間に合う「ITパスポート」受験対策 原山先生の短期合格塾

この連載では,4月18日のITパスポート試験の受験に向けて,短い期間で効率良く受験対策を行う方法や,確実に得点するための裏ワザなどを伝授していきます。

Ubuntu Weekly Recipe

Ubuntuの強力なデスクトップ機能を活用するための,いろいろなレシピをお届けします。

C/C++プログラマのためのDTrace入門

よくカーネルのチューニングや解析で活用されるDTraceですが,実はユーザプログラムの開発においても非常に有用です。連載ではC/C++プログラマやテストに関わる方向けにDTraceの使い方を解説します。

Blogopolisから学ぶ計算幾何

計算幾何学は,図形に関するアルゴリズムを研究するコンピュータサイエンスの一分野です。本連載では,ビジュアルブログ検索エンジン「Blogopolis」で採用されている計算幾何のアプローチを例に取り上げながら,計算幾何の初歩を実践的に学習します。

検索エンジンはいかにして動くのか?

本連載では, 今や誰もが利用している検索エンジンの中身を,全体の仕組みやデータ構造,アルゴリズムから分散インデックスまで,最近の研究事例も交えて紹介します。

連載一覧

gihyo.jp

  • DEVELOPER STAGE
  • ADMINISTRATOR STAGE
  • WEB+DESIGN STAGE
  • LIFESTYLE STAGE
  • SCIENCE STAGE
  • NEWS & REPORT

書籍案内

  • 新刊書籍
  • 書籍ジャンル一覧
  • 書籍シリーズ一覧
  • 新刊ピックアップ
  • ロングセラー
  • 電脳会議

定期刊行物一覧

  • Software Design
  • WEB+DB PRESS
  • Web Site Expert
  • 組込みプレス