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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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と遊ぶ』」〜ワクワクが最強のテスト・QA学習戦略_公開用
odan611
1
360
AI・ロボティクスと自動化社会 / AI, Robotics, and the Automated Society
ks91
PRO
0
140
10x Speed With QA Agent Platform - How we scaled adoption from individual effort to organizational capability
lycorptech_jp
PRO
0
110
製造現場での生成AIの活用、およびエージェントAIの実装のあり方、AVEVAの取り組み
iotcomjpadmin
0
210
Docker Desktop不要の時代が来る? WSL標準の「wslc」で Linuxコンテナを動かしてみた.
ueponx
0
530
本当の”仕事”を手放せる未来が見えた
mu7889yoon
0
210
AIエージェントとPhysical AIが拓く製造業の変革(ハノーバーメッセリキャップ)
iotcomjpadmin
0
200
スタートアップにおけるアジャイルの実践について #shibuyagile
murabayashi
3
1.9k
4人目のSREはAgent
tanimuyk
0
360
5分でわかる Amazon Connect_20260608
hwangbyeonghun
0
170
開発組織のAI活用レベルを可視化する「エンジニア版AI番付」の取り組み
fuzzy31u
0
110
AWS Summit の片隅で、体育座りしながらコミュニティがにぎわう理由を考えた
k_adachi_01
2
340
Featured
See All Featured
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
410
The Language of Interfaces
destraynor
162
27k
Raft: Consensus for Rubyists
vanstee
141
7.6k
The Limits of Empathy - UXLibs8
cassininazir
1
380
Optimizing for Happiness
mojombo
378
71k
Embracing the Ebb and Flow
colly
88
5.1k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.6k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
860
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
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 複数
デメリット • キャッシュが複雑になる • バックエンドの実装の難易度が高い • 比較的新しい技術なので情報量が少ない
実装できればほとんどデ メリットがないんです!
実際に動かします
ありがとうございました