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
BFF's cosmos in FOLIO sec at uit
Search
Yosuke Kurami
June 07, 2018
Programming
14k
9
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
BFF's cosmos in FOLIO sec at uit
FOLIO のBFFと秩序の話
Yosuke Kurami
June 07, 2018
More Decks by Yosuke Kurami
See All by Yosuke Kurami
TypeScript LSP の今までとこれから
quramy
1
2k
フロントエンドテストの育て方
quramy
12
3.8k
App Router 悲喜交々
quramy
8
730
上手に付き合うコンポーネントテスト
quramy
6
2.3k
Patched fetch did not work
quramy
6
780
GraphQL あるいは React における自律的なデータ取得について
quramy
18
5.8k
Next.js App Router
quramy
15
3.9k
Fragment Composition of GraphQL
quramy
17
4.8k
reg-viz VRT tools
quramy
4
1.7k
Other Decks in Programming
See All in Programming
Spec-Driven Development with AI-Agents: From High-Level Requirements to Working Software
antonarhipov
2
470
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
510
ふつうのFeature Flag実践入門
irof
7
3.6k
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
0
130
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.6k
OSもどきOS
arkw
0
470
Why Laravel apps break—Mastering the fundamentals to keep them maintainable
kentaroutakeda
1
340
Spec Driven Development | AI Summit Lisbon
danielsogl
PRO
0
170
Observability in Practice:Grafana 與 Edge Device SRE 的那些事
blueswen
0
140
RTSPクライアントを自作してみた話
simotin13
0
510
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
370
AI駆動開発勉強会 広島支部 第一回勉強会 AI駆動開発概要とワークショップ
hayatoshimiu
0
450
Featured
See All Featured
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
190
We Are The Robots
honzajavorek
0
240
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
62
44k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
600
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.1k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
570
Paper Plane (Part 1)
katiecoart
PRO
0
8.7k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
400
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
22k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
A Soul's Torment
seathinner
6
2.9k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
Transcript
#''ͱடংͷ 6*5
"CPVUNF w ݟ༸ีBLB!2VSBNZ w ϑϩϯτΤϯυΤϯδχΞBU'0-*0$P -UE w ίϛϡχςΟ"OHVMBS+BQBO(SBQI2-5PLZP w झຯͰ࡞ͬͯΔͷ
w 5ZQF4DSJQUؔ࿈πʔϧ WJNQMVHJOͳͲ w ը૾ճؼςετ༻πʔϧ܈
5PEBZ`TUIFNF w ࠓ͢͜ͱ w '0-*0ͷ#''ͷࣗຫ w ͜Μͳࣦഊͪ͠ΌବͩΑ w ࠓ͞ͳ͍͜ͱ w
ಛఆͷٕज़ͷ͓ w ίʔυͷॻ͖ํ
͓ॻ͖ w ΠϯτϩαʔϏεհγεςϜߏ w "ύʔτ#''ͷྑ͍ w #ύʔτ#''ͷਏ͍
αʔϏεհ
None
'0-*0ͷγεςϜߏ
'0-*0ͷγεςϜߏ גࣜऔҾαʔϏε จαʔϏε ޱ࠲αʔϏε גՁαʔϏε FUDʜ 8FC#'' .PCJMF#'' 1$ϒϥβ 41ϒϥβ
"OESPJE"QQ J04"QQ 3&45 5ISJGU
'0-*0ͷγεςϜߏ w όοΫΤϯυϚΠΫϩαʔϏεͷߏ w #''8FC͚ͱϞόΠϧ"QQ͚ͷछྨ w "QQϒϥβ#''3&45"1*Ͱ௨৴ w #''όοΫΤϯυ5ISJGUͰ௨৴ w
5ISJGU31$ͷҰछɻH31$Έ͍ͨͳΠϝʔδ
'0-*0#''ͷ͓͠͝ͱ w ԼྲྀαʔϏεͷू %PXOTUSFBN"HHSFHBUJPO w ϒϥβPS"QQʹ࠷దԽͨ͠Ϩεϙϯε࡞ʹྗ w αʔόαΠυϨϯμϦϯά 8FCͷΈ
w ೝূηογϣϯཧ
#''ٕज़ελοΫ w 8FCϞόΠϧ྆ํ w ݴޠ/PEFKT CBCFM 'MPX5ZQF w 8FC"QQMJDBUJPO'8LPB w
௨৴5ISJGUDMJFOUGPS/PEFKT w 8FCಛ༗ w 6*3FBDU SFEVY
ϑϩϯτΤϯυͷ୲ൣғ גࣜऔҾαʔϏε จαʔϏε ޱ࠲αʔϏε גՁαʔϏε FUDʜ 8FC#'' .PCJMF#'' 1$ϒϥβ 41ϒϥβ
"OESPJE"QQ J04"QQ ƂŢʹͤΖʂ
"ύʔτ #''ͷྑ͍
ΞʔΩςΫνϟ
#''ͷΞʔΩςΫνϟ w ΫϦʔϯΞʔΩςΫνϟz෩z LPB TXBHHFSUP qPXUZQF UISJGU $POUSPMMFS 1SFTFOUFS $MJFOU
6TF$BTF %PNBJO
#''ͷΞʔΩςΫνϟ w #''ͷʮ֎քʹڬ·Ε͍ͯΔʯײͱ ΫϦʔϯΞʔΩςΫνϟͷ֓೦ੑ͕ߴ͍ w ͳͥΫϦʔϯΞʔΩςΫνϟʮ෩ʯͳͷ͔ w ʮυϝΠϯ͕Կ͔ʯͦΕ΄Ͳؾʹ͍ͯ͠ͳ͍ ਅʹυϝΠϯ͕#''ʹ͋Δͷ͔ʁͱ͔ग़ͯ͘Δ͠
w ओͨΔతɺϑϨʔϜϫʔΫґଘͷഉআͱܕ͚
)PXUPܕ w *%- ΠϯλʔϑΣʔεهड़ݴޠ ͔ΒػցతʹߏܕΛੜ w ΫϥΠΞϯτ#''TXBHHFSUPqPXUZQF w #''όοΫΤϯυUISJGUqPX w
ϦΫΤετϨεϙϯεܗͰؒҧͬͨܕΛฦ͢ͱίϯύ ΠϧΤϥʔʹ ܕݕࠪ൪ͷςετͩʂ
ʮԿΛʯʮͲ͜Ͱʯ w #''Ͱߦ͏ॲཧͷجຊࢥΛఆΊ͓ͯ͘ w ͷܭࢉɺQBSTFGPSNBU w ߲ͷՃࢉݮࢉɺූ߸୯Ґ͚ͭ w FUDʜ w
Ͳ͜Ͱ࣮͢Δ͔ɺ͓͓·͔ʹܾΊ͓ͯ͘ήʔτΣΠ ͷΞμϓλͰΔPSϢʔεέʔεͷଆͰΔ
ͦͷଞࣗຫϙΠϯτ w ֎քͱͷ*'Λ໌͍ࣔͯ͠Δ͜ͱʹΑΓɿ w ։ൃ࣌ͷΈɺΫϥΠΞϯτΛΠϯλʔηϓτͯ͠ɺσʔ λΛஷΊΔػߏΛ༻ҙ w ͨ·ͬͨσʔλΛগ͠Ճͯ͠'FBUVSFUFTUͷpYUVSFʹ w *%-ܕใͱpYUVSFͷσʔλΛ͖߹ΘͤͯɺܕݕࠪͰ
͖ΔΑ͏ʹ͍ͨ͠
ʜ͜͜··Ͱ͕ ʮྑ͍ʯ
͔͜͜Β ਏ͍ύʔτ
ͭͷ#'' w '0-*0ͷ#''ͭ w 8FCͱϞόΠϧ w ྆ऀ։ൃ࣌ظ͕େ͖͘ҟͳΔ w 8FCϞόΠϧͷॱ w
"ύʔτʢ΄΅ʣϞόΠϧ#''ͷΛ͍ͯͨ͠ w #ύʔτओ8FC#''
ࣦഊࣄྫհ μογϡϘʔυ443ͷ൵ܶ
μογϡϘʔυJTԿ w ΈΜͳͷͱ͜ʹ͋ΔΑͶʁμογϡϘʔυతͳը໘
ͳʹ͕ى͔ͬͨ͜ w ͲͷΑ͏ʹ443Λ࣮͍͔ͯͨ͠ w ίϯτϩʔϥͰϖʔδͷϦΫΤετΛड͚औΔ w ϖʔδΛඳը͢ΔͨΊʹඞཁͳશσʔλΛΦϒδΣΫτ ͯ͠࡞͢Δ w ˢͷ+40/ΛJOJUJBMTUBUFͱͯ͠ɺ3FBDUʹ৯ΘͤΔ
Πϝʔδ ίϯτϩʔϥ ࢿ࢈αʔϏε ޱ࠲αʔϏε גՁαʔϏε ͳΜ͔ψγతͳίʔυ ͱʹ͔͘σΧΠ ͘͢͝ڊେͳ+40/ (&5EBTICPBSE 0,
$POUFOU5ZQFUFYUIUNM 3FBDUίϯϙʔωϯπ FUDʜ
͞ΘΔͷා͍ w ͱ͔͘σΧΠͷͰ৮Γͨ͘ͳ͍ w ܕ͍ͭͯͳ͍ͷͰ৮Γͨ͘ͳ͍ w ͘͢͝ڊେͳ+40/BOZ w 3FBDUଆ1SPQ5ZQFPCKFDU w
"1*ίʔϧ͡Όͳ͍ͷͰɺTDIFNB*%-͕͍ͳ͍ w LPBDPOUFYUʹԿ͕ೖͬͯΔͷ͔ෆ໌
ݴ͍༁ w ͳͥͦͷΑ͏ͳ࣮ʹ w ༗ΔछͷΘ͔Γ͢͞ چདྷͷαʔόαΠυ.7$త w ͳΜͰܕ͍ͭͯͳ͍ͷʁ
w ࠷ॳ͔Β'MPX͕ಋೖ͞Ε͍ͯͨΘ͚Ͱͳ͍ w ։ൃ࠷ॳظཁ͕݅γϯϓϧͩͬͨ w ͱ͍͑ɺཁ͕݅૿͑ଓ͚Δͷ͕μογϡϘʔυͷ໋॓
୰͍͍ͯͯ࢝·Βͳ͍ͷͰ ͳΜͱ͔͢Δͧ
ۙͷରॲ w ·ͣܕ͚ ςετͷඋ w ͜͜ಓʹ͍͔ͬͯ͘͠ͳ͍ w ͪΐͬͱ৮ͬͨΒ$*ͰམͱͤΔΑ͏ʹ w վमཁ͕݅ൃੜͨ͠Βɺݟ͑ΔൣғͰBOZΛ௵͢
w ίϯτϩʔϥ͔ΒݺΜͰ͍ΔॲཧΛɺۀ্దͳ୯Ґʹ ׂ
్தஈ֊ͷΠϝʔδ ίϯτϩʔϥ ࢿ࢈αʔϏε ޱ࠲αʔϏε גՁαʔϏε (&5EBTICPBSE 0, $POUFOU5ZQFUFYUIUNM 3FBDUίϯϙʔωϯπ Ϣʔβʔͷޱ࠲֓ཁ
ࢿ࢈Ϧετ ݱࡏͷגՁ
͏ͪΐ͍ઌ w ϢʔεέʔεୡΛ"1*ΤϯυϙΠϯτʹ w 3FBDUͷίϯςφ͕ݸผʹ্هͷΤϯυϙΠϯτGFUDI͢Δ Α͏ʹมߋ w /FYUKTͷHFU*OJUJBM1SPQT(SBQI2-3FMBZͷ 2VFSZ3FOEFSFS 'SBHNFOU$POUBJOFSͷΑ͏ͳΠϝʔδ
w 443$43ͷରԠγʔϜϨεʹߦ͑Δ w ৽͘͠Ճ͞Εͨϖʔδ͜ͷํ๏Ͱ࡞͍ͯ͠Δ
͏ͪΐ͍ઌͷΠϝʔδ ίϯτϩʔϥ ࢿ࢈αʔϏε ޱ࠲αʔϏε גՁαʔϏε (&5EBTICPBSE 0, $POUFOU5ZQFUFYUIUNM 3FBDUίϯϙʔωϯπ Ϣʔβʔͷޱ࠲֓ཁ
ࢿ࢈Ϧετ ݱࡏͷגՁ
ͦͷଞͷࣦഊ w 8FC#''Ͱɺαʔό։ൃͱΫϥΠΞϯτ։ൃΛಉνʔϜͰ͍ͬͯ ΔͨΊɺͦͷؒͰ໌ࣔతͳεΩʔϚΛઃ͚ͳ͍ͯͳ͔ͬͨ w "1*ը໘ຖʹɺࣅͨΑ͏ͳ Ͱগ͠ҧ͏ ܕ͕ࢄࡏ͠ɺ݁ՌతʹϦϑΝ ΫλϦϯάͷ્ཁҼʹ w
νʔϜʹดͨ͡։ൃͰ͋ͬͯɺεΩʔϚʹ͖߹͏ϙΠϯτ࣋ͬͯ ͓͍ͨ΄͏͕͍͍ w 4XBHHFS+40/)ZQFS4DIFNFͷZBNM͚ͩॻ͍ͯϨϏϡʔ͠߹ ͏ɺͱ͔ w (SBQI2-ͩͱɺ͜Ε͕໌ࣔతʹ։ൃʹΈࠐ·ΕΔͷྑͦ͞͏
ࠓͷ͓͞Β͍
ݴ͍͔ͨͬͨ͜ͱ w டংΛͨΒͨ͢Ίʹ w ͪΌΜͱϨΠϠΛ͚͍ͯ͜͏ w ͪΌΜͱϢʔεέʔεߟ͑Α͏ w ͪΌΜͱεΩʔϚ ܕΛ͍ͬͯ͜͏
w ཁ݅ ΞάϦήʔγϣϯର ͕ෳࡶԽ͔ͯ͠ΒͷޙखରԠ ʹͳΔͱେมͩͧ
͜Ε͚֮ͩ͑ͯ ؼͬͯཉ͍͠
#''ॻ͖͍ͨਓืूͯ͠·͢
5IBOLZPV