Kaigi on Rails 2023 とアンドパッドのまとめ

こんにちは、hsbt です。ソロ活女子という番組にハマってしまい、シーズン1から順番に見返しています。私もソロ活することが多いので「これはいけるー」「一人焼肉、などは余裕」などを話しながら見ていますが、一人フレンチフルコースはちょっと難易度が高いな〜と感じています。

今回は Kaigi on Rails 2023 の関連イベントや本編とアンドパッドの取り組みについてご紹介します。

プロポーザルネタ出し会

Kaigi on Rails 2023 に向けてアンドパッドでは、みんなでプロポーザル出そうぜ!と普段やっていることから出せそうなネタを出す会を開催しました。進め方は以下の通りです。

  • 参加者それぞれがネタについて esa.io にタイトルと話したい内容を書く
  • 話したい内容に対して参加者が「こうするともっとよさそう」というコメントを書く
  • ネタ出し会の最後までに公式サイトへ投稿する

単純な内容ですが、締切までに各自で出しましょう!だけではなかなか手が進まないことも多く、タイムボックスを区切ってオンライン・オフライン問わず興味がある人で集まり、タイムボックスの終わりには投稿している、というゴールを設けるで後押しされる効果があると個人的には感じています。

こうした取り組みの結果、2名のプロポーザルが採択されました。実は私も細かすぎて伝わらない Ruby の require の話を出したのですが、残念ながら不採択でした。採択されるまで他のカンファレンスに出そうと思います。

Kaigi on Rails 2023 (非公式) 前夜祭

プロポーザルとして出せるようなネタがいくつか集まったものの、不採択のまま終わらせるのはもったいない...ということで、イベントのお声がけがあった MNTSQ さんと惜しくも Reject となったプロポーザルを発表するイベントをやろう、と前夜祭を開催することにしました。

andpad.connpass.com

アンドパッドの他にも、万葉さん、永和システムマネジメントさんにも声をかけ、4名が発表(惜しくも、万葉の鳥井さんはインフルエンザによりスキップ)、Kaigi on Rails 2023 のオーガナイザーの大倉さんによるタイムテーブル解説という豪華なコンテンツとなりました。

ここから先は発表者による発表内容解説にバトンタッチしようと思います。

こんにちは。ydah です。最近、怪談を流しながら作業することが多いのですが、これが結構わたしに合っているのかすごく捗ります。ただ、家族が寝た後に一人でコードを書いていると、とつぜん廊下に誰かが通ったような気がしてビクッ!っとしてしまい、脇腹をつって夜中に一人で悶絶している、そんな今日この頃です。

さて、今回は「ほんとにあった怖い話 ~ slimに棲むもの」と言うお話をしました。Railsならぬ霊ルズの話をしました。

speakerdeck.com

github.com

github.com

内容は、最近遭遇したslimにまつわる怖い話と、それを gem を作って解決するという話をしました。意外と普段何気なく使っているものにも、「棲んでいる」ものはいるかと思います。また、こういう状況に遭遇した際の対策として「レビューなどで人間が頑張る」という選択をすることもあるかと思いますが、仕組みとしてどう解決するかということを大事にしています。仕組みとして解決して開発者の負担を減らすことで、開発者が本来注力すべきところに注力することができるようになると思っています。そして、何よりも仕組みとして解決したり、解決するための gem を作るのはとても楽しいです。少しでも皆様の「やっていき」を高める一助になれば幸いです。

Kaigi on Rails 2023 本編

大量の負債絶対倒すマンこと makicamel です。今回は「Rails アプリの 5,000 件の N+1 問題と戦っている話」というタイトルでお話しました。お楽しみ頂けていましたら幸いです。

speakerdeck.com

github.com

内容は資料に譲るとして、今回特にたくさんのフィードバックを頂きました。
strict_loadingprosopite を教えてもらったり、「うちも N+1 困ってます」「自動化したいと思ってたんですよ」という共感、今後の展望などなど。 「フロントとバックでチームが分かれていて、かと言ってテストはデータが少なく N+1 が発生しないので気づきづらい」と検知で困っている人もいて、お話させて頂く中で検証環境で Bullet のログを監視するというアイディアも生まれてとても楽しかったです。
今後は作った gem の精度を上げたりべんりにしたり、その他の自動解決の方法を模索したりしたいと思っています。

今回のお話がみなさんの N+1 問題取り組みの一助になりましたら嬉しいです。やっていきましょう。

kuboです!やさしいActiveRecordのDB接続のしくみというタイトルで1日目に発表させていただきました。

speakerdeck.com

発表内ではActiveRecord内部実装、特にDB接続の部分に着目して仕組みの解説をしました。具体的には、スタックトレースを参照しつつ各クラスの役割を明確にすることで、接続要求〜接続確立までのActiveRecordの動きを解説しました。これらは特別意識しなくても開発に直接影響する部分ではないですが、少しでも「なるほど」「面白い」「役に立つかも」と思っていただければ幸いです。

※本当は接続要求を受けた時のMySQL側の挙動についても面白い所がたくさんあるので説明したかったのですが、時間の都合上カットいたしました。どこかで機会があれば話したいと思います。

まとめ

Kaigi on Rails 2023 とアンドパッドの様々な取り組みについて紹介しました。アンドパッドでは、Ruby や Rails はもちろんのこと、Go や TypeScript なども用いたプロダクト開発に注力しています。今回紹介したメンバーをはじめとした、言語や技術スタックのエキスパートが在籍し日々ユーザーや業界の課題を解決する活動を続けています。最高のプロダクトを作るために、開発者と OSS のコミュニティを支援していきたいと思います。

アンドパッドでは、「幸せを築く人を、幸せに。」というミッションの実現のため、一緒に働く仲間を大募集しています。 会社や事業、開発チームにご興味を持たれた方は、下記のサイトをぜひご覧ください。

engineer.andpad.co.jp