Alstrocrack Tech Blog

考えたこと、学んだこと など

RubyKaigi 2026 参加レポート

はじめに

去年に引き続いて RubyKaigi 2026 in 函館に会社で参加してきたので、その参加レポートを記そうと思います。聞いたセッションのまとめ、ブース、観光のセクションに分けたいと思います。

聴いたセッションについて

The Journey of Box Building

rubykaigi.org

Ruby の新しい機能であるRuby::Boxに関する keynote でした。気合いをいれて、keynote に間に合うように朝 7:30 羽田発の飛行機に乗ったのに、何やかんやで会場に到着したのが 9:45 くらいになってしまったので、最初の方を聴けなかったです。悲しい。

Ruby::Boxは、オブジェクト空間や定数解決を分離するための実験的機能です。想定されるユースケースとしては、違うバージョンの gem を同時に利用する場合などが想定されていますが、事前知識がほぼなかったため、この記事などを参考に少し使ってみました。

ちなみに大体こういう検証は皆さんもそうだと思うのですが、irbを使っています。irbでは以下のようにすればRuby::Boxを利用できます。

# バージョンは4以上
$ ruby -v
ruby 4.0.1 (2026-01-13 revision e04267a14b) +PRISM [arm64-darwin23]

# RUBY_BOX=1にして起動
$ RUBY_BOX=1 irb
ruby: warning: Ruby::Box is experimental, and the behavior may change in the future!
See https://docs.ruby-lang.org/en/4.0/Ruby/Box.html for known issues, etc.
irb(main):013> box = Ruby::Box.new
=> #<Ruby::Box:4,user,optional>

Back to the roots of date

rubykaigi.org

speakerdeck.com

Ruby のDateクラスについてのセッションでした。10 年以上に渡ってDateクラスに関してはメインのメンテナーの方がいないので、deprecated になる可能性があるのをスピーカーの方が何とかしたいという内容でした。

Million-Agent Ruby: Ractor-Local GC in the Age of AI

rubykaigi.org

英語のセッションだったので詳細までは追いきれていませんが、AI Agent を Ruby のRactorを使って何重にも同時に動かしたいという内容だったと思います。Thread/ Fiber / Ractorの違いについても最初の方で触れられていたので、再度スライドを見たいのですが、公開は確認できませんでした。

Kingdom of the Machine: The Tale of Operators and Commands

rubykaigi.org

speakerdeck.com

Ruby の構文解析に関するセッションでした。Ruby が少し前からパーサを Prism に乗り換えたことと絡めての内容だったのかなと思います。

学んだことや調べたこととしては、パーサの実装には Bison などのパーサジェネレータが存在しているが、それらを使わずに人間がパーサを手動で実装する方法もあります。去年もパーサジェネレータなるものがあると知って驚いた記憶があります。近年は色んなプログラミング言語で手書きパーサを採用する言語も増えています。

LL 法と LR 法という構文解析手法についても聞いたのですが詳しいことは以下のスライドを参照ください。

speakerdeck.com

Guide to getting started walking source codes of CRuby

rubykaigi.org

https://youchan.info/slides/RubyKaigi2026/

Ruby のソースを読むに当たって、C 言語で記述されている箇所も多々あるのと、私は C 言語の素養がないので魅力に感じてセッションを聴きました。C 言語のソースを読むに当たって、スキップしても良い箇所や、マイルストーンとなるポイントなどを話されていた印象があります。

ちなみにセッション内で紹介されていた書籍を購入しました。お会いする機会がもしあればサインいただきたいです。これから読もうと思います。

No Types Needed, Just Callable Method Check

rubykaigi.org

speakerdeck.com

Ruby で型が必要な理由は結局のところ、レシーバに対して NoMethodError にならずに安全にメソッドを call できるかどうかが分かれば充分であるという趣旨のセッションでした。だから、メソッドがきちんと定義されているかどうかだけを検証すれば良いということでmethod-rayという gem を実装されたそうです。

github.com

Practical TypeProf: Lessons from Analyzing Optcarrot

rubykaigi.org

speakerdeck.com

Ruby の型に関して言うと、個人的にはこれが正解かもと思いました。

自分もたまに Ruby に型があれば良いのになぁと気楽に考えることがありますが、もっとよくよく考えてみると、自分は Ruby をコンパイルして型安全に実行したいというよりも、このメソッドの引数って何の型を受け取ることを想定していて返り値はどんな型なのかといった情報を知りたいだけだと気づきました。つまり型アノテーションで良いわけです。ちなみに言うと、私は型エアプなので難しい型などは分かりません。

構造の書き換えなしで型推論、とても実用性が高そうです。

Ruby Releases Ruby

rubykaigi.org

Ruby のリリースの歴史的な変遷の話でした。リリースにここまで苦労されているとは知らなかったです。CI の job が相当走っているという話が印象的でした。そこからの自動化への取り組みも内容として純粋に面白かったです。

出店したブースについて

今年も自分の所属先である Hubble はブースを出店しました。去年の RubyKaigi 2025 で初めてブースを出したのですが、2 年連続で出せて良かったと思います。

今年は Hubble のプロダクトの歴史についてのクイズを出して、その正解数に応じてノベルティーを出すことにしました。3 日間で色んな方にノベルティーを渡せたかと思うので、Hubble の名前を覚えてくださっている方がいらっしゃると嬉しいです。

また、来年も出せると良いかなと思います。

ブース設置の様子

新しいロールアップバナー

ステンレスカップのノベルティー

函館観光について

函館といえば五稜郭が最も有名だと思うのですが、その五稜郭にも少しだけ訪れることができました。五稜郭タワーに閉館時間ギリギリに登って夜の五稜郭を眺めることができて良かったです。

もう少しゆっくりと五稜郭を歩くことができればと思いましたが、それはまたの機会にしておきます。

また、1 日目と 2 日目の夜は Hubble のメンバーで集まって飲みに行きましたが、親睦を深める良い機会になったかなと思います。

Ruby色にライトアップされた五稜郭タワー

五稜郭タワーから見た五稜郭の様子

五稜郭跡の石碑

まとめ

今年も RubyKaigi に参加することができて良かったです。セッションの内容は相変わらず自分には難解なものが多いですが、Ruby の言語機構の自分の理解にとても役立っています。

来年の RubyKaigi 2027 in 宮崎に参加できるか分かりませんが、行けたら行こうと思います。