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
yuorei
December 21, 2022
Technology
0
68
GraphQLについて調べてみた
GraphQLのについて調べてみました。
yuorei
December 21, 2022
Tweet
Share
More Decks by yuorei
See All by yuorei
オブザーバビリティを意識したアプリケーション/Observability-Aware Applications
yuorei
0
61
Rust + Cloudflare Workersで作る HLS 認証プロキシ
yuorei
0
150
2022-10-15大LT.pdf
yuorei
0
23
GoでLINEbot入門
yuorei
0
70
Other Decks in Technology
See All in Technology
Kusakabe_面白いダッシュボードの表現方法
ykka
0
120
Redshift認可、アップデートでどう変わった?
handy
1
140
Models vs Bounded Contexts for Domain Modularizati...
ewolff
0
150
Cloud WAN MCP Serverから考える新しいネットワーク運用 / 20251228 Masaki Okuda
shift_evolve
PRO
0
150
Oracle Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
3
350
モノタロウ x クリエーションラインで実現する チームトポロジーにおける プラットフォームチーム・ ストリームアラインドチームの 効果的なコラボレーション
creationline
0
770
Node vs Deno vs Bun 〜推しランタイムを見つけよう〜
kamekyame
1
430
Scrum Guide Expansion Pack が示す現代プロダクト開発への補完的視点
sonjin
0
610
BidiAgent と Nova 2 Sonic から考える音声 AI について
yama3133
2
150
純粋なイミュータブルモデルを設計してからイベントソーシングと組み合わせるDeciderの実践方法の紹介 /Introducing Decider Pattern with Event Sourcing
tomohisa
1
980
「駆動」って言葉、なんかカッコイイ_Mitz
comucal
PRO
0
140
Keynoteから見るAWSの頭の中
nrinetcom
PRO
1
180
Featured
See All Featured
Documentation Writing (for coders)
carmenintech
77
5.2k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
130
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
110
The agentic SEO stack - context over prompts
schlessera
0
590
Balancing Empowerment & Direction
lara
5
840
Claude Code のすすめ
schroneko
67
210k
Everyday Curiosity
cassininazir
0
120
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.1k
What does AI have to do with Human Rights?
axbom
PRO
0
1.9k
Testing 201, or: Great Expectations
jmmastey
46
7.9k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
Transcript
GraphQL ユオレイ 2022/11 Zli LT
自己紹介 • ハンドルネーム : ユオレイ • 学部1年 • 最近はGo言語でバックエンドやっています •
pythonもさわったことあります • インターホンX LINE
GraphQLとは何か GraphQLとはAPIのために作られたクエリ言語です Facebook社が開発・提供しています 2015年にオープンソース化されました
どこが使っているのか
GraphQLのメリット
GraphQLのメリット • 異なるリソースに対して異なるHTTPのエンドポイントをあてるのではなく、 HTTPエンドポイントに「クエリ」を POST する点です 命令
• クライアントがAPIを呼び出すことで、バックエンドAPIから必要 なデータを正確に取得できるように設計されています • 要求された特定のデータのみ取得します • すべてのデータが1 つのエンドポイントで提供されます /endpoint1 /endpoint2
複数 一つ /endpoint 複数
オーバーフェッチ問題 アンダーフェッチ問題
オーバーフェッチ問題 必要以上のデータを取得していること Too much
例 userのid,lastnameのみが欲しいとします REST API でこれを取得する場合は 一つのエンドポイントから他の情報もとってきてしまい処理が 重くなってしまいます firstnameもとってきてしまう 回避するにはエンドポイントにクエリをつけなくてはならない
例 users から id,name,のみを取り出したいとき GraphQL APIでは一つのエンドポイントからクエリを出すことで 必要なものを取り出せるので { users{ id lastname
} }
"users": [ { "id": "0701", "lastname": "Yuorei"
アンダーフェッチ問題 エンドポイントの呼び出しで十分なデータがないため、2番目 のエンドポイントを呼び出す必要があります。 例としてusersのid,lastnameの他にusersに紐付いている gradesをとってくる時 rest apiでは2つのエンドポイントが必要になりますが GraphQLでは1つのクエリに追加することで一度で取得でき ます
/endpoint1 /endpoint2 複数 一つ /endpoint 複数
デメリット • キャッシュが複雑になる • バックエンドの実装の難易度が高い • 比較的新しい技術なので情報量が少ない
実装できればほとんどデ メリットがないんです!
実際に動かします
ありがとうございました