STORES Product Blog

こだわりを持ったお商売を支える「STORES」のテクノロジー部門のメンバーによるブログです。

RubyKaigi 2024に総勢23名で参加しました!みんなで書く感想レポート

こんにちは、技術広報のえんじぇるです。RubyKaigi 2024 お疲れさまでした! STORES はNursery Sponsorとして、託児所の企画・運営をしました。(託児所の企画・運営についてはまた別途ブログを書きます)また、会場ではブースを出したり、会期中にSTORES CAFE for WomenとSTORES CAFE at RubyKaigi 2024を開催したりと、盛りだくさんな3日間でした。

このブログではRubyKaigi 2024に参加したメンバーから印象に残ったセッション、出来事について聞きました。それぞれの視点のレポートをお楽しみください。

ko1

印象に残ったセッション1:Writing Weird Code

  • まさに Weird code を面白く、わかりやすく紹介してくださって大変よかったです。

印象に残ったセッション2:Unlocking Potential of Property Based Testing with Ractor

  • Ractor 試していただいてありがとうございます。Property Based Testing 自体は興味があったんで、その基礎のあたりもよかったです。

他にもたくさんいいセッションがありました。例えば、私が見た中では、金子さんや国分さんがいきり倒しているのを見て大変よかったです。見れなかったセッションも多いので、動画公開が楽しみです。

出来事:

  • 関連イベント一覧
  • 家族旅行も兼ねていたので、海に何度か入ったんですが、だいたい寒くてつらかったです。石垣島も行ったのですが、雨でいろいろできなくて残念。また暑い日に行ってみたい。初めてリゾートホテルに泊まったんですが、発表前だったので色々気が気でなく。
  • というわけで、会期中のデイタイムは託児所にお願いし、また上の子は美ら海水族館に連れて行ってもらえてよかったんですが、夜は引き取るので、パーティー系のイベントはなかなかしんどかったですね。オフィシャルパーティーは滑り台があって助かりました。一緒に遊んでくだった皆様に感謝いたします。
  • Ractor 使ってますよ、という声を若干頂いたので励みになります。

mame

印象に残ったセッション1:Getting along with YAML comments with Psych

  • コメントを残したままYAMLをパース・出力できるようにする、Psychの拡張(?)ライブラリの話。
  • YAMLに限らず、抽象構文木で抽象化して落とした情報、だいたいあとで必要になるんだよな。などと考えながら楽しく聞きました。
  • 空白の調整はスコープ外としたなど、ライブラリの責務範囲を切る話なんかもあってよかったです。

印象に残ったセッション2:Squeezing Unicode Names into Ruby Regular Expressions

  • Unicode namesを正規表現に書けるようにする話。
  • Unicode namesのデータをRubyインタプリタにもたせる必要があり、そのままだと大きいので頑張って縮められてました。
  • データ表現を作り込んで縮めていくみたいな話は好きなので、駆り立てられるような感じでわくわく聞いてました。

出来事:

  • Day 1: tompng さんのキーノートで勝手に (Self) TRICK 2024 を開催されてしまったのを見て、ついカッとなって a_matsuda さんに「来年 TRICK やっていいですか」と言ってしまいました。みんな投稿よろしくお願いします。
  • Day 2: 「TypeProfの開発をみんな手伝ってくれ!」という、フルタイムでやってる人間としては恥も外聞もない発表をしたのですが、その日の夜からPRが飛んできてRubyKaigiのパワーを感じました。やるぞ。
  • Day 3: Ruby Committers and the World が終わったあとはあんまり記憶がないです。ブースでRuby "enbugging" quizのヒントを出すとかやってた。思ったより多くの人に楽しんでもらえたようでよかったです。
  • 総じて、人と話すのが楽しくてしょうがない3日間でした。飲み食い忘れて人と話してた。話せなかった人も多いので、もっと長ければいいのに。

ahogappa

