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
9
13k
BFF's cosmos in FOLIO sec at uit
FOLIO のBFFと秩序の話
Yosuke Kurami
June 07, 2018
Tweet
Share
More Decks by Yosuke Kurami
See All by Yosuke Kurami
TypeScript LSP の今までとこれから
quramy
1
510
フロントエンドテストの育て方
quramy
12
3.4k
App Router 悲喜交々
quramy
8
620
上手に付き合うコンポーネントテスト
quramy
6
2.1k
Patched fetch did not work
quramy
6
680
GraphQL あるいは React における自律的なデータ取得について
quramy
18
5.3k
Next.js App Router
quramy
15
3.6k
Fragment Composition of GraphQL
quramy
16
4k
reg-viz VRT tools
quramy
4
1.4k
Other Decks in Programming
See All in Programming
Go1.25からのGOMAXPROCS
kuro_kurorrr
1
770
Julia という言語について (FP in Julia « SIDE: F ») for 関数型まつり2025
antimon2
3
960
從零到一:搭建你的第一個 Observability 平台
blueswen
1
960
Spring gRPC で始める gRPC 入門 / Introduction to gRPC with Spring gRPC
mackey0225
2
520
WindowInsetsだってテストしたい
ryunen344
1
190
ドメインモデリングにおける抽象の役割、tagless-finalによるDSL構築、そして型安全な最適化
knih
11
1.9k
プロダクト開発でも使おう 関数のオーバーロード
yoiwamoto
0
160
Haskell でアルゴリズムを抽象化する / 関数型言語で競技プログラミング
naoya
17
4.8k
エラーって何種類あるの?
kajitack
5
250
地方に住むエンジニアの残酷な現実とキャリア論
ichimichi
2
440
iOSアプリ開発で 関数型プログラミングを実現する The Composable Architectureの紹介
yimajo
2
210
GraphRAGの仕組みまるわかり
tosuri13
7
440
Featured
See All Featured
A better future with KSS
kneath
239
17k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
VelocityConf: Rendering Performance Case Studies
addyosmani
330
24k
Designing for Performance
lara
609
69k
Thoughts on Productivity
jonyablonski
69
4.7k
Typedesign – Prime Four
hannesfritz
42
2.7k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Making Projects Easy
brettharned
116
6.2k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.8k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.4k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
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