以下の内容はhttps://hibinokoto.hatenadiary.jp/entry/2025/04/25/000643より取得しました。


RubyKaigi 2025@松山へ行ってきた🍊

RubyKaigi2025 へ行ってきました。

前回参加したのは RubyKaigi2023 松本だったので、2年ぶりの RubyKaigi、たぶん3回目の参加です。
愛媛、松山での開催でした。

RubyKaigi 2025 のまとめ scrapboxページ がありました、有志でまとめている非公式ページだそうです https://scrapbox.io/ruby-jp/RubyKaigi_2025

現地で参加して

現地で参加して本当によかったです。

Kaigi の場に身を置いて、いろんな方と直接話したり交流したり、Matz やコミッタの方々、登壇者の方々が近くを歩いていたり、会ったみなさんからいろいろな話を聞いて、Rubyist の熱気をたくさん浴びてきました。
セッションは深く理解できたわけではないけれど、以前に参加したときより「これはあの話なのか」と輪郭が少しはっきりして理解できるようになった気がしました。
たくさん刺激を受けて、この3日間でやりたいことがたくさん出てきました。

松山は、路面電車が走っていて、山が見えて、お城もあって、道後温泉もあって(今回は行けなかったけど)、とてもとてもいい街でした。 街行く人がみんな Rubyiest に見えました。

RubyKaigi 2025、最高でした。とにかくめちゃめちゃたのしかったです。
好奇心がわいてくる瞬間がたくさんありました。
来年も、絶対行こうと思います。

人との関わり

Ruby コミュニティに参加するようになって、少しずつ知っている方が増えてきたこと、新しく縁が繋がった方も増えてきて、それがすごくたのしくうれしいことでした。
登壇した方に、直接感想を伝えられたこともうれしかったです。 以前、同じ職場で働いていた方々ともひさしぶりに会えました。
また、松山在住の今の会社の同僚に会ってランチできたこともうれしかったです。普段フルリモートで一緒に働いているものの、松山という場所でランチしてる状況が少し不思議でした。あんないい街に住んでるなんてうらやましいです。

1日目の城でのオフィシャルパーティーの後、大街道で2次会に行って夜23時過ぎにクレープ食べながらキャリアとか仕事の話をしたり、元同僚とごはんをして近況交換できたり、しんめ.rbのみなさんとランチに行ってお話したり・・・、たくさん人とお話してパワーチャージさせていただきました。
お話したみなさん、ありがとうございました ☺️

それから、ずっと念願だった、Matzさんと一緒に写真を撮っていただいたこともとてもうれしかったです。

2日目のしんめ.rb のランチ会で utsubo さんに教えていただいた、この Ruby の中身を知るための資料がすごくわかりやすくてありがたく、あまりにも良かったのでこの記事でも共有です。 Ruby の言語処理系についてとてもわかりやすいスライドで説明されています。これ読んで来年にも備えます。

Rubyの中身の予備知識_RubyKaigiの前に知り鯛!_公開用 - Google スライド

本屋さん

笹田さんの本屋さんのスペースには何度も立ち寄りました。

@.bookstore at RubyKaigi 2025 | @. bookstore

3/1の TokyoWomen.rb の鳥井さんの発表で発売されることを聞いて買おうと思っていた「伝わるコードレビュー」を一足早く購入できたことがうれしかったです。
島田さん、鳥井さん、久保さん、諸永さんにサインをしていただきました 🙌

「伝わるコードレビュー」は、帰りの飛行機で RubyKaigi の余韻に浸りながら早速読んでいました。
レビューはコードを良くしていくための相互のコミュニケーションだと思っていて、その気持ちを後押ししてくれるような本だと思って読んでいます。

本屋さんでは、こちらの4冊を購入しました。

「iSeq探訪」は、iSeqについて知りたいと思っていたところ見つけた本だったので、RubyKaigiの本屋さんで売っているのを見つけてうれしかったです!
著者の youchan さんに本屋さんの目の前でお会いすることができたので、お声掛けしてサインを書いていただけました。うれしい・・。

セッション

国際カンファレンスなのでセッションのスライドは全て英語で、トークは日本語と英語のものがありました。

世界中からRubyistがきていました

いつも、セッションを聞くときは同時にメモしながら聞くのですが、今回は聞くことに集中しようと思ってメモなしで時々 X に印象的だったことをつぶやきながら聞いていました。
メモせずに聞くのは臨場感をたのしめてよかったのですが、思い起こそうとするとメモがないと厳しいので、今度はやっぱりメモしようと思いました。

