GopherからみたRubyKaigi 【学生支援 by pixiv】

# はじめに
どうもKizukuです。
今回は[pixiv](https://www.pixiv.net/)様の学生支援を受けて[RubyKaigi2024](https://rubykaigi.org/2024/)に参加してきたので、その内容について記事にしたいと思います。
僕は普段Goを書いており、Rubyに関しては初心者であるため、RubyKaigiの詳しいセッションの内容や発展的な感想等は含まれません。あらかじめご了承ください。

今回の僕のRubyKaigiに参加する目的はこちら
- Rubyistとのつながりを作る
    - 僕は今まで様々なカンファレンスやイベントに参加してきましたが、Ruby関連のイベントにはほとんど参加したことがなくRubyistとのつながりがほとんどなかったため、RubyKaigi本編やアフターイベントなどを通じて様々な方と繋がれたらいいなと思いました
- OSS活動をしている方のセッションやお話を聞いて熱量を知る
    - RubyKaigiはRubyを"使う"人ではなく、Rubyを"作る"人のカンファレンスで、Rubyそのものや関連ライブラリを作ってる人が多く登壇されるとのことだったのでそのような方の溢れる熱量を感じたいと思いました

# 参加記
## Day0 5/14
この日は、まだRubyKaigi本編は始まっていませんが、[スポンサー企業のナイトクルーズ](https://esminc.doorkeeper.jp/events/171826)があり、僕にとっては初めてのRubyistのイベント。
初めは知ってる人が誰もおらず緊張していましたが、ウェルカムドリンクでオリオンビールをいただいたので、それを片手にRubyistに突撃！
無事にぼっちになることなく、乗船前から色々な方とお話しすることができました。
乗船後は、僕が以前pixivのインターンに行かせていただいた時にお世話になったpixiv社員の方とも再会することができ様々なRubyistの方を紹介していただきました。

![IMG_6951.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2641365/e162bc17-01b7-9848-6f35-f11afc5f56e7.jpeg)


## Day1 5/15
いよいよRubyKaigi2024の本編開始！
入口ではRubyKaigiの看板がお出迎え！期待が高まります！
![IMG_6959 2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2641365/b109a368-3523-f20c-092a-1de36c345273.jpeg)

幕開けとなるキーノートは、["Writing Weird Code"](https://rubykaigi.org/2024/presentations/tompng.html#day1)。

https://drive.google.com/file/d/1Dkx15u_5UAGoFqJHCeAuj2FXS-z_U7EE/view

Rubyを用いて様々な”奇妙な”コードを書くというセッションでした。Quineの存在自体は知っていたものの、こんなにテクニカルで奥深いことができるとは知りませんでした。そのほかにも、画像をRubyのファイルとして実行することでアニメーションを動かしたり、Webでの表現があったりと想像もつかないような奇妙なコードばかりでRuby初心者でも楽しめました！
オープニングに相応しいキーノートだったのではないかなと思います。

この日僕がみたセッションで特に面白いなぁと思ったのはこの2つ
- [The grand strategy of Ruby Parser](https://rubykaigi.org/2024/presentations/spikeolaf.html#day1)
    - Rubyの新しいパーサーLramaに関するセッション。言語処理系については特段詳しいわけではないですが、大学の授業等で少し触れたことはあったので、なんとなーく、内容を理解したようなしてないような気持ちになりながら発表を聞いていました
    - なんといっても、スピーカー方が本当に楽しそうに発表されてたのが、印象に残りました。このRubyに対する熱量を肌で感じられただけでもRubyKaigiに来てよかったなぁという気持ちになりました

https://speakerdeck.com/yui_knk/the-grand-strategy-of-ruby-parser



- [Cross-platform mruby on Sega Dreamcast and Nintendo Wii](https://rubykaigi.org/2024/presentations/yujiyokoo.html#day1)
    - 僕の部活の顧問がmrubyの開発者なので、その存在や界隈があることは認知していたものの...ゲーム機？？？となりました
    - 組み込みには前々から手を出したいと考えていたので、mrubyで開発を始めてみるか？という気持ちになりながら、発表を聞いていました


## Day2 5/16
この日からスポンサーブースのスタンプラリーがスタート
色々なスポンサー企業のブースを巡り、スタンプやノベルティを集めつつ、エンジニアの方のお話が聞けて楽しかったです。Rubyに関するクイズを出している企業もいくつかあり、挑戦してみたものの結果は惨敗。もっとちゃんとRubyを勉強してリベンジしたいなと思いました。

会期中は毎日おやつがあり、休憩がてら沖縄のフルーツやアイス、杏仁豆腐などを楽しめました！
(ドラゴンフルーツを初めて食べたので外側の赤い部分も食べられると思って、食べてしまったのは内緒。他の参加者の人の様子を見て後から気がつきました...)
![IMG_6965.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2641365/fdae986e-23be-65d4-18a2-0436c457e995.jpeg)


この日僕がみたセッションで特に面白いなぁと思ったのはこちら
- [Does Ruby Parser dream of highly expressive grammar?](https://rubykaigi.org/2024/presentations/ydah_.html#day2)
    - Rubyの柔軟な文法をサポートするための、パーサーの文法の柔軟性に関するセッション
    - 言語を"使う"ことはあっても、"作る"ことは今までに経験がないので、どういう文法だと保守しやすく書き味のいい文法になるのかという言語・パーサー制作のモチベーションを知ることのできるいいセッションだったなぁと思います

https://speakerdeck.com/ydah/does-ruby-parser-dream-of-highly-expressive-grammar

## Day3 5/17

この日僕がみたセッションで特に面白いなぁと思ったのはこちら
- [Make Your Own Regex Engine!](https://rubykaigi.org/2024/presentations/makenowjust.html#day3)
    - 正規表現エンジンのセッション
    - セッションを聞きながら、面白くてつい興奮が抑えられずセッションであったRubyでの[`kantan-regex`](https://makenowjust.github.io/kantan-regex-book/)の実装を参考にしながらGoで作ってみてました。セッション終わりまでには間に合いませんでしたが、とても楽しめました！

https://speakerdeck.com/makenowjust/rubykaigi-2024-make-your-own-regex-engine

RubyKaigiの最後にはMatzさんの[キーノート](https://rubykaigi.org/2024/presentations/yukihiro_matz.html#day3)
プレゼンのうまさに引き込まれながら最後の1時間を楽しむことができました。
会期中にMatsさんと乾杯したり、お話ししたりする機会がありましたが、とても良い方で、この人がRuby作ってるならRuby使ってみようかなという、そんな気分になりました。

最後に来年の開催地の発表がありましたが、まさかの愛媛県松山市、地元開催！驚きです！

https://x.com/Kizuku_tech/status/1791391616936415480


RubyKaigiを締めくくるのは[Ruby Music Mixin](https://conference.pixiv.co.jp/2024/rubymusicmixin)！
![IMG_7017.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2641365/9c410299-a3b8-a270-c975-ffe6cadf7e98.jpeg)
疲れていたので、早々に帰ってしまいましたが、初めてのDJイベントを楽しむことができました

# おわりに
今回のRubyKaigiでは、当初の目的通り様々なRubyistとのコミュニケーションをとることができました。
本記事では省略させていただいたものの、会期中は毎晩スポンサー企業のドリンクアップに参加し、~~飲み明かしていました~~Rubyやエンジニアリングの話に花を咲かせていました。
また、技術的にも得るものは多く、Quineに挑戦してみたり(GoでQuineはできたもののそのコード自体をデザインとするのは難しくまだできていませんが...)、前述の通りGoで正規表現エンジンを書いてみたり、簡単にではあるもののパーサーを自作してみたり(手書きパーサーではなく、parser generatorを用いる方。使ったのは、BisonでもLramaでもなくYaccですが...)とRubyKaigiに来ていなかったら触れていなかったであろう技術で遊んでいます。
カンファレンスとしては、RubyKaigiは3日間開催と国内の技術系カンファレンスでも最大級に大きいカンファレンスで参加者も約1400人とGoのカンファレンスと比べると桁違いで驚きでした。Rubyのコミュニティに追いつけるようにGoのコミュニティも盛り上げていきたいなと思いました！

最後にはなりますが、RubyKaigiに参加するという貴重な経験のサポートをしてくださったpixivの皆様、本当にありがとうございました！学生のうちからこのような機会をいただけて本当に光栄に思います！いつか恩返しをしに現れるので、その時はまたよろしくお願いします！！