これは旧eviry tech blogから移行した記事です。
こんにちは。kamui tracker担当のエンジニアのkawashigeです。
1日目に続き2日目の参加レポートです。
1日目、3日目の参加レポートは下記を御覧ください。
My way with Ruby by Kouhei Sutou @ktou
https://slide.rabbit-shocker.org/authors/kou/rubykaigi-2018/
これまで開発されていたソフトウェアについて紹介されていて量が多く圧巻でした。
もっとコード書かないとなと思ったセッションでした。
Faster Apps, No Memory Thrash: Get Your Memory Config Right by Noah Gibbs @codefolio
Rubyでのメモリを効率的に使うにはどうすればよいかという内容のセッションでした。
また、起動時間を短縮できるような環境変数を設定できるenv_memというgemについても紹介されていました。
GCの設定をあまり確認していなかったので、環境変数を見直すなどして最適な設定にしていきたいです。
Improve Ruby coding style rules and Lint by Koichi ITO @koic
https://speakerdeck.com/koic/improve-ruby-coding-styles-and-lint
RuboCop作者のBatsovさんのセッションと同様にRuboCopについてのセッションでした。
自プロジェクトで発生した問題をルールにして他プロジェクトにも還元するというのはよいですね。
RailsのcopをRailsからRuboCop側に移したら、Railsの人がRuboCopのコミュニティに現れたというのはおもしろいですね。
Scaling Teams using Tests for Productivity and Education by Julian Nadeau @jules2689
https://jnadeau.ca/presentations/rubykaigi2018/
生産性と教育のためにテストを使ってどのようにチームをスケールしていくかについてのセッションでした。
現状の業務に活かせそうな内容で、下記が特に印象に残りました。
認知負荷が高くなるので情報を一度に出すのは良くない -> テストを書く
問題を特定する
- 修正が自動化できるか判断する
問題を検出・教育するためのテストを書く
Just In Time Education(JIT)
- 必要になるまで教えない
- 教える時は下記項目を伝える
- 何が問題か
- なぜ問題なのか
- どう解決するのか
ファイル名の誤りをテストするなどプロジェクトの構造をテストするのは良さそうなので取り入れていきたいですね。
Ruby Programming with Type Checking by Soutaro Matsumoto @soutaro
https://speakerdeck.com/soutaro/ruby-programming-with-type-checking
Rubyの型チェッカーのSteepについてのセッションで、1日目のStripeのSorbetとの比較も含めて説明されていました。
こちらはSorbetとは違って型ファイルを別ファイルで記載する方式とのことです。
Ruby 3で静的解析がどのようになるかはわかりませんが、早く型チェッカーを使えるようになるとうれしいですね。
Type Profiler: An analysis to guess type signatures by Yusuke Endoh @mametter
soutaroさんの発表に続いて型についてのセッションでした。
既存の型システムについての紹介をされていました。
現状はRuby 3では別ファイルでRuby以外の言語で書く形が有力そうとのことです。
型システムについてRubyKaigiでいろいろなセッションを聞いて興味を持ったのでもっと理解を深めていきたいと思いました。
3日目の参加レポートに続きます。