セッション内容を思い起こして書くときに、実況ツイートしてくれていた方々のツイートのおかげで思い起こすことができました。
(以下、印象に残ったポイントや感想を書いています。内容や理解に誤りがあるかもしれませんが、ご容赦ください)

Ruby Taught Me About Encoding Under the Hood / Mari Imaizumi

ima1zumi さんの文字コードについての Keynote、すごく良かったです。
文字コードの歴史を、のろしまで遡って説明してくださいました。
さらに文字コードにのめりこむことになったきっかけ(最初の職場でCOBOLを使っていて、コードコメントを半角カナで書いていたとのこと)、家族の絵文字 🧑‍🧑‍🧒 で Reline のバグを見つけて報告して最終的に自分で直したこと(Code Pointと見た目の文字の違いが引き起こす問題を書記素クラスタの考えを導入して解決した)、Unicode 15.1.0 へのアップデートのお話。
あたった問題に向き合って好奇心を持って深掘りしてきた軌跡を話してくださいました。聞いていて、文字コードすごくおもしろそう、と思いました。

スライドで出てきたこちらの本も気になります。 www.kyoritsu-pub.co.jp

いろんな偶然が重なりあって今に至っているというお話、RubyKaigi がはじまるので好奇心を刺激するものと出会ってください、というメッセージが響きました。Keynote、すごく良かったです。現地で聞けて良かった。

speakerdeck.com

A side gig for RuboCop, the Bookworm code crawler / David T. Crosby

英語の発表だったため、自分には理解するのが難しかったです・・🥲
Meta 社の大きな Chef のコードベースを、RuboCop ASTパターンマッチングを使ってコンテキストを取得するプログラムを書いた、というお話だったと思います。

https://github.com/facebook/bookworm

Ruby's Line Breaks / Yuichiro Kaneko

今回の Kaigi で必ず聞きたかったセッションでした。1日目の午後に急に頭痛がはげしくなり、やむなくホテルに帰って休むことになってしまったため、現地で聞けませんでした 😭
資料を見ると、Ruby の改行コードについての扱いについて説明してくださっていて、lex state が怪物のように複雑だという話が印象的でした。
理解が追いついていない部分が多いので、アーカイブが出たら必ず聞きたいです。

speakerdeck.com

Performance Bugs and Low-level Ruby Observability APIs / Ivo Anjo

Datadog で Ruby Profiler を開発しているエンジニアの方の発表でした。
パフォーマンスの問題など、何が起きているか知るために利用できる Ruby の Observability APIs を紹介してくれました。
かなり低いレイヤの API を駆使しているようでした。そして、発表は英語だったのですが、明瞭でわかりやすく感じました!

docs.google.com

Benchmark and profile every single change / Daisuke Aritomo

ベンチマーク駆動開発の話で、コードをタイプするごとにベンチマークを取る、という話が印象に残りました。また、ボトルネックを潰せというがボトルネックがあるとは限らない、という話に頷きました。
資料見つけられてないので、見つけたら読み返したいです。
資料の一番下に、日本語で一言まとめが書かれていたのがとても助かりました。

RuboCop: Modularity and AST Insights / Koichi ITO

RuboCop の設定注入に使われる inject_default! などの Hack はオフィシャルな方法ではなく問題があったので、プラグインやカスタムCopの読み込み方法が変更されているとのこと。RuboCop の設定を読み込む仕込みは、Inject の Hackによるモンキーパッチ的なしくみから中央集権的なしくみに変更していて、RuboCop 1.72から変わっているとのことでした。

# 以前のプラグインの設定読み込み
require: rubocop-example

# 新しいプラグインの読み込み方
plugins: rubocop-example

これに伴い、カスタムCopを自作している場合も変更が必要になりそうでした(詳細、ちゃんと把握してないのでこれから) カスタムCopの雛形を生成してくれる rubocop-extension-generator の gem も 新しい方式で出力されるようアップデートされてるというお話があったと思います。ありがたい。

github.com

また、ASTのパーサーが、Ruby3.4以上で、Parser から Prism にデフォルトを変えようとしている話がありました。この表がわかりやすいと思いました。

RubyKaigiの数日前に、たまたま bundle update rubocop をする機会があったので、コードの差分を改めてみたら、Gemfile.lock の差分に prism が入っていました。
rubocop周り、個人的に気になっているのでとても興味深くありがたい発表でした。

