eviry tech & service blog

「株式会社エビリー」の社員ブログです。弊社では、クラウド型動画配信サービス「millvi」、ソーシャル動画データ及び分析サービス「kamui tracker」、YouTube総合メディア「かむなび」を開発・提供しています。https://eviry.com/

RubyKaigi2018参加レポート(2日目)

これは旧eviry tech blogから移行した記事です。

こんにちは。kamui tracker担当のエンジニアのkawashigeです。
1日目に続き2日目の参加レポートです。

1日目、3日目の参加レポートは下記を御覧ください。

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

https://docs.google.com/presentation/d/1-WrYwz-QnSI9yeRZfCCgUno-KOMuggiGHlmOETXZy9c/edit#slide=id.g3ae8351607_1_220

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日目の参加レポートに続きます。