Upload
codemotion
View
267
Download
2
Tags:
Embed Size (px)
Citation preview
Marco Cecconi @sklivvz
http://sklivvz.com
ARCHITETTURA?
CHE E’?
Oratorio
Quasi 150 siti
~40º network più visitato al mondo
650!
Altro “server pr0n” qui
http://imgur.com/a/X1HoY
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
Il nostro amico/nemico: Il Garbage Collector
Abusiamo della cache per aiutare il GC
Abusiamo del compilatore per aiutare il GC
IRepository<Order> orderRepository = container.Resolve<IRepository<Order>>(); Order order = orderRepository.Get(35);
La buona, vecchia dependency injection
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
YAGNI*
* You Ain’t Gonna Need It!
Librerie e open source
Create librerie di codice Rilasciatele in Open Source
PROGRAMMAZIONE DA “SUPEREROI”
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*.
* I miei 3 monitor da 30” non fanno schifo
MORALE DELLA FAVOLA
Marco Cecconi @sklivvz
http://sklivvz.com
Stiamo assumendo 10 nuovi sviluppatori da ovunque nel mondo!