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
750
C++ 製グラフィックライブラリ Skia の紹介 / Introduction to the graphics library Skia written by C++
pine
0
1.6k
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
480
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
Scala 3 で GLSL のための c-like-for を実装してみた
exoego
1
160
PromptyによるAI開発入門
ymd65536
1
330
DenoでOpenTelemetryに入門する
yotahada3
2
280
Go1.24で testing.B.Loopが爆誕
kuro_kurorrr
0
140
JavaOne 2025: Advancing Java Profiling
jbachorik
1
300
Compose Navigation実装の見通しを良くする
hiroaki404
0
130
技術好きなエンジニアが "リーダーへの進化" によって得たものと失ったもの
pospome
5
1.3k
イベントソーシングによってインピーダンスミスマッチから解放された話
tkawae
1
290
Devin , 正しい付き合い方と使い方 / Living and Working with Devin
yukinagae
1
490
AI時代のプログラミング教育 / programming education in ai era
kishida
22
19k
安全に倒し切るリリースをするために:15年来レガシーシステムのフルリプレイス挑戦記
sakuraikotone
5
2k
AtCoder Heuristic First-step Vol.1 講義スライド(山登り法・焼きなまし法編)
takumi152
3
900
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
Why Our Code Smells
bkeepers
PRO
336
57k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.4k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
600
Agile that works and the tools we love
rasmusluckow
328
21k
GraphQLとの向き合い方2022年版
quramy
45
14k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7.1k
Java REST API Framework Comparison - PWX 2021
mraible
29
8.5k
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 ΞʔΩςΫνϟΛߟ͑Δͱ͖ͷύʔπͱͯ͠