RubyKaigi 2022へ参戦した総括

記事タイトルとURLをコピーする

サービス開発課の刈谷です。

実は、Cloud Automatorは、Rubyで実装されております。

https://cloudautomator.com/

私と言えば、フロント側を少しかじり、Ruby経験ゼロでサービス開発(Cloud Automatorの開発チーム)に参戦するという暴挙に出ましたが、 チームメンバーは、相談内容に即レスして下さったり、時には時間を割いて一緒にエラーを解決して下さったり、実装を考えて下さったり、プルリクレビューして下さるので、仕事はとても充実しています。

それと同時に、基礎的な能力が足りていないからか「このままだとヤバいな。」とも感じており、そういう自信が付くための学習をする必要があると考えておりました。

そんな中、チームメンバーから「三重県津市でRubyKaigi 2022あるけど皆どう?」という話があり、 Rubyの最先端の話やRubyを作った人(Matzさん)の話が聞けるではと考え、RubyKaigi 2022に参加したいと即手を挙げて参加して来ました。

どちらかというと学術的な発表が多く、難しく感じる部分もありましたが、特に印象に残った内容を三編でSWXブログで共有致します。

■RubyKaigi 2022 https://rubykaigi.org/2022/

■三重県総合文化センター https://www.center-mie.or.jp

Ruby meets WebAssembly

WebAsembly対応(Ruby3.2から導入)ブラウザでRubyが実行可能になる発表でした。

Rubyがブラウザで動くようになれば、Rubyを始めてみようと考える初学者の方が、 環境構築で躓くことが減るのではとお考えになりそれがモチベーションで、開発を進められたようです。

完全に素人目線ですが、最初コードがスクリーンに表示された際、scriptタグが使用されていたため、 「あれ?JavaScriptに似てないか。」と見て聴いて驚きました。 ※HTMLにRubyのコードを埋め込んで実行されていました。

どうやら、完全に間違えでは無く、WebAssemblyは、JavaScriptと並行して動作するように設計されており、両者を連携させることが出来るようです。 ※個人的な妄想(推測)として、映画で良く見るように、いつかブラウザも無くなり、何等かの方法で目の中でスクリーンが表示されたり、時計のボタンをポチっと押せば、目の前にスクリーンが表示されるようになるのではないかと考えておりましたが、Rubyの進化と共にブラウザの重要性は、益々増しているなというのがこの講演の感想です。

Matz Keynote(matzさんの話)

Rubyは、元々一人で作っていた。そして、当時からRubyは「遅い。死んだ。」と散々言われて来た。 ※現在でも、Matzさんのところに「今はPythonでしょ。」等の連絡が直接行くようです。

Ruby・Ruby on Railsは、簡単なウェブアプリケーションをすぐに作ったり、実際の適用例があるので、安定性とか安心感、あるいはビジネス上の価値が高い。 現在も沢山の開発者が携わってアップデートし続けている。スピードが3倍になるような改善や、現在無いような(確か機械学習と仰ってた)に 対応したgemが出来ないかと考えている最中ですと仰っておりました。 ※結局は自分で使用したいなと思う物を作った。着想を開始したのは、17歳時のです。(調査して印象に残ったので記載:Matzさんが実際に仰ってた内容から抜粋)

お話をお伺いするまでは、流行するような言語を作ってしまうような超凄腕の人達は、ある程度あぐらをかいているのだろうなと考えていたら大きな間違いでした。 一切足を止めないで、更に加速度を付けて進化し続けていらっしゃいました。その恩恵を受けて、Railsを使用すると何気無くアプリケーションが出来たり、 それだけではなく、Railsで世界のユーザーが使用するようなアプリケーションが作られたり、スポンサーが何十社も集まったりするのは、こういう所なのだと気付かせて頂きました。 とても格好良いお考えなので、拝借し、スケールは全く違いますが、私も少しずつでも前へ進んで行けたらと考えております。

The Better RuboCop World to enjoy Ruby

