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
670
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
860
C++ 製グラフィックライブラリ Skia の紹介 / Introduction to the graphics library Skia written by C++
pine
0
1.9k
asyncio + aiohttp で作るウェブサービス / How to develop a web service with asyncio and aiohttp
pine
0
690
CircleCI 2.0 x JavaScript
pine
3
570
Perl 卒業式
pine
0
360
Android Studio の気になる warnings を抑制する方法まとめ
pine
0
520
Emoji Generator meets Browser Extensions
pine
1
3k
近年の 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
今からFlash開発できるわけないじゃん、ムリムリ! (※ムリじゃなかった!?)
arkw
0
150
テレメトリーシグナルが導くパフォーマンス最適化 / Performance Optimization Driven by Telemetry Signals
seike460
PRO
2
150
車輪の再発明をしよう!PHP で実装して学ぶ、Web サーバーの仕組みと HTTP の正体
h1r0
2
380
new(1.26) ← これすき / kamakura.go #8
utgwkk
0
2.7k
KagglerがMixSeekを触ってみた
morim
0
220
どんと来い、データベース信頼性エンジニアリング / Introduction to DBRE
nnaka2992
1
330
[PHPerKaigi 2026]PHPerKaigi2025の企画CodeGolfが最高すぎて社内で内製して半年運営して得た内製と運営の知見
ikezoemakoto
0
280
nuget-server - あなたが必要だったNuGetサーバー
kekyo
PRO
0
440
Goの型安全性で実現する複数プロダクトの権限管理
ishikawa_pro
2
1.3k
コーディングルールの鮮度を保ちたい / keep-fresh-go-internal-conventions
handlename
0
230
Ruby and LLM Ecosystem 2nd
koic
1
1.3k
Fundamentals of Software Engineering In the Age of AI
therealdanvega
2
290
Featured
See All Featured
WENDY [Excerpt]
tessaabrams
9
37k
The Cult of Friendly URLs
andyhume
79
6.8k
30 Presentation Tips
portentint
PRO
1
260
Making Projects Easy
brettharned
120
6.6k
Side Projects
sachag
455
43k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
Navigating Weather and Climate Data
rabernat
0
140
Automating Front-end Workflow
addyosmani
1370
200k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
AI: The stuff that nobody shows you
jnunemaker
PRO
3
480
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
100
Chasing Engaging Ingredients in Design
codingconduct
0
150
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 ΞʔΩςΫνϟΛߟ͑Δͱ͖ͷύʔπͱͯ͠