印象に残ったセッション1:RubyGems on ruby.wasm

  • ついにGemが動いたか、という気持ちになりました。本当に実装力とdemoの見せ方がすごいと思いました。
  • ruby.wasmで拡張ライブラリを含めたGemが動くようにする実装実験もやったことがあるのですが、それと比較して「なるほど!」を発見していきたいですね。

印象に残ったセッション2:Unlock The Universal Parsers: A New PicoRuby Compiler

  • Universal ParserをPicoRubyで使いたいという話、でもバイナリサイズが大きすぎて使えないという話でした。
    • いらないコードを消してサイズを小さくしていた、この辺は廊下でもっと詳しく聞けば良かったです...
  • 恥ずかしながら、mrubyファミリーについて詳しくなかったので、これをきっかけに色々勉強したいなと思いました!(Raspberry Pi Pico買いました)

出来事:

  • 今回CRubyのワンバイナリ化について発表したのですが、発表の感想を直接いただけた体験が良かった。
  • 前職の方に久々に遭遇できて、これもRubyKaigiならではだなーと思いました!

ima1zumi

印象に残ったセッション1: Writing Weird Code

  • RubyKaigiのオープニングにぴったりの最高のキーノートでした。Rubyのシンタックスを熟知していろいろな奇妙なコードが書けるぺんさんだからこそrepl_type_completorがシュッと書けてバグが少ないんだろうなと感じました。
  • 前半ではRubyのシンタックスとしてvalidな奇妙なコードがたくさん見られて、奇妙なコードについて深ぼっていく楽しさが感じられて良かったです。Keycap emojiについては知っていたもののそうやって活用する方法は思いつかなかったので悔しい!自分も文字コード周りのあれこれを使って変なコードが書けないかなぁと考えはじめてしまいました。
  • 後半は端末の特性に絡んだコードが3つあってテンションが上がりました。一番好きなのはクラゲで、一番うるっときたのはミンサー織りです。
    • クラゲは端末のクリックイベントを取ってきてそれにインタラクティブに反応してくれるのが面白かったです。端末でもクリック取れるんだよねっていうのがなるほどでした。
    • ミンサー織りはSixelの活用方法になっているところが良かったです。また、ミンサー織りを知らなかったので五つと四つの絣模様の意味も知れて沖縄への理解が深まりました。

印象に残ったセッション2: Make Your Own Regex Engine!

  • 正規表現エンジンに興味があって、楽しみにしていたセッションの1つです。聞いてみて、自分はまずオートマトンが分かってないんだよなあということが分かって、分からないことが分かって良かった…!オートマトンが分かってないとはいえ4種の命令があってそれで表現できるというのはシンプルな命令だけで正規表現の様々な機能を表現できる強さを感じました。
  • このトークを聞いた後にプッシュダウン・オートマトンについて金子さんに教えてもらう機会があったのですが、例として正規表現のオートマトン例を出されたときにこのトークの情報があったからすんなり入ってきて、聞いておいて良かったと思いました。
  • 作って学ぶ正規表現エンジン をやってみたい!やるぞ!

出来事:

  • IRB teamでちょこちょこ集まってKaigiしていたので現在や将来のことについて話せてとても良かった!ただ、自分はときどき酔ってたのでちゃんと記憶が残っているか不明です。
  • RubyKaigi後にRedo実装したPRがRelineに出てきてとても嬉しかったです。
  • 包丁がないのにパイナップルを丸ごと買うと食べる手段がなくて困るということを学びました。
  • 松山で育ったので、来年のRubyKaigi松山開催がとても嬉しいです。みんな松山に来てくれー!!!

shia

印象に残ったセッション:YJIT Makes Rails 1.7x Faster

  • www.ruby-lang.org の公式の翻訳を手伝っておりますが、 3.3 リリースのときに side exit のことがさっぱりわからなくて資料漁ったり、あげくは k0kubun さんに直接聞いたりしてたことがありましたが、それ関連の話を詳しく説明してくれてとてもよかったです

