本日はRubyKaigiの日です。ゆりかもめに揺られて船の博物館駅に行ってきました。
午前中は別件で行けなかったので、以下のセッションに参加しました。
- [EN] 'Identical Production, Staging and Development Environments Using Chef, AWS
- [EN][JA] 'Inside RubyMotion' - Laurent Sansonetti, Shizuo Fujita
- [JA] 'Two Legal Bodies about Ruby and its projects' - Ruby Association & Ruby-no-Kai
- [JA] 'Toward efficient Ruby 2.1' - Koichi Sasada
- [EN] '`bundle install` Y U SO SLOW: Server Edition' - Terence Lee
- [JA] 'Refining refinements' - Shugo Maeda
- [JA] 'Ruby Kaja 2013 / Community Appeal' - Takeshi Yabe / @tyabe, Toshiaki Koshiba / @bash0C7
個人的に面白かったおすすめは、RubyMotionとGCのセッションです。
RubyMotionは、中の人がアーキテクチャの解説、動作デモ、Hello WorldがRuby→AST→LLVM IR→アセンブラになっていくコードの流れなどを紹介。
TitaniumとかPhoneGapみたいな原理的に劣化版しか作れないものと違って、プラットフォームの機能・性能を100%引き出せるので、そりゃ期待しますよね。
みんなの大好きなRubyで、あの醜いおぶじぇくてぃぶなんとかに触れずに、iOSやMacのアプリが書けるんだから!
Ruby 2.1セッションは、ほぼすべてGCのお話でした。GCでないところも、Cエクステンションに関する話で、基本的にRuby言語は出てこない。
RubyはCエクステンションが非常に書きやすい(ルールがシンプルで、「おまじない」が少ない)のですが、それによってなぜ世代別GCの実装が難しくなるか、それをどういうアイデアで解決するかといった部分について、細かい解説が聞けました。明日のnariさんのセッションも楽しみです。
残念ながら参加できなかった人も、公式ページにリンク張ってあるUstでほぼ全部見られるので、是非早めに見ておくと良いと思います。
失敗した点
以下の点失敗しました。明日は気をつける。3つめはちょっと明日までに対策は難しそうですが...
- 到着がちょうどLUNCH BREAK終了間際で、herokuさんのお弁当をもらい損ねた
- SCHEDULE読み間違えてセッション1つ聞き逃した
- 英語力orz