見出し画像

#RubyKaigi 2022 3日目・4日目レポート

最終日(+α)レポート

とうとう、私の RubyKaigi 2022 レポートも残すところ1日となりました。え、4日目はないぞって?そんな事はありません。家に帰るまでが Kaigi です!
ということで、3日目と4日目のレポートをお届けします。

恒例:スタッフ集合写真

RubyKaigi では Organizer や Helper といったスタッフの集合写真を3日目の朝に撮る習慣があります。そのため、今日は8:00集合厳守です。
そしてホワイエに集まってぱしゃり!

RubyKaigi 2022 スタッフの集合写真

なお、この写真には少なくとも私と Local Organizer の Yusuke Matsumoto さんが写っていませんが、それは撮る側に回っていたからで……。
なお、 Yusuke Matsumoto さんの撮った写真では私も彼も無事写っております。そう、私は三脚もリモコンも持ってきてなかったのです……。
そして、怒濤の最終日が始まりました。

"RBS generation framework using Rack architecture" by Yuki Kurihara

私は業務では C# を使っており、どっぷり静的型付けの世界に染まった人間です。 C# では IDE である Visual Studio に IntelliSense というコーディング支援機能があり、自動でコード補完などを行ってくれてものすごく便利なのですが、 Ruby ではコーディング支援機能はまだまだ発展途上にあります。なお、 IntelliSense では Python でも使えるようにはなっています。
さて、 Ruby でも「静的型のあるプログラミング」をしたいという欲求は年々高まっており、現在は2種類のアプローチが採られています。1つは Sorbet と呼ばれる、 Shopify によって開発された Ruby コードに直接型情報を書き込むアプローチで、 もう一つは RBS と呼ばれる外部ファイルに型情報を記載するアプローチです。Sorbet サイドには Tapioca と呼ばれる型回りをよしなにやってくれるツールの開発がスタートしています。

しかし、これは残念ながら発表者の推す RBS 方式ではないため、発表者は RBS をよしなに出力してくれるツールを開発しました。それが、次に紹介する Orthoses です。「装具」という意味を持つこのツールは、動的型の挙動に悩まされてきた Rubyist たちが Happy Hacking できるようになるための「装具」になることでしょう。

さて、今回の発表で紹介された Orthoses では RBS ファイルの自動生成に焦点を当てています。発表者はさまざまな Ruby 製のツールやライブラリに対して RBS を生成することに取り組んでいますが、その中で Rack のアーキテクチャーを用い TracePoint を使って実行時にトレースすることにより、精度の高い型情報を得ることが可能になります。以下のツイートにあるように、 Orthoses ではほぼすべてのメソッドに型情報を付けることができるようです。

この着想に型がわかっていることが当たり前になっている世界で暮らしている私は大きな衝撃を受けました。
本当に、 Ruby でもコードを書くときに型がわかっている、 Happy に Hacking できる時代が来ることを心から祈っております。
なお、本来ならこの後の osyo さんによる "Let's collect type info during Ruby running and automaticall" も聞きたかったのですが、なぜか聞きませんでした。

今回の目玉:松阪牛

そしてお昼になりました。今回のお目当てはこれでした。

そう、松阪牛のローストビーフです!
舌の上でとろける脂、さすが三重の最高の味です。
私は最終日でやっと食べられました。本当に、おいしかったです。

スポンサーブース探訪

さて、ここからはスポンサーブースを回りました。ちょっとした感想を付けておきます。

ANDPAD さんの2進数計算チャレンジに挑戦

ANDPADさんのブースでは六桁の2進数の計算を行うチャレンジが開かれていました。私は答えを出すのに85秒もかかるという赤っ恥をみせてしまいましたが、当然最下位だったわけで。しかも、筆算の代わりに指折りで計算するというなんとも妙な方法で何とかしました。指1本を 1bit と見立てたわけですが、素直に筆算した方が早かったかもしれません。まあ、挑戦できた上にハードルを下げたことをヨシとしましょう。

ペイトナー問題: JavaScript や Python3 に魂を引かれた私

paytner さんのブースでは毎日 Rails や Ruby に関するクイズが行われていました。アジャイルウェアさんも2日目のランチタイムに Ruby に関するクイズを行っていたようですが、同時通訳レシーバーブースに詰めていた私は行くことができませんでした。ですが、ブースにクイズ問題を置いてくださったpaytner さんのクイズは答えることができました。
問題は、以下のようなものでした。

なお、最初の解答はこれです。

正直、なぜこの答えを出したのかは覚えていませんが、途中でびっくりマークのことを考えていなかったことに気付き、あわてて解答を修正しました。

はい、このときもう一つの間違いに全く気付いていませんでした。そう、このコードは JavaScript でも Python3 でもなかったのです。このコードが Ruby であると早く気付くべきだったのです。そして、そのことに気付いた私、ぎりぎりになってあわてて答えを修正しました。

そう、これが正解だったのです!

なお、このコードを実行した結果は次の通りです。

結局、その後のいくつかのセッションでは聞くことも忘れてこの問題の言語ごとの比較に没頭してしまいました。なお、成果はこちらになります。

