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.
→
satoya
April 06, 2020
Programming
120
0
Share
GraphQL が仲間になりたそうにこちらを見ている
GraphQL 入門。(主に「初めての GraphQL 」を読んで分かったことをまとめたもの。)
satoya
April 06, 2020
More Decks by satoya
See All by satoya
GraphQL + Golang でのクエリ最適化
somen440
0
95
Other Decks in Programming
See All in Programming
コードレビューをしない選択 #でぃーぷらすトウキョウ
kajitack
3
1.3k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
1.3k
最初からAWS CDKで技術検証してもいいんじゃない?
akihisaikeda
4
180
How to stabilize UI tests using XCTest
akkeylab
0
150
AI活用のコスパを最大化する方法
ochtum
0
370
Radical Imagining - LIFT 2025-2027 Policy Agenda
lift1998
0
120
GoのDB アクセスにおける 「型安全」と「柔軟性」の両立 - Bob という選択肢
tak848
0
300
Go_College_最終発表資料__外部公開用_.pdf
xe_pc23
0
110
年間50登壇、単著出版、雑誌寄稿、Podcast出演、YouTube、CM、カンファレンス主催……全部やってみたので面白さ等を比較してみよう / I’ve tried them all, so let’s compare how interesting they are.
nrslib
4
680
Cyrius ーLinux非依存にコンテナをネイティブ実行する専用OSー
n4mlz
0
270
Codex CLIのSubagentsによる並列API実装 / Parallel API Implementation with Codex CLI Subagents
takatty
2
800
Java 21/25 Virtual Threads 소개
debop
0
320
Featured
See All Featured
The agentic SEO stack - context over prompts
schlessera
0
730
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
210
How to build a perfect <img>
jonoalderson
1
5.3k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
400
We Are The Robots
honzajavorek
0
210
4 Signs Your Business is Dying
shpigford
187
22k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Utilizing Notion as your number one productivity tool
mfonobong
4
280
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
500
Darren the Foodie - Storyboard
khoart
PRO
3
3.1k
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