Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
新潟WEBアプリケーション勉強会 Vol.1 LT GraphQL Federation
Search
ゆきか
July 21, 2022
Programming
150
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
新潟WEBアプリケーション勉強会 Vol.1 LT GraphQL Federation
ゆきか
July 21, 2022
More Decks by ゆきか
See All by ゆきか
新潟の鮨のはなし 飯テロver
yukikayuki
0
350
GitHub Actionsと GitHub CLIと permissions
yukikayuki
0
230
React Hooks勉強会 vol.5
yukikayuki
2
390
Other Decks in Programming
See All in Programming
조합이폭발하는디자인시스템이걸눈으로도테스트하라고요
giljongyu
0
690
Railsのためのパスキー実践入門 〜マルチテナントSaaSでの意思決定〜
utakaha
3
2.2k
Lambda durable functionsでHuman in the Loopを楽に…楽に……
har1101
2
240
個人開発者よ、Honoを使え(おじさんver)
tanahiro2010
2
300
[JA] Domain Modeling with Vanilla Rails: 「操作」から再考するRailsの設計論
yasaichi
4
1.7k
Kotlinize Is Not Just Converting to Kotlin
chigichan24
1
210
Engineering Biometric UX Across Android Versions | DroidKnights 2026
ryunen344
0
110
自作Discord音声botをLambda MicroVMsに移行した話 / Migrating My Discord Voice Bot to Lambda MicroVMs
akihisaikeda
0
230
プロジェクトコードをキレイキレイしよう!暗黙的な参照を読み解く静的解析
ostk0069
0
200
Apple Intelligenceとオンデバイス時代の到来
yahir0
0
190
作って学ぶSpring BootのAuto Configuration / JJUG Night Seminar 2026-10-19
rshindo
0
220
LLM 101
dalinaum
0
430
Featured
See All Featured
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
560
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
380
The Curious Case for Waylosing
cassininazir
1
600
30 Presentation Tips
portentint
PRO
1
450
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.3k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
1
300
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
59k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
370
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
600
Navigating Weather and Climate Data
rabernat
0
570
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
580
Building Applications with DynamoDB
mza
96
7.3k
Transcript
!@ZVLJLBZVLJ (SBQI2-'FEFSBUJPO ৽ׁ8&#ΞϓϦέʔγϣϯษڧձ7PM-5
ࣗݾհ w 5BLBZVLJ,BOFEB!@ZVLJLBZVLJ w גࣜձࣾ4QSPDLFU w ϑϩϯτΤϯυΤϯδχΞ w ࠷ۙ(PΛॻ͍͍ͯΔ
࣍ w (SBQI2-ͱ w ϚΠΫϩαʔϏεߏͰͷόοΫΤϯυ w (SBQI2-'FEFSBUJPO
(SBQI2-ͱ w ʹ'BDFCPPL ݱ.FUB ʹΑͬͯެ։͞Εͨ"1*͚ΫΤϦݴޠɺϥϯ λΠϜ w ճͷϦΫΤετͰඞཁͳϦιʔεΛऔಘ͢Δ͜ͱ͕Ͱ͖Δ w εΩʔϚϑΝʔετͰ։ൃՄೳ
4DIFNB 2VFSZ 3FTQPOTF query { posts { id title }
} { "data": { "posts": [ { "id": 1, "title": "title-1" }, { "id": 2, "title": "title-2" } ] } } 1045IUUQTFYBNQMFDPNHSBQIRM type Post { id: Int title: String content: String } type Query { post(id: Int): Post posts: [Post] } 4DIFNB 2VFSZ 3FTQPOTF
ϚΠΫϩαʔϏεߏͷόοΫΤϯυ w ϑϩϯτΤϯυͰ֤όοΫΤϯυΛୟ͘ w ϑϩϯτΤϯυͰ֤όοΫΤϯυΛೝ࣮ࣝͯ͠Λߦ͏ඞཁ͕͋Δ w ϑϩϯτΤϯυʹόοΫΤϯυ༻ͷಉ࣮͕͡૿͑Δ FHೝূͳͲ w
#''ΛڬΉ w όοΫΤϯυΛ࣮ͨ͠Β#''ʹରԠͨ͠ίʔυ͕ඞཁ
ΫϥΠΞϯτ͕֤όοΫΤϯυΛୟ͘ߏ #SPXTFS 6TFSTFSWJDF 1PTUTFSWJDF
#''ߏ #SPXTFS #'' 6TFSTFSWJDF 1PTUTFSWJDF
(SBQI2-'FEFSBUJPO "QPMMP'FEFSBUJPO w "QPMMP͕։ൃ͍ͯ͠Δɺෳͷ(SBQI2-"1*ΛΈ߹Θͤͨεʔύʔάϥϑ Λ࡞͢ΔͨΊͷɺڧྗͰΦʔϓϯͳΞʔΩςΫνϟ w ϚΠΫϩαʔϏεͷ(SBQI2-ͷTDIFNBΛΈ߹ΘͤͨεʔύʔάϥϑΛ࡞ ͢Δ͜ͱͰɺͭͷ(BUFXBZͷΤϯυϙΠϯτ͔Βશͯͷ(SBQI2-ͷϦι ʔεΞΫηεͰ͖Δ w
ࠓॳՆʹWʹͳͬͨ
(SBQI2-'FEFSBUJPOߏ #SPXTFS 4VQFSHSBQI HBUFXBZ 6TFSTVCHSBQI 1PTUTVCHSBQI
4VQFSHSBQI4DIFNBͷ࡞ type User @key(fields: "id") { id: Int! name: String!
} type Query { user(id: Int): User users: [User] } type Post { id: Int title: String content: String user: User } type User @key(fields: "id") { id: Int! } type Query { post(id: Int): Post posts: [Post] } type Post @join__type(graph: USERS) { id: Int title: String content: String user: User } type Query @join__type(graph: POSTS) @join__type(graph: USERS) { user(id: Int): User @join__field(graph: POSTS) users: [User] @join__field(graph: POSTS) post(id: Int): Post @join__field(graph: USERS) posts: [Post] @join__field(graph: USERS) } type User @join__type(graph: POSTS, key: "id") @join__type(graph: USERS, key: "id") { id: Int! name: String! @join__field(graph: POSTS) } 4VQFSHSBQI4DIFNB 6TFS4DIFNB 1PTU4DIFNB 3PWFS$-*
2VFSZ 3FTQPOTF query { posts { title user { name
} } } { "data": { "posts": [ { "title": "title-1", "user": { "name": "taro" } }, { "title": "title-2", "user": { "name": "jiro" } } ] } } 1045IUUQTFYBNQMFDPNHSBQIRM 2VFSZ 3FTQPOTF
(SBQI2-'FEFSBUJPOͷϝϦοτ w ෳ(SBQI2-αʔϏε͕͋ͬͯճͷϦΫΤετͰϦιʔεΛऔಘͰ͖Δ w 3&45ʹର͢ΔڧྗͳརΛγϯϓϧͳܗͰҡ࣋Ͱ͖Δ w (SBQI2-αʔϏεͷ࣮ʹूதͰ͖Δ w ΫϥΠΞϯτɾ#''Λҙࣝ͠ͳͯ͘ྑ͍ w
ෳνʔϜ͕νʔϜݸผͷόοΫΤϯυ։ൃʹϑΥʔΧεͰ͖Δ
ಋೖ࣌ͷϙΠϯτ ͩͱߟ͍͑ͯΔͱ͜Ζ w TVQFSHSBQIHBUFXBZ͕ࢀর͢ΔTDIFNBࣗମͷཧ w ৗʹTVQFSHSBQITDIFNBΛߏՄೳ͔Λݕࠪ͠ଓ͚Δඞཁ͕͋Δ w ΑΓεΩʔϚϑΝʔετͳ։ൃͷྲྀΕʹ w TVCHSBQIσϓϩΠޙʹTVQFSHSBQIHBUFXBZ͕ࢀর͢ΔTDIFNBͷߋ৽
w HBUFXBZ(SBQI2-ΫΤϦΛཧղ͢Δݡ͍ࢠͳͷͰɺσϓϩΠʹΑͬͯ TVCHSBQIͰར༻Մೳͳঢ়ଶʹͳͬͯɺHBUFXBZ͕ࢀর͢ΔTDIFNB͕ TVCHSBQIͰར༻Մೳʹͳ߲ͬͨΛө͍ͯ͠ͳ͍߹ɺΫϥΠΞϯτ͔Β ༻Ͱ͖ͳ͍
8FBSFIJSJOH 4FBSDIGPS<4QSPDLFU'PSLXFMM>POHPPHMF