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
660
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
840
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
680
CircleCI 2.0 x JavaScript
pine
3
560
Perl 卒業式
pine
0
350
Android Studio の気になる warnings を抑制する方法まとめ
pine
0
510
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
JETLS.jl ─ A New Language Server for Julia
abap34
2
470
Basic Architectures
denyspoltorak
0
160
안드로이드 9년차 개발자, 프론트엔드 주니어로 커리어 리셋하기
maryang
1
150
TestingOsaka6_Ozono
o3
0
270
それ、本当に安全? ファイルアップロードで見落としがちなセキュリティリスクと対策
penpeen
6
1.8k
Vibe codingでおすすめの言語と開発手法
uyuki234
0
160
生成AIを利用するだけでなく、投資できる組織へ
pospome
2
440
副作用をどこに置くか問題:オブジェクト指向で整理する設計判断ツリー
koxya
1
240
組み合わせ爆発にのまれない - 責務分割 x テスト
halhorn
1
180
Python札幌 LT資料
t3tra
7
1.1k
MDN Web Docs に日本語翻訳でコントリビュート
ohmori_yusuke
0
300
Graviton と Nitro と私
maroon1st
0
160
Featured
See All Featured
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
0
220
My Coaching Mixtape
mlcsv
0
21
Mind Mapping
helmedeiros
PRO
0
45
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
30
Faster Mobile Websites
deanohume
310
31k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Amusing Abliteration
ianozsvald
0
84
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
270
Speed Design
sergeychernyshev
33
1.5k
A Tale of Four Properties
chriscoyier
162
23k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
2.8k
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 ΞʔΩςΫνϟΛߟ͑Δͱ͖ͷύʔπͱͯ͠