鉄は熱いうちに叩けって言うので帰宅してすぐにレポ書きました(次の日のセッションを聴くと記憶がGCされて忘れる)
自分のツイートを元にした箇条書きまとめです
CRuby Committers Who's Who in 2014
- CRubyコミッタ紹介
- SVNのアカウント数は85
- ボット含む
- 去年の6月以降コミットしてるのはうち50人
- RubyKaigi3日間で発表するのは15人
- 発表順に紹介
- Rails5はSymbol GCを使いたいためにRuby 2.2以降のみサポートになるらしい
- Matzは肩書コレクターでスライド1枚に収まりきらないくらい
CRuby Committers Who's Who in 2014
※プリキュアも10周年です #rubykaigi
— キュアこぼにゃっm (@shincbl) 2014, 9月 18
- クオリティを高める
- 信頼性
- 速く動く
- 消費リソースが少ない
- 古いプログラムで動くこと
- 拡張性
- それぞれにトレードオフがある
- 例)パフォーマンス ⇔ 信頼性、少リソース
- エンジニアなのでトレードオフに打ち勝つ方法を考えるのが大事
- rubyのテストフレームワークはrubyで書いているのでrubyの問題で途中で落ちることがある
- テストでFailが出ても最後までテストが通ってたらそれはそれでよい
- 世代別GCのアルゴリズムは簡単だが、バグ無く作るのが難しい
- ベンチマークの実行時間測るのは簡単だが、定期的に計測したり何を計測するのかが難しい
- ささださんがRubyのコミッタになったのは Rubyソースコード完全解説 がきっかけ
- 10年位前の本だけど今でも通じる
Symbol GC
Ruby2.1まで
Ruby2.2から
Symbolは2種類にわかれるようになる
- Immortal Symbol(今までのSymbol)
- Cの世界のSymbol
- 不死身
- IDを持ってる
- GC対象にならない
- Mortal Symbol
- Mortal SymbolからImmortal Symbolに移行するケースもある
Introduce Oracle enhanced adapter for ActiveRecord, another choice for your Rails database.
activerecord-oracle_enhanced-adapter という3rdパーティのARアダプタのお話 * rails 2.3 〜 4.1まで動いてる * oracleを業務で使ってるとこはエンタープライズの香りがするので、既存のテーブルに合わせる(レガシーな)機能がある * oracleのDATEは秒までもってるので :datetime にマッピングする必要ある * Oracleが他のDBと違って勝ってる点 * oracleはprepared statementが賢い、実行計画をメモリに格納して共有できる * 11gで1つのPSでもbind変数の中身によって1つのクエリに対して複数の実行計画の結果を持つことができる * ARのテストスイートで動かしてもOracleの仕様によるもの以外は全部テストケース通ってる * 弊社でactiverecord-turntable をメンテしているということもあり、railsの内部実装に依存してると修正に追従していくのがつらそうなのはなんとなく分かりました。。。。
Hypermedia: the Missing Element to Building Adaptable Web APIs in Rails
- WEB APIの話だったけど、互換性のある変更(breaking change)と互換性のない変更(nobreaking change)というのはgemのAPI(pubicメソッド)に対しても言えると思う
- gemのメンテしててアップデート時にも極力既存APIの振る舞いを変えないように気にしてる
- 変化に適用できるAPIにするには疎結合重要
感動した流れ
30分のセッション中最初20分くらいRESTの話をしていて
すごい目からウロコの話なんだけどrubyの話を全然してない気がするw #rubykaigi #rubykaigiB
— sue445 (@sue445) 2014, 9月 18
「でRubyどこ」→「gemがあります私が作りました」の神展開に失禁しそう #rubykaigiB
— Hiroyuki Morita (@chiastolite) 2014, 9月 18
この流れに感動したw
"Gem of this Week" - building culture and making gem
"Gem of this Week"
building culture and making gem #rubykaigiB pic.twitter.com/5mFdfa4Ygo
— 暇人最高 (@himajin315) 2014, 9月 18
弊社登壇者によるまとめ
RubyKaigi2014 - Gem of this Week - Togetterまとめ
弊社で実際に行われている「今週のgem」のコーナーを通した社内文化の形成のお話
- ビジネスロジックを共通化しようにもrubygems.orgに公開しづらいので社内gemリポジトリに公開
- https://github.com/geminabox/geminabox を利用
- gemで共通化してコピペを防ぐことで技術的負債をコントロール
- gemを作っただけでは誰にも使ってもらえないので主要エンジニアが集まる週次MTGで共有
- その中の1コーナーが「今週のgem」
- 社内gemリポジトリに公開しやすくするためにdrecom_gemというgemを作成
rake release
をなくすことで、間違って社外に公開されるのを防ぐ
- 社内ツール作成サークルでgemやツールを作ってる*1
- gemicomというgemnasiumクローンを作って、各アプリが使ってるgemのバージョンを可視化
- 最新gem使用率のworstランキングを公開w
どうでもいい補足
ローマ字表記じゃ分かりづらいですが Miura Takumiは漢字だと「三浦 彩」書くので、社内では彩ちゃんと呼ばれています
\あーやちゃーん!/ #rubykaigi #rubykaigiB
— sue445 (@sue445) 2014, 9月 18
\あーやちゃーん!/ #rubykaigi #rubykaigiB
— Takafumi ONAKA (@onk) 2014, 9月 18
@mitaku \あやちゃーん/ #rubykaigiB
— みや (@miyay) 2014, 9月 18
Ruby Committers versus the World
Rubyコミッタへの質問コーナー
PARTY
RubyKajaの表彰がありました!
ruby書き始めて2年弱で #shibuyarb の rubykajaとして表彰されました。ありがとうございます! #rubykaigi
— sue445 (@sue445) 2014, 9月 18
明日からRubyKaigiに行く人へ
コンセントの穴が若干足りないのでタップと延長ケーブルを持って行くべし
#RubyKaugi くる人は電源タップと延長コード持ってくるとみんなで幸せゲットできますよ!(コンセントの穴が若干足りない)
それぞれ100円ショップで買える。200円でみんなが幸せになれるなら安いもの。
Macのアダプタが刺さらないコンセントがたまにあるので勉強会では常備してます
会場が暑すぎたり寒すぎたりするので温度調整できるようにする
初日の感想だとAホールが若干暑かったのでうちわが重宝しました(ノベリティに扇子あったけどなくなってる可能性あるのであまり当てに出来ない)
*1:僕がキャプテンですw