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
Using Software Modules - Welcome to Hell!
Search
Baruch Sadogursky
February 14, 2013
Programming
1
400
Using Software Modules - Welcome to Hell!
Baruch Sadogursky
February 14, 2013
Tweet
Share
More Decks by Baruch Sadogursky
See All by Baruch Sadogursky
Silicon Valley Chainsaw Massacre (how I spent my last Friday night on-call) as presented at DevOops 2017
jbaruch
0
780
DevOps @ scale — greek tragedy in three acts as presented at Devoops 2017
jbaruch
0
620
Building a Massively Scalable Cloud Service from the Grounds Up
jbaruch
0
320
Groovy DSL для plugin-ов - Расширения человеческим языком
jbaruch
0
400
Найти Сятой Грааль, и оттестировать его как следует
jbaruch
1
410
Plugging the users in - extend your application with pluggable Groovy DSL
jbaruch
0
260
Open/Closed Software - Developing freemium application using Spring Framework
jbaruch
0
270
Search for the Holy Grail (and test it once found)
jbaruch
0
170
Разработка модулярного софта — добро пожаловать в АД!
jbaruch
0
140
Other Decks in Programming
See All in Programming
私達はmodernize packageに夢を見るか feat. go/analysis, go/ast / Go Conference 2025
kaorumuta
2
550
Web Components で実現する Hotwire とフロントエンドフレームワークの橋渡し / Bridging with Web Components
da1chi
3
2.4k
技術的負債の正体を知って向き合う / Facing Technical Debt
irof
0
170
Swift Concurrency - 状態監視の罠
objectiveaudio
2
520
Catch Up: Go Style Guide Update
andpad
0
220
Go言語はstack overflowの夢を見るか?
logica0419
0
270
CI_CD「健康診断」のススメ。現場でのボトルネック特定から、健康診断を通じた組織的な改善手法
teamlab
PRO
0
210
Devoxx BE - Local Development in the AI Era
kdubois
0
130
Introducing ReActionView: A new ActionView-Compatible ERB Engine @ Kaigi on Rails 2025, Tokyo, Japan
marcoroth
3
1k
Domain-centric? Why Hexagonal, Onion, and Clean Architecture Are Answers to the Wrong Question
olivergierke
2
840
CSC509 Lecture 03
javiergs
PRO
0
340
Pull-Requestの内容を1クリックで動作確認可能にするワークフロー
natmark
2
510
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.2k
Building Better People: How to give real-time feedback that sticks.
wjessup
369
20k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
189
55k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
900
Code Reviewing Like a Champion
maltzj
526
40k
It's Worth the Effort
3n
187
28k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
53k
Music & Morning Musume
bryan
46
6.8k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Being A Developer After 40
akosma
91
590k
BBQ
matthewcrist
89
9.8k
Transcript
None
None
None
None
None
None
None
None
None
None
, IPS
None
None
None
None
None
None
None
None
None
DRAGON STORIES AHEAD! fAC Ddb
STORY NUMBER ONE f
, A STORY OF INDEXES +
, A STORY OF INDEXES + < KEPT IN WRONG
PLACE >
Once Upon A Time…
Once Upon A Time… Can’t serve… searches…
Not anymore…
Look ma, no index download!
None
None
None
Have to download huge files Before Searching
Have to download huge files Before Searching Updated rarely
Have to download huge files Before Searching Updated rarely Requires
special client
Have to download huge files Before Searching Updated rarely Requires
special client
None
None
None
None
Lesson learned
STORY NUMBER TWO A
None
None
None
None
None
None
None
None
None
None
None
STORY NUMBER TWO (AND A HALF) AA
None
Lesson learned
None
None
None
None
None
None
None
STORY NUMBER THREE C
None
None
None
Depending on name only
Depending on name only
You knew it is coming!
None
None
None
None
None
None
None
None
None
None
None
A v1
A v1 E v1
A v1 E v1 D v1
A v1 B v1 E v1 D v1
A v1 C v1 B v1 E v1 D v1
A v1 C v1 B v1 D v2 E v1
D v1
A v1 C v1 B v1 D v2 E v1
D v1
None
None
None
None
Reprise…
None
None
None
None
None
Lesson learned
STORY NUMBER FOUR
None
None
None
None
Lesson learned
STORY NUMBER FIVE D
Like vodka and beer…
…Config. and Metadata …
…Just won’t mix.
None
None
None
My Project ‘A1’
My Project ‘A1’ <alwaysUse> <repository>MyRepo</repository> </alwaysUse> MyRepo
My Project ‘A1’ <dependency>B1</dependency> <alwaysUse> <repository>MyRepo</repository> </alwaysUse> MyRepo
My Project ‘A1’ <dependency>B1</dependency> <alwaysUse> <repository>MyRepo</repository> </alwaysUse> MyRepo Project ‘B1’
My Project ‘A1’ <dependency>B1</dependency> <alwaysUse> <repository>MyRepo</repository> </alwaysUse> MyRepo Project ‘B1’
BadRepo <repository>BadRepo</repository> <dependency>C1</dependency>
My Project ‘A1’ <dependency>B1</dependency> <dependency>C1</dependency> <repository>MyRepo</repository> <repository>BadRepo</repository> MyRepo Project ‘B1’
BadRepo
My Project ‘A1’ <dependency>B1</dependency> <dependency>C1</dependency> <repository>MyRepo</repository> <repository>BadRepo</repository> MyRepo Project ‘B1’
BadRepo
None
Lesson learned
None
NO MORE STORIES, ONE MORE THING OOO fAC Ddb
None
None
None