Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
GraphQLでの型渡しとデータフェッチの最適化
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
林憲吾
September 19, 2024
Technology
610
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
GraphQLでの型渡しとデータフェッチの最適化
「テックリードの悩みを解決するGraphQLの話」にて登壇した資料です。
https://estie.connpass.com/event/328999/
林憲吾
September 19, 2024
More Decks by 林憲吾
See All by 林憲吾
GraphQLを安全に使うためにやっていること
hayashikengo
2
920
電子署名サービスの品質戦略
hayashikengo
1
1.1k
CTOの役割と、カルチャーの醸成
hayashikengo
1
110
Other Decks in Technology
See All in Technology
チームで進めるAI駆動アジャイル×ウォーターフォール
kumaiu
0
160
爆速でマルチプロダクトを立ち上げる時 事業・CTO目線で大事にしたい事
miyatakoji
0
110
2026TECHFRESH畢業分享會 - Lightning Talk - 打造精準高效的 MCP 設計模式與測試實務
line_developers_tw
PRO
0
900
気づかぬうちにセキュリティ負債を生むAPIキー運用
sgwrmctk
0
110
SIer20年! 培ったスキルがスタートアップで輝く時
shucho0103
0
850
20260619 私の日常業務での生成 AI 活用
masaruogura
1
150
2026TECHFRESH畢業分享會 - Lightning Talk - 資料也要 CI/CD? 用 Airbyte 自動化資料同步
line_developers_tw
PRO
0
890
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
6
1.9k
AGENTS.mdとSkillsで始めるAIエージェント活用
sonoda_mj
3
200
やさしいA2A入門
minorun365
PRO
12
1.8k
NAB Show 2026 動画技術関連レポート / NAB Show 2026 Report
cyberagentdevelopers
PRO
0
180
RSA暗号を手計算したくなること、ありますよね?? (20260615_orestudy6_rsa)
thousanda
0
310
Featured
See All Featured
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.5k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.1k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
エンジニアに許された特別な時間の終わり
watany
107
250k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
How to Ace a Technical Interview
jacobian
281
24k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
160
The Spectacular Lies of Maps
axbom
PRO
1
800
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
450
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
280
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.5k
Transcript
GraphQLでの型渡しとデータフェッチの最適化 株式会社PICK 林憲吾 Hayashi Kengo
https://twitter.com/kenbu05 株式会社PICK CTO 林憲吾 Hayashi Kengo 自己紹介 ①経歴 ②趣味 学生時代
スペースマーケット (インターン ) 2018-2019 ヤフー 2019-2022 スリーシェイク 2022-現在 PICK CTO 筋トレ・バイク・釣り
はじめに GraphQLでの型渡しとデータフェッチの最適化 01. AtomicDesign と colocationの相性 02. 03. 目次 まとめ
04.
01. はじめに
PICKはどんなプロダクトを作っているのか? 01. はじめに 電子契約 案件管理 顧客管理 and more…
PICKの技術スタック 01. はじめに
GraphQLを効率的に扱う為にしたこと 01. はじめに データフェッチ最適化 → colocationの概念取り入れた コンポーネントでの Propsの扱いを楽に → fragmentとgraphql-codegenを取り入れた
02. GraphQLでの型渡しとデータフェッチの最適化
colocationとは? 02. GraphQLでの型渡しとデータフェッチの最適化 データの取得ロジックと、そのデータを使う UIコンポーネントを 同じ場所にまとめて管理するという考え方。
なぜ取り入れたか? 02. GraphQLでの型渡しとデータフェッチの最適化 - コンポーネント内にデータ取得ロジックが集約 → 開発効率とメンテナンス性の向上 → データフェッチの最適化
colocation具体例(ヘッダーの場合) 02. GraphQLでの型渡しとデータフェッチの最適化
コンポーネントのデータ定義が共通化できる 02. GraphQLでの型渡しとデータフェッチの最適化
共通化される場合の GraphQLの定義 02. GraphQLでの型渡しとデータフェッチの最適化
graqhpl-codegenとは? 02. GraphQLでの型渡しとデータフェッチの最適化 GraphQLスキーマやクエリをもとに、 型安全なコードを自動生成するライブラリ
graqhpl-codegenをなぜ取り入れたか? 02. GraphQLでの型渡しとデータフェッチの最適化 - フロントエンド側で、 GraphQLを型安全に扱う為。 → GraphQLのメリットを最大限享受 → Fragmentの型生成が
colocation と相性良かった
graphql-codegen実装例①( hooks編) 02. GraphQLでの型渡しとデータフェッチの最適化
graphql-codegen実装例②( fragment編) 02. GraphQLでの型渡しとデータフェッチの最適化
まとめ 02. GraphQLでの型渡しとデータフェッチの最適化 - colocation・graphql-codegen 導入すると → データに依存した Component Propsの型生成を自動化
→ 保守性・開発効率上がる → Queryの使いまわしが減り、データフェッチの最適化
03. AtomicDesign と colocation の相性
AtomicDesignにおけるcolocation相性 03. GraphQLでのデータフェッチ最適化 - 必ずしも相性が良いとは限らない、、、 - データの再利用性 vs UIの再利用性の衝突 -
各階層にFragmentが絡むことでのデータ階層の複雑性の増加 - 依存関係の複雑化
AtomicDesignにおけるcolocationの落とし所 03. GraphQLでのデータフェッチ最適化 - Fragmentルール化 - 上位コンポーネントに集約 - 必要な場合にのみ Colocationを使う
- Prop Drillingを活用する
04. まとめ
まとめ 04. - colocation と graphql-codegen を導入すると、 GraphQLの メリットを享受できる -
AtomicDesign と colocation は必ずしも相性が良い訳ではなく、 導入時には要検討
最後に 04. - Twitter/Zennやってます!ご興味あれば見てみてください! - https://x.com/kenbu05 - https://zenn.dev/kenghaya -
ご清聴ありがとうございました
None