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
1k
5
Share
GraphQL勉強会 2017.6.7
2017.6.7に開催した社内勉強会で使用した発表資料です。
Nobutaka OSHIRO
June 07, 2017
More Decks by Nobutaka OSHIRO
See All by Nobutaka OSHIRO
190828 VSCode + Remote Development ExtensionでElm爆速開発環境構築
notakaos
0
150
Meteor 1.3 Testing (beta)
notakaos
2
1.5k
Other Decks in Technology
See All in Technology
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
5
14k
Rebirth of Software Craftsmanship in the AI Era
lemiorhan
PRO
3
1.2k
え!?初参加で 300冊以上 も頒布!? これは大成功!そのはずなのに わいの財布は 赤字 の件
hellohazime
0
150
OBI+APMでお手軽にアプリケーションのオブザーバビリティを手に入れよう
kenshimuto
0
310
こんなアーキテクチャ図はいやだ / Anti-pattern in AWS Architecture Diagrams
naospon
1
380
幾億の壁を超えて/Beyond Countless Walls(JP)
ikuodanaka
0
130
システムは「動く」だけでは足りない 実装編 - 非機能要件・分散システム・トレードオフをコードで見る
nwiizo
4
400
暗黙知について一歩踏み込んで考える - 暗黙知の4タイプと暗黙考・暗黙動へ
masayamoriofficial
0
1.8k
NOSTR, réseau social et espace de liberté décentralisé
rlifchitz
0
180
ルールルルルル私的函館観光ガイド── 函館の街はイクラでも楽しめる!
nomuson
0
200
Digitization部 紹介資料
sansan33
PRO
1
7.3k
DevOpsDays Tokyo 2026 見えない開発現場を、見える投資に変える
rojoudotcom
3
200
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
270
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Become a Pro
speakerdeck
PRO
31
5.9k
The SEO identity crisis: Don't let AI make you average
varn
0
440
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
First, design no harm
axbom
PRO
2
1.2k
The Invisible Side of Design
smashingmag
302
51k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Unsuck your backbone
ammeep
672
58k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
720
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.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!