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
19
で、モノレポにして結局どうだったの? / FFTT #522
Masaya Nakamura
May 31, 2023
Tweet
Share
More Decks by Masaya Nakamura
See All by Masaya Nakamura
LINE絵文字概観 / FFTT #465
mashabow
0
3k
uchino-sensors: 温湿度センサーで値をとってグラフにするよくあるアレ / FFTT #437
mashabow
0
2.9k
日本の新聞の題字あつめました
mashabow
0
1.6k
題字ペタペタ:Contentful + Gatsby で作るコレクションサイト / FFTT #409
mashabow
0
13k
古典プログラマが量子プログラミングをさわろうとした話 / FFTT #383
mashabow
2
84
ベジエ曲線のなめらかさの話 / Bézier Smoothness
mashabow
23
39k
書体見本帳をながめる / FFLT #12
mashabow
0
320
Other Decks in Programming
See All in Programming
大規模UIKitベースアプリへのTCAの段階的導入/gradual-adoption-of-tca-in-a-large-scale-uikit-based-app
takehilo
2
200
Behind VS Code Extensions for JavaScript / TypeScript Linnting and Formatting
unvalley
6
1.1k
ADRを一年運用してみた/adr_after_a_year
hanhan1978
7
2.4k
SIMD Parallel Programming with the Vector API
josepaumard
0
220
Sheets API使ってみた
toshi0383
2
160
#phpcon_odawara オープン・クローズドなテストフィクスチャを求めて / open closed test fixtures
77web
3
240
Introducing Kotlin Multiplatform in an existing mobile app - Workshop Edition | AndroidMakers Paris
prof18
0
140
はてなにおける CSS Modules、及び CSS Modules に足りないもの / CSS Modules in Hatena, and CSS Modules missing parts
mizdra
7
970
TCAとKMPを用いた新規動画配信アプリ 「ABEMA Live」の設計
tomu28
2
120
Try creating your own orderedmap
kazamori
1
170
GitHub Copilotのススメ
marcy731
1
220
try! Swift Tokyo 初参加報告LT
hinakko2
0
230
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
61
5k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
323
20k
No one is an island. Learnings from fostering a developers community.
thoeni
16
2.1k
Atom: Resistance is Futile
akmur
260
25k
Making the Leap to Tech Lead
cromwellryan
125
8.5k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
22
1.6k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
19
6.9k
Design by the Numbers
sachag
274
18k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.7k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
21
1.4k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
Docker and Python
trallard
35
2.7k
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 ͜Ε͔Βָͯ͠։ൃ͍͖͍ͯͨ͠🤗