🔖

RubyKaigi 2024参加記録。新卒エンジニア オフライン初参加!

2024/05/24に公開

5月15日〜5月17日に沖縄で開催されたRubyKaigi 2024に参加してきました!

私は、24卒の新卒で、今年の4月から正社員としてエンジニアになりました。去年はオンラインで参加したのですが、オフラインでの参加は初めてです。とても刺激になったので参加記録を書きました!

DAY1

1日目は、1日中セッションを聞いていました。
1日目ということもあり、全ての時間のセッションを集中して聴くことができました。
お昼にはSTORES CAFE For Womanで、エンジニアの女性の方達とハンバーガーを食べながら、楽しくお話しすることができました。女性エンジニアとの交流は貴重なので、1日目にお話しすることができて、2日目3日目にブースに来てくださった際などコミュニケーションのきっかけになったのですごく良かったです!
夜は、Official Partyで、会場から徒歩30分の海の見える場所でBBQをしました。
到着したのが開始時間の18時過ぎていたのもあり、席が埋まっていたため、他の会社の方々のテーブルにお邪魔させてもらい、自分と同じ新卒の方とも交流をすることができました。

DAY2

2日目は、1日目の疲れがあり、セッションの内容を聞きつつも、企業ブース周りもしました。
内容が難しいため、欲張って全てのセッションを聴こうとせず、休憩を挟むことも大事だと思った1日でした。
企業ブースでスタンプラリーのコンプリートをすることができ、Rubyのピンバッチをもらうことができ嬉しかったです!スタンプラリーがあるおかげで、企業ブースにも行きやすかったですし、自分がブース当番の際も話しかけやすくて、とても良い仕組みだなと思いました!
夜は、STORES CAFEでノンアルコールイベントがあり、ここでもたくさんの人と交流を楽しむことができました。スピーカーの方々もいらしゃって、スピーカー側になるハードルの高さについてお話ししたら、「何か自分に興味のある分野に出会えること」が重要なんだというお話しを聞くことができました。

DAY3

3日目も、セッションの内容を聞きつつも、ブースを回ったり、ブースに来てくださった方とお話しをしたりしました。
Matzさんのkeynoteがあったり、コミッターの方々の議論も見れたり、来年のRubyKaigiの開催場所も発表されたりで、ものすごく盛り上がった1日でした。
夜はAfter Partyで、国際のれん街でご飯食べました。人が多すぎて、席を取ることすら難しいほどでしたが、わいわいしていて楽しい空間でした。新卒同士でRubyKaigiのセッションの内容について話しをしたり、スピーカーの方とすれ違って、少しでしたがお話しできたりもして楽しくRubyKaigiを締めることができました!

セッションの感想

スピーカーの方々皆さん、キラキラしていて本当にかっこよかったです!
聞いたセッション全部ではないのですが、いくつか感想を書きました!

Writing Weird Code

「%」や「<」、「.」などの記号を繰り返してもエラーにならずに動く(エラーになる個数もある)というのは、Rubyの文法を知っていればわかることでも、いざ記号の羅列が続くと動かない気がしてしまっていました。それぞれの記号がいろんな役割をしている中で、意味の解釈をするのは難しいですが、なぞなぞみたいで面白かったです。

金魚鉢の中で金魚が泳いでいるコードやクラゲの触手をマウスで触るとクラゲが動いたりするコードなど、なぜ動いているかの理解は難しかったですが、見ていて楽しいコードが書けるというのはすごくワクワクするなと思いました。

奇妙なコードを書くことで、Rubyを深く理解できたり、エラーを見つけられてコントリビュートのきっかけになったりするということを知れてよかったです。

The grand strategy of Ruby Parser

Speakerのkanekoさんは、他のイベント(rubyistめぐり)の時に少しだけお話しさせていただいて、その後Xをフォローして投稿を見たりしていました。

Parser関連の話は、去年のkanekoさんのセッションを見返したりして予習をしていたので、理解してやるぞ!の気持ちでいたのですが、気づいたら置いて行かれていました…。ですが、聞いていてよく分からないけど楽しい気持ちになれる発表でした!
予習のおかげで初めの導入の部分の理解がスムーズにできましたのは良かったです。
パーサージェネレータは有限オートマトンで、パーサーは部品を組み合わせているなど、パーサーとパーサージェネレータの関係性が曖昧だったので、それが分かって良かったです。

