アクトインディ開発者ブログ

子供とお出かけ情報「いこーよ」を運営する、アクトインディ株式会社の開発者ブログです

RubyKaigi2014 3日目レポート

こんにちは、oishiです。先日、今話題のバブルサッカーに参加したのですが、日ごろの運動不足でちょっと背中にダメージ負ってます。
20日のRubyKaigi最終日の報告をします。

スケジュールはこちらをご覧ください。
http://rubykaigi.org/2014/schedule

以下、私が参加したKaigiについての簡単なまとめです。

Ohayō Rails (おはよう Rails)
・「Railsいいよね」、「ActiveRecordの完成度高すぎ。ActiveRecord脳になっちゃうよね。」
・でも、「Railに乗っ取るだけで開発が少し退屈になっている・・・」との声も。
・「最近話題のSPAをやりたいなら、フロント専門の人が必要だ」→「じゃあ最初からNodeでいいんじゃね?」
・「いや、SPAの時代はきてないんだよ。そもそも来るかな?怪しいじゃん。」
・結論:Railsで決まりだね

Speeding up Rails 4.2
・Aaron氏の日本語能力試験会場となりました。感動するぐらい上手でした。
・「Rails4.2のAdequate RecordはARの速度を2倍にする。」とのこと。詳しくなかったので、以下を参考に学びました。
http://qiita.com/yuku_t/items/bc3728c694ea72bc5478
・Aaron氏が最適化する上で最も大事だと思っていることとは? → 「計測、計測、計測です」。想定ではなく、計測から始めなさい。

Practical meta-programming in Application
・「メタプロを使いすぎるとメタメタになる。でも、Rubyの魅力であるので使いたいという思いがある。」では、メタメタにならないにはどうすればよいか?
Railsメタプログラミングの宝庫で、読みづらいとは分かっていても一度読んでみると良い。多くのことが学べるでしょう。
・結論:メタメタになりたくなければ、基本はRubyOOPで設計、抽象化をする。より柔軟さを求めたい場合にメタプログラミングを持ち込む。
・moro氏の失敗談:「ARっぽくカラムにアクセスする機能を独自で実装したら、ARとは挙動が合ってないと言われた」

Fluentd Hacking Guide (Fluentd ソースコード完全解説)
Vimでコードをトップダウンで解説していく。
・淡々と読んでいき、「なるほどー」という感想でした・・・m(_ )m
・「新しいFluentdはマルチプロセス化されると聞いたが、どうなんでしょう?」→「今日お話したものがインスタンスとして立ち上がることになります。」

The role of ruby in the single page app.
・SPAの問題点として、例えばSPAのみで認証をやるとすると、jsonリクエストがサーバーに大量に送られることになり、とても遅くなる。
・だから、RailsとSPAをうまく融合させていかにUXを上げるかという視点が大事。
・SPAにおいては通信頻度をいかに少なくするかを考えることが大事だし、それが開発する上での魅力でもある。

tending the ruby ecosystem
rubyがこの先生きのこるためのアイディアとは? → gemのメンテナンスをしなければならない。
・gemの数は急速に増えた。そのため、Railsで使われているコアなgemでさえ、サポートが追いついていないときがあったりする。バグがあったり、ドキュメントがなかったりする。
・サポートしたいgemを見つけて欲しい。
・サポートしたいgemを見つけたら、プロジェクトのオーナーにメールする。コツは、サポートする上での短期的な目標、長期的な目標を伝える。
・gemのメンテナーに、積極的になってほしい。

Three Ruby usages - High-level interface, Glue and Embedding - Inside Droonga
全文検索エンジンDroongaのRubyライブラリのRroongaの話
・詳しくはこちら
・Groongaのmrubyについての話があったが、チケットのこちらのSutouさんたちのやりとりを見ていると、経緯が少しわかったりしてとてもおもしろい。

Ruby 2.1 in Production
・最後のキーノート。tmm1氏!英語を聞き取るのに精一杯でした。。。
GitHubは巨大なRailsアプリで、150モデル、200コントローラからなり、パフォーマンスは3,000件のリクエスト/秒である。
GitHubがここまで大きくなるまでには、いくつかの壁があった(tmm1氏がGitHubに加わったのは、rails 2.3, ruby 1.8.7のとき)。
・中でも、使われたstackprofの紹介をしたときには、会場からため息が。
・魔法使いが私の目の前にいました。

所感
このような大きな勉強会は参加したことがありませんでした。
初めて参加してみて、知的好奇心が刺激されることはもちろん、自分のエンジニアとしてのレベル、英語のレベル、知らない人とどうコミュニケーションするかなどを見直せる機会となりました。
平日にも関わらず、このような場への参加を認めていただいた弊社の皆様に感謝ですm(
_)m
なお、こんな素晴らしい弊社では、おでかけ先探しに悩むパパ・ママを助けてくれるエンジニアを募集しています。よろしくおねがいします!