こんにちは。2021年4月に新卒入社したネゴロです。
先日の週末、歌舞伎町で19時スタートの忘年会がありまして、日付が変わり4時ごろ終了。その場で友人に車でピックアップしてもらい、8時に長野県菅平のスキー場に到着してスノボを楽しみました。自分の体力の限界に挑戦できて良い年末になりました。
さて今回は、先日12月15日に行われたグリーグループ広告メディア事業3社合同ウェビナーに、アウモの開発責任者の村田と新卒サーバーサイドエンジニアの私(根來)が登壇した件についてご紹介します。
こちらのウェビナーでは「最近のRails事情について ~ 開発秘話ぶっちゃけトーク with コロナ時代 ~」というテーマのもと、グリーグループの子会社であるGlossom株式会社・グリーライフスタイル株式会社・アウモ株式会社の社員が登壇&トークを行いました。
また、トークセッションではグリー株式会社/アウモ株式会社CTOの藤本さんもご参加されました。
目次
スケジュール
当日のスケジュールは以下の通りです。
18:00 ~ 18:05 | オープニング・登壇者紹介 |
18:05 ~ 18:25 | コロナ禍におけるリモート主体Rails開発組織の作り方(Glossom株式会社) |
18:25 ~ 18:35 | トークセッション |
18:35 ~ 18:55 | AWS sdkを使ったRailsアプリ環境構築(グリーライフスタイル株式会社) |
18:55 ~ 19:05 | トークセッション |
19:05 ~ 19:25 | RailsでREST APIとGraphQLの両方を開発して得たGraphQLを導入する上での勘所(アウモ株式会社) |
18:25 ~ 19:35 | トークセッション・エンディング |
アウモは「RailsでREST APIとGraphQLの両方を開発して得たGraphQLを導入する上での勘所」という内容でウェビナー最後の登壇パートを担当しました。
発表内容
アウモの登壇パートでは以下の構成で発表を行いました。
- 事業紹介
- GraphQLとは
- aumoでのGraphQL活用事例
- 勘所
- テスト
- N+1
- ログ解析
以下、登壇で使用したスライドの一部と概要をご紹介します。詳細につきましてはリンクを載せましたので、そちらからご覧いただければ幸いです。
アウモ技術責任者の村田からは「事業紹介」「GraphQLとは」「勘所:N+1」「勘所:ログ解析」について発表しました。
GraphQLではスキーマ毎にクエリが走るため、何も対策しないとN+1問題が頻繁に発生してしまいます。
そこで、N+1が発生しうるフィールドに対してEager Loadを走らせ、事後でWHERE INさせることができるgraphql-batchというgemを導入し、N+1問題を解消した事例をご紹介しました。
GraphQLは単一APIエンドポイントのため、レスポンス速度の調査などの際に問題箇所の特定が難しいといった課題があり、それに対する解決策をご紹介しました。
N+1やログ解析についてはGREE Tech Conference 2020でも発表しており、詳細はこちらをご覧ください。
私からは「aumoでのGraphQL活用事例」「勘所:テスト」について発表しました。
aumoではgraphql-rubyというRailsでGraphQLを扱うためのgemを導入しています。
こちらのgraphql-rubyを活用して、フロントエンドからリクエストされたGraphQLのクエリをバックエンドAPI側でどのように処理していくかについて、実際のコードを交えながらaumoでの事例を詳細にご紹介しました。
RailsのテストフレームワークのデファクトスタンダードであるRSpecと、クエリの生成・実行・実行時のエラーまでを自動に行ってくれるgraphql-autotestというgemを活用したテスト環境についてご紹介しました。(詳細はこちらをご覧ください)
工数をそこまでかけたくない一方、GraphQLのテスト環境は整備したいといった場合に、graphql-autotestは良い選択肢になると思います。
当日の様子
ウェビナー当日は、登壇者がそれぞれ透明なパーテーションで仕切られた座席に座っており、登壇する番になったら演台に立って事前に用意したスライドを投影しながら発表を行いました。
今回のウェビナーは完全オンラインだったため、演台の前には大きなカメラがありました。
それぞれの登壇パート後には登壇者全員とCTO藤本さんによるトークセッションが行われました。
ゆるい感じの雰囲気で、登壇の発表の内容についての質疑応答や雑談などで盛り上がりました。
皆さん笑顔で優しく、新卒の私でもリラックスしてトークに参加できました。
最後に
今回のウェビナーは私にとって初めての登壇だったため非常に緊張しましたが、なんとか無事に終わってほっとしました笑
他の方の登壇発表内容も非常に勉強になり、今回のウェビナーに参加できてとても良かったです。
アウモとして引き続き登壇等の外部発信に力を入れていきますのでよろしくお願いします。