Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
GraphQLについて調べてみた
Search
yuorei
December 21, 2022
Technology
82
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
76
Rust + Cloudflare Workersで作る HLS 認証プロキシ
yuorei
0
210
2022-10-15大LT.pdf
yuorei
0
29
GoでLINEbot入門
yuorei
0
81
Other Decks in Technology
See All in Technology
20260930_Gemma4_Hands-on
tsho
0
210
AIに攻撃される前に、AIに攻撃させる
tsuchikazu
0
130
個別開発で終わらせない。 現場の課題をプロダクトの強さに変える StockmarkのFDE
ktkrhr
0
560
BedrockとLambdaで作る リアルタイム進行型推理ゲーム
kawametho
0
170
【データ横丁主催】AI Agentがコンテキストを使って仕事をした後、何が残るのか― 組織の経験を次の判断に引き継ぐ「Agent Memory」
shisyu_gaku
2
320
Lambda MicroVMsが分からなすぎたので使い所を1から考えてみた
tsukuboshi
2
330
spanner-autoscalerに学ぶ CRD設計パターン 〜自動化と緊急時対応を両立する Kubernetesコントローラーの作り方〜
tkuchiki
0
230
Claude起点の仕様駆動開発
tanakaseiya
0
330
SDDの運用にめげずに向き合った話
sansantech
PRO
0
120
生成AIと進める探索的データ分析(2026.10.03 第122回Tokyo.R勉強会)
tatamiya
2
1.3k
人にやさしく、AIにやさしく、書き手を選ばないIaCのガードレール再考 / Rethinking IaC Guardrails for Humans and AI Alike
kohbis
6
2.1k
検証フェーズはAIの回答を判断するための学習機会
toru_kubota
2
470
Featured
See All Featured
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
550
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
200
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
340
brightonSEO & MeasureFest 2025 - Winning Strategies for Black Friday CRO & PPC - Christian Goodrich
cargoodrich
3
860
A better future with KSS
kneath
240
18k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.5k
Designing for Performance
lara
611
70k
Heart Work Chapter 1 - Part 1
lfama
PRO
10
36k
Navigating Weather and Climate Data
rabernat
0
540
Discover your Explorer Soul
emna__ayadi
2
1.3k
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 複数
デメリット • キャッシュが複雑になる • バックエンドの実装の難易度が高い • 比較的新しい技術なので情報量が少ない
実装できればほとんどデ メリットがないんです!
実際に動かします
ありがとうございました