しまもん 

モンスターラボ島根開発拠点のブログ

RubyKaigi2019 レポート #3 Day3セッション編

おく ・2019-04-21

こんにちは、おくです。

今回は RubyKaigi2019 レポート の第3弾、Day3セッション編です。
3日間に渡る RubyKaigi もいよいよ最終日。
それでは早速参りましょう!


Ruby Committers vs the World

Matz & Ruby Commiters

RubyKaigi 3日目は壇上に Rubyコミッタが集う Ruby Commiters vs the World からスタートです!
会場からの質問に答えたあとは、コミッタの公開開発者会議。 新しい Syntax についての議論でどんどん新しい案が書き込まれる様は本当に開発を楽しんでる様子が伝わってきますね。🍣


Cleaning up a huge ruby application

Sangyong Sim

肥大化したアプリのメンテナンスに困っているエンジニアは多い(というかほぼ全員?)と思いますが、 スピーカーの所属する Cookpad では Odaiba Project というプロジェクトで組織で問題に取り組んでいるとのこと。

  • 長期間PVのないコントローラを検出する KitchenCleaner
  • InstructionSequence を記録する iseqLogger
  • カバレッジ測定がアプリを遅くするという課題を解決する OneShotCoverage

など、WEBアプリを開発する身としてとても参考になる実例ばかりでした。


Best practices in web API client development

Go Sueyoshi

多くの APIクライアントを開発し、gem として公開しているスピーカーによる、APIクライアント開発のベストプラクティス紹介でした。

  • API クライアントは RubyGem として実装すべき
  • API クライアントの目的は、(プログラミング言語から) API を簡単に呼べるようにすることである
  • API クライアントの機能は、プログラミング言語と HTTP のパラメータの扱いを変換する程度にシンプルに留めるべき
  • 引数の順番を意識しなくてもよいように、キーワード引数を使いましょう
  • HTTPクライアントの "faraday" gem が有用
    • “faraday_boolean” gem が昨年スピーカーによって公開された
    • “faraday_curl” gem は curl コマンドを出力してくれるのでデバッグに便利
  • Reference : “Refactoring : Ruby Edition”

など、APIクライアント開発の参考となる情報が目白押しでした👀


dRuby Workshop

Masatoshi SEKI

dRuby を 「感じる」、「わかった気になる」 ためのワークショップ。笑
dRuby を使ったのは初めてですが、 Ruby でのプロセス間通信は初めての体験で新鮮でした。
はい、dRuby をしっかり感じました。


Reducing ActiveRecord memory consumption using Apache Arrow

Kenta MURATA

ActiveRecord のメモリ消費を Apache Arrow を利用することで改善するというアプローチ。
Rails エンジニアである身としてとても興味深いですし、切実です。   Red Data Tools プロジェクトによる red-arrow gem が公開されたことにより、Ruby で Apache Arrow を利用する環境が整い、こういったアプローチも取りやすくなったそうです。


The send-pop optimisation

Shyouhei URABE

Ruby を構文解析し実行する際にメソッドを send し、結果を pop するという Ruby がもっとも頻繁に行う処理を最適化し、速度改善に繋げるアプローチの紹介でした。 正直こういった内部処理まで理解が及んでいないところはありますが、地道な処理系の改善により Ruby ユーザが効率的に開発を行えているのだと実感します。


Optimization Techniques Used by the Benchmark Winners

Jeremy Evans

RubyKaigi のクロージングキーノートはスピード狂による、速度改善のための様々な実例紹介。発表時間をフルに使って、驚きの手法が目一杯披露されました。
その全ては github roda などから確認できます。
正直英語であることを差し置いてもかなり難易度が高く、Twitter の実況中継に相当フォローしてもらいました。汗


Closing

3日間に渡る RubyKaigi もついにクロージング。 事前にチーフオーガナイザーである @a_matsuda さんの RubyKaigiとかの話 を読んでいたのですが、まさにコンセプトを具現化したテックカンファレンスだと感じました。
とてもいい刺激と現状に対する焦りを感じましたし(トランキーロ)、一地方都市にも関わらずRubyコミッタやRubyKaigiスピーカーの多くいる松江はエンジニアとして成長するのにとても良い環境だと改めて感じています。

はいその通り、RubyKaigi スピーカーの在籍するしまもんもエンジニアとして成長したいあなたにもってこいの環境です!

ではでは今回はこのあたりで。

| 採用情報

城下町・松江で一旗揚げたいRailsエンジニア絶賛募集中!

Blue