サービス開発課でお仕事させて頂くまでに、時間の許す限り基本的なRubyの文法やRailsでの開発の流れを、個人学習し「後は、業務に参画させて頂くぞ!」と意気揚々と乗り込んだのですが、わざわざ、サービス開発課で、新規参画者のために【Railsでアプリ実装しよう】的な、肩慣らし(スキルアップ)のための課題を用意して下さっており、最初は、その課題をやらせて頂いておりました。(有難い。)

それはそれで、「クリア出来なかったらヤバイな…」と程好いプレッシャーだったのですが、課題内で【Rubocopの設定する】的な内容が含まれた(設定は凄腕が行う)課題があり、お恥ずかしい話、元々Rubocopは存じ上げて無く、Rubocopについて調査していると、昔見た映画のRoboCopにそっくりなロゴが出て来て 「もしやあれをオマージュしてる?覚えやすい名前でセンス良いな。」と、ファンになってしまっておりました。それだけでは無く、自分の書いたコードが設定されたコード規約を守れているかコマンド一発で表示してくれたり、印象深いのは、コードの行数が冗長的にになっていると、それを教えてくれたり、全部では無いですが、自動で書き直ししてくれるという、あまりにも凄いツールで、完全に私の中でRubocop任せっきりになっておりました。

ところが、株式会社万葉・大場様の発表を聞き始めると、最初は「うんうん、サービス開発課でもRubocop使用してます。」と良い調子で聴いていたのですが、 レビュアーが「このコードは何故このようになっているのですか。」と確認した際に、実装者が「Rubocopで、エラーが出てしまいまして、エラーが無くなったコードをプッシュしました。」と返答されたようです。

お話を引き続き聴いていると、どうやらベテランエンジニアだと、「Rubocopの方ではエラーになっていますが、こういう実装になってます。」ということがあるようで、それを聞いた私は、ドキッとして「えっ?マジで…疑ったことすらなかったんだが……。」と、ビックリしてしまいました。そういうことがあったので、株式会社万葉様では、ルールをゼロから考えていらっしゃるようで、それを鋭意実装中という話と臨機応変対応が良いのではないか。と考えていらっしゃるという発表でした。

私の中で、そういう目線は一切無かったので、色々気付かせて下さるとても記憶に残った発表でした。

総括

家と会社の往復で狭い世界で生きて来て、今回、思い切ってRubyの開発に携わられる方の話を三重県まで聞きに行って、「凄い人達沢山いるなー!!」と、すごく刺激を受けました。

Rubyの開発にチャレンジ出来たことだけで無く、RubyKaigi 2022に参加出来て、新しい経験や知識を与えて下さったことも、サーバーワークスに入社して良かった!と感じることが出来ることの一つでした。

今まで、アップデートは、当たり前のようにポチっとクリックしたり、自動で行ったりしていましたが、何人もエンジニアが機能をアップデートするために、一生懸命頑張って動いているのだと目で見れて、そのためのトークを聴けたのは非常に良かったです。

Ruby言語には、「Ruby on Railsが出て来て急速に広まったな!」というくらいにしか印象がありませんでしたが、何十社もスポンサー企業が関わっていて、ビジネス的な要素も大きいなと感じました。素人感になってしまいますが、Ruby・Railsが使用されて、また新しいサービスが出来て行く。そして、Rubyを宣伝してもらったりスポンサー企業になってもらえる。のような好循環が生まれ、更に、Rubyがアップデートして行く。これらのことが好循環して、経済の発展に寄与する。みたいな。

そして、一緒に行って下った小倉さん(サービス開発課のメンバー)とお酒飲んだり、お話を沢山伺えたことも良い思い出になりました。 これからまた手綱を締めて少しずつでも前へ進んで行きたいと思います。拙い文面ですが読んで下さった皆様、有難う御座いました。 これにて失礼致します。(三重県はご飯美味しいしとても過ごしやすかったです^^RubyKaigi 2022のお弁当に松坂牛出て来ました。)