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
630
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
780
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
660
CircleCI 2.0 x JavaScript
pine
3
540
Perl 卒業式
pine
0
330
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
すべてのコンテキストを、 ユーザー価値に変える
applism118
2
1.1k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
50
32k
Railsアプリケーションと パフォーマンスチューニング ー 秒間5万リクエストの モバイルオーダーシステムを支える事例 ー Rubyセミナー 大阪
falcon8823
4
1k
アンドパッドの Go 勉強会「 gopher 会」とその内容の紹介
andpad
0
290
20250628_非エンジニアがバイブコーディングしてみた
ponponmikankan
0
630
スタートアップの急成長を支えるプラットフォームエンジニアリングと組織戦略
sutochin26
0
320
dbt民主化とLLMによる開発ブースト ~ AI Readyな分析サイクルを目指して ~
yoshyum
2
260
今ならAmazon ECSのサービス間通信をどう選ぶか / Selection of ECS Interservice Communication 2025
tkikuc
21
3.8k
Google Agent Development Kit でLINE Botを作ってみた
ymd65536
2
220
Rubyでやりたい駆動開発 / Ruby driven development
chobishiba
1
530
なぜ「共通化」を考え、失敗を繰り返すのか
rinchoku
1
620
Team topologies and the microservice architecture: a synergistic relationship
cer
PRO
0
1.2k
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Navigating Team Friction
lara
187
15k
The Straight Up "How To Draw Better" Workshop
denniskardys
234
140k
Stop Working from a Prison Cell
hatefulcrawdad
270
20k
The Cult of Friendly URLs
andyhume
79
6.5k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
5
230
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.4k
The Pragmatic Product Professional
lauravandoore
35
6.7k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
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 ΞʔΩςΫνϟΛߟ͑Δͱ͖ͷύʔπͱͯ͠