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.
→
satoya
April 06, 2020
Programming
0
120
GraphQL が仲間になりたそうにこちらを見ている
GraphQL 入門。(主に「初めての GraphQL 」を読んで分かったことをまとめたもの。)
satoya
April 06, 2020
Tweet
Share
More Decks by satoya
See All by satoya
GraphQL + Golang でのクエリ最適化
somen440
0
92
Other Decks in Programming
See All in Programming
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
2
1.9k
CSC307 Lecture 06
javiergs
PRO
0
690
CSC307 Lecture 09
javiergs
PRO
1
840
CSC307 Lecture 10
javiergs
PRO
1
660
ぼくの開発環境2026
yuzneri
0
250
今から始めるClaude Code超入門
448jp
8
9.1k
Honoを使ったリモートMCPサーバでAIツールとの連携を加速させる!
tosuri13
1
180
Smart Handoff/Pickup ガイド - Claude Code セッション管理
yukiigarashi
0
150
今こそ知るべき耐量子計算機暗号(PQC)入門 / PQC: What You Need to Know Now
mackey0225
3
390
AI Agent の開発と運用を支える Durable Execution #AgentsInProd
izumin5210
7
2.3k
SourceGeneratorのススメ
htkym
0
200
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
620
Featured
See All Featured
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
120
Designing for humans not robots
tammielis
254
26k
Become a Pro
speakerdeck
PRO
31
5.8k
Ethics towards AI in product and experience design
skipperchong
2
200
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.1k
Speed Design
sergeychernyshev
33
1.5k
A Soul's Torment
seathinner
5
2.3k
Writing Fast Ruby
sferik
630
62k
YesSQL, Process and Tooling at Scale
rocio
174
15k
We Have a Design System, Now What?
morganepeng
54
8k
Fireside Chat
paigeccino
41
3.8k
Transcript
GraphQL が仲間になりたそう にこちらを見ている 仲間にしてあげますか? satoya@Somen440
GraphQL 雑コラ
はい →いいえ
なんか英語 グラフってなんだよ 何に使われてんの? どう便利?? 実際、何使えばいいのか 本番運用で使えるんか? etc
GraphQL ??
GraphQL
GraphQL
Graph (グラフ) Graph ってなんだ … ??
Graph • 情報を視覚的に二次元で表したもの • 接点と枝(頂点と辺)からなる構造
None
組織図
迷路
色々なものがグラフとして表現できる モシカシタラ ワタシタチ ノ サービ ス モ グラフ デ ヒョウゲン
デキ ルンチャウ? ※画像はイメージです。
None
\ こうして GraphQL の基盤が出来た / より詳細は、O'Reilly「初めてのGraphQL」など。 Facebook が作ったよ!
• 問い合わせ言語 ◦ クライアント → サーバー(DB)に問い合わせる • SQLと親戚(≠血縁関係) 救急箱には、「傷薬、絆 創膏、包帯があるよ。」
傷薬だけください クライアント サーバー QL(Query Language)
- サーバーが持つ「こういう救急箱があるよ」という仕様 - .gql, .graphql など
Playground で簡単動作確認 Prisma 制作のツール。Postman の GraphQL 版のようなもの。
None
更新 リソース更新はこんな感じ
でも、難しい実装が必要で学習コスト高 いんでしょ?
大丈夫です!
99designs/gqlgen (golang) 実装例 Query に対応した Resolver を実装するだけ!
その他機能 • ファイルアップロード • サブスクリプション ◦ ユーザーの追加をリアルタイムに検知のようなやつ • カスタムスカラー型 ◦
よく見るのが Time 型とか 全仕様は GitHub で管理されてる →https://github.com/graphql/graphql-spec 99designs/gqlgen の仕様追従状況 →https://gqlgen.com/feature-comparison/ 仕様追従的なところとかコミュニティが一番盛り上がってるのは Apollo (NodeJS)とか →https://www.apollographql.com/
実際使われてるサービス(公式より)
REST API とか gRPC の窓口として合わせて使うアー キテクチャもあったり
本番での運用は大丈夫? • 認証は? ◦ ヘッダー認証 • todo の user の
todo の user の … みたいな 悪意のあるクエリ対策は? ◦ クエリ自体の複雑度を数値化して制限を設けるライ ブラリあり ◦ 階層自体にも制限を設けることもできる
GraphQLに興味が出てきたんじゃないで しょうか!? もうちょっとだけ続くんじゃ
GraphQL 雑コラ
→はい いいえ
Enjoy GraphQL