印象に残ったセッション2:Speeding up Instance Variables with Red-Black Trees

  • 制約条件を満たせれば高速になれるのをちゃんと活かしてるすごく良い話でした。個人的に Object Shape の話聞いたとき Shape の探索が線形なら導入のメリットそんななくない?と思ったことがありその疑問を解消してくれたのでとてもよかったです。

出来事:

  • 人生初飛行機乗り遅れました。スマートレーンのお陰で1時間前にゲート前にいたというのに。なんてこった
  • 自分の出来事ではないがブースでやっていたクイズのスコアを更新しに戻って来る人や、理論最大スコアを知ってしまいそれ以外のスコアを書き込めない人たちの挙動が面白くて笑ってました
  • Atlassian のプラグイン開発を Rails on JRuby でしているという話を聞いて衝撃的すぎたのでこちらにも残しておきます

hogelog

印象に残ったセッション1: Lightning Talks

  • 自分が話したのでとても印象に残りました
  • 一番手だったのはラッキーで、自分より後ろの出番の人達のトークはニコニコしながら聞いていました
  • 通訳さん打ち合わせがLT登壇者全員同時だったので、皆さん緊張したりナーバスになっている様子など眺められてよかったです
    • 自分の発表後に見たところ、そんな姿は想像がつかないぐらい各位堂々たる発表だったのもとてもよかったです

印象に残ったセッション2: Ruby Committers and the World

  • 今年のthe Worldセッションはleoさん進行。コミッターに好き勝手喋ってもらう具合と適宜打ち切って進める進行の具合が絶妙でとても楽しかったです
  • GVL無効化に関してのやるべきか否かの話について、コミッター各位の手の挙げ方や語調から、無効化すべき派閥であっても非常に慎重に考えなければいけない問題である雰囲気を感じ取れたのがとてもよかったです
    • 整理された論説や文章だけでは感じ取れない、コミッターの生煮えの感情をそのまま感じ取れるthe Worldならではのものがありました
    • 「PythonのGIL無効化がどう成功するのか or 失敗するのか」はRubyのGVLを考える上でも非常に重要そう

出来事:

  • 人々との会話をたくさんしたのが記憶に残っています。特に STORES ブースで実施していた Ruby "enbugging" quiz は多くのRubyistが楽しんでくれたのが非常に良かったです
  • LTとかでも登壇すると「見ました」と言われがちで、なかなか楽しいもんですね
  • スポンサーブースに巡りに来てくれるRubyistと会話するのが楽しく、セッションは聞けてないものが多いので動画公開が今からとても楽しみです
    • Hallway trackいわゆる「廊下」での会話はそこでしか発生せず記録もされていない貴重なイベントなのでと会話し続けてるとセッションの話を聞きに行くのが困難、分身したいですね

fujimura

印象に残ったセッション1:RubyGems on ruby.wasm

  • Mastodonが動くとは…。ショッキングでした!未来を感じた!

印象に残ったセッション2:Namespace, What and Why

  • 発端のひとつとなったRubyKaigi 2023の @tagomoris @shioyama の席に僕もいたので胸熱でした。こちらも未来を感じた!

出来事:

  • Nursery Sponsor, STORES CAFE, STORES CAFE for Womenと、本当にありがたいことにそれぞれ好評の声をいただけたのがすごく嬉しかったです。やってよかった。

HolyGrail

印象に残ったセッション:Writing Weird Code

  • 福岡Rubyist会議03の続編のような話でとてもよかったです
  • 他のセッションの内容と絡めたトリッキーなコードに対する様々な角度からのアプローチ方法を丁寧に解説されており非常におもしろかったです

