$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
L'architettura di Stack Overflow, {codemotion} ...
Search
Marco Cecconi
November 29, 2014
Programming
0
680
L'architettura di Stack Overflow, {codemotion} Milano 2014
L'architettura di Stack Overflow, presentata a {codemotion} Milano in Novembre 2014.
Marco Cecconi
November 29, 2014
Tweet
Share
More Decks by Marco Cecconi
See All by Marco Cecconi
Stack Overflow - It's all about performance - Codemotion Rome 2015
sklivvz
0
890
Stack Overflow - it's all about performance
sklivvz
2
720
Guerrilla Programming - code.talks 2014
sklivvz
0
670
The Architecture of Stack Overflow - Merge Lisbon 2014
sklivvz
4
420
The Architecture of Stack Overflow - Info Share 2014
sklivvz
3
650
The Architecture of Stack Overflow - Dev Sum 2014
sklivvz
2
650
The Architecture of Stack Overflow - QCon Japan 2014
sklivvz
2
240
The Architecture of StackOverflow - QCon China 2014
sklivvz
1
260
The Localization of Stack Overflow- QCon China 2014
sklivvz
1
410
Other Decks in Programming
See All in Programming
大体よく分かるscala.collection.immutable.HashMap ~ Compressed Hash-Array Mapped Prefix-tree (CHAMP) ~
matsu_chara
1
210
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
380
Context is King? 〜Verifiability時代とコンテキスト設計 / Beyond "Context is King"
rkaga
6
1k
Cell-Based Architecture
larchanjo
0
100
Level up your Gemini CLI - D&D Style!
palladius
1
180
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
120
20251127_ぼっちのための懇親会対策会議
kokamoto01_metaps
2
420
Rediscover the Console - SymfonyCon Amsterdam 2025
chalasr
2
160
著者と進める!『AIと個人開発したくなったらまずCursorで要件定義だ!』
yasunacoffee
0
120
TypeScriptで設計する 堅牢さとUXを両立した非同期ワークフローの実現
moeka__c
6
3k
バックエンドエンジニアによる Amebaブログ K8s 基盤への CronJobの導入・運用経験
sunabig
0
140
Microservices rules: What good looks like
cer
PRO
0
1.1k
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
698
190k
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.1k
Typedesign – Prime Four
hannesfritz
42
2.9k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.6k
Writing Fast Ruby
sferik
630
62k
Docker and Python
trallard
47
3.7k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
GitHub's CSS Performance
jonrohan
1032
470k
Transcript
Marco Cecconi @sklivvz http://sklivvz.com
ARCHITETTURA? CHE E’?
None
None
Cresciuti a 130 siti (+20%) Da 56º a 44º network
più visitato al mondo (-12)
None
*source: Quantcast, Alexa ~50º network per traffico* (fra imdb.com
e t.co)
None
None
None
None
None
None
None
None
None
None
None
None
None
http://stackexchange.com/performance
Agile
BAT!CAVERNA Ciclo scrivi-compila-testa sul computer di casa Richieste feature
DEV.SO Test su server di produzione git push BAT!CAVERNA
BAT!CAVE DEV.SO META.SE Utenti testano su meta.stackexchange.com (“baking”) git push
BAT!CAVERNA 1-click deploy
DEV.SO META.SE AZZ! git revert git push BAT!CAVERNA 1-click deploy
DEV.SO NETWORK META.SE 1-click deploy git push 1-click deploy In
produzione! Tonnellate di utenti lo usano… BAT!CAVERNA
BAT!CAVE DEV.SO NETWORK META.SE 1-click deploy git push 1-click deploy
…e richiedono nuove feature! BAT!CAVERNA
Vai veloce e scassa le cose* * Non la
home page o pagine domande :-)
Vai veloce e scassa le cose* * Non la
home page o pagine domande :-)
Abuso dell’uso della cache
None
None
None
Il nostro amico/nemico: Il Garbage Collector (“spazzin”)
None
None
None
None
None
None
Abusiamo della cache per aiutare il GC
None
None
Abusiamo del compilatore per aiutare il GC
None
None
None
None
IRepository<Order> orderRepository = container.Resolve<IRepository<Order>>();
Order order = orderRepository.Get(35); La buona, vecchia dependency injection
None
IRepository<Order> repository = new ValidatingOrderRepository (
new SecurityRepository<Order> ( new LoggingRepository<Order> ( new CachingRepository<Order> ( new NHibernateRepository<Order> () ) ) ) ); Order order = repository.Get(35);
Il nostro sorgente
None
None
None
None
None
None
YAGNI* * You Ain’t Gonna Need It!
Librerie e open source
None
None
None
Wrap code in libraries and open source it
None
None
PROGRAMMAZIONE DA “SUPEREROI”
None
LIVELLO STRUMENTI: HATTORI HANZŌ
• La performance è una feature •
Always. Be. Shipping. • Usate le vostre circostanze. • Rilasciate O/S le vostre librerie • 3 monitor grandi da far schifo. MORALE DELLA FAVOLA
None
Marco Cecconi @sklivvz http://sklivvz.com Stiamo assumendo nuovi ninja da ovunque
nel mondo!