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 DataLoader 적용하기
Search
angelxtry
February 08, 2020
Programming
0
99
GraphQL DataLoader 적용하기
angelxtry
February 08, 2020
Tweet
Share
Other Decks in Programming
See All in Programming
AIによる開発の民主化を支える コンテキスト管理のこれまでとこれから
mulyu
3
270
フルサイクルエンジニアリングをAI Agentで全自動化したい 〜構想と現在地〜
kamina_zzz
0
400
CSC307 Lecture 05
javiergs
PRO
0
500
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
2k
AIで開発はどれくらい加速したのか?AIエージェントによるコード生成を、現場の評価と研究開発の評価の両面からdeep diveしてみる
daisuketakeda
1
2.5k
QAフローを最適化し、品質水準を満たしながらリリースまでの期間を最短化する #RSGT2026
shibayu36
2
4.4k
360° Signals in Angular: Signal Forms with SignalStore & Resources @ngLondon 01/2026
manfredsteyer
PRO
0
130
Honoを使ったリモートMCPサーバでAIツールとの連携を加速させる!
tosuri13
1
180
Oxlint JS plugins
kazupon
1
950
プロダクトオーナーから見たSOC2 _SOC2ゆるミートアップ#2
kekekenta
0
210
AIフル活用時代だからこそ学んでおきたい働き方の心得
shinoyu
0
130
AI時代のキャリアプラン「技術の引力」からの脱出と「問い」へのいざない / tech-gravity
minodriven
21
7.2k
Featured
See All Featured
Docker and Python
trallard
47
3.7k
Code Reviewing Like a Champion
maltzj
527
40k
Rails Girls Zürich Keynote
gr2m
96
14k
WCS-LA-2024
lcolladotor
0
450
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
60
42k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.6k
Automating Front-end Workflow
addyosmani
1371
200k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
170
Believing is Seeing
oripsolob
1
55
Transcript
GraphQL DataLoader 2020.02.08 doit team ࣻഐ https://github.com/angelxtry
TL; DR GraphQLਸ بੑ೮ݶ DataLoaderܳ ਊೞࣁਃ. فߣ ೞࣁਃ.
Teck stack
GraphQL
GraphQL ػ(nested) ࠁܳ োझۣѱ ۽٘ೡ ࣻ .
GraphQL ػ(nested) ࠁܳ োझۣѱ ۽٘ೡ ࣻ .
None
None
GraphQL ػ(nested) ࠁܳ োझۣѱ ۽٘ೡ ࣻ .
None
ޙઁߊࢤ
dummy data 50 user full data
וܻ. ৵? ۽Ӓܳ ࠁ! ۽Ӓܳ!
۽Ӓо ցޖ ݆ই! query query query query query query query
query query query query query query query query query query query query query query
ࠗఠ द! 10 user data + motivations data ઑഥ
۽Ӓܳ ࠁ! ۽Ӓܳ!
য?!?! user * 1 + motivaions * 10 = 11(?)
user * 1 + table 6 * user 50 =
301(!!)
N+1 Problem
users user user user user user Select
users user user user user user m m m m
m Select Select Select Select Select Select
যڌѱ ೧Ѿ೮աਃ?
DataLoader
DataLoader is a generic utility to be used as part
of your application’s data fetching layer to provide a simplified and consistent API over various remote data sources such as databases or web services via batching and caching.
users user user user user user 1 User ప࠶ select
key key key key key DataLoader users user user user
user user 2 DataLoaderী key 1 User ప࠶ select
key key key key key DataLoader val val val val
val users user user user user user Select 3 Motivations table select 2 DataLoaderী key 1 User ప࠶ select
key key key key key DataLoader val val val val
val users user user user user user m m m m m Select 4 User߹ Motivation ೡ 3 Motivations table select 2 DataLoaderী key 1 User ప࠶ select
userSchema.ts
userResolver.ts
DataLoader ਊ!
yarn add dataloader
userResolver.ts
userResolver.ts
userRepository.ts
userRepository.ts
ࢎ೦
ࢎ೦ 1
ࢎ೦ 2
ࢎ೦ 3
ޤо જইաਃ?
Select 2ߣ
500 user full data
Select 2ߣ
Postman 10ഥ ߈ࠂ प೯ റ 10ഥ ಣӐ प೯ ࣘب ஏ
Postman 10ഥ ߈ࠂ प೯ റ 10ഥ ಣӐ प೯ ࣘب ஏ
ਊ : 1318ms ਊ റ: 117ms
Ѿۿ
TL; DR GraphQLਸ بੑ೮ݶ DataLoaderܳ ਊೞࣁਃ. فߣ ೞࣁਃ.
ӟ ߊ ٜয࣊ࢲ хࢎפ! ߊ ղਊਸ ؊ ࠁҊ रਵदݶ? https://blog.doitreviews.com/development/
2020-02-04-graphql-typeorm-dataloader/ ۽ં ٘о ҾӘೞदݶ? https://github.com/codestates/healthFriend-server