Tabelog Tech Blog

食べログの開発者による技術ブログです

RubyKaigi 2024 参加レポート#2 イベント初心者が初挑戦!得られた見聞は何か?

こんにちは!食べログの飲食店システム開発部所属の南野です。

2023年から新卒として食べログで働いており、WEBエンジニアとして2年目になりました!
私は今月、那覇市で開催されたRubyKaigi 2024に参加してきました!

今回の記事ではRubyKaigi 2024イベント全体の紹介をしていきます。
また、その中で「イベント初心者がRubyKaigiに参加して得られるものが何であったか」
などを中心にお話をしていきます。

参加モチベーション

私は普段予約機能のバックエンドを担当しRubyでの開発業務を行っています。
開発中に、ふと自社の開発環境を一般から見たときに標準なのか疑問を抱くことがあります。
それは私が新卒でこの会社に入社しており、他の環境と比較したことがないためです。
そこで、環境や考え方にどのような多様性があるのかを知りたい目的で参加を決意しました。

RubyKaigi 2024イベントはどんな様子だったか

まずは参加者に目を向けてみましょう。 世界地図に参加者の出身地を記載するボードが設置されていました。
出身地の地図 たくさんの参加者が付箋を貼っていますね。 参加者の多さはまさに、サービス開発においてRubyのアクティブ率が高いことを物語っていると言えるでしょう。
Rubyはまつもとゆきひろ (Matz) 氏が開発した日本原産の言語ですが、海外の方々にも多く使用されていることがわかります。
地球の真裏に当たるブラジルからも参加しているとは驚きですね!

また、協賛スポンサーに関しても目を見張るものがあります。
協賛スポンサー 本イベントはRubyの最新の技術や将来について議論する場としては世界最大で、多くのRuby関係者が集まります。
それゆえRubyに関して期待する声などを多く耳にします。

協賛スポンサーの中から出店していたブースを回って景品を手に入れようというスタンプラリーイベントも開催されていました。
私もスポンサーブースを回って様々なスポンサーの方々のお話を聞かせていただきました。
スタンプラリー

続いて協賛スポンサーの中から出店していたブースをいくつか紹介していきます。

出店ブースの紹介

ブース紹介1:Money Forward

Money_Forward お金・資産管理の家計簿アプリでお馴染みMoney Forwardさんのブースです。
推し活うちわの作成ができるブースでした。
こちらで印象深かったのはレビューや開発で使える英語フレーズの紹介パンフレットでした。
Money_Forwardフレーズ集 Money Forwardさんでは近年、外国人の雇用に積極的なようで英語でのコミュニケーションが必須となりつつあるそうです。
今回のRubyKaigi2024にも英語のセッションで英語力がもっと必要だと痛感するシーンがありました。

英語...

あまり得意とは言えませんが、Money Forwardさんを見習って挑戦するべきですね!

ブース紹介2:Flatt Security

Flatt_Security こちらはセキュリティーサービスを展開されているFlatt Securityさんのブースです。
yamlパース占いという企画をされていました。
Elixir, PHP, Ruby, Javaでパースした結果が示されており、どれがRubyのパース結果でしょうといったクイズ企画でした。
初心者の身からすると、そもそも各言語のパーサー設計によって結果がこんなにまちまちになること自体が驚きです。
パーサーに関してより身近に感じられて、Rubyのコア部分に触れる第一歩としては素晴らしい企画でした。

食べログブースに関しては後日別記事にて紹介させていただくのでそちらをご覧ください。

気になったセッション

Writing Weird Code

Writing Weird Code こちらはtomoya ishida さん(@tompng) の Keynoteの発表でした。

内容としては初め、Rubyの記法を用いた奇妙なコードを紹介していました。
同じ記号を繋げてもいくつまでならSyntax Errorにならないかといった面白い挑戦をしていました。
まずは、"%"(パーセント)に関して
以下のようなコードを考えていました。

%%%%%%%
%%%%%%%%%%%

結論から話すと、4n+3個繋げた"%"であれば実行可能なコードになると説明されていました。
"%"にはStringクラスの"%"と、%記法の"%"があり、これらを組み合わせて実行可能になるようです。

また、"."(ドット)に関しても

a.b<br />
a..b<br />
・
・
・
a......b<br />

と繋げていった場合に、6つ連続などは実行可能なコードになるそうです。
"."にもRangeオブジェクトを作成する1...10のような使い方とメソッド呼び出しなどの組み合わせで実行可能になります。

ただし、"."が4つ連続の場合は"."の役割の区切り方が以下のように複数通りできてしまうため、Syntax Errorと扱うようになっています。

a....b
↓
(a...).b
a..(..b)
(a..)..b