出来事:

  • 初めての沖縄だったのですが会期中は天気もよく過ごしやすい気候でよかったな、と思いました
  • Ruby "enbugging" quiz 自分も楽しんだし、それ以上に参加者の人がとても楽しんでいた様子が印象に残っています
  • おなじチームで仕事をしている @ahogappa0613 が初めての登壇にも関わらずしっかりと話しておりデモも無事成功していい発表だったなぁと思いました。

nissy325

印象に残ったセッション1:Writing Weird Code

  • 具体的に何をやっているかはほとんどわからなかったものの、とても面白かったです。まだまだ自分が知らないRubyの世界があるなぁと感じさせてくれました。

印象に残ったセッション2:Leveraging Falcon and Rails for Real-Time Interactivity

  • 最近RailsでWebSocketを使ってみたいと思っていたので個人的にはタイムリーなセッションでした。Rubyでゲームを作ろうと考えたことがなかったのですが、ちょっとしたものをいつか作ってみたいです。紹介してもらったゲームは実際に手元で動かしてさわってみようと思います。

出来事:

  • STORES が提供していた Ruby "enbugging" quiz で最高ストアを出している方が多く、流石 RubyKaigi だなと感じました。Day2の問題は Day2でお昼ご飯を食べた方に答えを教えてもらいました(その方は普段 Rubyを書いてない)
  • 前職の同僚数人と会い、お互いの会社のことなど話せて楽しかったです。同僚も転職して参加してます。狭い世界なので、繋がりは大事
  • RubyKaigiの期間中走れないと体力落ちちゃうので、木曜日の朝にランニングしてました。国際通り走っている人ちらほらいました

otariidae

印象に残ったセッション:It's about time to pack Ruby and Ruby scripts in one binary

  • Rubyでワンバイナリ化ができるとポータビリティが高くなって便利そうだと思いました
    • 特にCLIツールとかはバイナリで配布したい気持ちわかります
  • Node.jsで似たようなツールを作ったことがあるのでちょっと親近感が湧きました
    • 僕が作ったツールは既存ライブラリのラッパーで難易度が比べ物にならないほど易しいので親近感などど言うとおこがましいのですが
  • このセッションを聞いた当日にホテルで自分のPCでもkompoを動かしてみました
    • 自分でもやってみようという気になったのは良いセッションだった証左ですね!
    • ちょっとトラブったのでissueを書きました。issue一番乗り!

出来事:

  • 各セッションもさることながら、その後のパーティーなどのイベントでいろんな人とじっくり喋りました
    • 普段ではあまりできない突っ込んだ興味深い話ができて楽しかったです
  • 往路の飛行機がエンジントラブルの疑いで引き返して夜の便に振替になりました
    • 無料でもう1回飛行機に乗れるので実質アド!
    • 旅にトラブルはつきものですね

katagiri

印象に残ったセッション1: Embedding it into Ruby code

  • 型をコードと別ファイルで管理するって書き忘れとかの観点でチーム開発に導入するの現実的じゃないよな...って思っていたので、rubyコード内にかけるようになるとより実用が考えられる世界になってくるなと思いました
  • コメントでの型の指定方法は中々面白いトピックだなと思いました。コメントに書くとなると、ドキュメンテーションとこんなに絡む感じになるんだなと
  • とはいえ他の言語と違って全てを型で縛るのが良いとは言い切れない言語なので、そういうのは全部Object(tsでいうany)でいいんだっけ?というのを思いました。なんかもっと「rubyらしい方に縛られない使い方を想定したメソッドだ」みたいなのを表現できる指定方法とかできたりしないのかなーと言うのをふわっと考えていました (具体的なことは何も考えていないですが)

印象に残ったセッション2: Namespace, What and Why

  • namespaceって名前だけだとどういう機能か想像がついてなかったので、実際に聞いてみてなるほどーとなりました
  • 発表で触れられていたようなdockerの代わりにするみたいな使い方はともかくとして、依存関係解決の時のバージョンのconflict問題に対してはどうこの機能で解決に持っていくのかは気になりました
    • 同じライブラリに依存するライブラリを5個使っていたら、その数分だけインストールされる?
    • (今だと1個だけインストールされるはず)
    • npmとかみたいにバージョンの制約を満たす範囲内でいい感じに共通のものを参照するようにして、最小限の数だけインストールするようにするとかもありえる?
  • 今までに無い感じの機能だなという印象で、これが割と近い未来rubyに入る、っていうのが単純にすごいなと思いました

