はじめに
ハイサイ! 楽天ラクマでサーバーサイドエンジニアをしているなななと申します! 今年でエンジニア生活3年目です!
今回、人生初のRubyKaigiに参加してきました!(沖縄!)
本記事では実際に参加したセッションをいくつかピックアップして振り返りをしていきたいと思います。(何か間違いがあれば是非教えていただけると)
↑那覇空港にも案内がありました!うれしい!!
いくつかセッションをピックアップ
An adventure of Happy Eyeballs
スライド: https://speakerdeck.com/coe401_/an-adventure-of-happy-eyeballs
Happy Eyeballs Version2(HEv2)とは、DNSの名前解決においてIPv4, IPv6に対し並列に問い合わせを行い、早く名前解決できた方で接続を確立する、というアルゴリズムです。
RFC 8305で定義されています。
これをRubyのsocketライブラリに実装されたという内容でした。
HEv2では各状態によって指定時間の待ちが発生したり、ソケットの状態を考慮したりと、実装の際に考慮することが多いですがこれをステートマシンを用いて実装されたとのことでした。 今回のSocketライブラリの実装はRuby3.4に取り込まれる予定だそうです。
デモではIPv6のアドレスの名前解決に時間がかかる(sleepした場合)でも、無事に接続を確立することができていました!
実際の発表ではより詳細に実装について説明があり、ステートマシンを用いて複雑な仕様を実装に落とし込むところがとても勉強になりました。
Leveraging Falcon and Rails for Real-Time Interactivity
pumaの代わりにsocketry/falconとsocketry/liveを用いて、railsと組み合わせてインタラクティブなゲームを作るといった発表でした。
socketry/liveとsocketry/live-jsがwebsocketで通信を行いブラウザにレンダリングするそうです。
またサーバー側でゲームロジックを実装してhtmlをクライアントに返すアーキテクチャでした。
発表ではflappy-birdが題材でしたが、実装もシンプルでとても理解しやすかったです。
デモではmatzが壇上に上がり実際にプレイしていました。とても会場も盛り上がっていました!
RubyGems on ruby.wasm
スライド: https://speakerdeck.com/kateinoigakukun/rubygems-on-ruby-dot-wasm
ruby.wasm作者の方の発表でした!このほかにも3つほどwasm関連の発表がありました。
- https://rubykaigi.org/2024/presentations/udzura.html#day2
- https://rubykaigi.org/2024/presentations/remore.html#day3
- https://rubykaigi.org/2024/presentations/ledsun.html#day3
ruby.wasmでRubyGemsのインストールの方法は以下の2つあるそうです。
- On-the-fly installation -> ランタイムにgemのインストールを行う。なのでランタイムにfetch APIの外部アクセスが飛ぶ
- Pre-installation -> ビルド時にgemのインストールを行う。なのでランタイムに外部アクセスしなくてよい
On-the-fly installationではできなかったC-Extensiton Gemのインストールを、Pre-installationで近日中にできるようになるそうです!
技術的にはcomponent-modelをruby.wasmにも導入することで上記を実現したようです。
component-modelはAOT dynamic linkingという手法を用いて動的リンキングを実現しているようです。
最新のwasm関技術を取り入れていることにとても感動しました
将来的にはPR上でステージング環境を生やすことができるかも?という話もありました。
デモではmastodonを実際にブラウザで動かすことに成功していました!会場もかなり盛り上がりました!!
さいごに
初めてのRubyKaigiでしたが、雰囲気含めとても楽しかったです!
day3のRubyコミッターたちの座談会(?)は、Rubyの今後についてフランクに話し合う感じで、Rubyの雰囲気が出ててとてもおもしろかったです!
心残りがあるとすれば、parserの話などは正直わからなかったのが悔しかったです
もっとCSの予習してから参加すればより楽しめたのかな〜と思いました。来年までに本読むぞ~~
After partyは他の会社のRubyistたちと話すことができてとても楽しかったです!
ハブ酒などもいただき沖縄を最後まで満喫することができました!
会場でも配られましたが美味しかったので空き時間に買って食べました!
塩ちんすこう味が特に美味しかったです!