🧑‍🧑‍🧒‍🧒

2年ぶりRubyKaigi2025 感想

に公開

山のちエンジニアリング、ところによりクラブ。å nn åです。ほぼ山ばっか行っていない?とよく言われます。実際そうかもしれません。今回は自己紹介文通りのことを全部やりました。

津→松本と参加して沖縄は参加していませんでしたが、今回は参加しました!実に2年ぶり。行くことを決めてから当日が来るまでは長かったのに、会期中の3日間とプラスアルファの愛媛で過ごした2日間は驚くほどあっという間でした。

iCARE からフリー株式会社に転職してから RubyKaigi に来たのは初だった事に途中で気付きました。途中 Kaigi on Rails に参加していたのでごっちゃになっていました。

フリーに転職し、そして今はプロダクトリーダーになりました。(エンジニアではあるのですが)ドメインや仕様や全体設計のことを考えている機会が増え、技術そのものの事を考える機会は減っていました。だからガッツリ技術に触れる機会はエンジニアとしての感情を思い出させてくれてとても楽しかったし、スポンサーブースへの見方が「どんな技術を使っているんだろう?」から「どんなプロダクトを作っているんだろう?」に変わっている事に気付きました。2年も間が空けば変わっていくものですね。

久しぶりにお会いする方ばかりでしたが皆さん私の事を覚えてくれていて、たくさんお話しできて嬉しかったです。iCARE時代のメンバーにも会えて同窓会のようでした。1人1人ともっとたくさん話したいと考えていると全然時間が足りなくて、後で話そうと思っていて結局話せていない方もたくさんいます。今年は Ruby コミュニティへの参加を増やそうと思っているので、改めて話させてください!

それから今回は愛媛県という事で、西日本最高峰の石鎚山へ登っていきました。まだ半分以上雪が残っていて難しいコンディションではあったのですが無事登頂することが出来ました。

そんな参加レポになります。

会場

セッション編

いくつか見た中から印象に残ったものをピックします。

Ruby Taught Me About Encoding Under the Hood

keynote である ima1zumi さんといえば文字コード。文字エンコーディングの歴史から始まり、Ruby の Unicode のバージョンを更新するに至るまでの話。全体的にユーモアに溢れていて人を引き寄せるセッションだった。🧑‍🧑‍🧒の絵文字の深みや、インドの文字列のクタッ(出せない..)が文字としては分裂して扱われる事など、日常に近くて面白かった。

そして私のXアカウント名である「å nn å」も combining characters なんだろうなとか思いながら見ていた。

irb(main):018:0> "å".unicode_normalize(:nfd).codepoints.map { |cp| "U+%04X" % cp }
=> ["U+0061", "U+030A"]
irb(main):019:0> "a".unicode_normalize(:nfd).codepoints.map { |cp| "U+%04X" % cp }
=> ["U+0061"]

あとめちゃくちゃ余談ですが slack で投稿すると🧑‍🧑‍🧒‍🧒が PC からは分裂したりスマホからは分裂しなかったりする事を発見しました。

slackでの家族絵文字の変換

https://speakerdeck.com/ima1zumi/ruby-taught-me-about-under-the-hood

Introducing Type Guard to Steep

rbs-inlineの話。普段 sorbet を使っていますが、rbs-inline のが読みやすいですね。Steepに新たに導入される present? のtype guard の紹介。また独自のクラスに対してもアノテーションを指定することで定義することも可能とのこと。個人開発で試してみたい。

https://docs.google.com/presentation/d/1VpFDEG0ZOghhvAYlTrthzD9QdlXbCbSn9MUd2FCGGC4/edit#slide=id.p2

Automatically generating types by running tests

rbs-traceの話。設定を追加して test を実行すると自動で型を挿入してくれる。TDDができていると型宣言が捗りそう。

https://speakerdeck.com/sinsoku/automatically-generating-types-by-running-tests

dRuby on Browser Again!

お二人でのセッションで、druby 及び cruby をブラウザで動かせるようにするというもの。本来サーバーからクライアントを呼び出すが、コールバックの仕組みを使ってクライアントからサーバーを呼び出す仕組みに変わるというのが驚きだった。プロトコル周りは前提の知識をあまり持っていないので難しかったが分かりやすいセッションで、勉強がてら実際に試したいと思った。

https://slide.youchan-apps.net/

TRICK 2025: Episode I

いつものプログラミングを使った楽しいやつ。いつも動きがあるものが多かったが、音を作っていたのが特に面白かった。

Performance Bugs and Low-level Ruby Observability APIs

Datadogのエンジニアによるlowlevel-toolkitの話。NEWOBJ, GC_START などのツールが存在していて、オブジェクトの生成やGCのタイミングなどについてより詳細に計測できるもの。英語のセッションなので理解に限界があったがとりあえずやってみたい。

https://docs.google.com/presentation/d/1lDnxFkc4URsi0LP4w1M5IXv5A02AG_HUy3gW_SpEWOA/edit#slide=id.g34edb417dc3_0_1471

Speeding up Class#new

ruby で開発してたら誰しもが使う new の内部構造と修正の話。new の内部で引数変換をするのに C を跨ぐので、ruby→c→ruby の変換タイミングで速度が遅くなるので改善しようというもの。initializeがprivateメソッドなどで紆余曲折あり、最終的にどうやって処理させたかは理解ができなかったのだが、めっちゃ早くなったことだけはわかった。スタックトレースからclass#newが消えるらしい。スライドが見つけられなかった。

Making TCPSocket.new "Happy"!

