見出し画像

RubyKaigi 2024 体験記2日目

はじめに

こんにちは、マイベストです!
マイベストでは、mybest BlogKaigi 2024と題して4月15日からエンジニア全員でブログ連載を行ってきました。

昨日のRubyKaigi 2024体験記1日目に引き続き、本日は2日目の体験記を掲載します。

体験記

マイベストでバックエンドエンジニアとして働いていますnaohisaです!
昨年の松本開催のRubyKaigiに引き続き、今年も参加させていただきました。Day2で印象に残ったトークをいくつかご紹介します。

Optimizing Ruby: Building an Always-On Production Profiler

DatadogでRuby Continuous Profilerの開発を行っているIvo Anjoさんによるトークでした。
発表では本番環境で動かすプロファイラの開発をするにあたって考慮すべきことについて、プロファイラの基礎知識とともに解説がありました。
特に興味深かったポイントはDay1のOsyoyuさんの発表でも取り上げられていたサンプリングレートについてです。

適切なサンプリングレートを決定する際には精度とオーバーヘッドのトレードオフを考慮する必要があります。
DatadogのContinuous Profilerにおいてはデフォルトの10ms間隔のサンプリングでさえオーバーヘッドが無視できない場合、プロファイラがサンプリングに費やした時間を計測し、必要に応じてスリープ処理を挟むことでオーバーヘッドを削減する工夫を取り入れているとのことでした。

お昼は国際通りから少し路地に入ったところにあるZooton'sというお店でハンバーガーを食べました!2017年から計5回、食べログのハンバーガー百名店に選出されているようです。
自分はチリチーズバーガーを食べましたが、肉肉しいパティが最高に美味しかったです!

Day1に引き続きまだ回っていなかったブースも回らせてもらいました。
IVRyさんのブースではAIレストラン自動予約の体験をさせてもらいました。実際に体験するとかなりスムーズに応答できて便利そうだなと感じました。

今回参加してみてパーサーやプロファイラについてより興味を持ったのでKaigiEffectとして何か取り組んでみようかなと思いました。


SREエンジニアのマサです。
RubyKaigiへの現地参加は今年で3回目で、Rubyのアップデート内容を直に開発者から解説いただける貴重な機会なので、今年も色々と勉強ができればと思っています。

2日目では主に、パーサー関連の講演を聞いてきました。
印象に残ったのは、やはりRuby3.3で追加されたLramaとPrismの話でした。
去年の発表の時のものが、今回色々と紹介されているイメージです。
以下聞いてみて面白かったセッションについて紹介させていただきます。

Does Ruby Parser dream of highly expressive grammar?

注目はBisonからの置き換えられたLramaの話が面白かったです。 なぜBisonからLramaへの置き換えに至ったかや、改修した機能などを詳しく知ることができました。 詳しくは、Ruby Parser開発日誌の方にも書かれていますので、今回の講演を見つつ、記事に書かれている内容を参照することでより理解が深まりそうです。

Unlock The Universal Parsers: A New PicoRuby Compiler

組み込みRubyであるPicoRubyのコンパイラでLramaを使ってみた話です。 最初のビルド時には大きなメモリ消費がありましたが、CRubyの実装を解析することで、 大きくメモリの効率を挙げることができたという内容でした。
最近では、IDEやLSPの利用も多くの人が使っていると思われるので、 パーサーの改善により、より便利な文法が作られることもあるかと思います。 3日目もパーサー関連の講演も予定されおり、内容も魅力的なものとなっています。 今後のパーサー開発に注目しておくことで、開発現場にすばやく取り込むことができるかと思いました。


24年3月よりバックエンドエンジニアをしています、KOxYAです!

初めてのRubyKaigiの参加でとても刺激を受けております!これほど多くのRubyを使っているエンジニアの方々とコミュニケーションとれる機会はないので、ドキドキ、ワクワクです。とりあえず既に宿題は課されまして、「英語をもっと頑張ろう」ということですw

ブースのスタンプラリーも始まり、どこも賑わっていました!個人的には、B/43のプロダクトを利用しているので、「いつもお世話になっております!」と直接、エンジニアに感謝を伝える機会ができて嬉しかったです!システムアーキテクチャも公開しており、FinTechの複雑な濃いお話も聞けました!ドリンクも提供しているので行ってみてください!

2階ドリンクカウンターの様子

2日目は型解析やLSP周りのOSS関連のセッションを中心に聞いてきました。どのセッションも興味深く、普段自分が使っているRuboCopの話からRubyで型解析を頑張るOSSの話など視野が広がるものばかりでした。印象に残っているのはTimeeのSoutaro Matsumotoさんがお話された「Embedding it into Ruby code」です。

型解析が盛んになりつつある中で、rubyは動的に型を割り当てるので、型を記述したファイルはrubyコードのファイルとは別で管理します。rubyコードだけ触った際に、ブラウザでコードレビューをすると、差分のあった箇所のメソッドがどの型の値を返すのかが分からない、といった開発サイクルの視点からもソフトウェア開発に活かしている点が衝撃を受けました。

余談ですが、会場から20分ほど歩いたところに「波の上ビーチ」というこじんまりしたビーチがありまして、お昼に散歩してきました。水温も丁度よく、運動に丁度良かったです!土日は雨模様のようなのでDay3の息抜きにいかがでしょうか?

沖縄の海

おわりに

2日目も最先端を行く方々のレベルの高い発表が目白押しでした。
ついに明日で最終日となりますが、最後まで楽しみたいと思います。