Web 2.0 sviluppare e ottimizzare oggi
-
Upload
alessandro-cinelli -
Category
Documents
-
view
1.298 -
download
0
Transcript of Web 2.0 sviluppare e ottimizzare oggi
Web 2.0 sviluppare e ottimizzare oggi
alessandro cinelli (cirpo)
Chi sono
• sviluppatore Php, Javascript e Java
• membro Lugbs, Grusp, symfony-it
• traduttore documentazione symfony, zend framework e ProGit
• sviluppatore progetto phpCollab
perche’ siamo qui?
• condividere
• barcamp
• webdebs
www.webdebs.org
http://groups.google.com/group/webdebs
http://www.linkedin.com/groups?gid=2801279&trk=myg_ugrp_ovr
incontri
• web 2.0 sviluppare e ottimizzare oggi
• svcs: git e svn a confronto
• symfony framework, un’introduzione
• . . .
sbadiglio
C’era una volta...
LEGO 1996
Apple 1997
Apple 2000
LEGO 2000
LEGO 2004
Apple 2004
LEGO 2010
Apple 2010
LEGO 1996
LEGO 2000
LEGO 2010
Apple 1997
Apple 2000
Apple 2004
Apple 2010
2004 - oggi2005
2004
2006
2007
Tim O’Reilly
http://oreilly.com/web2/archive/what-is-web-20.html
Tecnologie
flash
css3ajax flexphp
java
groovymysql
nosql
couchDb
MongoDbpython
RoRsymfony
jquery
silverlightcomet
microformat
json xml
Yui
svgHTML5
Rest
cloud
agile
canvas
gitsvn
wireframes
webservices
redis
mvc
xunitTDD
ormXHTML zend fmxsl
DOM
memcachedHadoop
websockets
erlangmapreduce
xslt
Ec2
cassandra
HTML 5
http://www.foxtrot.com/2010/03/03212010/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+Foxtrotcom+(FoxTrot.com)
HTML 5• canvas
• svg
• geo location
• Html5Storage
• web workers
• audio
• videohttp://diveintohtml5.org/
NoSql• Database documentali
• CouchDb
• MongoDb
• Key/Value
• MemcachedDb
• Redis
• Cassandra
YouTube
• Apache
• Python
• Mysql
• Lighthttpd(video)
http://video.google.com/videoplay?docid=-6304964351441328559
YouTube
while (true){ identify_and_fix_bottlenecks();drink();sleep();notice_new_bottleneck();}
YouTube
• 11,574 al secondo
• 694,444 al minuto
• 41,666,667 all’ora
• 1,000,000,000 al giorno
Pagine servite
YouTube• CDN• NetScaler(Citrix) Load Balancer• Lighttpd• mini cluster per video• Estension scritte in C• Html Cache• Python Object Cache• BigTable images• Mysql
• 8 miliardi di minuti passati complessivamente ogni giorno
• 2, 5 miliardi di foto caricate ogni settimana
• 300 milioni di utenti
FacebookLOAD BALANCER
WEBSERVER (PHP) SERVICES
DATABASE(lento, persistente) MEMCACHED(veloce, semplice)SERVICES(veloci, complessi)
• php
• java
• erlang
• python
• ruby
• http://developers.facebook.com/
• http://video.fosdem.org/2010/maintracks/facebook.xvid.avi
blog devs
• http://code.flickr.com/blog/
• http://developer.yahoo.com/
• http://developers.facebook.com/
strumenti di sviluppo
• svcs
• project management
• continuos integration system*
• wireframes/mockup
• ide/editor
• editor di immagini
• browser
ide
• vim
• eclipse/aptana
• netbeans
• dreamweaver
• textmate
ide/editor
monitor
• nagios
• mytop
debug lato server
• xdebug
• zend debugger
debug lato client
• firebug
• web developer
firebug
• framework
• librerie
• metodologie di sviluppo
ottimizzazione
• lato server
• lato client
We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil -Donald Knuth-
ottimizzazione lato server
• cache
• web server
• database
ottimizzazione
• yslow
• live httpheaders
ottimizzazione
• http://code.google.com/closure/compiler
• http://developer.yahoo.com/yui/compressor/
sickgirl.it
sickgirl.it
sickgirl.it
ungolperlavita.it
ungolperlavita.cirpo.org
ugplv.cirpo.org
domande ?
grazie a tutti :)
• twitter.com/cirpo
• http://delicious.com/cirpo
• http://it.linkedin.com/in/cinellialessandro