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

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

おおいし
September 06, 2024

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

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

旧タイトル: 「TypeScriptとGraphQLを活用した変化に強いプロダクト作り」。2024年9月9日(月) に更新しました。

ハコベル株式会社 採用情報

【著者について】

- 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