はじめに
こんにちは、ゲームサービス事業本部開発運営統括部第三技術部サーバーグループ所属の Kawaguchi です。
4/22(水) ~ 4/24(金)に函館で RubyKaigi2026 が開催されました。
DeNA からエンジニア3人と内定者1人の計4人で参加してきました。私自身、今回がRubyKaigiへの初参加でした。この記事ではセッションやブースについて取り上げます。
RubyKaigi とは
RubyKaigi とは、毎年開催されている Ruby の国際カンファレンスです。
世界最大規模のRuby開発者の集まりであり、世界中のRubyistが参加するイベントです。
そのため、RubyKaigi の公用語は英語となっており、オープニングやクロージングは英語で行われます。なお、講演は日本語と英語の半々くらいです。
DeNAはゴールドスポンサーとして協賛しました。
セッション
The Journey of Box Building
https://rubykaigi.org/2026/presentations/tagomoris.html
Ruby4.0.0 から追加された RubyBox についてのセッションです。RubyKaigi 初日の基調講演でした。
従来のRubyでは、クラスやモジュールがプロセス全体で共有されるため、既存のクラスの拡張や上書き(モンキーパッチ)を行うと、他のアプリケーションやライブラリにも意図せず影響を与えてしまう場合があります。
RubyBoxは、グローバルとは別に隔離された空間を作ることができる機能です。この機能を使うことで、Mockやモンキーパッチを適用したテストを副作用なく実現できたり、異なるライブラリバージョンを使用する複数アプリの同居ができたりします。
セッションの最後には、RubyBox誕生のエモい話もあり、RubyKaigi 最初のセッションにぴったりな内容でした。
Surviving Black Friday: 329 billion requests with Falcon!
https://rubykaigi.org/2026/presentations/ioquatix.html
ブラックフライデーにおけるピーク時秒間142万、総計3290億リクエストという膨大なアクセスを捌いた際の取り組みについてのセッションでした。私が所属している部署でも大量リクエストが飛んでくる場合があり、他社ではどのように解決しているか気になったため、参加しました。
膨大なアクセスを捌くために、Webサーバーを「Unicorn」から「Falcon」へ全面移行する際の技術的な解説から、直面した課題とそれをどう乗り越えたのかについて説明されていました。
Unicornだと、「1リクエスト = 1プロセス」であるため、I/O待ちになるとプロセスがブロックされ、CPU稼働率が上がりきらないという弱点があります。Falconは、「Fiber」を利用するため、1つのプロセス内で複数のリクエストを同時に処理することができます。また、IO待ちになった場合、ワーカーは別のリクエスト処理に切り替えることができます。
移行前の負荷テストでは、Cライブラリ起因のセグフォや、パイプ通信のシグナル割り込みによる「アラートの鳴らないワーカーの死」など、高負荷時特有の難解なバグに直面しました。しかし、これらをOSや低レイヤーのレベルから特定・修正し、本番ではレスポンスタイムの悪化を防ぎ、極度の高負荷下でも安定稼働を実現したとのことです。
全部を理解できたわけではないですが、Falconという選択肢は自分の中で持っておきたいと思いました。
A Faster FFI
https://rubykaigi.org/2026/presentations/tenderlove.html
以前、業務でC言語のライブラリをRubyから呼び出すためにFFIを利用した経験があり、個人的に気になっていたセッションでした。
そもそもFFIとは、ある言語から別の言語(C言語など)を呼び出すための仕組みです。私自身、これまでRubyでしかFFIに触れたことがなく、「Ruby特有の機能なのかな」とぼんやり捉えていました。しかし、セッションの中で「FFIは概念である」と語られており、特定の言語に限った話ではなく、プログラミング全般における普遍的な仕組みであると新たな気づきを得ました。
セッションでは、これまでのFFIは、C拡張に比べて言語間をまたぐ際の変換オーバーヘッドがあるため、実行速度で劣るのがネックとされてきました。しかし、本セッションでは「YJITと組み合わせることでそのオーバーヘッドを解消し、FFIを大幅に高速化できる」という画期的なアプローチが示されました。
これまでは「FFIを使えばRubyからCのライブラリを呼び出せる」という程度の認識でしたが、今回のセッションを通じてC拡張という従来の手法や、YJITによる最適化といったパフォーマンス向上の具体的な手段について理解を深めることができました。
Pure Ruby Apache Arrow reader/writer
https://rubykaigi.org/2026/presentations/ktou
Apache ArrowのライブラリをPure Rubyで作ったというセッションでした。これまで「Apache Arrow」という技術を知らなかったため、どのような技術なのか興味を惹かれて参加しました。
Apache Arrowとは、特定のプログラミング言語に依存しないメモリフォーマットと、そのメモリに対して読み書きを行うライブラリのことです。フォーマットが標準化されているため、異なる言語間でもシームレスにデータのやり取りが可能になります。また、データをインメモリで扱うため処理速度が非常に速く、列指向(カラムナフォーマット)を採用していることから、特にデータ解析の分野で強いという特徴を持っています。
セッションは、Apache Arrowを読み書きするためのライブラリを「Pure Ruby」で実装したという内容でした。この実装では「ゼロコピー」を徹底することで、新規のメモリ確保やデータのコピー、フォーマット変換といったオーバーヘッドをなくし、高い処理速度を実現しているようです。実際のパフォーマンス測定においても、そこそこの速さで動作しているのではないかと思いました。
私自身このセッションで初めてApache Arrowというものを知り、メモリのフォーマットを統一すれば、異なる言語間でもデータをやりとりできるというアイデアがすごく面白いと思いました。
ブース
JetBrains
JetBrains さんのブースでは、AIエージェントへの少ない指示回数で、テストコードからRubyのコードを実装させるチャレンジが行われていました。
DeNAのメンバーの1人がこれに挑戦し、なんと上位入賞して製品のライセンス1年分をゲットしていました!すごい!!!
Gaji-Labo
Gaji-Labo さんは、RubyKaigi2026 のメインビジュアルデザインを担当されています。
ブースでは、輪投げが展示されていました。輪投げの各ピンには「もっとこんなふうに開発を進めたい!」という、開発現場のリアルな願い(課題)が記されていました。見事ピンに輪を通すことができれば、実際のチーム開発でもその課題が解消されるという、エンジニア心をくすぐる面白い設定となっていました。
私はこれに挑戦し、チームが抱えている問題を狙ってみましたが、外してしまったので今後も向き合う必要がありそうです。(泣)
SmartBank
今回のRubyKaigiでは、SmartBankさんのブースでPicoRubyのワークショップが開催されていました。ソフトウェアのカンファレンスでこうしたマイコンを触る企画があることに驚きましたが、ちょうど自分自身もマイコンを始めようとしていたため、非常にタイムリーでした。
非常に人気の高いワークショップで競争率も高かったのですが、開場と同時に整理券の列に並んだ甲斐もあり、なんとか滑り込むことができました。
このワークショップでは、Board43というマイコンに搭載された16×16のLEDに画像を表示させるという内容でした。ちなみにBoard43には以下の機能が搭載されており、いろいろ遊ぶことができそうです!
- 16×16のLED
- 4つのプッシュボタン
- モーションセンサ・温度センサ
- パッシブブザー
開発環境はWebブラウザ上に用意されており、マイコンのソースコードを記述できるほか、画像のアップロードや画像に動きをつけることがボタンひとつでできるようになっており、直感的に操作することができました。PCとマイコンをUSBで接続し、マイコンにプログラムを送り込むことでLEDを光らせることができました!
マイコンの制御と聞くとよくC言語を思い浮かべるのですが、「Rubyでマイコンも動かせる」というRubyistのギークさを垣間見た気がして、面白い体験でした。
技術書の販売コーナー
会場の物販コーナーでは、Rubyや関連技術の専門書、さらには登壇者が執筆した書籍などが多数販売されていました。タイミングが良ければ、購入した本に登壇者本人から直接サインをもらえるチャンスもあったようです!
そんな数ある書籍の中で私の目を引いたのが、「CRuby Quest 〜Rubyのぼうけんのしょ〜」というRubyKaigi初心者向けの1冊でした。これは、あらゆるセッションで頻繁に登場する「CRuby」について、まるで冒険を進めるかのように楽しく内部構造を読み解きながら学べる本です。RubyKaigiに初めて参加する自分にとってはまさに打ってつけの内容だったため、迷わず即購入しました。
函館観光
函館に到着した夜にみんなで行ったお店です!
海鮮はどれも新鮮で魚介が苦手な私でも食べることができました!
チームJOIN時から面倒を見てくれている先輩と2人で行ったお店です。
ラム肉に臭みがなく大変美味しかったです!
(先輩がご馳走してくださいました。)
ちゃんと星の形になっていました!
4月下旬の五稜郭は桜が満開でめっちゃ綺麗でした!
かなり冷えましたが、最高の景色でした!
最後に
私はまだまだRubyの知識が浅いため、内容をすべて理解するのはなかなか難しかったです。また、英語もそこまで得意ではないため、言語の壁も相まって内容を追うのに苦労する場面もありました。しかし、Shopifyのブラックフライデーに関するセッションなど、今後の業務に活かせるかもしれない実践的な知識を得られたことは、私にとって非常に大きな学びとなりました。
会場では様々な企業がブースを出展しており、そこには想像以上の熱気がありました。単なる自社の紹介にとどまらず、ゲームやクイズを用意しているところや、飲食の提供、さらにはハンズオンを実施しているところまであり、どのブースも非常に個性的でした。また、各所でノベルティも配られていたのですが、もらいすぎてカバンに入りきらなくなってしまい、結局自宅へ郵送したほどです。
4月下旬の函館は少し肌寒い気候でしたが、ちょうど桜が満開で大変綺麗でしたし、何よりご飯が美味しくて最高でした!
今後のRubyKaigiをより一層楽しめるように、日々の業務や学習を通じて、技術力と英語力の両方をしっかりと高めていきたいと思います。
最後まで読んでいただき、ありがとうございます!
この記事をシェアしていただける方はこちらからお願いします。