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の紹介 / graphql-introduction
Search
howyi
July 05, 2019
Programming
0
66
GraphQLの紹介 / graphql-introduction
howyi
July 05, 2019
Tweet
Share
More Decks by howyi
See All by howyi
Go+gRPCで作った次世代店舗の裏側
howyi
1
1.6k
GraphQLを活用するツールやライブラリ / graphql-libraries
howyi
0
94
サーバレスアーキテクチャでSlackBotを作る / serverless-slackbot
howyi
0
71
Amplifyの紹介/amplify-introduction
howyi
0
82
AWS認定を受けた話 / AWS CERTIFIED
howyi
0
85
自作PHPライブラリをリファクタリングした / Refactoring library
howyi
0
110
PhpStormの設定晒す / Customizing PhpStorm
howyi
0
100
ClickUpで始める進捗管理 / ClickUp
howyi
0
490
Other Decks in Programming
See All in Programming
Cursorハンズオン実践!
eltociear
2
1.2k
Range on Rails ―「多重範囲型」という新たな選択肢が、複雑ロジックを劇的にシンプルにしたワケ
rizap_tech
0
6.7k
iOSエンジニア向けの英語学習アプリを作る!
yukawashouhei
0
200
Server Side Kotlin Meetup vol.16: 内部動作を理解して ハイパフォーマンスなサーバサイド Kotlin アプリケーションを書こう
ternbusty
3
220
Catch Up: Go Style Guide Update
andpad
0
230
TFLintカスタムプラグインで始める Terraformコード品質管理
bells17
2
330
Domain-centric? Why Hexagonal, Onion, and Clean Architecture Are Answers to the Wrong Question
olivergierke
3
930
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
320
Google Opalで使える37のライブラリ
mickey_kubo
2
110
One Enishi After Another
snoozer05
PRO
0
130
他言語経験者が Golangci-lint を最初のコーディングメンターにした話 / How Golangci-lint Became My First Coding Mentor: A Story from a Polyglot Programmer
uma31
0
310
あなたとKaigi on Rails / Kaigi on Rails + You
shimoju
0
170
Featured
See All Featured
Bash Introduction
62gerente
615
210k
Git: the NoSQL Database
bkeepers
PRO
431
66k
We Have a Design System, Now What?
morganepeng
53
7.8k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Optimizing for Happiness
mojombo
379
70k
How GitHub (no longer) Works
holman
315
140k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Reflections from 52 weeks, 52 projects
jeffersonlam
353
21k
The Pragmatic Product Professional
lauravandoore
36
7k
Docker and Python
trallard
46
3.6k
How to train your dragon (web standard)
notwaldorf
97
6.3k
Transcript
ʰ(SBQI2-ʱͷհ
ͳΜͰ͔͢͜Ε (SBQI2-ެࣜϖʔδͷ(PPHMFຊޠ༁
ͳΜͰ͔͢͜Ε w "1*༻ΫΤϦݴޠ w ಛఆͷ%#ϓϩάϥϛϯάݴޠʹ݁ͼ͚ΒΕ͍ͯΔͷͰͳ͍ w ӡӦ'BDFCPPLˠ(SBQI2-'PVOEBUJPOͱͯ͠ಠཱ
"1*ఆٛͷॻ͖ํ
ΈࠐΈͷܕදه w *OU w 'MPBU w 4USJOH w #PPMFBO w
*% w ྻ<>Ͱғͬͯදهˠ<4USJOH> w σϑΥϧτදهશͯOVMMBCMFѻ͍ w OPOOVMMBCMF5ZQFͷޙʹΛ͚Δˠ4USJOH
5ZQF w ΫϥεతͳཱͪҐஔ w ෦ͷ'JFMEͱݺͿ w ܧঝͳ͍ type User {
id: ID name: String }
4DIFNB w 2VFSZ .VUBUJPOͷܕΛࢦఆ͢Δ schema { query: Query mutation: Mutation
}
2VFSZ w σʔλΛऔಘ͢Δػೳ 2VFSZͱͯ͠ఆٛ͢Δɻ type Query { hero(episode: Episode): Character
droid(id: ID!): Droid } w &QJTPEFΛ͢ͱ$IBSBDUFS͕ฦͬͯ͘Δ w *%Λ͢ͱ%SPJE͕ฦͬͯ͘Δ
.VUBUJPO w σʔλΛมԽͤ͞Δػೳ .VUBUJPOͱͯ͠ఆٛ͢ Δɻ type Mutation { deleteHero(id: ID!):
Result! createDroid(droid: Droid!): ID! } w *%Λ͢ͱ3FTVMU͕ฦͬͯ͘Δ w %SPJEΛ͢ͱ*%͕ฦͬͯ͘Δ
4VCTDSJQUJPO w ϦΞϧλΠϜ௨৴ͳͲΛߦ͍͍ͨ߹4VCTSJQUJPOͱͯ͠ఆٛ͢Δɻ w Πϕϯτ͕ൃੜͨ͠ͱ͖ʹߋ৽Λड͚औΔ w 8FCTPLFUΛ༻࣮ͯ͠͞ΕͯΔ͜ͱ͕ଟ͍ʢؾ͕͢Δʣ type Subscription {
commentAdded(repoFullName: String!): Comment }
%JSFDUJWF w !ϚʔΫΛ͚ͭΔ͜ͱͰΧελϜଐੑΛઃఆՄೳ w ެࣜͰ!EFQSFDBUFEσΟϨΫςΟϒͳͲͷ༷͕͋Δ type User @model { id:
ID! name: String! phone: Phone! @hasOne }
%JSFDUJWF w ྫ w 5ZQFʹ!NPEFMΛ͚ͭΔͱ%#ఆٛͱͯ͠ೝࣝ͞Εɺςʔϒϧ͕࡞͞ΕΔ w 'JFMEʹ!IBT0OFΛ͚ΔͱࣗಈͰϦϨʔγϣϯ͕࣮͞ΕΔ type User @model
{ id: ID! name: String! phone: Phone! @hasOne }
*OUFSGBDF w Α͋͘ΔΠϯλϑΣʔε
6OJPO w ʮෳͷܕͷ͏͍ͪͣΕ͔ͷܕʯͱ͍͏ܕΛఆٛ͢Δ
&OVN w &OVN
%FTDSJQUJPO w ίϝϯτ
ϦΫΤετྫ type Query { human(id: ID!): Human } type Human
{ name: String appearsIn: [Episode] starships: [Starship] } enum Episode { NEWHOPE EMPIRE JEDI } type Starship { name: String } 4DIFNB
ϦΫΤετྫ { human(id: 1002) { name appearsIn starships { name
} } } MPDBMIPTUHSBQIRM 1045 #0%: \ EBUB\ IVNBO\ OBNF)BO4PMP BQQFBST*O< /&8)01& &.1*3& +&%* > TUBSTIJQT< \ OBNF.JMMFOJVN'BMDPO ^ \ OBNF*NQFSJBMTIVUUMF ^ > ^ ^ ^ 3&410/4&
ϝϦοτ
୯ҰΤϯυϙΠϯτ w ϦΫΤετ͢ΔΞυϨε͕ݻఆ w MPDBMIPTUHSBQIRM w )551ϝιουͯ͢1045
ඞཁͳσʔλͷΈΛऔಘ͢Δ w ϦΫΤετʹ߲୯ҐͰͷऔಘํ๏Λఆٛ͢Δ w ➡௨৴ྔݮɺϨεϙϯεͷߴԽ
ίʔυͱͷ࿈ܞ͢͠͞ w 5ZQFˠΫϥεɺϦιʔεͱඥ͚͍ͮ͢ w &OVNˠ֤ϓϩάϥϛϯάݴޠɺ%#ͷ&OVNͱඥ͚͍ͮ͢ w ֤ݴޠͷϥΠϒϥϦͰɺ5ZQF͔Β%#ͷςʔϒϧఆٛΫϥεͷࣗಈੜ Λ࣮ݱ͍ͯ͠Δ͜ͱ͕ଟ͍
ֶशίετ͕͍ w ϓϩάϥϚͰ͋Ε͢ΜͳΓཧղͰ͖Δγϯϓϧ͞