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
L'architettura di Stack Overflow, {codemotion} ...
Search
Marco Cecconi
November 29, 2014
Programming
0
650
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
880
Stack Overflow - it's all about performance
sklivvz
2
710
Guerrilla Programming - code.talks 2014
sklivvz
0
650
The Architecture of Stack Overflow - Merge Lisbon 2014
sklivvz
4
410
The Architecture of Stack Overflow - Info Share 2014
sklivvz
3
650
The Architecture of Stack Overflow - Dev Sum 2014
sklivvz
2
620
The Architecture of Stack Overflow - QCon Japan 2014
sklivvz
2
240
The Architecture of StackOverflow - QCon China 2014
sklivvz
1
250
The Localization of Stack Overflow- QCon China 2014
sklivvz
1
390
Other Decks in Programming
See All in Programming
Deep Dive into ~/.claude/projects
hiragram
14
14k
Goで作る、開発・CI環境
sin392
0
260
AI Agent 時代のソフトウェア開発を支える AWS Cloud Development Kit (CDK)
konokenj
6
800
AIともっと楽するE2Eテスト
myohei
8
3k
商品比較サービス「マイベスト」における パーソナライズレコメンドの第一歩
ucchiii43
0
180
SQLアンチパターン第2版 データベースプログラミングで陥りがちな失敗とその対策 / Intro to SQL Antipatterns 2nd
twada
PRO
16
2.6k
MDN Web Docs に日本語翻訳でコントリビュートしたくなる
ohmori_yusuke
1
130
はじめてのWeb API体験 ー 飲食店検索アプリを作ろうー
akinko_0915
0
140
DMMを支える決済基盤の技術的負債にどう立ち向かうか / Addressing Technical Debt in Payment Infrastructure
yoshiyoshifujii
4
410
ペアプロ × 生成AI 現場での実践と課題について / generative-ai-in-pair-programming
codmoninc
2
21k
Flutterで備える!Accessibility Nutrition Labels完全ガイド
yuukiw00w
0
170
「テストは愚直&&網羅的に書くほどよい」という誤解 / Test Smarter, Not Harder
munetoshi
0
200
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Writing Fast Ruby
sferik
628
62k
Become a Pro
speakerdeck
PRO
29
5.4k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.5k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Navigating Team Friction
lara
187
15k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
GitHub's CSS Performance
jonrohan
1031
460k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.7k
How to Ace a Technical Interview
jacobian
278
23k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
BBQ
matthewcrist
89
9.7k
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!