出来事:

  • 前職の知り合いだけでなく、初めて会った人とも多少はお話しや連絡先の交換ができました
  • 予定があり途中離脱になってしまったのが残念でした。次回があれば最後まで参加したいです
  • RubyKaigi終了後、rubyにissueを立てるというアクションを起こせました。RubyKaigi後じゃなかったら自分でworkaroundを見つけてそれで終わりにしてしまっていた気がします

mase

印象に残ったセッション1:Exploring Reline: Enhancing Command Line Usability

  • 普段自分も使っている、IRB、Relineのお話しが聞けて面白かったです。
  • undoを実装するにあたって、「a」→「Ctrl+a」→「undo」といった感じで段階を追って説明してくださったので、聞いていてワクワクしました。
    • Relineは「a」という文字を入力するだけでも、色々とやっていることが分かり、カーソル位置の考慮もする必要があったりと、コマンドラインエディターというのは、そう単純なものではないんだと実感しました。
    • undoの実装はそもそもundoとは何かという定義(単語区切りなのか、1文字区切りなのか)から、考えるべきこととしてあるというのは盲点でした。
  • 発表後にお話しさせていただいた時に、redoの実装についてのお話しを少しだけ聞いたのですが、私は「undoのように実装すれば良いのでは」と簡単に考えてしまっていたのですが、undoよりも考慮すべきことが多そうだというお話しを聞いて、奥が深く面白い世界だなと思いました。

印象に残ったセッション2:Ruby Committers and the World

  • Rubyのコミッターの方々がRubyの実装について壇上で議論している様子を直接見ることができ、こういった機会はなかなか無いので、貴重な機会でした。
  • Matzさんの「Rubyに型を入れたくない」という強い意志が垣間見れたり、一つの議題に対して、さまざまな目線での意見を聞くことができて面白かったです。
  • このセッションを通して、Rubyはコミュニティの意見を反映しながら進められているということをすごく感じました。
  • 壇上にいる皆さんの議論している姿がとても楽しそうでかっこよかったです!

出来事:

  • 2日目にSTORESのブース近くにいたMatzさんと写真を撮れて、とても感動しました!
    • スピーカーの方々も見かけることが多くて、「発表すごく良かったです」など、浅い感想しか伝えることができなかったのですが、それでもRubyに貢献してくださっている方々たちと話すことができたのは、とても貴重な体験でした!
  • 『STORES CAFE for Women』の1日目に参加しました。
    • 女性エンジニアとの交流は貴重なので、1日目にお話しすることができて、2日目3日目でもブースに来ていただいた際などコミュニケーションのきっかけになったのですごく良かったです!

yubrot

印象に残ったセッション1:The state of Ruby dev tooling

  • Rubyのdev toolingの難易度が高いとされる理由について、「Rubyがtoo dynamicである」よりももっと目を向けたいところがあるという話 (compared to Rust (centralized tooling), Node (has large community))、各ツールのfragmentationと向き合い、巨大な一枚絵を描きたい話
    • Prismはその点でパースについての関心事を大幅に改善した
    • Ruby LSPもなんとかしていきたいと思ってる、具体的にはRuby LSPにはアドオン機能があり、LSPをフルスクラッチで作らなくてもRuby LSP上のアドオンとして組み込むことができるので試してほしい、という話

印象に残ったセッション2:Good first issues of TypeProf

  • セッション内容自体が印象に残ったというよりは、本当にこれが欲しいという「気持ちの動き」が一番強かった、僕自身Rubyのdev toolingに対して不満を感じているはずが、普段アプリケーションコードとひたすら向き合っているばかりで、DXについての自分の気持ちともっと向き合っていきたいなと

