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
Lerna による明示的疎結合アーキテクチャ
Search
Pine Mizune
October 06, 2017
Programming
1
620
Lerna による明示的疎結合アーキテクチャ
Gotanda.js #9 in adish で発表した資料
https://gotandajs.connpass.com/event/66262/
Pine Mizune
October 06, 2017
Tweet
Share
More Decks by Pine Mizune
See All by Pine Mizune
多言語対応と絵文字ジェネレーター / i18n of Emoji Generator
pine
0
770
C++ 製グラフィックライブラリ Skia の紹介 / Introduction to the graphics library Skia written by C++
pine
0
1.7k
asyncio + aiohttp で作るウェブサービス / How to develop a web service with asyncio and aiohttp
pine
0
650
CircleCI 2.0 x JavaScript
pine
3
530
Perl 卒業式
pine
0
320
Android Studio の気になる warnings を抑制する方法まとめ
pine
0
490
Emoji Generator meets Browser Extensions
pine
1
2.9k
近年の OSS 開発における CI 選択のベストプラクティス
pine
3
4.5k
yarn VS. npm@2 VS. npm@3
pine
3
1.1k
Other Decks in Programming
See All in Programming
Cursor/Devin全社導入の理想と現実
saitoryc
28
22k
REALITY コマンド作成チュートリアル
nishiuriraku
0
120
The Missing Link in Angular’s Signal Story: Resource API and httpResource
manfredsteyer
PRO
0
140
The Nature of Complexity in John Ousterhout’s Philosophy of Software Design
philipschwarz
PRO
0
160
Golangci-lint v2爆誕: 君たちはどうすべきか
logica0419
1
230
KawaiiLT 登壇資料 キャリアとモチベーション
hiiragi
0
160
20250426 GDGoC 合同新歓 - GDGoC のススメ
getty708
0
110
Serving TUIs over SSH with Go
caarlos0
0
600
生成AIで知るお願いの仕方の難しさ
ohmori_yusuke
1
110
Cursorを活用したAIプログラミングについて 入門
rect
0
160
設計の本質:コード、システム、そして組織へ / The Essence of Design: To Code, Systems, and Organizations
nrslib
10
3.7k
Jakarta EE Meets AI
ivargrimstad
0
830
Featured
See All Featured
Optimizing for Happiness
mojombo
378
70k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Faster Mobile Websites
deanohume
306
31k
Rails Girls Zürich Keynote
gr2m
94
13k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Designing for Performance
lara
608
69k
YesSQL, Process and Tooling at Scale
rocio
172
14k
How GitHub (no longer) Works
holman
314
140k
Building a Modern Day E-commerce SEO Strategy
aleyda
40
7.2k
Documentation Writing (for coders)
carmenintech
71
4.8k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.7k
How to Ace a Technical Interview
jacobian
276
23k
Transcript
1JOF.J[VOF 0DU (PUBOEBKT JOBEJTI -FSOB ʹΑΔ ໌ࣔతૄ݁߹ΞʔΩςΫνϟ
ࣗݾհ v (JU)VC !QJOF v 5XJUUFS!QJOF v ͖ͳݴޠ +BWB4DSJQU v
/FYUCFBU $P -UE JO ޒా v ֆจࣈδΣωϨʔλʔ "VUIPS
࣍ -FSOB ͷ֓ཁͱɺΞʔΩςΫνϟྫΛ͠·͢ v -FSOB ͱ v -FSOB ͷಈ࡞ݪཧ v
-FSOB ʹΑΔ໌ࣔతૄ݁߹ΞʔΩςΫνϟ v ΞʔΩςΫνϟྫͷհ
-FSOB ͱ -FSOB #BCFMͷ࡞ऀʹΑΔ NPOPSFQP ࢧԉπʔϧͰ͢ ෳύοέʔδΛ୯ҰϨϙδτϦͰཧ ྫ#BCFMͷϨϙδτϦߏ QBDLBHFT
MFSOBKTPO QBDLBHFKTPO CBCFMDMJ CBCFMDPSF TSD UFTU QBDLBHFKTPO CBCFM ܭ ݸͷύοέʔδ ݱࡏ
-FSOB ͷಈ࡞ݪཧ -FSOB γϯϘϦοΫͰϓϩδΣΫτґଘΛղܾ͠·͢ QLH QLH QLH OPEF@NPEVMFT !QSPK QBDLBHFT
QLH NPOSFQP γϯϘϦοΫϦϯΫ ֎෦ύοέʔδΠϯετʔϧ QLH FYUQLH
-FSOB ίϚϯυྫ $ lerna bootstrap ґଘղܾ࣮ߦ $ lerna run test
શύοέʔδͷίϚϯυ࣮ߦ $ lerna run --scope @proj/pkg1 build ಛఆύοέʔδͷίϚϯυ࣮ߦ
େنϥΠϒϥϦͷͨΊʹ࡞ΒΕͨ -FSOB Ͱ͕͢ ࠓϓϩμΫτͷద༻͢ΔΛ͠·͢ɻ
-FSOB ʹΑΔ໌ࣔతૄ݁߹ΞʔΩςΫνϟ ϥΠϒϥϦͰͳ͘ϓϩμΫτͷૄ݁߹Խʹ͏ v ϨΠϠͰ͚Δ Ø !QSPKDPOUSPMMFST !QSPKNPEFMT Ø
!QSPKEJTQBUDIFS !QSPKTUPSF v σʔλछผ͝ͱʹ͚Δ Ø !QSPKVTFST !QSPKJUFNT
-FSOB ʹΑΔ໌ࣔతૄ݁߹ΞʔΩςΫνϟ -FSOB ʹΑΔΞʔΩςΫνϟͷϝϦοτɾσϝϦοτ v ϝϦοτ Ø ϨΠϠؒͷґଘ͕໌ࣔతʹͳΔ Ø ϨΠϠ͝ͱʹґଘ͕࣋ͯΔ
Ø ϨΠϠ͝ͱʹςετ͕ॻ͚Δ ςετϑϨʔϜϫʔΫͷࠞࡏ༰қ v σϝϦοτ Ø ύοέʔδͷංେԽɺݟ௨͠ͷѱԽ Ø ಉҰϥΠϒϥϦͷෳόʔδϣϯͷґଘͷൃੜ ڞ௨ґଘΛϧʔτύοέʔδͰ࣋ͭ͜ͱͰ͋ΔఔղܾՄ
&YQSFTTͷద༻ྫ $POUSPMMFS 3FQPTJUPSZ .PEFMʹ͚Δྫ QBDLBHFT MFSOBKTPO BQQ DPOGJH HPUBOEBKTBQJ NPEFMT
FOW SFQPT QBDLBHFKTPO $POUSPMMFS 3FQPTJUPSZ .PEFM ιʔείʔυIUUQTHJUIVCDPNQJOFHPUBOEBKTBQJTBNQMF
&YQSFTTͷద༻ྫ ύοέʔδؒͷґଘؔ !HPUBOEBKTBQQ !HPUBOEBKTDPOGJH !HPUBOEBKTFOW !HPUBOEBKTSFQT !HPUBOEBKTNPEFMT ϢʔςΟϦςΟܥݸʑʹಠཱ ιʔείʔυIUUQTHJUIVCDPNQJOFHPUBOEBKTBQJTBNQMF
&YQSFTTͷద༻ྫ ιʔείʔυIUUQTHJUIVCDPNQJOFHPUBOEBKTBQJTBNQMF const { EventRepository, EventPlaceRepository, PlaceRepository, } = require('@gotandajs/repos')
const { EventResult } = require('@gotandajs/models') $POUSPMMFS
·ͱΊ -FSOB NPOPSFQP ࢧԉπʔϧͰ͢ v -FSOB #BCFMͷେنϥΠϒϥϦͰར༻ v
-FSOB ΛϓϩμΫτʹదԠ͢Δ͜ͱՄೳ v ૄ݁߹ɺ͔ͭ໌ࣔతʹϓϩμΫτΛߏՄೳ v ΞʔΩςΫνϟΛߟ͑Δͱ͖ͷύʔπͱͯ͠