Beruflich Dokumente
Kultur Dokumente
Alatke za optimizaciju
https://developers.google.com/speed/pagespeed/download https://developers.google.com/web-toolkit/speedtracer/ http://yslow.org/ http://ajax.dynatrace.com/ajax/en/
Analiza optimizacije
http://www.yuiblog.com/blog/2006/11/28/performance-research-part-1/ https://developer.yahoo.com/performance/rules.html http://grails.org/plugin/ui-performance https://developers.google.com/speed/pagespeed/ https://developers.google.com/web-toolkit/speedtracer/speed-tracer-examples
Tips
- ukljuciti http kompresiju - css fajlove uvek ucitati pre javascript fajlova - kroz head tag ucitati javascript koji sadrzi document.write ili se oslanja na onlaod dogadjaj, ostali javscript ucitati dinamicki i postaviti init funkciju koja ce okinuti nakon ucitavanja ako je potreno - slikama uvek zadati dimenzije i treba izbegavati skaliranje - minify js, css, html - putanja do statickih fajlova mora da zavisi od broja verzije do statickih resursa ( js, css, image files) - poziv ka statickim resursima treba da bude upucen na drugi sub domen i pritom ne ukljicivati slanje cookie za sub domene. Obratiti paznju na putanju ka slikama u css i img tagovima(moguce resenje uvodjenjem promenjivih u css koriscnjemi lesscss) - velicina cookie ne sme da predje 2KB - uvek podesite tip enkondinga u http responsu
http://easyxdm.net/wp/
Preloading images
http://jquery-howto.blogspot.com/2009/02/preload-images-with-jquery.html http://chipsandtv.com/articles/jquery-image-preload http://ditio.net/2010/02/14/jquery-preload-images-tutorial-and-example/
Global vs local
var i, str = ''; function globalScope() { for (i=0; i < 100; i++) { str += i; } } globalScope(); /////////////////////////////////////////////////////////////// function localScope() { var i, str = ''; for (i=0; i < 100; i++) { str += i; } } localScope();
for-in vs for
var sum = 0; for (var i in arr) { sum += arr[i]; } /////////////////////////////////////////////////////// var sum = 0; for (var i = 0, len = arr.length; i < len; i++) { sum += arr[i]; }
Array
arr.push(val); ////////////////////////////// arr[arr.length] = val;
Javascript patterns
http://addyosmani.com/resources/essentialjsdesignpatterns/book/#singletonpatternjavascript http://elegantcode.com/2011/01/26/basic-javascript-part-8-namespaces/
String concat
http://nerds-central.blogspot.com/2007/03/hight-speed-string-concatenation-in.html http://nerds-central.blogspot.com/2007/03/fstringcat-even-faster-string.html
Test primeri
http://jsperf.com/closurereferencespeed http://jsperf.com/intervalvsobject/2 http://jsperf.com/for-vs-each-vs-each/2 http://jsperf.com/for-vs-foreach/20 http://jsperf.com/array-vs-object-vectoraddition http://jsperf.com/evalvsjson-parse
Korisno
http://css3pie.com/ - PIE makes Internet Explorer 6-9 capable of rendering several of the most useful CSS3 decoration features. http://modernizr.com/ - Modernizr is an open-source JavaScript library that helps you build the next generation of HTML5 and CSS3-powered websites.