このように一見遊びのように見えるこのコードたちは、Rubyのコア部分のアップデートをする際には必要な観点になるそうです。
上記のこれらのコードは複数記法の組み合わせで生まれてきているため、記法を追加する時のパーサーの開発時に着眼すべき重要なポイントなんだと語っていました。

後半ではSelfTRICK2024を開催していました。
TRICKとは超絶技巧コードコンテストであり、そのコードの奇妙さを比べる競技です。
一作品をご紹介します。
Most_Fresh こちらはMost Freshな作品として紹介されているコードであり、会場外にルビーの形をしたコードの看板が飾られていました。
この作品はruby.wasm(web assembly)を利用した実装で、このコード自体が実行可能です。
これをHTMLとして開くとRubyKaigi2024をイメージした動画が再生されます。
Most_Fresh実行例 コード内でゴーヤやシークワーサーの形や色が定義され、表現されています。

こちらの作品以外にも今回紹介できなかった投稿作品も以下にまとめていただいていますのでお手元で実行してみてください。
https://github.com/tompng/selftrick2024/tree/main

コード自体にはデザインのために文字数を制限する様々な工夫が凝らされており、Rubyの自由なコーディングを象徴しているようでした。
また、コーディング自体に愉しみを見出している姿はまさに仕事を愉しむ姿勢と重なる部分に感じられ、新たなチャレンジへのやる気を奮い立たせてくれる非常に面白い講演でした。

他のセッションも面白かったので気になる方は前日投稿されているブログをご覧ください!

RubyKaigi 2024には沖縄独特のこんな楽しみも

セッションの間に休憩時間が設けられています。
この時間には企業ブースを回りながら食べられる軽食が出て来ました。
上間天ぷら Blue_Seal フルーツ盛り合わせ こちらは沖縄ご当地の食べ物たちです。
魚の天ぷら、沖縄に根ざしたアイスだったり、南国フルーツだったりと沖縄を満喫できるラインナップが揃っていました。

また、参加者には沖縄独特の風物をモチーフにしたかりゆしウェアがプレゼントされました。
かりゆしウェア 他にも3色のデザインのかりゆしウェアがあり、沖縄に似つかわしいカラフルな会場に彩られました。

Smart Bankさんのブースではドリンクサービスが行われていました。
ドリンク こちらでは沖縄では定番の炭酸飲料「ルートビア」も提供されていました。
独特の風味で沖縄気分を盛り上げてくれました。

オフラインカンファレンスのメリット

今回RubyKaigiに初参加した感想としては大きく3つの気づきがありました。

1つ目が知的好奇心の刺激です。
セッションの紹介で述べた通り、コーディングの愉しみ方であったり、最新のアップデートで可能になった事例の紹介であったりと様々なセッションがありました。
開発中では忙しくて触れられない未知の技術領域の刺激が多く得られる場所であることに間違いはないです。
自ら学ぶ姿勢を保つためには知的好奇心をくすぐり、チャレンジへのモチベーションを維持し続ける必要があります。
特に成長すべきスキルがまだまだ残っている若手エンジニアにとって、このような経験ができる機会は貴重だと思いました。

2つ目が他サービスの活動を知る機会です。
Rubyという同じ基盤で開発をしているため課題解決方法に関しては共感を得られる一方、その技術を金融DXやECサイト開設等々の他方向へと適用して社会貢献することを模索する企業が多く発見できました。
Rubyの技術力を使って、別のサービスの可能性を模索できるいい機会でした。
1つのサービスに従事すると外部の情報が届きづらいと考えているため、他のサービスから様々な視点や考え方を吸収する必要がありそうだと感じました。

最後に食べログの影響力の再確認です。
彼を知り己を知れば百戦殆からずというように他サービスを知ることで自社サービスの強みをより感じられるようになります。
ブースに来てくださる方に食べログ使ってるか聞くと「使っている」と回答されることがほとんどで認知度の高さを感じました。
また、出店ブースの方々からは今回から協賛されているという話を伺うこともあり、以前から協賛している食べログの長年の経験からくる風格を感じました。
開発しているサービスを見つめ直す機会としては非常に適していると言えるでしょう。

まとめ

外部イベントに参加するとそこには開発業務を行う日常では味わえないワクワクが私を待っていました。
Rubyの最新技術を学ぶ場であるのみならず、コミッターの皆さんの普段の思考であったり、同じ開発者コミュニティにおける一喜一憂の共有であったりと新鮮な気づきに満たされていました。
そして、他サービスと比較していくうちに食べログをさらに好きになる機会に出会えました。

食べログでは積極的に外に出て情報収集することを推奨しています。
それは新鮮な気持ちで仕事を愉しめるようにする取り組みの一環だと理解できました。
皆さんも共感していただけましたら外部イベントへの参加に挑戦してみてください!
ひいては食べログで一緒に働ける日が訪れたら素敵ですね!