IPv6→IPv4への切り替えに時間がかかるため、名前解決を同時に行い先に解決できた方を実行する、というセッションを沖縄でSocket.tcpに対して有効化した話から始まり、Cの TCPSocket.newにも適用させようとした話。情報量の渦すぎて詳細は理解はできなかったが長い格闘の末速度改善したことが理解できた。スライドが見つけられず..。

Matz Keynote

Matzさんの登場の仕方が面白かった。

RubyKaigi ではほぼ AI の話題が出ていない中で、AI 時代でどうプログラミング言語と向き合うか?という話だった。AIがコーディングが得意という時に、人間がコーディングを諦めてAIが苦手な仕様を模索することをしてしまうと、それはAIが求めている訳でもないにも関わらずAIのしもべに自分自身でなりにいってしまう、逆アルファシンドロームが起こってしまう。生産性という意味には2つあって、「人間が楽をする」と「儲かるかどうか」のどちらか。会社にいるとどうしても後者の話になってしまいがちで、儲けるためだけなら人間を切った方が安上がりだがその未来では楽しく無くなってしまう。何をAIにやらせるか?は人間が選択していくべきだ。という内容が前半の話。

私はAIの登場によって自分は設計者になろうとどこか思っていた部分がある。たぶんそれは自分が好きな人がいた時にもっと相性が良さそうな人が居たら譲っちゃう、みたいな感じに似ているなーと思った。AIの登場による仕事が失われるのでは?という不安を持っていたからめちゃくちゃ刺さってしまった。この Matz の話を糧に改めてプログラミングと向き合っていきたいなぁと思った。

イベント・お店編

いろいろイベントに参加したけど過去3回の中で一番二日酔いがマシな RubyKaigi でした。笑

day1 オフィシャルパーティ

今年の会場は野外だった。朝に松山城の麓をランニングしていたらビアガーデンみたいな設備があり、なんだろうと思っていたらそこだった。鯛を筆頭に様々な名産品をいただけて美味しかった。後々知るがこの会場で実施するのにはいろいろと壁があり大変だったらしい。ローカルオーガナイザーのsylph01さんに感謝。

day2 の freee drink up

ご参加いただきありがとうございました!たぶん満員御礼。クイズは盛り上がっていたし freee に興味を持ってくれている人がたくさん居て、いろんな人と話してとても楽しかった。それから懐かしい人も何人か参加してくれていて、他の会社のプロダクトを詳しく知ることもできた。

freee drinkup
freee drinkup

day3 ESM さんの drink up

座敷スタイル。女性でRuby経験のない方と出会うとRails Girls関連の方が多く、影響力をひしひしと感じる。料理はとても美味しくてボリューミーだった。移動していたからか手をつけられてない料理が勿体無くて食べたくなっていたのはここだけの話。日本酒美味しかった!

esmでの写真

RubyMusicMixin

毎年恒例の最終日の音楽イベント。hachiさんがDJする時間まではいよう!と思っていろんな人と話したり踊ったりしていたら一瞬で時が経っていた。久しぶりにクラブイベントに来たけど楽しいものですな。

hachi dj

DD4D

松山のクラフトビールのお店。店内に服が飾っておりとてもおしゃれ。ビールは飲みやすくて私好みだった。お土産に持ち帰りたかったがクラフトビールは常温が難しいのでなかなか...。また次来たらお邪魔したい。

dd4d

spotcoffeestand

ホテルの近くにあったカフェ。とにかく軽食のマフィンやケーキが美味しかった。ほぼ毎日通っていた。また松山に来たら絶対来たい場所。朝いくとRubyistっぽい人が必ずいた。

coffee

みかん

会場でおやつで提供されていたみかんは特別な愛媛の品種だった。めちゃくちゃ美味しかった。

https://x.com/s01/status/1913588080222896432

観光

道後温泉。いい風呂だった。2Fがよく混雑しているところだったっぽい。2Fへはいかず。

道後温泉

しまなみ海道が見える来島海峡展望館へ。いつか自転車持ってきて走りたいなぁ。今治タオルの今治市である事にここで気づいた。

しまなみ海道

石鎚山登山

西日本最高峰で愛媛の百名山である石鎚山は登っておきたかった。今年は雪が多かったのでログを見るとまだまだ雪が残っていたため、雪山想定でいろいろ持ってきた。数日前に滑落事故もあった事もあり、雪山経験のない人は連れて行けない...と思って誰も誘わなかった。もし雪が残っていなかったら誰か誘いたかった。ちなみに来年の函館ですが北海道はより雪があるので誰も誘えません。笑 何するか迷い中だけど羊蹄山BCを狙っています。

https://x.com/ae__B_/status/1913739525324693874

RubyKaigi 初参加メンバーと

今回はfreeeから何人か RubyKaigi 初参加のメンバーがいた。また来年も来たい!ヘルパーやりたい!と言っているメンバーもいて、このRubyKaigiの楽しさを知ってもらえた事が本当に嬉しかった。函館では私ももう一度ヘルパーやりたいなぁ。

freee3人組

動画作りました

いろんな人にGoProだ!って言われたけどInsta360のAceProです。GoProよりもバッテリーの性能が高く使いやすくて本当にオススメです。今回は写真OK・NGがネックストラップでわかったので本当に撮影がしやすくてありがたかった。

https://x.com/ae__B_/status/1914324343469035597

最後に

コロナ明けの津からRubyKaigiに参加している私からすると毎年参加者が増えている印象で、運営はものすごく大変なんだろうなと感じる。
今年もありがとうございました!!!お疲れ様でした!!!

organizers

Discussion