speakerdeck.com

Speeding up Class#new / Aaron Patterson

Aaron さんから、Class#new を Cでの実装 から Ruby 実装に書き換えることで早くするというお話だったと思います。
Aaron さんは、日本語が上手でスライドも発表内容もわかりやすいのに時々くすっと笑えるスライドがあったり、たのしかったです。
C の内部実装の説明をわかりやすく表現してくれていて、資料公開されたら読みたいです。

Making TCPSocket.new "Happy"! / Misaki Shioi

しおいさんから、TCPSocket.new に Happy Eyeballs Version 2(RFC8305)を導入したお話でした。
IPv4IPv6 の両方で通信できるときに、どちらか早く繋がった方で通信する、というものだとざっくり理解しました。
去年の Ruby の 12月のリリースに至るまでに、いろんなことを乗り越えてリリースされたことを手に汗握るようなドキュメンタリーのようで話に引き込まれました。
リリースまで時間が限られている状況で問題が発生した時の解決方法の検討、解決まで持っていく胆力、かっこよかったです。仕事もしつつコミッタの仕事もされているのすごいです。 そして、発表スライドが枚数たくさんあるのに本当きれいで、わかりやすかったです。 (廊下でお会いできたので、直接感想を伝えられてうれしかったです!)

speakerdeck.com

Lightning Talks

たくさん LT あったのですが、3/1の TokyoWomen.rb で発表されていた makicamel さんのかわいいゲーム「Road to RubyKaigi」に音がついて進化していたのがすごく印象的でした。ゲームすごいかわいかった、Ruby で音出してみるの自分もやりたい・・!
それにしても、すごく早口なのにめちゃくちゃ聞き取りやすい発表、職人技を感じました。すごい。
今回の RubyKaigi、音やゲームの話が多めだったような気がして、わくわくしました。

speakerdeck.com

「㌀」の文字についてLT、文字コードの話も絡んでたのしかったです。

GitHub - shugo/rubykaigi2025lt

LT持ち時間の5分過ぎると銅鑼を鳴らしてくれていた kkd さんが、LTの歴史や込められた想いについてnoteを公開されていました。

note.com

Ruby Committers and the World

毎年恒例(たぶん)の、世界中の Ruby コミッタが壇上に集まって談義をするセッションでした。普段 コミッタ が開催している Meeting の雰囲気を感じてもらう、という趣旨のようです。
Ruby コミッタが壇上にずらっと並んている姿は圧巻でした。
新たにコミッタになった方の挨拶、Static Barrier について、Ruby 4.0 が出たら deprecate にしたい機能についてなどいろいろな話題が出ていました。
Matz が、なにも deprecate したくない、migration path を用意したい、という話をしていて、後方互換性を大事にしていることが伝わりました。 いろんな話が和やかに笑いも混じって議論されているのをみていくのがとてもたのしかったです。Matz さんが 中田さんの画面をのぞき込んでる姿もなんだか良かったです。

A taxonomy of Ruby calls / Alan Wu

メソッドやブロック呼び出しについての発表でした。
英語だったのですが、スライドがわかりやすくて、話し方も聞き取りやすくてありがたかったです。
自分には内容がむずかしかったので、資料見つけたら読み直したいです。

Analyzing Ruby Code in IRB / tomoya ishida

TRICK でおなじみのぺんさんのセッションです。
IRB がコードをどう解析しているかの話でした。Syntax Highlight や コードのネスト、コードの自動補完などについての話がありました。
難解なコード(自分にとっては)も出てきて、このコードはどういうこと・・??となったりしました。

rubykaigi2025_tompng.pdf - Google ドライブ

On-the-fly Suggestions of Rewriting Method Deprecations / Masato Ohba

メソッドの非推奨化への対応を自動化する Deprewriter という gem を実験的に開発されていました。
deprecated method への人力での対応は手間なので、自動化のアプローチはコードの保守性があがりそうですごいと思いつつ聞きました。

GitHub - ohbarye/deprewriter-ruby: An experimental gem that helps you rewrite deprecated code automatically.

speakerdeck.com

Programming Language for AI age / Matz

とうとう最後のセッション。
Matz が、舞台の下から登場したので会場はもりあがっていました。

