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
14k
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
1.3k
フロントエンドテストの育て方
quramy
12
3.6k
App Router 悲喜交々
quramy
8
660
上手に付き合うコンポーネントテスト
quramy
6
2.3k
Patched fetch did not work
quramy
6
730
GraphQL あるいは React における自律的なデータ取得について
quramy
18
5.6k
Next.js App Router
quramy
15
3.7k
Fragment Composition of GraphQL
quramy
16
4.3k
reg-viz VRT tools
quramy
4
1.5k
Other Decks in Programming
See All in Programming
組織もソフトウェアも難しく考えない、もっとシンプルな考え方で設計する #phpconfuk
o0h
PRO
10
4k
KoogではじめるAIエージェント開発
hiroaki404
1
440
Kotlin 2.2が切り拓く: コンテキストパラメータで書く関数型DSLと新しい依存管理のかたち
knih
0
410
仕様がそのままテストになる!Javaで始める振る舞い駆動開発
ohmori_yusuke
5
2.8k
乱雑なコードの整理から学ぶ設計の初歩
masuda220
PRO
29
9.7k
Private APIの呼び出し方
kishikawakatsumi
2
830
Tangible Code
chobishiba
3
530
なぜ強調表示できず ** が表示されるのか — Perlで始まったMarkdownの歴史と日本語文書における課題
kwahiro
9
5.2k
HTTPじゃ遅すぎる! SwitchBotを自作ハブで動かして学ぶBLE通信
occhi
0
240
Java_プロセスのメモリ監視の落とし穴_NMT_で見抜けない_glibc_キャッシュ問題_.pdf
ntt_dsol_java
0
110
レイトレZ世代に捧ぐ、今からレイトレを始めるための小径
ichi_raven
0
230
Core MIDI を勉強して作曲用の電子ピアノ作ってみた!
hypebeans
0
100
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
46
7.8k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
24
1.6k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Done Done
chrislema
186
16k
Git: the NoSQL Database
bkeepers
PRO
432
66k
Stop Working from a Prison Cell
hatefulcrawdad
272
21k
Statistics for Hackers
jakevdp
799
220k
Documentation Writing (for coders)
carmenintech
76
5.1k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Producing Creativity
orderedlist
PRO
348
40k
A Modern Web Designer's Workflow
chriscoyier
697
190k
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