他のセッションの紹介を沢山していたりして、RubyKaigiの連携感を感じました。パーサー周りの実装は、いろいろな人が役割を分担しているらしく、みんなで作り上げている感がすごく素敵だなと思いました。貢献してくださっている方には本当に感謝です。

Exploring Reline: Enhancing Command Line Usability

普段自分も使っている、IRB、Relineのお話しが聞けて面白かったです。

undoを実装するにあたって、「a」→「Ctrl+a」→「undo」といった感じで段階を追って説明してくださったので、聞いていてワクワクしました。
Relineは「a」という文字を入力するだけでも、色々とやっていることが分かり、コマンドラインエディターというのは、そう単純なものではないんだと実感しました。
undoの実装はそもそもundoとは何かという定義(単語区切りなのか、1文字区切りなのか)から、考えるべきこととしてあるというのは盲点でした。
stackのように実装していく様子が、図で分かりやすく説明されていたので頭に入ってきやすかったです。
カーソル位置の考慮も考える必要があったりなど、考慮すべき部分が多くて実装は大変で複雑そうだなと思いました。

An adventure of Happy Eyeballs

しおいさんの発表は、去年のRubyKaigiですごく面白かったので、今年も楽しみにしていました。

今回の内容は、ネットワークに関することで、私はそのあたりの知識が乏しかったのですが、前提知識→実装→失敗→なぜ失敗したのか→新しい実装→解決というフローで説明してくださっていたので、試行錯誤している様子だったりが伝わってきて、解決した時には自分が実装したかのような達成感を味わえる内容でした。

Socket.tcpライブラリのHEv2対応をさせるという内容だったのですが、「IPv6の応答が遅い場合、IPv4の応答は早いにも関わらず待ち続ける」という大きな課題を達成させることができ、パフォーマンスは低下したという問題もありながら、HEv2を使うかどうかを切り替えることもできたるといった感じで、実用に際しても考慮されていて勉強になりました。

Does Ruby Parser dream of highly expressive grammar?

BisonがPrimitiveである点、ParserとLexerの密結合、コンフリクトの解消が難しい点の解決策についての説明をしてくださいました。他のパーサーを参考にしたりして実装していて、良いとこどりできている感じがあって良いなと思いました。kanekoさんのParserのお話と通づるところがあり、難しかったですが面白かったです。

Ruby Committers and the World

このセッションでは、Rubyのコミッターの方々がRubyの実装について壇上で議論している様子を直接見ることができ、とても興味深いセッションでした。こういった機会はなかなか無いので、とても貴重な機会でした。

Matzさんの「Rubyに型を入れたくない」という強い意志が垣間見れたり、一つの議題に対して、さまざまな目線での意見を聴くことができて面白かったです。

このセッションで、Rubyはコミュニティの意見を反映しながら進められているということをすごく感じました。

感想

オンラインで参加した時も、セッションを聞いて刺激を受けたのですが、オフラインでの参加は段違いでした!歩いていればRubyコミッターやスピーカーの方と会える素敵な空間でした!

私は、スピーカーの方に会った際、「発表すごく良かったです」など、浅い感想しか伝えることができなかったのですが、それでもRubyに貢献してくださっている方々たちと話すことができたのは、とても貴重な体験でした!

Matzさんも普通に歩いていて、一緒に写真を撮ってもらいました!画面では何度も見たことがあったのですが、リアルの近距離で会ったのは初めてだったので感動でした!

今回のRubyKaigiは、Rubyをもっと知りたいと思うきっかけになるカンファレンスでした!

上手く交流できるか、内容が理解できるかなど、不安の方が大きかったのですが、セッションの内容も面白くて(難しくて理解できている部分は少ないですが)、交流も沢山できて本当に充実していました。3日間ものすごく楽しかったです!

既にRubyKaigiがきっかけでアウトプットしている方も沢山いて、自分も何か挑戦してみたいなと思ってます。

交流してくださった方、RubyKaigi運営やスピーカーの方々、本当にありがとうとうございました!

Discussion