RubyKaigi で、ほとんど AI の話が出ていなかったのですが、このセッションは AI 時代のプログラミング言語、というテーマでした。
AI との関係性が、逆アルファシンドローム(犬が自分を一番だと思い飼い主に従わず主従関係が逆転する)の様相を呈するようになってきているが、AI にコーディングをまかせて自分はしないのではなく、何をAIにやらせるかは自分で考えた方が良い、という話がありました。 簡潔さ、表現力、拡張性がプログラミング言語に求められる、という話もありました。
自分は飛行機の時間で Keynote の途中で退出してしまったのですが、Ruby4.0が出る、という話もあったようです。namespace と ZJIT が入ることがキーになるようです。たのしみです。

Kaigi に参加を決めた経緯

昨年の沖縄に参加できなかったので今年こそ参加したいと思っていたものの、4月初旬リリースの仕事があり予定が立て込みそうだったため、RubyKaigi へ参加して業務を数日空けていいのか、かなり迷っていました。
そんな折、3/1に TokyoWomen.rb というイベントで登壇させていただく機会がありました。(このイベントのことは別途ブログに書きます)

tokyowomenrb.connpass.com

Rubyっておもしろい!」というテーマで登壇者を募っていました。私は、自分の好きな Ruby のメソッドがどんなしくみで動いているか知るために RubyC言語のコードを読んでみた、という発表をしました。

speakerdeck.com

メソッドのしくみを調べるために Ruby のコードを読んでいくうちに、Ruby のコードは命令列(ISeq)というバイトコードコンパイルされてVM上で動いているということを知り、Ruby が動くしくみに興味を持つようになりました。
発表スライドをレビューしてくれた夫(エンジニア、Rubyist)にこの本いいよと勧めてもらって「Rubyのしくみ Ruby Under a Microscope」を読み始めていました。

tatsu-zine.com

今も読み途中なのですが、読んでいるうちに RubyKaigi のセッション内容を以前より理解できそうな気がしてきました。
そして、3/1の他の登壇者の方の発表を聞いたり懇親会でいろんな方とお話しているうちに RubyKaigi に参加したい熱が一気に高まり、3/1のイベントの数日後には RubyKaigi のチケットを購入していました。
休みを取って RubyKaigi に参加することを快諾してくれた同僚に感謝です。

連鎖していく KaigiEffect

去年の秋に、Kaigi on Rails に参加してエンパワメントされて、LT に初挑戦してみようと決意しました。

Kaigi on Rails の事後勉強会に参加して新たに知り合った方がいて
Kaigi on Rails の KaigiEffect で地域.rbに参加したいという思いが募ってしんめ.rb に初参加して
TokyoWomen.rb で初めてプロポーザルを出して、初めて登壇することになり
発表内容を調べていくうちに、より Ruby のしくみに興味が出てきて
RubyKaigi への参加を決意しました。

KaigiEffect がいい感じに連鎖してつながってきています。

好奇心や興味の向くままに、KaigiEffect を連鎖させていきたいです。

やりたくなったこと

今回の RubyKaigi 参加でやりたくなったことがたくさん出てきました。

TRICK

TRICK のコード書いてみることにチャレンジしてみたいです。すごいむずかしそうだけど! この本、読みます。

Ruby で音を出す

今回の RubyKaigi は、音やゲームの話が多かったです。Ruby で音出してみるのたのしそうだったのでやってみたいです。

文字コードをもっと知る

ima1izumi さんの Keynote を聞いて、文字コードおもしろい!と思ったので、文字コードと仲良くなりたいです。
2年前くらいに、問い合わせ対応で結合文字が出てきたことがあって興味が出ていたのですが、そのままになってました。掘り下げてみたいです。

しんめ.rb、地域.rb に継続的に参加したい

しんめ.rb のランチ会に参加させていただいて、継続的に参加したいと思いました。直接みなさんに会えたことがうれしかったです!
地域.rb にも参加していきたいです。

来年の RubyKaigi は

来年は北海道、函館開催だそうです!開催期間は、2026/04/24〜04/26 の3日間。 絶対行きたい・・・!

また来年、函館でお会いできたらうれしいです。

KaigiEffect Days がはじまったばかり。たくさん受けた RubyKaigi の熱気をそのままに日々やっていきたいです。
好奇心をくすぐられたことを深掘りしながら、たのしんでいきたいです。




以上の内容はhttps://hibinokoto.hatenadiary.jp/entry/2025/04/25/000643より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14