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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
yuorei
December 21, 2022
Technology
76
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
70
Rust + Cloudflare Workersで作る HLS 認証プロキシ
yuorei
0
180
2022-10-15大LT.pdf
yuorei
0
28
GoでLINEbot入門
yuorei
0
78
Other Decks in Technology
See All in Technology
AI・ロボティクスと自動化社会 / AI, Robotics, and the Automated Society
ks91
PRO
0
140
SRE歴2ヶ月でも開発6年の知見を活かして、チームで止まっていた環境改善を前に進めた話
a_ono
0
170
小さいから、全部わかる。— 常駐AI "xangi" のすすめ
sugupoko
0
230
“詰む”前に仕組みを作れ 〜技術の波に溺れないためのキャッチアップ術〜
takasyou
8
5k
RAGの精度向上とエージェント活用
kintotechdev
2
120
AIに「使われる」時代のSaaS戦略 〜既存WebAPIのMCPサーバー化における開発ノウハウ〜
ekispert_api
0
270
AIDLC_ヤフーショッピングの取り組み
lycorptech_jp
PRO
0
480
AWS Summit の片隅で、体育座りしながらコミュニティがにぎわう理由を考えた
k_adachi_01
2
340
技術・能力を向上する原理原則 #きのこセッションa #きのこ2026
bash0c7
0
190
背中から、背中へ /paying forward to community
naitosatoshi
0
210
product engineering with qa
nealle
0
140
本当の”仕事”を手放せる未来が見えた
mu7889yoon
0
210
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
210
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
750
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
440
The Spectacular Lies of Maps
axbom
PRO
1
840
Information Architects: The Missing Link in Design Systems
soysaucechin
0
990
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
220
Leo the Paperboy
mayatellez
7
1.9k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
270
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 複数
デメリット • キャッシュが複雑になる • バックエンドの実装の難易度が高い • 比較的新しい技術なので情報量が少ない
実装できればほとんどデ メリットがないんです!
実際に動かします
ありがとうございました