Upgrade to Pro — share decks privately, control downloads, hide ads and more …

エラーレスポンス設計から考える、0→1開発におけるGraphQLへの向き合い方

おおいし
September 06, 2024

 エラーレスポンス設計から考える、0→1開発におけるGraphQLへの向き合い方

このデックでは、エラーレスポンス設計から考える、プロダクトの0→1開発におけるGraphQLへの向き合い方について紹介します。

記事: 【技術選定】 0→1 の SaaS に採用して感じた GraphQL への向き合い方

【著者について】

- Portfolio: bicstone.me
- X(Twitter): @bicstone_me

【この資料で発表したイベント】

- 2024年、GraphQLにどう向き合う?導入と活用の実際
- ゆめみ×LayerX×サイボウズ3社合同フロントエンドカンファレンス北海道2024後夜祭@東京

【ページ内のURLリンク集】

3: https://findy-code.io/engineer-lab/bicstone_me
6: https://www.hacobell.com/optimization
14-1: https://github.com/dotansimha/graphql-code-generator
14-2: https://github.com/99designs/gqlgen
15: https://github.com/graphql/dataloader
21: https://spec.graphql.org/October2021/#sec-Errors
26: https://zenn.dev/p/hacobell_dev
28: https://recruit.hacobell.com/
29: https://bicstone.me/

【お詫び】

このデッキはアクセシビリティに対応しておりません。ブログ記事をご参照ください。

© 2024 Oishi Takanori

おおいし

September 06, 2024
Tweet

More Decks by おおいし

Other Decks in Programming

Transcript

  1. 自己紹介 ハコベル株式会社 大石貴則 (@bicstone) Certified ScrumMaster® is a certification mark

    of Scrum Alliance, Inc. Any unauthorized use is strictly prohibited. 高専卒の元機械エンジニア。 インターネットが世の中を変えていく のを目の当たりにしWeb業界に転身。 現在はSaaSの開発を通じて物流業界の 課題解決に正面から向き合っている。 好きなネジはイモネジ。 2
  2. プロダクトのアーキテクチャと目論見 GraphQL gRPC gRPC Frontend Backend Service A Service B

    ... TypeScript Go Go Python “持続的に発展可能”をキーワードに技術選定 FE、BEともに静的型付け言語を採用 フロントエンド(FE) - バックエンド(BE) 間の APIにGraphQLを採用 BE - サービス 間の通信はgRPCを採用 8
  3. GraphQLを採用したメリット ライブラリを用いることで型生成が可能 TypeScript: GraphQL-Codegen [1] Go: gqlgen [2] スキーマ変更の影響範囲を型制約として静的 に検出可能

    3. 変更の影響範囲が型で検知可能 → 仕様やモデルの変化を迅速かつ安全に 反映でき、アジリティが向上 14 1: https://github.com/dotansimha/graphql-code-generator 2: https://github.com/99designs/gqlgen
  4. Special Thanks ハコベル配車計画チームの皆さん (いつもありがとうございます) GraphQL Error、下から見るか?横から見るか? | by Yosuke Kurami

    | Medium https://quramy.medium.com/3924880be51f (Quramyさんありがとうございます) 快適にスキーマ駆動開発をするためのGraphQLエラー設計 - バイセル Tech Blog https://tech.buysell-technologies.com/entry/2023/02/21/000000 Shopify GraphQL Design Tutorial https://github.com/Shopify/graphql-design-tutorial/blob/master/lang/TUTORIAL_JAPANESE.md Error States with ErrorBoundaries | Relay https://relay.dev/docs/guided-tour/rendering/error-states/ GitHub GraphQL API documentation https://docs.github.com/ja/graphql Swan | GraphQL API Reference https://api-reference.swan.io/ Finnian Langhamさん - INFRA Original Soundtrack (神ゲーのサントラは資料作成時に流すと捗ります) 大石 貴則 (@bicstone) 登壇資料 & SNS (bicstone.me) 29