entry-header-eye-catch.html
entry-title-container.html

entry-header-author-info.html
Article by

レポート RubyKaigi 2024に参加してきました!

こんにちは、BOOTHチーム・エンジニアのkolukuです。

この度、5月15日(水)から17日(金)の3日間、沖縄県那覇市で開催されたRubyKaigi 2024にスポンサーとして参加してきました。その様子をレポートでお届けします。

RubyKaigiとは

RubyKaigiとは年に1回開催されるプログラミング言語のRubyに関するカンファレンスです。Rubyはピクシブの多くのプロダクトで使われています。 rubykaigi.org

多くの登壇者がRubyコミッターであり、Rubyに関する最新技術や今後の展望について議論するという点からコミッターの祭典という見方ができます。また、国外からも多くの参加者が来訪するため国際色豊かです。

Day0

最初の驚きといえばこちら。那覇空港に降り立った瞬間にRubyKaigiのポスターが出迎えてくれました。 那覇市内のいたる所でRubyKaigiのロゴやポスターが見られました。また面白いところでは、浴衣の帯にロゴをプリントして接客してくださったりと、まだ会期が始まっていないのに随所で盛り上がりが感じられました。

Day1

会場の入口付近では、RubyコードでRubyロゴがこんにちは。もしかしてこれは実行可能なコードなんですかね…?と考えながら会場に入ります。

11:00 Keynote

1日目のキーノートはtompngさんのWeird Codeの解説から始まり、大盛り上がりでした。

tompngさんの名前を何処かで聞いたことがある気がする人はRubyKaigi常連さんです。はい、2022年のRubyKaigiでTRICK(超絶技巧Rubyコードコンテスト)の優勝者さんでアクアリウムの作品を書かれた方ですね。

本人による奇妙なコード集の解説が聞けるということで、ワクワクしながら話を聞きました。 「画像が実は実行可能なコードだった」というMost Floralの発表では、このKeynoteで唯一、実装方法の予想を自分である程度できたことが個人的な満足ポイントです。過去に、画像に文字列を埋め込む動画をYouTubeで見たことがあり、「文字列の代わりに実行可能なバイナリでも置けそうな気がするなぁ」と思ったため、少し実装が異なりましたが予想を当てることができました。この際に自分が考えていた内容との違いを聞いて知ることで、Rubyの奥深さの理解がより進んで面白かったです。 www.youtube.com

そして、会場入口付近にあったコードはやはり動くコードでした。Most Freshの発表がまさにそれで、GItHub上にあるので実行してみるとRubyKaigiを宣伝するアニメーションが動きました。コードは4KBで、アイコン画像よりも小さいファイルサイズでここまで動かせるのはあまりにも軽すぎます。将来的に端末の性能が向上したらベジェ曲線だけでアニメーションを作り、それをRubyにエンコードして実行再生が可能な圧縮技術ができそうだと感じました。

他の発表も、「ミンサー織りをターミナル上で描画」 など、聞きながら大混乱です。解説を聞いて理解した気がしなくもない、でもやっぱりよくわからない…そんな不思議な体験でした。

14:50 Namespace, What and Why

speakerdeck.com

Namespaceとは何か、どういった意図で欲しいのか、どう実装したらうまく行きそうなのかを提案する話でした。

モジュラモノリス環境で開発したことはないので、実際にどういう困り事があるのか想像でしかないのですが、gemの異なるバージョンを開発したい・環境を切り分けたい・過去の開発資産を使いたいがUtilなど名前が重複してしまうなど起こり得るよなぁと考えた時に、Namespace欲しいよね、とイベント後に改めてスライドを見て思いました。(会場ではそこまで考えが及んでいませんでした)

個人的にはTypeScriptのimportのような見た目になると読みやすくて嬉しいなと思いつつも、Rubyは全てがオブジェクトの言語なので、メソッドで実装したほうがRubistに優しい気もしており、悩ましいですね…。

16:00 Exploring Reline: Enhancing Command Line Usability

speakerdeck.com

1日目のキーノートでも登場した、irbの見た目を変更したRelineの話です。

個人的にこの発表ではRelineについての関心というよりも、「えっ全然知らなかった」という意味で新鮮な内容が多かったです。

  • irbの裏側でカーソル操作etcがRelineで動いていることは実は知らなかった…
  • text = Reline.readline は便利そうなのでコマンドラインツールやバッチスクリプトで使っていきたい!
  • 10年以上bashを触ってきたのに .inputrc のこと知らなくて今回の発表で初めて知りました…

