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
35
で、モノレポにして結局どうだったの? / 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.5k
uchino-sensors: 温湿度センサーで値をとってグラフにするよくあるアレ / FFTT #437
mashabow
0
3.1k
日本の新聞の題字あつめました
mashabow
0
2k
題字ペタペタ:Contentful + Gatsby で作るコレクションサイト / FFTT #409
mashabow
0
14k
古典プログラマが量子プログラミングをさわろうとした話 / FFTT #383
mashabow
2
120
ベジエ曲線のなめらかさの話 / Bézier Smoothness
mashabow
23
40k
書体見本帳をながめる / FFLT #12
mashabow
0
340
Other Decks in Programming
See All in Programming
StarlingMonkeyを触ってみた話 - 2024冬
syumai
3
270
MCP with Cloudflare Workers
yusukebe
2
220
create_tableをしただけなのに〜囚われのuuid編〜
daisukeshinoku
0
270
生成AIでGitHubソースコード取得して仕様書を作成
shukob
0
480
ドメインイベント増えすぎ問題
h0r15h0
2
360
PSR-15 はあなたのための ものではない? - phpcon2024
myamagishi
0
140
Zoneless Testing
rainerhahnekamp
0
120
今年のアップデートで振り返るCDKセキュリティのシフトレフト/2024-cdk-security-shift-left
tomoki10
0
210
これでLambdaが不要に?!Step FunctionsのJSONata対応について
iwatatomoya
2
3.7k
たのしいparse.y
ydah
3
120
ChatGPT とつくる PHP で OS 実装
memory1994
PRO
2
110
フロントエンドのディレクトリ構成どうしてる? Feature-Sliced Design 導入体験談
osakatechlab
8
4.1k
Featured
See All Featured
Designing for humans not robots
tammielis
250
25k
Designing for Performance
lara
604
68k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.6k
A Philosophy of Restraint
colly
203
16k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Practical Orchestrator
shlominoach
186
10k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5k
Designing Experiences People Love
moore
138
23k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
Writing Fast Ruby
sferik
628
61k
Testing 201, or: Great Expectations
jmmastey
40
7.1k
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 ͜Ε͔Βָͯ͠։ൃ͍͖͍ͯͨ͠🤗