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勉強会 2017.6.7
Search
Nobutaka OSHIRO
June 07, 2017
Technology
5
1k
GraphQL勉強会 2017.6.7
2017.6.7に開催した社内勉強会で使用した発表資料です。
Nobutaka OSHIRO
June 07, 2017
Tweet
Share
More Decks by Nobutaka OSHIRO
See All by Nobutaka OSHIRO
190828 VSCode + Remote Development ExtensionでElm爆速開発環境構築
notakaos
0
140
Meteor 1.3 Testing (beta)
notakaos
2
1.3k
Other Decks in Technology
See All in Technology
React開発にStorybookとCopilotを導入して、爆速でUIを編集・確認する方法
yu_kod
1
110
使いたいMCPサーバーはWeb APIをラップして自分で作る #QiitaBash
bengo4com
0
1.3k
製造業からパッケージ製品まで、あらゆる領域をカバー!生成AIを利用したテストシナリオ生成 / 20250627 Suguru Ishii
shift_evolve
PRO
1
160
Claude Code Actionを使ったコード品質改善の取り組み
potix2
PRO
6
2.6k
怖くない!はじめてのClaude Code
shinya337
0
300
20250625 Snowflake Summit 2025活用事例 レポート / Nowcast Snowflake Summit 2025 Case Study Report
kkuv
1
370
250627 関西Ruby会議08 前夜祭 RejectKaigi「DJ on Ruby Ver.0.1」
msykd
PRO
2
370
SpringBoot x TestContainerで実現するポータブル自動結合テスト
demaecan
0
120
AIとともに進化するエンジニアリング / Engineering-Evolving-with-AI_final.pdf
lycorptech_jp
PRO
0
140
Witchcraft for Memory
pocke
1
660
ネットワーク保護はどう変わるのか?re:Inforce 2025最新アップデート解説
tokushun
0
150
Snowflake Summit 2025全体振り返り / Snowflake Summit 2025 Overall Review
mtpooh
2
440
Featured
See All Featured
Documentation Writing (for coders)
carmenintech
72
4.9k
A Tale of Four Properties
chriscoyier
160
23k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
KATA
mclloyd
30
14k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
Code Review Best Practice
trishagee
69
18k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.8k
Building Applications with DynamoDB
mza
95
6.5k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
Typedesign – Prime Four
hannesfritz
42
2.7k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.9k
Transcript
GraphQLษڧձ by Nobutaka OSHIRO 6/7 WED 19:00-21:00
࣍ • GraphQLͱ • GraphQLͷϝϦοτɾσϝϦοτ • GraphQLΛͨΊ͢ʹ • GraphQL Server
/ Clientͷ࣮ํ๏ • GraphQLཧղͷϙΠϯτ • ·ͱΊ
GraphQLͱ
http://graphql.org/
GraphQLͱ GraphQLΫϥΠΞϯτ͔Βαʔόʔͷ͍ ߹Θͤʹ༻͢ΔΫΤϦʔݴޠ(༷)
GraphQLͱ • ϓϩάϥϛϯάݴޠͰͳ͘ɺΫΤϦʔݴޠ • 2012ʹFacebookʹΑͬͯ࡞͞Εɺ2015·ͰFacebookࣾ Ͱ༻͞Ε͍ͯͨͷΛɺ2015ʹFacebook͕Ұൠެ։ͨ͠ • ݱࡏ༷ͷඪ४ԽΛࢦ͓ͯ͠ΓɺDraft RFC͕ެ։͞Ε͍ͯΔ •
https://facebook.github.io/graphql/ • GraphQL͕ఏڙ͢Δͷ • ౷ҰΠϯλʔϑΣʔεɺλΠϓγεςϜɺAPI༷औಘػೳ
GraphQLͷϝϦοτɾσϝϦοτ
GraphQLͷϝϦοτ • ΫϥΠΞϯτΞϓϦέʔγϣϯ͕ඞཁͱ͢ΔσʔλΛ1ճͷϦΫΤ ετͰऔಘͰ͖ΔΑ͏ʹͳΔ • APIͷΤϯυϙΠϯτ1͚ͭͩɺ1ͭͷΤϯυϙΠϯτͰ༷ʑͳϦΫ ΤετʹରԠͰ͖Δ • ΫϥΠΞϯτΞϓϦέʔγϣϯ͔ΒαʔόʔʹϦΫΤετΛ͛Δ ࡍʹɺ౷Ұ͞ΕͨΠϯλʔϑΣʔε͕ఏڙ͞Ε͍ͯΔͷͰɺΫϥΠ
Ξϯτ/αʔόʔͦΕͧΕͷ࣮ʹӨڹΛड͚ͣʹ։ൃΛਐΊΔ͜ͱ ͕Ͱ͖Δ • GraphQLͷ։ൃΛαϙʔτ͢ΔπʔϧͷԸܙΛड͚ΒΕΔ
GraphQLͷσϝϦοτ • αʔόʔαΠυͷ࣮͕େม • RFCʹैͬͯҰ͔ΒGraphQLϨΠϠʔͷαʔόʔϓϩάϥϜΛࣗ࡞͢Δͷ༰қͰͳ͍ • ϓϩδΣΫτͰ༻͢Δ߹ɺ͢Ͱʹز͔ͭαʔυύʔςΟͷ࣮͕͋ΔͷͰɺͦΕ Λ༻͢Δͷ͕Α͍ • 1ճͷϦΫΤετͰͷίʔυྔ૿Ճ͢Δ
• ΫϥΠΞϯτଆͰɺԿͷσʔλ͕ඞཁͳͷΛʮͯ͢ʯ໌ࣔ͢Δඞཁ͕͋Δ • จݙ͕গͳ͍ • ӳޠͷυΩϡϝϯτ͕΄΅ • ύϑΥʔϚϯε࠷దԽͷϕετϓϥΫςΟε͕ͳ͍ • ϦΫΤετͷܗ͕ຖճมΘΔՄೳੑ͕͋ΔͷͰΩϟογϡ͕(REST APIʹൺͯ)͍͠
GraphQLΛͨΊ͢ʹ
GraphQLΛͨΊ͢ʹ • GitHub GraphQL API • https://developer.github.com/v4/ • SWAPI GraphQL
• http://graphql.org/swapi-graphql/ • Idobata GraphQL API • https://idobata.io/ja/api
GraphQL Server / Client
GraphQL Server / Client http://graphql.org/code/
GraphQLཧղͷϙΠϯτ
GraphQLཧղͷϙΠϯτ • ͯ͢ͷϦΫΤετPOSTʹͳΔ • ʮΫΤϦʔ(Query)ʯͱʮϛϡʔςʔγϣϯ(Mutation)ʯͷ2छྨ͕͋Δ • CQRS( Command Query Responsibility
Segregation ίϚϯυΫΤϦ ʔ) • ΫΤϦʔ෭࡞༻Λى͜͞ͳ͍ͷ • ϛϡʔςʔγϣϯ෭࡞༻Λى͜͢ͷ • GraphQLͷϨεϙϯεεϐʔυΫΤϦʔͷதͰղܾ͕Ұ൪͍ͷʹ ҾͬுΒΕΔ
·ͱΊ
·ͱΊ • GraphQLΫϥΠΞϯτ͔Βαʔόʔͷ ͍߹Θͤʹ༻͢ΔΫΤϦʔݴޠ(༷) • ΫϥΠΞϯτΞϓϦέʔγϣϯ͕ඞཁͱ͢Δσʔ λΛ1ճͷϦΫΤετͰऔಘͰ͖ΔΑ͏ʹͳΔ • ΫϥΠΞϯτଆͷ࣮γϯϓϧʹͳΔ͕ɺαʔ όʔαΠυ࣮͕গ͠େม
ࢀߟจݙ • GraphQLެࣜαΠτ - http://graphql.org/ • GraphQL RFC (Working Draft)
- http:// facebook.github.io/graphql/ • Apollo - https://www.apollodata.com/ • GraphQL San Francisco (San Francisco, CA) | Meetup - https://www.meetup.com/ja-JP/GraphQL-SF/ • GitHub GraphQL API - https://developer.github.com/v4/
Thank you!