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
80
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
GraphQLについて調べてみた
GraphQLのについて調べてみました。
yuorei
December 21, 2022
More Decks by yuorei
See All by yuorei
オブザーバビリティを意識したアプリケーション/Observability-Aware Applications
yuorei
0
74
Rust + Cloudflare Workersで作る HLS 認証プロキシ
yuorei
0
200
2022-10-15大LT.pdf
yuorei
0
29
GoでLINEbot入門
yuorei
0
81
Other Decks in Technology
See All in Technology
Hub & Spoke 環境のネットワークルーティングを分解してみる
tsuyataku
1
480
指示待ちから変化に応じるClaude Codeへ!~環境からAgentへの帰り道を作る~
gotalab555
9
1.7k
Level Up Your CDK DX: 5 Tools I’ve Been Building
gotok365
2
150
サービス内で複数のOP・ASを連鎖させる(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
420
Digital Credentials API × OpenID4VP ブラウザ完結型本人確認の実装知見(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
390
パスキーでドライブする アカウント統合(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
430
[ホンマでっか SRE] あなたはなぜ SRE に?
_awache
0
550
bet_ai_day_2026_session02
agenticsec
0
110
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
54k
書籍『生成AIの安全性入門』の入門
wataoka
0
140
1.5時間を無駄にして学んだwsl2におけるaptとsnapの選択と仕組み
yosaka0123
0
480
全社に広がるMCPサーバーを、 どう安全に管理するか MCPass開発の舞台裏
mtpooh
3
210
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.9k
The untapped power of vector embeddings
frankvandijk
2
1.8k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
310
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
850
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
500
Between Models and Reality
mayunak
4
420
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
630
How to Think Like a Performance Engineer
csswizardry
28
2.8k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
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 複数
デメリット • キャッシュが複雑になる • バックエンドの実装の難易度が高い • 比較的新しい技術なので情報量が少ない
実装できればほとんどデ メリットがないんです!
実際に動かします
ありがとうございました