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
970
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
130
Meteor 1.3 Testing (beta)
notakaos
2
1.3k
Other Decks in Technology
See All in Technology
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
250
New Relicを活用したSREの最初のステップ / NRUG OKINAWA VOL.3
isaoshimizu
3
630
IBC 2024 動画技術関連レポート / IBC 2024 Report
cyberagentdevelopers
PRO
1
110
生成AIが変えるデータ分析の全体像
ishikawa_satoru
0
170
CDCL による厳密解法を採用した MILP ソルバー
imai448
3
140
安心してください、日本語使えますよ―Ubuntu日本語Remix提供休止に寄せて― 2024-11-17
nobutomurata
1
1k
Lexical Analysis
shigashiyama
1
150
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
3.9k
『Firebase Dynamic Links終了に備える』 FlutterアプリでのAdjust導入とDeeplink最適化
techiro
0
130
OCI Network Firewall 概要
oracle4engineer
PRO
0
4.2k
飲食店データの分析事例とそれを支えるデータ基盤
kimujun
0
160
FlutterアプリにおけるSLI/SLOを用いたユーザー体験の可視化と計測基盤構築
ostk0069
0
100
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
How GitHub (no longer) Works
holman
310
140k
Gamification - CAS2011
davidbonilla
80
5k
Faster Mobile Websites
deanohume
305
30k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Mobile First: as difficult as doing things right
swwweet
222
8.9k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
Building Better People: How to give real-time feedback that sticks.
wjessup
364
19k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
Agile that works and the tools we love
rasmusluckow
327
21k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
24k
The Art of Programming - Codeland 2020
erikaheidi
52
13k
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!