だいたい整数の割り算周りの挙動以外は合わせるように作ってありますが、 JavaScript や Python 、 C# 界隈の皆様、挙動が間違っていたらご連絡いただければ幸いです。

RubyKaigi 2022 クロージング

さて、この後いくつかのセッションに参加しましたが、ペイトナー問題に気をとられてだいたい聞きそびれてしまったわけです。そうこうするうちにクロージングになってしまいました。
その中で来年の Kaigi の場所と日程が発表されました。なんと、来年は 5/11 〜 5/13 に、長野県の松本市での開催にリベンジするそうです。有給休暇の残りが心配ですが、来年もうまく調整して RubyKaigi 2023 に行きたいと思います。そして皆さんにお会いできたらと思います。
そして、最後にスタッフ全員で舞台に上がってあいさつして、 RubyKaigi 本編は無事終わりました。

アフターイベント:Ruby Music Mixin 2022

最後に、pixivさん主催のアフターイベント、 Ruby Music Mixin 2022 に参加してきました。もちろん後片付けがあったので当然遅刻です。来たときには盆踊りっぽい音楽が流れていましたが、ホントいろいろな音楽で盛り上がり、そしてみんなで呑んで語っていろいろ楽しかったです。
そして、私に遅れてネットワークチームの皆さんが到着したのですが、その際には大きな拍手が上がっていました。なお、私はバッテリー残量とホテルからの VRChat イベントへの参加のため、お先に失礼してきました。それが終わって、翌日は帰るだけになりました。

4日目:帰路

まず、宿をチェックアウトして向かったのは津なぎさまちから出ている、中部国際空港行きの高速船でした。そんな私が港に着いてまず目に入ったのは……

アイエエエ、ニンジャコウソクセン?! ニンジャコウソクセン、ナンデ?!!!

 忍者高速船という名前に驚いてしまいました。そんな船は45分で中部国際空港に着くのですが、船の窓から外を見ると、虹が架かっていました。

窓の外には虹が……

中部国際空港、やけに混んでると思ったらなんかのアイドルグループのライブがあった模様です。私はそれに目もくれずに名鉄特急に乗るのですが。
そして名古屋駅で荷物を預けようとコインロッカーを探すのですが、結局どこも一杯でコインロッカーに荷物を預けることを諦め、荷物は全部手で持っていくことに。そんな私が向かったのは……

矢場とん本店にて

津発祥とも呼ばれる名古屋のソウルフード、矢場とんの本店です。ぶーちゃん像の横にはこんなものが。

なんかデレマスとコラボ中のようです

何はともあれ、みそカツとどて煮を食べておなかはいっぱいです。後は乗車時刻まで時間を潰して東海道新幹線のこだまで帰りました。このこだま、最新のN700S系だったのですが、グリーン車の乗り心地は快適でした。お前お金ないだろと思ったあなた、実はこだま号のグリーン車ならのぞみ号の普通車指定席より安く乗れる方法があるのです。私の使ったEXこだまグリーン早特なら乗車日の3日前までに予約する必要がありますが、東京〜名古屋間はなんと9,170円です。エクスプレス予約を使った通常の普通車指定席の場合10,310円(+年会費1,100円)で、これが入会不要のスマートEXサービスの場合11,100円になってしまうわけです。EX早特21ワイドでも9,800円と、いかにEXこだまグリーン早特が安いかがわかります。しかも、このEXこだまグリーン早特、エクスプレス予約に入らずともスマートEXサービスで乗れてしまう訳ですから、EXこだまグリーン早特のすごさに驚くしかありません。ただし、時間はかかります。私が乗ったこだま738号の場合、名古屋発は16:38で東京駅は19:18と、実に2時間40分もかかってしまいます。名古屋を16:49に発車するのぞみ234号では東京着は18:24と、なんと1時間の差がついてしまうわけです。まあ車内には電源も無線LANもあるので1時間ぐらいならなんとかなっちゃうのですけど……。
そして、やっと家に帰ってくることができました。ちょうど、家に帰ってきたときのツイートがこちらです。

RubyKaigi 2022 のまとめ

ともあれ、今回の RubyKaigi 2022 は久々のオフラインカンファレンスということもあり、非常に楽しかったです。夏頃の感染拡大の頃には無事開催されるのかとヒヤヒヤしていましたが、無事開催できてすごく幸せです。
その一方で、例年行われていた RubyKaraoke も「川」も今年はありませんでした。 RubyKaigi というとこの2つの非公式イベントが楽しかったのですが、このご時世ではしかたがないと言えるでしょう。いつか、コロナ禍がおさまったときにこれらの非公式イベントも行えるようになると嬉しいと思います。
そんな私は、次のオフラインイベントに心が向いています。そう、 PyCon JP 2022 です。こちらは、コアスタッフとしてかなり前から準備してきましたが、その努力が報われることを祈っています。
では、 Pythonista の皆様には10月にTOC有明で、そして Rubyist の皆様には 2023年5月に松本でお会いできることを心から祈っております!
来年も、よい Kaigi を!!!

いいなと思ったら応援しよう!