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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Masaya Nakamura
May 31, 2023
Programming
58
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
で、モノレポにして結局どうだったの? / FFTT #522
Masaya Nakamura
May 31, 2023
More Decks by Masaya Nakamura
See All by Masaya Nakamura
LINE絵文字概観 / FFTT #465
mashabow
0
5k
uchino-sensors: 温湿度センサーで値をとってグラフにするよくあるアレ / FFTT #437
mashabow
0
3.6k
日本の新聞の題字あつめました
mashabow
0
3k
題字ペタペタ:Contentful + Gatsby で作るコレクションサイト / FFTT #409
mashabow
0
15k
古典プログラマが量子プログラミングをさわろうとした話 / FFTT #383
mashabow
2
160
ベジエ曲線のなめらかさの話 / Bézier Smoothness
mashabow
21
42k
書体見本帳をながめる / FFLT #12
mashabow
0
390
Other Decks in Programming
See All in Programming
Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージェント制御の王道〜
kentaroutakeda
3
620
【やさしく解説 設計編・中級 #6】良いアーキテクチャとは ~ 一本の登り道の、行き先 ~
panda728
PRO
0
200
2年かけて Deno に DOMMatrix を実装した話 / How I implemented DOMMatrix in Deno over two years
petamoriken
0
190
これって Effect でできたのでは? / TSKaigi Mashup Kansai #2
susisu
0
130
今さら聞けない .NET CLI
htkym
0
170
AIが無かった頃の素敵な出会いの話
codmoninc
1
340
AIエージェントで 変わるAndroid開発環境
takahirom
2
760
『コードを書く以外の』エンジニアリング〜課金基盤移行プロジェクト推進のためのTips4選
yuriko1211
0
560
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
500
琵琶湖の水は止められてもNet--HTTPのリトライは止められない / You might be able to stop the water flow of Lake Biwa but you can't stop Net::HTTP retries
luccafort
PRO
0
500
AI時代に設計が 最大の生産性レバーになる 意図駆動開発とデータを消さない設計|Don't Delete Your Data or Your Intent — Design as the Deepest Lever in the AI Era
tomohisa
0
130
jsmini JavaScript Engine を作ってみた話
yosuke_furukawa
PRO
0
280
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
Evolving SEO for Evolving Search Engines
ryanjones
0
250
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
190
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
160
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
420
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Thoughts on Productivity
jonyablonski
76
5.3k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
460
Joys of Absence: A Defence of Solitary Play
codingconduct
1
420
Into the Great Unknown - MozCon
thekraken
41
2.6k
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 ͜Ε͔Βָͯ͠։ൃ͍͖͍ͯͨ͠🤗