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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
ゆきか
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
320
GitHub Actionsと GitHub CLIと permissions
yukikayuki
0
220
React Hooks勉強会 vol.5
yukikayuki
2
390
Other Decks in Programming
See All in Programming
{ Android | Kotlin } Gradle Plugin in 2026
ryunen344
1
320
モジュールの視点からSwiftを読み解く #iosdc
s_shimotori
0
170
マイコン向けの軽量Ruby「PicoRuby」で各種デバイスを制御するネイティブアプリの実現手法
bash0c7
0
410
大喜利で理解するLLM as a Judge / Understanding LLM-as-a-Judge through Ogiri
rockname
0
110
Go × SIMDで高速化するベクトル検索 ~ルーフラインモデルでSIMDが効く境界を探れ! ~
po3rin
1
1.2k
Vibes Containers 〜AIで変わるコンテナ設計と運用〜
tkikuc
3
550
LL言語やWebフレームワークのPostgreSQL対応 〜DBの機能がユーザーに届くまで〜
kentaroutakeda
1
150
AI に Inclusive UI を書かせよう — Design Rules Skill で Compose UI を作り直す
theoriatec2024
1
490
Snowflakeで業務アプリを作ろう。 Snowflakeのアプリ機能解説&実践ガイド
ayumu_yamaguchi
1
280
『寄り添うラジオ』をAIで作る 体験価値から逆算した、会話しないUXと品質設計
theoriatec2024
3
180
WebMCP Challenge に星空観察アプリで参加した話
okajun35
0
180
個人開発基盤をまるごとCloudflareに引っ越して爆速で総合的体験を向上させた話
tinykitten
0
190
Featured
See All Featured
Utilizing Notion as your number one productivity tool
mfonobong
4
590
We Are The Robots
honzajavorek
0
380
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
240
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
810
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Automating Front-end Workflow
addyosmani
1369
210k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.8k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Designing for Performance
lara
611
70k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.6k
エンジニアに許された特別な時間の終わり
watany
109
250k
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