初めて #rubykaigi に参加してきた。苦い思い出の2日目。
さてrubykaigi 2013 2日目のレポート、3日遅れてのエントリー。
初日は英語のセッションで軽く睡眠学習したので、この日はだいぶ英語分かるようになったんじゃないかなって思ったけど、現実はそんなに甘くなかった!
High Performance Rails
http://rubykaigi.org/2013/talk/S76
朝一発目はcookpadの @mirakui さんのセッション。
railsで作られたサービスの代表格cookpadでパフォーマンスに責任を持っている方ということで説得力が違う。
- production.logのCompleted timeよりX-runtimeを指標にすべき。
- route.rbの参照が遅いのでlink_toの使い方によって100倍速度が違う。(URLを直接渡した方が早い)
- active record のオブジェクト作成が遅いのでたくさん作るような処理は避けるべき。
- unicorn は gc.disable
などなど超実践向き。
今passengerで運用してるんだけどcookpadに合わせてunicorn検討しようかな。
独自の道を歩むよりもcookpadのノウハウを最大限利用させていただきたい所存です。
いやいかしcookpadのパフォーマンスに対する意識の高さには驚いた。
Continuous gem dependency updating with Jenkins and Pull Request
http://rubykaigi.org/2013/talk/S72
次も興味深い内容で、利用しているgemをどうやって更新し続けていくかというお話。
gemは日々更新されていき依存関係もあるので更新をついつい放置しがち。ただ放っておいてまとめて更新しようとすると工数やリスクが増すので不利益は明らか。継続的に更新していくことが大事だがどうやるかという内容。
スピーカーの刺身さんは自動化と可視化が重要だということで、jenkinsでbundle outdatedを自動で行い、更新があれば通知するという仕組みを作った。
スルーしがちなメールじゃなく、プログラマーなら放っておけないpull requestで通知するようにしたとのこと。
こういう日常のささいな作業(本当はささいじゃないことが多い)を工夫する姿勢が素晴らしい。見習いたい。
Security is hard, but we can’t go shopping
http://rubykaigi.org/2013/talk/S43
英語のセッション。いやー完膚なきまでの完敗。
http://togetter.com/li/511510?page=2
togetterでまとめてくれているのでこちらを見ながら思い出そうとしてみるもなかなか。
セキュリティの問題が見つかったら一般公開する前に本人(運営者)にまず伝えよう、って言ってたくらいしか記憶にない。
完敗。以上。
Ruby on Your Rails
http://rubykaigi.org/2013/talk/S84
こちらruby新参者の僕でも名前を聞いたことあるレベルの松田さんのセッション。
しかしここでも英語!まじかい!
where.not、where.like、where.not_likeを提案してwhere.notは採用されたとか。
action_argsを提案したりとか、自分でどんどん提案して、自分の使い勝手がいいように働きかけていこう、という内容。だったのかな。
https://github.com/asakusarb/action_args
しかし、英語で発表できるのすごい。
Concurrency in Ruby: In search of inspiration
http://rubykaigi.org/2013/talk/S80
基調講演だけど英語!完敗続きで精神的にもダメージが。。
http://gihyo.jp/news/report/01/rubykaigi2013/0002
gihyoにレポートがあがってる!ありがたい!
こんな話していたみたいだけど、、
英語はもちろんのこと技術的にもハードル高いのう!
続く。。。