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

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

RubyKaigi2008 スペシャル★レポート

RubyKaigi2008 1st day Photoレポート[随時更新]

本日(6月21日)行われている,RubyKaigi2008 1dayのPhotoレポートです。随時,更新予定です。本日は,大ホールの様子をメインにお伝えしていきます。

各セッションの模様は,角田さんにレポートしていただきました。

セッション前の受付の様子

セッション前の様子です。大ホール前で,RubyKaigi2008の受付が行われました。

画像
画像

開会の辞

RubyKaigi2008の1日目は,日本Rubyの会会長の高橋征義さんによる開会の辞から始まりました。昨年のRubyKaigiでのDave Thomas氏の「新参者を迎えよう」という言葉を受け,今回のテーマを「多様性」としました。また,異なる目的や習慣,文化を持つ人を抱擁すべく,Rubyの「多様性は善」というポリシーに基づき,2つの新しい試みを行っています。1つめはビジネス寄りなセッションを集めた0日目の開催,2つめは2つの会場を設けマルチトラックにてセッションを行うことです。

画像

以下の動画は,その模様です。

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

現在の、そしてこれからのRubyVM開発(ささだこういちさん)

ささだこういちさんは,「現在の,そしてこれからのRuby VM開発」というテーマで,Ruby 1.9より採用されたRuby VMについての発表を行いました。

まずは現状のRuby実装とMRI(CRuby)について紹介を行いました。現在のRuby実装はJRuby,Rubinius,IronRuby,MagLev,CRubyと数多くあり,本筋であるMRIは前日の2008年6月20日にリリースされた1.9.0_2が最新です。今年のクリスマス前にはStableである1.9.1のリリースを目指しているとのことです。

次にRuby VMの話に進み,スレッドの並列実行や1つのプロセスで複数のVMが動くMulti VMなど,多くの特徴を紹介しました。

続いて,次々に立ち上がるRuby関連プロジェクトの紹介に移りました。RubyコードからCコードに変換してパフォーマンス向上を目指した「Running Project Compilation」や「High Performance Computing」,3人の学生で進められている,自由にカスタマイズできるRuby処理系「Atomic Ruby」などが紹介されました。

なお,東京大学に笹田研が設けられ,現在学生を募集しており,7/1より願書を受け付けるようです。

画像
画像

JRuby: Ready for Action(Charles Nutterさん)

JRubyのメンテナであり,パフォーマンスに厳しいCharles Nutter氏により(「MRI 1.8より遅かったらバグだ」と定義づけているそうです),JRubyの発表が行われました。

JRubyは2002年にプロジェクトがスタートし,現在バージョンは1.1.2までアップデートしています。間もなく1.1.3がリリースされるとのことです。

JRubyの利用実績として以下を挙げました。

  • NetBeansやEclipseなどのIDE(Rubyのパーサとして)
  • Swing GUI
  • Graphics
  • Webアプリケーション(JRuby on Rails)

SwingはJavaの複雑なAPIとRubyのクロスプラットフォームの問題を克服したと述べ,Rubyのシンプルな記述の利点を活かしirb上でSwingアプリケーションを作るデモを披露しました。また,JRubyによるSwing開発を支援する「Cheri」「Proligacy」「MonkeyBars」などを紹介しました。

Ruby-ProcessingというProcessingのJRubyラッパーを使って音声に反応するパーティクルのデモも披露しました。120行あまりのコードで実現しているのには驚きです。

そしてJRuby on Railsの紹介に移りました。「JavaのWeb開発は設定が多く複雑すぎる」とし,JRuby on Railsの有用性を示しました。また,デプロイ環境について,mongrelと最近登場したPassengerを紹介しました。

JRuby on Railsのデモとして,Glassfishを使ってRailsプロジェクトを作成しデプロイするまでを行いました。warbleコマンド(gem install warblerで利用可能)を実行するだけでWARファイルが作られ,GlassfishのasadminコマンドでWARファイルをデプロイすることができます。この仕組みはRailsだけでなくMerbでも利用できるようです。スライドではWEBrick,Mongrelとの比較をグラフにしていましたが,リクエスト頻度が高くなるについてGlassfishが優勢になっていました。

なお,現在Glashfish gemを開発中で,glassfish_rails <app_name>とするだけでプロジェクト作成からデプロイ,起動までが行えるとのことです。

最後に医療記録管理サービスやOracleユーザのコミュニケーションサイトなど多くのJRuby on Railsの事例を挙げ,JRuby on Railsはちゃんと使えるものであることをアピールしました。

質問にて,Ruby 1.9について聞かれたCharles氏は,自身のマシンに入っているjrubyに引数--1.9を付け,1.9から導入されたfiberライブラリをrequireしてみせ会場を大いに沸かせました。

