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
100
GraphQL が仲間になりたそうにこちらを見ている
GraphQL 入門。(主に「初めての GraphQL 」を読んで分かったことをまとめたもの。)
satoya
April 06, 2020
Tweet
Share
More Decks by satoya
See All by satoya
GraphQL + Golang でのクエリ最適化
somen440
0
61
Other Decks in Programming
See All in Programming
VSCodeでのDatabricks開発もお勧めしたい/I would also recommend Databricks development with VSCode.
kazumain
0
250
PostmanでAPIの動作確認が楽になった話
h455h1
0
160
Anthropic Cookbook のおすすめレシピ
schroneko
6
700
見た目から始める生産性向上
ikumatadokoro
7
760
What We Can Learn From OSS
inouehi
0
420
CQRS/ES avec Symfony, c’est (trop) bien !
jeremyfreeagent
1
640
雑に思考を整理する技術と効能
konifar
58
28k
Goのmultiple errorsについて (2024年4月版)
syumai
1
340
Elm Form Validation
bkuhlmann
0
510
今、知っておきたい! 生成AIエージェントの世界
elith
3
350
GraphQLサーバの構成要素を整理する #ハッカー鮨 #tsukijigraphql / graphql server technology selection
izumin5210
4
810
Komplexe Oberflächen mit SVG und der Web Animation API
joergneumann
0
670
Featured
See All Featured
Designing on Purpose - Digital PM Summit 2013
jponch
110
6.4k
GitHub's CSS Performance
jonrohan
1024
450k
Designing the Hi-DPI Web
ddemaree
276
33k
Designing Experiences People Love
moore
136
23k
Music & Morning Musume
bryan
41
5.6k
YesSQL, Process and Tooling at Scale
rocio
163
13k
Code Reviewing Like a Champion
maltzj
513
39k
Bootstrapping a Software Product
garrettdimon
PRO
301
110k
Into the Great Unknown - MozCon
thekraken
10
990
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
13
1.5k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
5
1.5k
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