18:00 Official Party

RubyKaigi 2024 Official Partyは、RubyKaigi 2024会場から歩いて40分ほど歩いたところにある海沿いでのバーベキューでした。同じテーマの下、飲食をしながら大規模に他業種交流できるのはカンファレンスの醍醐味の一つだと思っているので、皆さんも是非参加しましょう!

Day2

10:20 Keynote

FalconとRailsを用いてゲームを動かす内容でした。

ゲームとRubyの相性について、かつてゲーム業界にいた自分としては面白みと、そして一つの可能性を感じました。

13:30 RubyGems on ruby.wasm

speakerdeck.com ついにGemがWASM上で動いちゃったよ、という驚きの発表です。

On-the-fly installation(WASMランタイムにgemのインストールを行う方式)とPre-installation(実行前にgemのインストールを行う方式)の違いについて紹介しつつ、Pre-installationで近い内にC拡張のGemも動かせるようになるというWASMの夢が広がる個人的にとてもインパクトがある発表でした。

Day3

10:10 Ruby Committers and the World

恒例のRubyコミッター同士の議論です。

rbs_inlineのコメント記法について好みはどちらか参加者に挙手してもらったり、async awaitをRubyに取り入れるのはどうかmatzに聞いたりなど刺激的な質問が飛び交いました。

コミッター同士のぶっちゃけトークなどを聞けて楽しかったです。

11:30 How to implement a RubyVM with PHP?

speakerdeck.com RubyVMがどう動いているのか、YARV(Yet Another RubyVM)をPHPで作るのかという話でした。

PHPに詳しくなくても己が好きな言語で実装できる気がしてくるあたり、RubyKaigi参加者をその気にさせてくれる良い発表でした。自分はRubyを始めて半年ほどで、Rubyについてあまり詳しくないため苦戦することが多々あるのですが、この発表を受けて、得意なGoで実装してRubyの気持ちを理解したいと思うようになりました。発表で登場した「DRY = Do Repeat Yaruki 」は名言なのでどこでも使っていきたいですね。

16:40 Matz Keynote

Rubyは遅い、いやいや遅い遅い言われていた昔と比べてプロダクトに使えるレベルで十分に早くなったよ、という前置きからスタート。

今後Rubyが発展していくためには・未来に向けて仮にRubyがSDGsに貢献していくには何を解決すべきなのかについてパフォーマンス(速度、計算資源、開発者体験)を良くしていきたいよねという内容でした。

Rubyに関わるものとして今後の進化を見守っていきたいと思いました。

RubyMusicMixin 2024

RubyKaigiの締めくくりと言えば?今年も開催しましたpixiv主催のDJイベント「RubyMusicMixin 2024」です!

今年は21時開場から朝4時まで2トラックで行う、実質14時間と異例の長さでしたが、最後まで人が尽きることがなく楽しんでいただけたようで良かったです。

Day 4-5

RubyKaigi翌日。せっかく沖縄に来たからには海に入りたい!のですが、天気にあまり恵まれなかったため水族館巡りをしました。

DMMかりゆし水族館は2階の海岸を再現した水槽や立って覗き込める水槽、1階のライティングでおしゃれさを演出するクラゲの展示など、ゆったりと楽しむ大人向けのスペースという感じで良かったです。

美ら海水族館は那覇市からバスで片道2時間半の場所にあるのですが、水族館以外にも施設がたくさんあるので丸1日掛けて楽しむにはうってつけの場所なので家族連れでいくのにおすすめできます。

締めくくり

今年もピクシブはスポンサーとしてブース出展しました。ブースでは「社内のやりとりの紹介」や「コードレビューで良く使う絵文字」のアンケートを行いましたが、3日間展示したパネルにはシールが敷き詰められ、枠に収まりきらずはみ出してしまうほどでした。ご回答頂いた皆様、大変ありがとうございました! RubyKaigiは内容が言語実装についてだったり、英語での発表も多いので聞くのも理解するのも難しいというのが、例年よく聞く感想です。個人的にはふんふんなるほどぉ?と感想を抱いて、来年になって「あっこれ去年聞いた気がする!」と、毎年聞くことでの面白みを感じるだけでも価値はあると思います。

では、また来年に愛媛松山でお会いしましょう!

koluku
2023年にピクシブ株式会社に入社。北海道生まれ、北海道育ち。暑さに弱く、寒さにも弱い。