d-haru’s blog

株式会社はてなのdeveloperです

念願のオフライン! RubyKaigi 2023 に参加してきました

最近チームのスクラムマスターをやり始めたid:d-haruです。

それはそれとして、5/12~14は松本で開催しているRubyKaigiに1ユーザーとして参加させていただきました。

結論から書くとめちゃくちゃ刺激になったし、子育て以外で疲労困憊になって爆睡するという経験も含めて久しぶりに子供のように楽しませていただきました~

わたしとRubyKaigi

いわゆるWebアプリケーションエンジニアとして働き始めたのは2019年で, その年に子供を授かり, 同時にコロナも来てしまいオフラインのイベントとは全く無縁のエンジニア生活を送っていました。

そんな中、少し時間もとれるようになりなんとかオンラインでもいいから参加してみたいと思い昨年のRubyKaigi2022 に参加させていただいたのが初でした。

いざ松本へ

朝イチですがなんとか初回のセッションに参加したかったので6時頃にそっと家を出て最寄りのJR中央線から特急信濃でまっすぐ松本を目指して到着しました。

なかなかに気持ちも高ぶっている様子です。

松本市民芸術会館の外観
松本市民芸術会館の外観

一部セッション感想

How resolve Gem dependencies in your code?

www.slideshare.net

https://twitter.com/hsbt

Gemの依存関係をどう解決しているのか, というないようでした。

バージョン管理ツールなんて便利に使わせてもらうことはあってもその内部実装については正直気にしたことなかったので知らないことばかりでした。

ただ、結構概要レベルの話からモデリングまでお話していただけたので非常に勉強になりました。

特にRuby Gemsが遅い原因などをRuby GemsとBundlerの内部実装の違いからきていること。requireやwarnの拡張していることなどはへぇ〜となりました。

また、めちゃくちゃニッチですがローカルに存在するgemがインストールできないという原因を愚直にデバッグして直した話など、バグの再現から修正の話はすごいと思いつつも、同時にめちゃくちゃ泥臭い対応もやってくれていて親近感(?)を感じました。

The Resurrection of the Fast Parallel Test Runner

speakerdeck.com

高速な並列テストを復活?させるという内容でした。

「1日は86400秒しかないのにCIで何10分も待てないよね」 「まずは現場的には金を出してとにかく高速に回せるようにするのがいい」 などなど、プロダクトに関わるエンジニア的にはめちゃくちゃわかる!!!と思わせるキャッチーなワードチョイスが印象的でした。

Rails6以降は並列テストの機構があるそう。minitestは標準ということもあってかちゃんとできていてプロセスを並列実行できるらしいです。

Rspecではシンプルに事前に分割して並列テストをしている感じのようです。これの問題として1番遅いworkerに終了時間が依存するというのはどこかで聞いたな...なんて思っていました

他にもOSSのメンテナンスの話もかなり大変そうながら、その場で特定バージョンのサポート切ることのコンセンサスをとるというムーブをしていて大規模OSSのメンテナーに必要な振る舞いを感じました。すごい。

koicさんにはDay2の2日目になんと直接紹介してもらって少しだけ会話させていただけて感激でしたが緊張MAXで何も質問とかできなくてごめんなさい。。。

感想はここに書きます、Rubyメソッドかるたもらえて嬉しかったです!

Gradual typing for Ruby: comparing RBS and RBI/Sorbet

ShopifyのAlexandre Terrasaさんの発表でRBSRBI/Sorbetの比較についての話でした。個人的に別言語で型を書く体験も増えてきていたこともあり、かなり面白かったです。

Rubyの型の歴史からRBSRBIの比較をしていました。特にSteepの型解析が大規模なコードベースだと非常に遅いという課題があり、それをSorbetで.rbiに変換して解決しているという話のようでした。

資料がシュッと見つからなかったですが、かなりわかりやすかったです。英語全然聞き取れないタイプなんですがシンプルなスライドで前知識がそこまでない自分でもそこそこわかった気になれる講演でした。

この発表とは別ですが、Rubyで型付けが進んでいる一方で型定義に仕方については参加者の中でもいろいろな派閥がいるのもRubyならではの悩みっぽかったです。

ブース巡り

スタンプラリーもやっていてちゃんと制覇してピンバッジもゲットしました

エムスリーさんの手書きサイン気に入ってます。

ブースはクイズがあったり、プロダクトの一部を体験できたり、wasmで弾幕シューティングゲームを公開していたりしてめちゃくちゃおもしろかったです。

松本観光編

松本は水も野菜も美味しいこともあって非常に沢山たべております。

ラーメン編

初日はどうしてもここのラーメンを食べたくてぼっちで突撃しました。

次の日飲んだ後にまた食べていてびっくりしています。

ぼっちめし

珈琲美学アベさんで朝からパフェたべてます。ホテルのバイキング食べて30分後の出来事のようです。

ちゃんと松本城にもいったり、井戸を巡って水を飲んだりもしました。徒歩圏内に意外と観光するところもあって短い時間で色々堪能できました。

他にもバウチャーが余っていたので一人で蕎麦食べたりと楽しんでおりました。

のーぼっちめし

最終日のお昼は初日に雑談させていただいた角谷さんが下記の投稿をしてくださったのをみて参加させていただきました。

ここでも全員別々の会社の参加者の方々と仕事の話やら、スクラムの相談やら、ゲームの話まで色々お話できて楽しかったです。

Day2で勇気の二次会突撃

初日はラーメン食べてから散歩しつつタイムラインを眺めていたら登壇者の方が二次会募集していたので便乗して参加しました。我ながらアクティブ過ぎてびっくりする。松本マジックです。

とはいえ、お店のお客さんがほぼ全員Rubyist(おそらく100%)しかいなかったのもすごかった。もし他のお客さんいたらすみませんでした。。。

AfterParty

最終日はSTORESさん主催のAfter Partyに参加しました。

hey.connpass.com

たまたまここで前職の同僚に会うことができ近況だったり、今の会社の方々たちを紹介してもらい色々とお話できたのも楽しかったです。

他にも同じくエンジニアの参加者、プログラミングスクールの現役生、運営スタッフ、コミッターとたくさんの方とお話することができました。

まとめ

2日目からのぼっち参加でしたがそんなことを感じさせないぐらいたくさんの方とお話させていただけました。

最初にきっかけを作ってくださったid:onkさんには本当に感謝です。そしてその後人から人へとつながり、お話してくれたRubyistの皆様や運営の皆様にも感謝を。

「#rubyfriends」タグの復活もめでたい!

本当に楽しい時間でした、どうにかして来年は沖縄いきたい〜