はじめに
みなさん、こんにちは。
はたらく未来図構想統括部 JobQ部でエンジニアをしている竹山、川村、飯嶋です。
このたびはtechtektブログへの初投稿となります。これまでの投稿者の方々が築いてこられた素晴らしい基盤に感謝しつつ、我々も貢献できればと考えています。
我々が開発しているキャリアや転職に特化した匿名相談サービス「JobQ Town」は、プログラミング言語RubyとフレームワークRuby on Railsを採用しています。
Rubyの柔軟性とその直感的な構文により、効率良くスピーディに開発することができています。
2024年5月15日から17日にかけて、沖縄・那覇で開催されたRubyKaigi 2024に参加してきました。本記事では、印象深かったセッションや得られた学びを共有します。
RubyKaigiとは
RubyKaigiは、プログラミング言語Rubyにフォーカスした国際カンファレンスで、毎年日本で開催されています。Rubyの最新の技術動向を議論したり、その未来ついての展望を共有したりする重要な場となっています。
今年は沖縄の「那覇文化芸術劇場なはーと」で行われ、1,400人の参加者がオフラインで集まりました。3日間にわたり、53のセッションが行われました。
印象に残ったセッションと学び
Exploring Reline: Enhancing Command Line Usability
コマンドラインの使いやすさを向上させているRelineに関するセッションでした。
RelineはGNU Readlineとの互換性を謳っていますが、不足している機能もあり、それをどのように実装しているかが紹介されていました。
日常的に使っているirbの使いやすさの背後にRelineがあることを初めて知り、有益な学びとなりました。
Namespace, What and Why
Rubyアソシエーションに採択された Namespace のお話でした。
Namespace がなぜ必要なのか、なにができるのかを丁寧に説明されていました。
Matz のキーノートでこの機能がマージされたら Ruby 4.0 にしてもいいかもと言われていたので、これはすごく名誉なことだよなあと思いました。
具体的な使い所はまだよくわかっていないので、正式リリースされたらどのような使われ方をしていくのか楽しみです。
Embedding it into Ruby code
@soutaroさんが作成された、RBSの型宣言をRubyのコードに埋め込むためのrbs-inlineというgemについてのセッションでした。
RBSとはRuby 3.0から導入されたRubyのコードに型定義情報を提供する仕組みです。
現在、型情報は.rbs
ファイルとしてRubyのコードとは別ファイルに書きますが、ファイルを分けることによって以下のような課題もあります。
- 開発中のファイルの切り替え
- RBSファイルとRubyのファイルを行ったり来たりするのが大変
- メンテナンスコスト
- 2つのファイルを同時に更新していく必要がある
@soutaroさんが作成されたrbs-inlinegemを使用すれば型情報をインラインRubyファイルに書けるようになるため課題が解消される、というお話でした。
翌日のMatzとRubyコミッターとのセッションでは、@soutaroさんからインラインで書く場合の記法についてや、そもそも型を書きたくない派なのかといった会場へのアンケートが行われ、Rubyistたちの型に対しての考え方も知ることができました。
またMatz(※)も(コメントとして埋め込むことは許容する、としつつも)型は不要派であるとお話をされていて、今後Rubyにおける型付けがどのようになっていくのか興味深いと感じました。
※Rubyの父であるまつもとゆきひろさんの愛称
イベントの様子
多くの企業がブースを出展し、それぞれが独自の工夫を凝らした展示やノベルティで来場者を魅了していました。
さらに、会期中は毎日様々なアフターイベントも開催され、Rubyist(Rubyを使う人々)の積極的な交流が行われていました。
Rubyコミュニティの熱量を肌で感じることができました。
全体を通しての感想
竹山(2回目の参加)
今回は昨年の松本に続いて2回目の RubyKaigi 参加でした。
前回は初参加だったのでうまく交流できるだろうか、ちゃんと楽しめるだろうかといった不安な面もありましたが、今回は100%楽しんで参加できたと思います。
セッションの内容も年によって特色があったり、開催地も違うので同じ RubyKaigi でも全く別物になってしまうのだなという印象でした。
また、10月に開催されるKaigi on Rails 2024にもオーガナイザーとして参加するので RubyKaigi のような素晴らしいカンファレンスにできるよう尽力していきたいと思います。
川村(初参加)
国内外のRubyコミッターや著名な開発者たちと直接交流できる貴重な機会となりました。
実際にRubyの開発に携わる人々を目の当たりにすることで、Rubyという言語への愛着が一層強まりました。
セッションの内容は非常に高度でしたが、それが今後のRuby学習のモチベーションになりました。
飯嶋(初参加)
Rubyを作ってくださっている方、Rubyを全力で楽しまれている方、そしてRubyの生みの親であるMatz、みなさんの熱量やRubyへの愛、Rubyの奥深さを実感することが出来た三日間でした。
今回は自分の知らないRubyの世界を知ることができたので、今後もっと理解を深めて「わかる」を増やしていき、自分なりのRubyの楽しみ方も模索していけたらと思います。
おわりに
このカンファレンスから得られた知識と新たなモチベーションは、今後のプロジェクトにとって非常に貴重な資源となります。
Matzをはじめ多くのコミッターの方がRubyの課題を客観的に見つめ、更に良くしていくために検討や改善を重ねてくださっていることを肌で感じることができました。
そんなコミッターの皆さんのご活動に敬意を示すと共に、Rubyの動向を感度高くキャッチしてコーディングに活かすこと、更にチーム内に浸透させていけるように取り組む等、この経験を活かしてさらなる成果を目指していきたいと思います!
発表者の皆様、そして運営スタッフの皆様へ、この場を借りて深く感謝申し上げます。
また、この機会を支えてくださったマネジャーをはじめ、支援いただいた全ての方々に心からの謝意を表します。
来年のRubyKaigi 2025、愛媛・松山での開催が今から待ち遠しいです!
竹山 賢太郎 Kentaro Takeyama
カスタマーP&M本部 はたらく未来図構想統括部 JobQ部 エンジニアリンググループ エンジニア
オンラインスクールでの学習を経て航海士から WEB エンジニアへ転職。好きなものはターンテーブリズム、ビザールプランツ、NewJeans
川村 将矢 Masaya Kawamura
カスタマーP&M本部 はたらく未来図構想統括部 JobQ部 エンジニアリンググループ エンジニア
オンラインスクールでの学習を経て、看護師からWebエンジニアにキャリアチェンジ。好きなものはラジオ、ランニング、居酒屋巡り
飯嶋 Iijima
カスタマーP&M本部 はたらく未来図構想統括部 JobQ部 エンジニアリンググループ エンジニア
2年間のオンラインスクールでの学習を経て、経理からジョブチェンジしました。猫、野球、日本語ラップが好きです。
※2024年5月現在の情報です。