⛩️

Kaigi on Rails 2024 にブース出展しました!

2024/11/07に公開

こんにちは!
株式会社ココナラで、バックエンドエンジニアをしているちっぴーと申します。

ココナラは、2024年10月25日(金)と26日(土)に開催された「Kaigi on Rails 2024」に、Gold Sponsorsとして協賛、およびブースの出展をさせていただきました。
「Kaigi on Rails」は「初学者から上級者までが楽しめるWeb系の技術カンファレンス」です。
ココナラからは2日間でVPoEを含む6名のエンジニアが参加しました。
本記事では、「Kaigi on Rails」に参加して得られた学びや感想について書いていきたいと思います。

会場の入り口の写真

出展準備

ココナラが「Kaigi on Rails」にブースを出展するのは初の試みで、参加メンバーもほとんどがブース出展経験がないなかでの挑戦となりました。
夏頃にバックエンドエンジニアの中から有志が集まり、そこから毎週30分のミーティングを重ね、ブースのコンセプトやノベルティの内容、来場者に楽しんでいただくための企画などを検討してきました。

いろいろな案が出るなか、「神社を模したブースにしよう!」と決まり、大きな鳥居を注文し、神社にちなんだノベルティを作成しました。
準備は順調に進んだものの、設営日になって配送トラブルが発生し、会場にポテトチップスだけしか届かなかったときはさすがに焦りました(その後無事に全て届きました)。

うなだれる写真
「このままではポテチ配布所になってしまう・・・」

当日のブースの様子

そんなこんなで完成した「ココナラ神社」がこちらです!
ブースの写真
高さ90cmの鳥居!写真を撮ってくださる方もいました

お守りや千社札など、さまざまな種類のノベルティを用意し、おみくじの運勢に応じたノベルティをプレゼントする企画も実施しました。
お守りの写真
「かわいい〜」と褒めていただいてうれしかったお守り

お守りの写真
ココナラのVPoEもギャルピースでお出迎え

ブースには多くの方にお立ち寄りいただき、200名を超える方におみくじを引いていただきました。
「ココナラで出品・購入をしています」と声をかけてくださる方もいて、とても嬉しかったです。
また、Railsエンジニアとして活躍されている方やエンジニアを志す学生さんと交流することで、今後の業務へのモチベーションをさらに高めることができました。
お越しいただいた皆様、大変ありがとうございました!

初めてのブース出展でしたが、大きな問題もなく無事に2日間を完遂できてホッとしています。
そして、もちろん打ち上げも開催しました!笑
居酒屋の写真
有明の居酒屋。焼き鳥が美味しかった

聴講したセッション

ブース運営の傍ら、いくつかセッションを聴講することもできましたので、印象に残ったセッションについて書いていきます。

ActiveRecord SQLインジェクションクイズ (Rails 7.1.3.4)

SQLインジェクションの基礎と、Railsにおける正しいSQLインジェクションの防止策について学べるセッションでした。

User.where("id = #{params[:id]}")

例えば、ActiveRecordを使用してこのようなコードを書くと、SQLに外部入力値がそのまま代入されるため、SQLインジェクション脆弱性の問題があることはよく知られていると思います。

これは、ActiveRecordの .where がSQLフラグメントを受け取るためです。
このようにSQLフラグメントを受け取るメソッドを把握し、それらに外部入力(特にparams)を直接渡さないことが、SQLインジェクションを防ぐための基本的な対策だと解説されていました。

また、SQLインジェクション対策に有効なツールとして、「Brakeman」というGemも紹介されました。
https://brakemanscanner.org/docs/warning_types/

Brakemanは、Railsのコードをスキャンし、セキュリティ脆弱性をレポートしてくれるもので、Rails 7.2からは標準で組み込まれるそうです。
ターミナルで都度実行するだけではなく、CircleCIに組み込むことも可能らしく、非常に便利だなと感じました。

Data Migration on Rails

RDBを使用するシステム運用では、新しいカラムへのデータ埋め込みや既存データの更新といった「データマイグレーション」は避けて通れない作業かと思います。
データマイグレーションの手法にはいくつかのアプローチがありますが、このセッションではそれぞれのメリット・デメリットを含めて解説がされており、講演者がどのような選択を行なったかも大変参考になりました。

特に印象に残ったのが、特別枠として紹介されていた「maintenance_tasks」というGemです。
https://github.com/Shopify/maintenance_tasks

maintenance_tasksはメンテナンスタスクをUI上で管理・実行できるものです。
たとえば、大規模なデータマイグレーションを行う際、弊社ではワンショットのバッチを作成するという手段を選択することが多いです。
maintenance_tasksを使えば、タスクの作成も容易、かつUI上で一時停止や再開が可能なため、DBの負荷を確認しながら段階的に実行するといったことも可能で、このような場面では特に有用だと感じました。

感想

私はこれまでRubyやRails関連のイベントには参加したことがありませんでしたが、今回「Kaigi on Rails」に初めて参加し、想像以上に充実した時間を過ごすことができました。

特に、他社で活躍されているエンジニアの方々から大きな刺激を受けました。
セッションを聴講したり、ブースで直接お話しする機会を通して、自分もさらに技術を磨いていきたいという意欲が湧いてきました。
モチベーションが高まる良いきっかけとなり、また来年も機会があればスポンサーとして参加したいと思います。

集合写真
2日間お疲れさまでした!!

最後に

今回は「Kaigi on Rails」のレポートをお届けしました。
少しでも興味を持っていただけた方は、ぜひココナラに入社し、来年は一緒に参加しましょう!

また、ココナラではバックエンドエンジニアだけでなく、フロントエンドやアプリ開発などさまざまな領域で積極的にエンジニア採用を行っています。
カジュアル面談も実施していますので、ぜひお気軽にご連絡ください!
https://open.talentio.com/r/1/c/coconala/pages/70417

また、募集求人については以下のリンクからご確認いただけます。
https://coconala.co.jp/recruit/engineer

Discussion