RubyKaigi2018参加レポート

システム事業部の五十島です。 今年も5/31〜6/2に仙台で開催されたRubyKaigi2018に参加してきました。
弊社からは4人参加し、内2名は会社から旅費+チケット代が出ています。*1

会場

今年のRubyKaigiの会場は、仙台国際センターでした。
会場周辺はとても静かですが、ちょっと歩けば町中まで行けるかなり便利な場所です。

f:id:zenet-tech:20180617233411j:plain f:id:zenet-tech:20180617233420j:plain

近くにアイススケートの発祥の地があるため、最寄りの「国際センター駅」にはアイススケートで有名なお二人のパネルが設置されています。

f:id:zenet-tech:20180617233332j:plain

セッション

今回は型の話やRuboCopなどのlint関連の話が多かったような印象です。
他にも、Ruby2.6で入るであろうJITコンパイラの話、スピードアップ系、mrubyなど・・・おなじみの話ももちろんありました。
特に面白かったものをいくつかピックアップしていきます。

Keynote (Mats)

f:id:zenet-tech:20180617233411j:plain

今年の1日目最初のKeynoteセッションはまつもとひろゆきさんでした。*2箴言 Proverbs」というタイトルです。 3つの大きなテーマで話されていました。

1つ目「名は体を表す」命名規則についてです。

  • 「何をしたいのか」がわかるメソッド名がいい! -> yield_self を then に変更しました。
  • kaminariみたいな何をするかわからないgem名はだめだね
  • Googleアビリティが高い名前をつけると良い。一文字もじったような名前とかもいいよね。

2つ目「時は金なり」パフォーマンス改善、簡潔さの話です。

  • Rubyは簡潔にかける。型がないから更にコンパクトにかける
  • Ruby2.6からJITコンパイラが導入され高速化 => パフォーマンス改善
  • 将来的に複数のCronで動かせるように・・・なるかも

3つ目「塞翁が馬」

  • Ruby is Dead:毎年Rubyは死んでいる。そして、毎年復活する
  • モデルが太りすぎる問題

The Method JIT Compiler for Ruby 2.6 (k0kubun)

こちらは3日目のセッションになります。
名言「C is Dead」が飛び出し、クソコラまで作成されたRubyKaigiの(悪い意味で)歴史に残るセッションではなかったのかと思います。
内容はJITコンパイラの最適化手法で、名言がなくても良いセッションでした。
現在公開されているRuby2.6.0-preview2には、並列実行のバグがあるため本番運用では使用しないでくださいとのことでした。 

speakerdeck.com

お弁当

周辺に食事処が少ないためか、お弁当でした。
5種類もあり、どのお弁当も美味しかったです。

f:id:zenet-tech:20180617233717j:plain f:id:zenet-tech:20180617233729j:plain

おわりに

来年度も弊社はRubyKaigiの参加費を出していきたいと考えております。 Rubyには力を入れ始めているので、興味がある方はぜひご応募ください。

*1:自分は自費です

*2:RubyKaigi2017は2日目です