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
470
フロントエンドテストの育て方
quramy
12
3.3k
App Router 悲喜交々
quramy
8
610
上手に付き合うコンポーネントテスト
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
3.9k
reg-viz VRT tools
quramy
4
1.4k
Other Decks in Programming
See All in Programming
がんばりすぎないコーディングルール運用術
tsukakei
1
210
FastMCPでMCPサーバー/クライアントを構築してみる
ttnyt8701
2
130
Perlで痩せる
yuukis
1
680
インターフェース設計のコツとツボ
togishima
2
680
Spring gRPC で始める gRPC 入門 / Introduction to gRPC with Spring gRPC
mackey0225
2
440
少数精鋭エンジニアがフルスタック力を磨く理由 -そしてAI時代へ-
rebase_engineering
0
150
Cursor Meetup Tokyo ゲノミクスとCursor: 進化と制約のあいだ
koido
2
910
ワンバイナリWebサービスのススメ
mackee
10
7.6k
イベントストーミングから始めるドメイン駆動設計
jgeem
4
760
Development of an App for Intuitive AI Learning - Blockly Summit 2025
teba_eleven
0
100
衛星の軌道をWeb地図上に表示する
sankichi92
0
260
Interface vs Types ~型推論が過多推論~
hirokiomote
1
250
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
269
20k
Being A Developer After 40
akosma
90
590k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
7
640
The Power of CSS Pseudo Elements
geoffreycrofte
76
5.8k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Mobile First: as difficult as doing things right
swwweet
223
9.6k
Typedesign – Prime Four
hannesfritz
42
2.7k
Fireside Chat
paigeccino
37
3.5k
The World Runs on Bad Software
bkeepers
PRO
68
11k
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