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
で、モノレポにして結局どうだったの? / FFTT #522
Search
Masaya Nakamura
May 31, 2023
Programming
0
34
で、モノレポにして結局どうだったの? / FFTT #522
Masaya Nakamura
May 31, 2023
Tweet
Share
More Decks by Masaya Nakamura
See All by Masaya Nakamura
LINE絵文字概観 / FFTT #465
mashabow
0
3.4k
uchino-sensors: 温湿度センサーで値をとってグラフにするよくあるアレ / FFTT #437
mashabow
0
3k
日本の新聞の題字あつめました
mashabow
0
1.9k
題字ペタペタ:Contentful + Gatsby で作るコレクションサイト / FFTT #409
mashabow
0
14k
古典プログラマが量子プログラミングをさわろうとした話 / FFTT #383
mashabow
2
110
ベジエ曲線のなめらかさの話 / Bézier Smoothness
mashabow
23
40k
書体見本帳をながめる / FFLT #12
mashabow
0
340
Other Decks in Programming
See All in Programming
アジャイルを支えるテストアーキテクチャ設計/Test Architecting for Agile
goyoki
7
2.7k
開発効率向上のためのリファクタリングの一歩目の選択肢 ~コード分割~ / JJUG CCC 2024 Fall
ryounasso
0
360
hotwire_or_react
harunatsujita
8
3.9k
プロジェクト新規参入者のリードタイム短縮の観点から見る、品質の高いコードとアーキテクチャを保つメリット
d_endo
1
1k
Generative AI Use Cases JP (略称:GenU)奮闘記
hideg
0
150
ピラミッド、アイスクリームコーン、SMURF: 自動テストの最適バランスを求めて / Pyramid Ice-Cream-Cone and SMURF
twada
PRO
9
970
GCCのプラグインを作る / I Made a GCC Plugin
shouth
1
150
『ドメイン駆動設計をはじめよう』のモデリングアプローチ
masuda220
PRO
7
420
【Kaigi on Rails 2024】YOUTRUST スポンサーLT
krpk1900
1
240
Vitest Browser Mode への期待 / Vitest Browser Mode
odanado
PRO
2
1.7k
macOS でできる リアルタイム動画像処理
biacco42
3
1.4k
讓數據說話:用 Python、Prometheus 和 Grafana 講故事
eddie
0
350
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
9
680
How GitHub (no longer) Works
holman
311
140k
Building an army of robots
kneath
302
42k
Git: the NoSQL Database
bkeepers
PRO
425
64k
Statistics for Hackers
jakevdp
796
220k
Designing on Purpose - Digital PM Summit 2013
jponch
115
6.9k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2k
Scaling GitHub
holman
458
140k
Why Our Code Smells
bkeepers
PRO
334
57k
A better future with KSS
kneath
238
17k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
355
29k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
Transcript
Ͱɺ ϞϊϨϙʹͯ͠ ݁ہͲ͏ͩͬͨͷ ? ݄ ''55 !NBTIBCPX
ࣗݾհ w !NBTIBCPX w ݄ʹιʔγϟϧ1-64ʹKPJOͯ͠ҎདྷɺϑϩϯτΤϯυΛ͍ͬͯΔ w લ৬ͰɺϑΥϯτͷϏϧυπʔϧ੍࡞πʔϧΛ։ൃ͍ͯͨ͠ w ϑΥϯτจࣈίʔυͳͲจࣈ͕͖ʢ͕ͩ࠷ۙશવใΛ͍͑ͯͳ͍🥺ʣ w
ࡀϲ݄ʹͳͬͨࢠͲ͕͔Θ͍͍
ࠓճͷςʔϚ w 🤔ʻͰɺϞϊϨϙʹͯ݁͠ہͲ͏ͩͬͨͷʁ w ιʔγϟϧ1-64ͷϑϩϯτΤϯυΛɺ࠷ۙϞϊϨϙʹ·ͱΊΑ͏ͱ͍ͯ͠Δ w ৮͍ͬͯΔਓ͡Όͳ͍ͱ͋·ΓΘ͔Βͳ͍ͱࢥ͏ͷͰɺհ͍ͨ͠ w ϞϊϨϙͬͯʁͳΜͰΔͷʁͲ͏ͬͨͷʁͬͯΈͯͲ͏ͩͬͨͷʁ w
ਖ਼֬ੑ͓͍ͱ͍ͯɺͩΕͰΘ͔ΔΑ͏ʹͬ͘͟Γͱ
ͦͦϞϊϨϙͬͯ ? ͳΜͰΔͷ ?
ϞϊϨϙͬͯ ? w NPOPSFQP⾩NBOZSFQP BLBQPMZSFQP NVMUJSFQP w ୯ҰͷϦϙδτϦʹίʔυΛશ෦ͭͬ͜ΜͰཧ͢Δํࣜ w
ྫɿ w Ͱ͔͍ϥΠϒϥϦ܈Λ୯ҰͷϦϙδτϦͰཧ w ΞϓϦͷόοΫΤϯυͱϑϩϯτΤϯυΛ୯ҰͷϦϙδτϦͰཧ w ෳΞϓϦͷϑϩϯτΤϯυͷίʔυΛ୯ҰͷϦϙδτϦͰཧ w ιʔγϟϧ1-64ͷ߹͜Ε
લ w ΞϓϦϑϩϯτΤϯυΤϯδχΞগͳ͔ͬͨ
࠷ۙ w ϝϯόʔ૿͑ɺ-F44ͷνʔϜ͕ผʑͷػೳΛฒߦͯ͠։ൃ w 4-.ͷ։ൃ࢝·Δɻͦͷ͏ͪຊೝূ
͜Μͳঢ়ଶͩͬͨ
՝ w ෳΞϓϦʹࣅͨΑ͏ͳ࣮ઃఆ͕ଘࡏ͍ͯͯ͠ɺඇޮ w ΞϓϦؒʹ·͕ͨͬͨมߋڞ௨ԽΛ͢Δͷ͕खؒɻΞδϦςΟΛଛͶΔ w ίʔυJTTVF13͕Ұཡ͠ʹ͘͘ɺݟ௨͠ݕࡧੑ͕ѱ͍ w ΦϯϘʔσΟϯάͷίετ͕ϝϯλʔɾϝϯςΟʔͱʹ͔͔Δ w
ཁɺن͕େ͖͘ͳΔʹͭΕͯʮΊΜͲ͍ʯ໘͕૿͑ͨ😩
ͦ͜ͰϞϊϨϙ ϞϊϨϙҠߦྃޙͷ Πϝʔδਤ
ڞ௨Խʹ͍ͭͯͷิ w ϞϊϨϙʹ͠ͳͯ͘ڞ௨ԽͰ͖Δ w OQNύοέʔδͱͯ͠QVCMJTIͯ͠͏ w (JUϦϙδτϦΛύοέʔδͱͯ͠ಡΈࠐΉ w (JU4VCNPEVMFΛ͏ w
͕ɺόʔδϣϯཧ͕໘ɻϓϥΠϕʔτͳ߹ɺ$*͔ΒͷΞΫηεݖ໘ w ݁ہɺར༻ઌ͕ϓϥΠϕʔτʹด͍ͯͯ͡ίϯτϩʔϧͰ͖ΔͷͰ͋Εɺ ϞϊϨϙͰཧͨ͠ํ͕खͬऔΓૣ͍
Ͳ͏ͬͨͷ ?
͍ͭΔ͔ ? w ͱͱޙɺ$3.1-64PO-*/&Λ࡞Γ࢝Ίͨͱ͖ʹɺ ʮϞϊϨϙԽͨ͠ํ͕͍͍͔ͳʵʯͱ͍͏Λ͍ͯͨ͠ w ࣌ϥΠϒϥϦͷಋೖ͕ϝΠϯͰɺΞϓϦͰͷࣄྫ͕গͳ͔ͬͨ w ݁ہணखͨ͠ͷޙ
w ͦΕͳΓʹಋೖίετΛݟ͓ͯ͘ඞཁ͕͋Δ w ϞϊϨϙπʔϧʹͳ͡ΜͰ͍Δਓ͕͓Βͣɺະͩͬͨ
ࠓճͷϞϊϨϙԽͷਐΊํ w ΠϯΫϦϝϯλϧʹࢼͭͭ͠ਐΊ͍ͯ͘ํ๏Λͱͬͨɻ·ͩಓ w ϞϊϨϙπʔϧΛબఆ͠ɺ5VSCPSFQP :BSOXPSLTQBDF Λ࠾༻ w ৽͍͠ΞϓϦ4-.ͷ։ൃΛ։࢝͢Δͱ͖ʹɺ5VSCPSFQPΛ࣮ઓೖ w
طଘͷΞϓϦͻͱͭͻͱͭϞϊϨϙʹҠߦ w TPDJBMQMVTGSPOUFOEϦϙδτϦʹ·ͱΊͯɺ5VSCPSFQPͰཧ w ڞ௨ͷίʔυઃఆΛ෦ύοέʔδԽ
:BSO w PSLTQBDF w ͻͱͭͷϦϙδτϦͷதʹɺෳͷXPSLTQBDFʢύοέʔδʣΛ࡞ΕΔػೳ w ύοέʔδ͔ΒผͷύοέʔδΛݺͼग़͢͜ͱ͕Ͱ͖Δ w ύοέʔδͷґଘؔΛղܾͯ͘͠ΕΔ
ϞϊϨϙπʔϧ w :BSOXPSLTQBDF͚ͩͰϞϊϨϙҰԠӡ༻Ͱ͖Δ͕ɺ ϞϊϨϙπʔϧΛซ༻͢Δͱศར w ྫɿ-FSOB /Y 5VSCPSFQP #B[FM
(SBEMF 1BOUT ʜ w ൺֱαΠτɿIUUQTNPOPSFQPUPPMTUPPMTSFWJFX w λεΫͷґଘؔʹ͕ͨͬͯ͠ɺඞཁͳλεΫΛ࣮ߦͯ͘͠ΕΔ w λεΫɿϏϧυɾςετɾϦϯτɾܕݕࠪɾίʔυੜʜ w πʔϧʹΑͬͯଞʹ͍Ζ͍Ζศརػೳ͕͋Δ
5VSCPSFQP w ιʔγϟϧ1-64Ͱ࠾༻ͨ͠ϞϊϨϙπʔϧ w ΊͪΌͪ͘Όࡶʹ͍͏ͱɺ͍͍͢NBLF w λεΫͷґଘؔΛઃఆϑΝΠϧʹఆ͓ٛͯ͘͠ͱɺ ͦΕʹैͬͯඞཁͳλεΫ͚࣮ͩߦͯ͘͠ΕΔ w
ίʔυʹՃ͑ͨมߋͱແؔͳλεΫ࣮ߦͤͣɺ લճͷ݁ՌΛΩϟογϡ͔Βऔ͖͍ͬͯͯ·Θͯ͘͠ΕΔ
࣮ࡍͷઃఆϑΝΠϧ ʢҰ෦ʣ
छྨͷґଘؔ w ʮґଘؔʯͱ͍ͬͯछྨ͋Δɻ͜ͷҧ͍Λҙࣝ͢Δͱׂ͕ཧղ͍͢͠ w ύοέʔδͷґଘؔ w ྫɿ4-.ύοέʔδɺBQJDMJFOUύοέʔδʹґଘ w :BSOXPSLTQBDFͰཧ w
λεΫͷґଘؔ w ྫɿ4-.ͷϏϧυλεΫɺBQJDMJFOUͷίʔυੜλεΫʹґଘ w 5VSCPSFQPͰཧʢύοέʔδͷґଘؔΛϕʔεʹʣ
Ωϟογϡ w ʮλεΫͷೖྗ͕લճͱมΘΒͳ͚ΕɺλεΫͷग़ྗมΘΒͳ͍ʯ ͱ͍͏͜ͱΛલఏʹͯ͠ಈ͍͍ͯΔ w ႈੑɺࢀরಁաੑ w ೖྗɿιʔεϑΝΠϧɺڥมɺͦͷλεΫ͕ґଘ͢ΔλεΫͷग़ྗ w
ग़ྗɿλεΫʹΑͬͯੜ͞ΕͨϑΝΠϧɺඪ४ೖग़ྗ w ೖྗͷϋογϡΛΩʔʹͯ͠ɺग़ྗ͕Ωϟογϡ͞ΕΔ w ೖྗͱग़ྗΛͪΌΜͱઃఆ͠ͳ͍ͱɺҙਤ͠ͳ͍ग़ྗ͕͍ճ͞Εͯ͠·͏
ˡΩϟογϡʹώοτ͠ͳ͔ͬͨ
Ωϟογϡʹώοτ͢Δͱɺ Ωϟογϡʹอଘ͞Εͨग़ྗ͕͍ճ͞ΕΔɻ͍ɻ
ϦϞʔτΩϟογϡ w ී௨ͷΩϟογϡϚγϯͷϩʔΧϧʹ࡞͞ΕΔ w $*1BB4ͩͱ࣮ߦ͢Δͨͼʹ৽͍͠ڥʹͳΔͷͰҙຯ͕ͳ͍ w ֎ͷαʔϏεʹΩϟογϡΛ ஔ͍ͯɺ͍ճ͢Έ͕
ϦϞʔτΩϟογϡ w 7FSDFMͷ1SPϓϥϯͩͱ (#NPOUIͷ%-·Ͱ Ճྉۚແ͠Ͱ͑Δ
ϦϞʔτΩϟογϡͷޮՌ w ۙϲ݄Ͱɺ͙࣌ؒΒ͍λεΫͷ࣮ߦ͕࣌ؒઅ͞Ε͍ͯΔ w ͱ͍͑ɺϦϞʔτΩϟογϡ Λόϯόϯ͏લఏͰ$*ΛΜͰ ͍ΔͷͰɺ5VSCPSFQPಋೖલͱ
ൺֱͯ͠ɺ·Δ·Δ͜ͷ͕࣌ؒ ු͍ͨͱ͍͏Θ͚Ͱͳ͍ w ͨͩɺ$JSDMF$*ͷΩϟογϡΛ Θͳͯ͘ྑ͘ͳͬͨͷָɻ ߟ͑Δ͜ͱ͕ݮΔ
5VSCPSFQPΛબΜͩཧ༝ w ػೳ͕খ͘͞ɺ֮͑Δ͜ͱ͕গͳ͍ w طଘϓϩδΣΫτͷஈ֊తͳಋೖ؆୯ͦ͏ w +BWB4DSJQU5ZQF4DSJQUʹಛԽ͍͍͍ͯͯ͢͠ w υΩϡϝϯτ͕ͰΘ͔Γ͍͢ w
7FSDFMͰࠓޙͷൃల͕ظͰ͖ͦ͏ w 7FSDFMͷϦϞʔτΩϟογϡ͕͑Δ
ͬͯΈͯͲ͏ͩͬͨͷ ?
ͬ͘͟Γͨ͠ײ৮ w ʮͬͺΓͬͯྑ͔ͬͨʯʮࢥͬͨҎ্ʹศརʹͳͬͨʯͱ͍͏ͷ͕ࢲײ😊 w ։ൃମ੍Λεέʔϧ͍ͤͯͨ͘͞Ίʹඞཁ w ͪΖΜɺྑ͔ͬͨ͜ͱ͔ΓͰͳ͘ࠔͬͨ͜ͱ͋Δ w ҎԼͰݟ͍͖ͯ·͕͢ɺͷʹΑͬͯϞϊϨϙશൠͷͩͬͨΓ
πʔϧݻ༗ͷͩͬͨΓ͢ΔͷͰɺ͝ҙ͍ͩ͘͞
ڞ௨Խ👍 w ΞϓϦؒͰڞ௨Խ͢ΔͨΊͷϋʔυϧ͕Լ͕ͬͨ w ʮڞ௨ԽͰ͖ͦ͏͔ʁʯʮڞ௨ύοέʔδͱͯ͋͠Δ͖ઃܭʁʯͱ͍͏ ࢹͰߟ͑Δػձ͕૿͑ͨ w ΞϓϦؒͷࠩҟΛݮΒ͍ͯ͘͜͠ͱͰɺຊʹඞཁͳ։ൃʹूதͰ͖Δ w
ΦϯϘʔσΟϯάίετεΠονϯάίετ͕ݮΔ w ීஈͷ։ൃอकָʹͳΔ w ڞ௨ύοέʔδʹର͢Δมߋ͕ΞϓϦʹͲͷΑ͏ʹӨڹ͢Δͷ͔ɺ ϞϊϨϙͳͷͰ͙֬͢ೝͰ͖Δ
λεΫͷґଘؔͷ໌֬Խ👍 w ʮઌʹ͜ͷίϚϯυΛ࣮ߦ͓͔ͯ͠ͳ͍ͱಈ͔ͳ͍ʯ͕ແ͘ͳΔ w ৽͘͠৮ΔΞϓϦٱ͠ͿΓʹ৮ΔΞϓϦͰ͋Γ͕ͪ w 3&"%.&ʹॻ͍ͯ͋ͬͨΓ͢Δ͚ͲɺϝϯςΛଵΓ͕ͪ w $*$%ͷύΠϓϥΠϯγϯϓϧʹͳΔ w
$*$%ͷύΠϓϥΠϯͷఆٛ·ͨɺґଘؔͷදݱͷҰछ w ґଘؔͷղܾͰ͖Δ͚ͩ5VSCPSFQPʹͤͯɺೋॏཧආ͚Δ͖
มߋલͷྫ ޙଓKPCͷͨΊͷ͜͏͍ͬͨ ४උ͕ෆཁʹͳΔ
ϞϊϨϙԽॳظͷύΠϓϥΠϯ ʢ࠷దԽલʣ
ґଘؔͷղܾΛͤͨޙͷঢ়ଶ
ϦϙδτϦͷू w *TTVF13͕ू͞ΕͯϊΠζʹͳΔ͔ͱࢥ͍͖ɺࠓͷͱ͜Ζ͋·Γ ؾʹͳΒͳ͍ w Θ͔Γ͍͢Α͏ʹɺΞϓϦผͷϥϕϧΛ͚ͯ۠ผ͍ͯ͠Δ w ʮ͜ͷ13͕ͲͷΞϓϦʹӨڹ͢Δͷ͔ʯ5VSCPSFQPͰผͰ͖ΔͷͰɺ 13ʹର͢Δϥϕϧ༩(JU)VC"DUJPOTͰࣗಈԽͰ͖ΔͣʢΓ͍ͨʣ
ϦϦʔεख๏ w ΞϓϦ͝ͱʹݸผʹϦϦʔε͢Δํ๏Λͱͬͨ w NBTUFSϒϥϯνΛQSPEVDUJPOΞϓϦ໊ϒϥϯνʹϚʔδ͢Δ w ࠓ·ͰͷϦϦʔεखॱʹۙ͘ɺಈ࡞֬ೝ͕ߦ͍͍͢ w ͨͩ͠ɺϦϦʔεසͷ͍ΞϓϦNBTUFSϒϥϯνͱͷဃ͕େ͖͘ͳΔ
ϋϚΓࣄྫͦͷ w 3FBDUͷΞϓϦ͕͋ΔϞϊϨϙʹ3FBDUͷطଘΞϓϦΛՃͨ͠Βɺ ґଘύοέʔδؒͷόʔγϣϯͷࠩҟͰطଘΞϓϦ͕ಈ͔ͳ͘ͳͬͨ w :BSOXPSLTQBDF͚ͩͰઌʹ͓͖ͬͯͩͬͨ͘ w Ұ୴தஅͯ͠ɺ3FBDUʹἧ͔͑ͯΒվΊͯϞϊϨϙʹՃͨ͠
ϋϚΓࣄྫͦͷ w ҙਤ͍ͯ͠ͳ͍Ωϟογϡ͕ΘΕͯɺམͪΔ͖$*͕མͪͳ͍ w Ϛʔδޙʹؾ͍ͮͨ w λεΫͷೖྗɾग़ྗΛਖ਼͘͠ઃఆ͢Δͷ։ൃऀͷ w ʮ͜ͷաఔͰɺࠓ·ͰӅΕ͍ͯͨڥґଘ͕ݟ͔ͭΔʯͱ͍͏ར w
$*্Ͱɺ։ൃऀͷϚγϯ্Ͱ࣮ߦͨ݁͠ՌΛΘͳ͍Α͏ʹɺ ΩϟογϡΛ͚͍͍͔ͯ͠Εͳ͍ʢ҆શଆʹ͢ͳΒʣ w λεΫͷೖྗʹڥม`CI`ΛؚΊ͓ͯ͘ͱ͔
74$PEF্Ͱͷݕࡧ͕ඍົ w .VMUJSPPU8PSLTQBDFTͱ͍͏ػೳΛ͍ͬͯΔ͕ɺ ࡞ۀ͢ΔείʔϓΛ͏গ͠खܰʹߜΓࠐΈ͍ͨ w .POPSFQP8PSLTQBDFͱ͍͏֦ுΛ࣮͑ݱͰ͖Δ͕ɺ ෳਓͰ74$PEFઃఆΛڞ༗͢Δͷͱ૬ੑ͕ѱͦ͏ʢཁݕূʣ
ϩάग़ྗ͕ඍົ w ฒྻ࣮ߦ͞ΕͨλεΫͷग़ྗ͕ࠞͬͯ͟දࣔ͞ΕΔͷͰɺςετ͕Ͳ͜ͰͲ͏ མ͔ͪͨύοͱݟͰಡΈʹ͍͘ w Χϥʔग़ྗʹͳΒͳ͍߹͕͋Δ
ͦͷଞ w $*$%ͷύΠϓϥΠϯͰͲ͏5VSCPSFQPΛ׆༻͖͔͢ɺ ੈͷதʹ͋·Γใ͕ͳͯ͘Կ͕ϕετϓϥΫςΟεͳͷ͔ඍົʹ໎͏ w #VHTOBH$ISPNBUJDͳͲɺଞαʔϏεͱͷ࿈ܞಛʹͳ͠ w ීஈͷ։ൃΛਐΊͭͭɺঃʑʹϞϊϨϙԽ͍ͯ͠ΔͷͰɺ
ͦΕͳΓʹظ͔͔͍ؒͬͯΔ w ڞ௨ԽΛͲΜͲΜਐΊͨ͘ͳΔ
ॴײ w ϞϊϨϙԽʹ౿Έͬͯྑ͔ͬͨ w ґଘؔͷఆٛʹগ͠ίπ͕͍Δ͕ɺ 5VSCPSFQPΛ͏͚ͩͳΒ୭Ͱ؆୯ʹ͑Δ w ෳύοέʔδΛཧ͍ͯ͠ͳͯ͘ɺ
λεΫͷґଘ͕ؔࡶͩͬͨΒ5VSCPSFQPΛಋೖ͢ΔՁ͋Γ w 5VSCPSFQPʮϞϊϨϙπʔϧʯͱᨳ͏ͷΛΊͨ w ͜Ε͔Βָͯ͠։ൃ͍͖͍ͯͨ͠🤗