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
420
1
Share
Using Software Modules - Welcome to Hell!
Baruch Sadogursky
February 14, 2013
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
790
DevOps @ scale — greek tragedy in three acts as presented at Devoops 2017
jbaruch
0
630
Building a Massively Scalable Cloud Service from the Grounds Up
jbaruch
0
330
Groovy DSL для plugin-ов - Расширения человеческим языком
jbaruch
0
420
Найти Сятой Грааль, и оттестировать его как следует
jbaruch
1
440
Plugging the users in - extend your application with pluggable Groovy DSL
jbaruch
0
270
Open/Closed Software - Developing freemium application using Spring Framework
jbaruch
0
280
Search for the Holy Grail (and test it once found)
jbaruch
0
180
Разработка модулярного софта — добро пожаловать в АД!
jbaruch
0
140
Other Decks in Programming
See All in Programming
エージェンティックRAGにAWSで入門しよう!
har1101
7
1k
AI時代の仕事技芸論 — ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ
kuranuki
1
610
Webフレームワークの ベンチマークについて
yusukebe
0
120
net-httpのHTTP/2対応について
naruse
0
440
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
190
柔軟なPDFレイアウトエディタを支える型システム設計 — Discriminated UnionとConditional Typeの実践
minako__ph
4
1.4k
SPMマルチモジュールで テストカバレッジを取得する技法
yosshi4486
0
140
タクシーアプリ『GO』の バックエンド開発のおける AI利活用と若者のすべて
pyama86
3
1.9k
軽量Java基盤の設計 DIコンテナに頼らない、長期保守と1秒起動の実現 JJUG CCC 2026 Spring
macha64
0
450
Signal Forms: Beyond the Basics @ngBaguette 2026 in Paris
manfredsteyer
PRO
0
220
AI駆動開発で崩れていくコードベースを立て直す
kyoko_nr_nr
1
430
Spec-Driven Development with AI-Agents: From High-Level Requirements to Working Software
antonarhipov
2
450
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
Practical Orchestrator
shlominoach
191
11k
Typedesign – Prime Four
hannesfritz
42
3.1k
GitHub's CSS Performance
jonrohan
1033
470k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
210
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
180
Scaling GitHub
holman
464
140k
BBQ
matthewcrist
89
10k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
380
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
240
Joys of Absence: A Defence of Solitary Play
codingconduct
1
390
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