ESM アジャイル事業部 開発者ブログ

永和システムマネジメント アジャイル事業部の開発者ブログです。

RubyKaigi 2022 に永和システムマネジメントから @fugakkbn @koic @ima1zumi の 3人が登壇します

2022年9月8日(木) から10日(土) の3日間にわたって開催される RubyKaigi 2022 に永和システムマネジメントから @fugakkbn (Day 1) 、 @koic (Day 2) 、 @ima1zumi (Day 3) の 3人が登壇します。

rubykaigi.org

ここでは、それぞれの登壇者から講演内容について軽く紹介をします。

9月8日(木) 14:10-14:45 @fugakkbn 『Types teaches success, what will we do?』

gem_rbs_collection をご存知でしょうか。
名前からも想像できるように、様々な gem の RBS(型定義)ファイルが集まっているリポジトリです。

世の中の多くのプロジェクトではまだ Ruby の型を本格的に導入している例は少ないものと思います。その理由の1つとして、gem の型定義が充実していないことが挙げられます。

私が業務で関わっているプロジェクトでは型定義を少しずつ進めています。 また、そのために gem の型定義が必要な場合にはプロジェクト内でパッチをあてるだけではなく、gem_rbs_collection にコントリビュートするようにしています。

私の発表では、 gem_rbs_collection へのコントリビュートまでのステップについて経験をもとにお話しします。 コントリビュートにはいくつかのパターンがあるのでそれぞれのパターンについてや、実際にやってみてわかったこと、失敗したことなども含めてお話しする予定です。

gem_rbs_collection の充実には多くの方の協力が必要なので、私の発表をきっかけに興味を持ってくださる方が増えたらうれしいです。

9月9日(金) 11:30-12:00 @koic 『Make RuboCop super fast』

RuboCop に追加したサーバーモードについて話します。構想自体は2年前にはあったのですが、今回の RubyKaigi-Driven Development で追加した機能です。

サーバーモードは RuboCop 1.31 以降 rubocop --server で実行可能です (そこからいくつかのバグ修正をしているので、新しめのバージョンがおすすめです) 。今回はそのサーバーモードの仕組みやそれによって解決する課題について、導入経緯を含めて話す予定です。サーバーモードには他にもいくつかのオプションを用意しており、それらの用途や現実的に残っている課題点なども共有することになると思います。

RubyKaigi 2022 開催まで1ヶ月を切りましたが、鋭意実装中の部分がある機能でもあるので、当日までにどの程度進化しているかもストーリーに反映されていくことでしょう。

そんなわけでサーバーモードの実際や、今後の展望についても詳しくなれるコンテンツを目指しています。大枠としてリリース済みの機能ですので、手元で動かせる実装ありきの話ということで、お楽しみに。

9月10日(土) 14:50-15:20 @ima1zumi 『String Meets Encoding』

Ruby の String は Encoding を持っていてとても柔軟に文字コードを変更できます。その柔軟さは何とトレードオフになっているのでしょうか。

先日 CSV.read のボトルネックについて調べたところ、Encoding が CP932 のとあるファイルでは処理時間の 30% が String#splilt に使われていました。そこで String#split の最適化という方向から、String と Encoding の関係性について考察します。

このセッションが String の高速化のための足がかりとなれば幸いです。


それでは本編をお楽しみに。三重かオンラインの会場でお会いしましょう。

RubyKaigi 2022 に 伊勢海老スポンサーとしても参加している永和システムマネジメントでは、Ruby とアジャイルソフトウェア開発を通じてコミュニティと成長したいエンジニアを絶賛募集しています。

agile.esm.co.jp