RubyKaigi2013に参加してきました。
個人的に面白かったセッション、業務で参考になりそうだと思ったセッションを紹介します。
How to create Ruby
MatzによるKeynote
後半の「言語を設計する事は普段書くプログラムにも必ず良い影響を与える
なぜなら言語はプログラミングの本質だから」という話に惹きつけられました。
Inside RubyMotion
RubyでiPhoneアプリが書ける RubyMotionの内部動作の紹介でした。
Objective-CのクラスとRubyのクラスを同じように扱うための仕組み等が紹介されていて
興味深かったです。
個人的にiPhoneアプリを作る機会があれば購入を検討しようと思います。
High Performance Rails
高速化の為にGCをOFFにしているという発言が特に印象に残ってしまいましたが
その他のパフォーマンスチューニングについてはどの現場でも参考にできる内容だったと思います。
ボトルネックはDBと決めつけがちだけれど、実はActiveRecordの生成が遅い場合が多いであるとか
routingを見直すことで高速化に繋がるという2点はすぐにでも適用できる内容でした。
slide: https://speakerdeck.com/mirakui/high-performance-rails
Concerning `Applications'
Rails4から導入されるConcernを使って FatなModelをスリムにする方法を紹介していました。
実際には以前のバージョンから同様の機能を書くことはできたようなのですが
Railsが正式にConcernという機能として導入した事により今後は使われる機会が増えていくでしょう。
今のうちに予習しておきたいですね。
slide: https://speakerdeck.com/moro/concerning-application
Ruby's GC 2.0
一緒に行ったbabaさんが大絶賛でした。
一般的にクヌースのアルゴリズムと言われている古典的なアルゴリズムからからより高度なアルゴリズムを採用したGCに進化したそうです。
エンタープライズの分野で使われている言語では既に一般的になっているアルゴリズらしいのですが、
それを採用したことでRubyがもっと仕事で使いやすくなっていくのではないでしょうか。
slide: https://www.slideshare.net/authorNari/rubys-gc-20
Rails Gems realize RESTful modeling patterns
個人的には一番興味深かったセッションでした。
有名なGemの RESTfulな設計を参考にすることでRailsのベストプラクティスを適用できるという内容でした。
認証
devise https://github.com/plataformatec/devise
Authlogic https://github.com/binarylogic/authlogic
検索
Ransack https://github.com/ernie/ransack
ウィザード
Wicked https://github.com/schneems/wicked
以上のgemが具体例として紹介されていました
これらは全てリソース設計にRESTfulなパターンを採用しているそうです。
認証のような一見するとCRUDとは関係ないように見えるものでも
session#create(PUT) == login
session#destroy(DELETE) == logout
と表現することでRESTfulに表現できるというのは設計を考える上で参考にできる考え方だと思います。
設計に悩んでしまうことが多いので身につけたい考え方です。
こちらも参考に http://rest-pattern.hatenablog.com/
slide: https://www.slideshare.net/tkawa1/rubykaigi2013-rails-gems-realize-restful-modeling-patterns
これから主流になりそうな技術
Fluentdという名前を会期中に耳にすることが多かったです。
実際に業務で使っているという参加者も多かったですね。
Fluentd について触れているセッションもありました。
Casual Log Collection and Querying with fluent-plugin-riak
Complex Event Processing on Ruby and Fluentd
特に tagomorisさん のComplex Event Processing on Ruby and Fluentd は内容が充実していたのでオススメです。
全体を通して
参加者が500人以上で海外からの参加者も1割以上居たという事で、完全国際カンファレンスという雰囲気でした。
(海外のカンファレンスに参加した事はないので実際の所は分からないのですが。)
趣味のRubyというよりは仕事で使うRubyについて発表するという印象を受けました。
それでもRuby初心者も受け入れてくれる空気は健在だったと思います。
来年以降も開催される可能性が高いようなので、最近Rubyを始めた人は来年の参加を検討してみてください。
ちなみに、今回の参加費は会社が負担してくれました。
来年のRubuKaigiは無料で参加したいという方はこちらも検討してみてください。