出来事

  • 最終日あたりから体調を崩してしまい今いろいろ意識が飛んでいます。RubyKaigiで得た感触をきちんと持ち帰りたい

morihirok

印象に残ったセッション1: RubyGems on ruby.wasm

  • mastodon がブラウザで動いたのはヤバすぎる、Ruby の未来を感じました
  • その後 https://github.com/kateinoigakukun/mastodon/tree/katei/wasmify を読んでいたのですが、マジで katei さんのパワーを存分に感じられて面白いです
  • これがヤバすぎてその後のセッションは予定を変えて全て wasm 縛りにしました

印象に残ったセッション2: Speeding up Instance Variables with Red-Black Trees

  • 赤黒木のアルゴリズムの仕組みとメリットデメリットが丁寧に解説され、ObjectShape ではそのデメリットを考慮しなくていいので採用されているという話で、計算機科学の面白さとその引き出しの重要さが具体的に語られた良いセッションだった

出来事:

  • 2日目キーノート
    • ささださんが Samuel をブースに呼んでくれて直接いろいろ聞けた
    • 初めて海外のRuby コミッターと話したので感動した
    • 英語が拙すぎることを痛感したので、来年に向けて精進します
  • 月曜日有給を取って土曜日からそのまま沖縄で家族旅行にしちゃいました!天気もギリギリ持ってくれて最高でした!

m11o

印象に残ったセッション1: RubyGems on ruby.wasm

  • ブラウザで動く普通にmastdonが動いているところをみれて夢を感じた
  • はたから見るとすごい完成されていそうだが、ロードマップ的にはまだまだやりたいことがいっぱいあって、kateiさん的には壮大な夢があるんだなと感じて、さらにruby.wasmの未来が楽しみになった。

印象に残ったセッション2: Strings! Interpolation, Optimisation & Bugs

  • たった8行でパフォーマンスを改善した話
  • ただ、そこに到達するまでの試行錯誤も詳細に提示してくれていて、大変勉強になった。
  • 最後の言葉で、 「Always question your assumptions. Don't be afraid to dig into things」が印象的だった。
  • 難しい領域でも恐れずに理解できるまで理解しようと思った

印象に残ったセッション3: Unlock The Universal Parsers: A New PicoRuby Compiler

  • Parserセッションで度々登場する固有名詞たちがどのような関係にあるかがとてもわかりやすく説明してくれて、Parserの全体像を理解できた 
  • Parserは個人的にはとても興味ある分野なので、このセッションを見返しながらコードの理解を進めていきたい

出来事:

  • RubyKaigi 2023で知り合った方と再会し、一年あったことを共有しあった。
  • さらにその人経由でいろいろな人と知り合えて色々な話ができた
  • インターン時代の先輩と再会。

えんじぇる

印象に残ったセッション:

  • ブースと託児所の運営で精一杯だったため、アーカイブを見ます。

出来事:

  • 託児所の一貫で、美ら海水族館に行くアクティビティに同行しました!子どもたちが元気に楽しく過ごせているかを気にするあまり、水槽の中を見る余裕はありませんでした。貸切バスの団体名が気に入っています。
  • 『STORES CAFE for Women』というランチイベントをDay 1とDay 3に開催しました。美味しいハンバーガーを食べながら、わいわい過ごせてめちゃくちゃ楽しかったです。

その他メンバーの参加レポート

RubyKaigi 2024のアフターイベントを開催します

先日『ふりかえり RubyKaigi 2024』を開催したばかりですが、あと2つイベントがあります。ぜひ!ぜひ!ご参加ください。

connpass.com

hey.connpass.com

RubyKaigi 2024も最高に楽しかったです!RubyKaigiのみなさん、ありがとうございました! また松山でお会いしましょう!