画像
画像

「Rubiniusの魔法」(Evan Phoenixさん)

Evan氏による新しいRuby処理系「Rubinius」の発表です。Evan氏はEngine Yardという会社でRubiniusの開発を仕事にしています。

RubiniusはRuby VMとは別の新しいバイトコードベースのVMであり,コアライブラリを含むカーネルと,拡張モジュールを実行するための互換性のあるC APIで構成されています。またSmalltalkのVMのアーテクチャをベースにしており,世代別GCを備えています。

仕組みとして,コンパイラはまずRubyコードをto_sexpメソッドにてS式に変換し,そのS式を抽象構文木に変換します。そしてVisitorパターンを用いてバイトコードを生成します。

Rubiniusはプラグインをサポートしており,Evan氏はサンプルコードをベースに解説しました。そしてSmalltalkと同じように実行中のコンテキストを取得するMethodContext,ブロックで必要なデータを格納するためのBlockEnviromnent,インラインメソッドキャッシュの役割を持つSendSiteと,いくつかの重要なクラスをサンプルコードを交え解説しました。

また,Rubiniusは一つのプロセスに複数のVMを持ちVM間でコミュニケーションが可能なMulti VMの機能を持っています。

最後にスレッド実装に関する説明を行い,「ほかにも紹介することがたくさんあり過ぎる」としてひとまずのセッションは終わりました。

セッション中に一度もデモを行わなかったため何からのデモを行うことになり,観客から「JRubyセッションの質問にて挙がったBinding#of_callerを実装してほしい」というリクエストが挙がりました。Evan氏は以下のコードを書いてof_caller.rbというファイルで保存し,rbxコマンドを実行して見事「1」と出力させてみせました。

class Binding
  def self.of_caller
    Binding.setup MethodContext.current.sender.sender
  end
end

def foo
  a = 1
  bar
end

def bar
  b = Binding.of_caller
  eval("p a", b)
end

foo()

質問では,「パフォーマンスは?」(A:よくなっている),「マクロのような機能は実現できる?」(A:Yes),「パーサをいじる仕組みはある?」(A:今RubyでRubyパーサを書いている)など,たくさんのやりとりが行われました。

画像
画像

ジュンク堂書店池袋店の出張販売

本日から,ジュンク堂書店池袋店の出張販売が行われています。販売を担当しているジュンク堂の長田さんは,郵送が間に合わなかった本をがんばって自宅からキャリアで運んできたそうです。

そのおかげで,たくさんのRuby本と,なぜか一部PerlやPythonの本が並んでいます。そして,『初めてのRuby』(オライリー)と『WEB+DB PRESS Vol.45』(技術評論社)は先行発売されています。『WEB+DB PRESS Vol.45』はなんと100冊もあります! 売れ残ったら悲しいので,みなさんぜひ買ってください。

画像

追記: 昼休みの販売だけで,『WEB+DB PRESS Vol.45』は40冊以上売れました! 買って くださってみなさん,ありがとうございました。 Yuguiさんの新著『初めてのRuby』(オライリー)もバカ売れで,サイン会には長蛇の列ができていました。Yuguiさんは『WEB+DB PRESS Vol.45』でもRSpecの記事を書いていますので,tackenさんは『WEB+DB PRESS Vol.45』にもサインをゲット!

画像
画像

さらに追記:2日目には,100冊が完売しました。買ってくださってみなさん,ありがとうございました!!

著者プロフィール

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

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

コメント

コメントの記入

パスサポ

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

ピックアップ

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

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

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

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

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

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

一行クイックアンケート

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

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

その他の連載

読むウェブ ~本とインタラクション

ディスプレイで読む活字とそのインタラクション(interaction:相互作用)について,最新Webを紹介しながら読み解いていく。

いま,見ておきたいウェブサイト

この連載では,国内外の最新のウェブサイトを隔週更新で取り上げ,これら最新サイトの特徴や素晴らしい部分を,さまざまな角度から解説していきます。

Windows phoneアプリケーション開発入門

Windows Marcketplace for Mobileがサービス開始され,作成したアプリケーションを個人でも世界をターゲットに公開できる環境が整ってきました。これを機にWindows phoneアプリケーションの開発をしてみませんか?

ここは知っておくべき!Windows Server 2008技術TIPS

5年ぶりのサーバOSとなったWindows Server 2008が出荷されて早2年。2009年にはR2が出荷され,再び注目を集めています。発売前から実施したトレーニングによって感じた,インフラエンジニアの方々に知っておいていただきたい機能を中心にご紹介します。

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

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

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

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

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

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

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

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

連載一覧

gihyo.jp

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

書籍案内

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

定期刊行物一覧

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