劇中の波のシーンが実写か3DCGかを考えだすと気になって夜も眠れません。新アプリを開発する中でGraphQLを試行錯誤しながら色々試した話をしたいと思います。巨大地下空間に行った時の写真。(本文とは一切関係ありません)GraphQLで言うと、弊社主催でGraphQLの勉強会を9月に開催しており、そこからのアップデートを主にご紹介するつもりです。Deck)前回からのアップデートは主に以下3点です。比べ、1リクエストで複数のクエリを実行できるため認証周りに負担をかけなくて済む!ここ最近、動画配信などの期間限定コンテンツが増えたおかげで、認証周りへのアクセスが集中する時間帯が発生することがあります。やり方だと、アクセス毎にそのセッションIDが生きているか、どのユーザかの認証を走らせる必要があります。アプリから一度に何リクエストも投げなければならないケースも多く、これが認証サーバの負荷を増大させてしまっていました。結局そのデータ周りを取得するためには毎回アクセスせざるを得ないという状況が発生してしまいます。比べると数分の一のアクセス数に軽減させることができました。キャッシュ可能なデータはサーバ側でもキャッシュさせるなどの工夫も必要になります。いう説明になっています。このあたりの情報を検索してみると、どういう値をクライアントに返すか皆さん色々苦労されているようです。複雑になってしまうため、あまり上手く解決できませんでした。2つを返すようにしています。返すようにしていて、認証失敗時の場合などに活用しています。エラーコードとメッセージのコードを共通化する予定です。独自のコードでの判定にするより可読性が高くなりそうという理由でcodeを追加していますが、ここのあたりは再考の余地があるかもしれません。上記ルールを共有することでサーバもクライアントもスムーズに解決に向かったので、一つの解ではないかと考えています。セキュリティテストってどうやるんだ...リリースも大詰めに入った頃、ある疑問が湧きました。リリース前になるとセキュリティ的に問題ないか確認するため、セキュリティスキャンを実施しなければいけません。場合は有償/無償含めてたくさんのツールが存在し、弊社でも有償のツールを利用してセキュリティスキャンを実施しています。GraphQLのセキュリティスキャンは全く実績がありませんでした。セキュリティチームに相談したところ、HTTP通信としてのチェックは可能とのこと。HTTP通信であることは間違いないので、エンドポイントに攻撃を仕掛けてもらい、問題なしとなりました。これについてはちょっと気になったので、情報を探してみました。見つけ、これによると、以下の3点のテストが挙げられています。Injections上記いずれも既存のツールではカバーできない範囲でしたので、いくつか追加でシナリオを作成し、実施することで問題なしという判断としています。GraphQLを使ってみてGraphQLを使うことでスキーマファーストの開発の流れに上手く乗ることができ、サーバ、クライアント共に幸せになれたのではないか?と思っています。(詳しくは先ほどご紹介した勉強会の内容をご参照ください)今後は、上記悩んだポイントなど他チームでGraphQLを使っているメンバーとも今まで以上に連携し、より良くしていければと考えています。サーバサイドKotlin+GraphQLで一緒に開発に参加してくれる仲間を募集しています。(@fuku...2020-09-11社内サービスを一括・即座・セキュアにリモートワーク開放した話はじめまして。ついて語る会を開催しましたエンジニアリンググループの松原@ma2geです。9注目記事はてなブログをはじめよう!m3techさんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。