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
47
GraphQLの紹介 / graphql-introduction
howyi
July 05, 2019
Tweet
Share
More Decks by howyi
See All by howyi
Go+gRPCで作った次世代店舗の裏側
howyi
1
1.5k
GraphQLを活用するツールやライブラリ / graphql-libraries
howyi
0
74
サーバレスアーキテクチャでSlackBotを作る / serverless-slackbot
howyi
0
58
Amplifyの紹介/amplify-introduction
howyi
0
63
AWS認定を受けた話 / AWS CERTIFIED
howyi
0
72
自作PHPライブラリをリファクタリングした / Refactoring library
howyi
0
86
PhpStormの設定晒す / Customizing PhpStorm
howyi
0
82
ClickUpで始める進捗管理 / ClickUp
howyi
0
460
Other Decks in Programming
See All in Programming
Domain-Driven Transformation
hschwentner
2
1.9k
動作確認やテストで漏れがちな観点3選
starfish719
6
1k
クリーンアーキテクチャから見る依存の向きの大切さ
shimabox
1
130
プログラミング言語学習のススメ / why-do-i-learn-programming-language
yashi8484
0
130
時計仕掛けのCompose
mkeeda
1
290
How mixi2 Uses TiDB for SNS Scalability and Performance
kanmo
36
14k
color-scheme: light dark; を完全に理解する
uhyo
3
280
技術を根付かせる / How to make technology take root
kubode
1
250
Ruby on cygwin 2025-02
fd0
0
140
Linux && Docker 研修/Linux && Docker training
forrep
24
4.5k
もう僕は OpenAPI を書きたくない
sgash708
4
1.5k
ARA Ansible for the teams
kksat
0
150
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
12
960
Measuring & Analyzing Core Web Vitals
bluesmoon
6
240
Documentation Writing (for coders)
carmenintech
67
4.6k
Designing Experiences People Love
moore
140
23k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Unsuck your backbone
ammeep
669
57k
Designing for Performance
lara
604
68k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
GitHub's CSS Performance
jonrohan
1030
460k
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 ϓϩάϥϚͰ͋Ε͢ΜͳΓཧղͰ͖Δγϯϓϧ͞