kawaguchiが19日の(自称)レポートをさせていただきます。
Coming soon... [JA] Yukihiro "Matz" Matsumoto
- 過去のRubyConfで何を喋ったかの振り返り
- Ruby3.0ではStatic typing入れるかも。
- 型とダックタイピングは相性が悪く、既存コードを壊してしまうためoptionalにならざる得ない。
- 詳しい => http://hackerslab.aktsk.jp/event/rubykaigi2014-report4
初日のオープニングが始めまる15分くらい前のA部屋の様子です。
Scalable deployments - How we deploy Rails app to 100+ hosts in a minute [JA] Shota Fukumori (sora_h)
- スケーラブルなデプロイの話
- Cookpadのデプロイは、cap2を使っており、1日10回近く実行されている。また、アプリケーションサーバは100+台ほど稼働している。
- デプロイに問題があり、リリースまでに最低10分掛かってる。たまにcap deployでTimeoutが原因で失敗することがある。なので長くて30分程度かかってしまう。
- 対策として、cap3にバージョンあげることを考えた。
- しかし、capタスクのssh周りの効率があがっているとはいえ、アプリケーションサーバが増えた時に同様の問題が起きるだろう。
- またcapタスクが2000行を超えているのでアップグレードが大変。
- そこでデプロイツールを自作することにした。
- ツールは、ゴシッププロトコルを採用し、アプリケーションサーバ間でイベントを伝搬していくため、capistranoで起きているような負荷は掛からない。
- 作ったツール => https://github.com/sorah/mamiya
- 時間のかかる行程はCIで既に実行しており、問題がなければシンボリックリンクを張り替えてリロードでデプロイが終わる感じ。
Resource Control Architecture scripting with mruby for a Web Server Separating Computer Resources Virtually at Each HTTP Request [JA] MATSUMOTO Ryosuke
- Webサーバのリソース制御の話。
- nginxとapacheで使えるmruby製のリソース制御モジュールを開発した。
- プログラマブルに制御ルールを記述できる。
- リクエスト単位でリソースの制御ができる。
- nginxとapacheでほぼ同じシンタックスで書ける。
- Rubyスクリプトをcache有効にした場合このモジュールを追加してもパフォーマンスの劣化はほぼない。
- 導入事例あり。
- https://speakerdeck.com/matsumoto_r/rubykaigi-2014-mod-mruby-ngx-mruby
- http://blog.matsumoto-r.jp/?p=3852
コーヒーなどノベルティがおいているエリアには、スピーカーなどが書いたキャラクターの缶バッチガチャが設置されていました。
Kids, Ruby, Fun!: Introduction of the Smalruby and the Ruby Programming Shounendan [JA] Kouji Takao, Nobuyuki Honda
- ビジュアルプログラミング環境のSmalrubyを開発した話。
- プログラミング教育は、国内外で盛り上がっている
- 中学生に6年間Rubyを教えたけど、英語・キーボードが難しくて、プログラミングが楽しくなる前続かない。
- そこで、ブロックを組み合わせてプログラミングするライブラリを使って、Rubyコードへの相互変換できるSmalrubyを開発した。
- ブロックからコードへステップアップしやすい。
所感
松江市よさそう。