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
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
90
Other Decks in Programming
See All in Programming
TransformerからMCPまで(現代AIを理解するための羅針盤)
mickey_kubo
7
6k
フロントエンド開発のためのブラウザ組み込みAI入門
masashi
7
3.7k
3年ぶりにコードを書いた元CTOが Claude Codeと30分でMVPを作った話
maikokojima
0
750
オンデバイスAIとXcode
ryodeveloper
0
390
AkarengaLT vol.38
hashimoto_kei
1
130
Register is more than clipboard
satorunooshie
1
390
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
240
開発組織の戦略的な役割と 設計スキル向上の効果
masuda220
PRO
10
2.1k
エンジニアインターン「Treasure」とHonoの2年、そして未来へ / Our Journey with Hono Two Years at Treasure and Beyond
carta_engineering
0
480
Migration to Signals, Resource API, and NgRx Signal Store
manfredsteyer
PRO
0
140
Pythonに漸進的に型をつける
nealle
1
150
AsyncSequenceとAsyncStreamのプロポーザルを全部読む!!
s_shimotori
1
230
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.1k
Practical Orchestrator
shlominoach
190
11k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
640
Become a Pro
speakerdeck
PRO
29
5.6k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
650
Scaling GitHub
holman
463
140k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
Code Review Best Practice
trishagee
72
19k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
A Modern Web Designer's Workflow
chriscoyier
697
190k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
658
61k
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