Priverskime tinklalapius krautis greičiau
<ul><li>Žmonėms patinka ;) </li></ul><ul><li>Amazon: -100ms — 1% daugiau pajamų </li></ul><ul><li>Mozilla: -2.2s — 15.4% d...
<ul><li>80-90% laiko — naršyklė krauna komponentus (CSS, JS, IMG) </li></ul>
<ul><li>siųsti mažiau </li></ul><ul><li>siųsti greičiau </li></ul><ul><li>pradėti siųsti anksčiau </li></ul>
<ul><li>Mažinkite HTTP užklausų skaičių </li></ul><ul><li>2-6 resursai vienu metu </li></ul><ul><li>2-4 domenai </li></ul>
 
<ul><li>Sujunkite CSS </li></ul><ul><li>Sujunkite JavaScript </li></ul><ul><li>CSS spraitai (sprites) </li></ul>Mažiau užk...
<ul><li>Sujunkite CSS  http://sass-lang.com /   </li></ul><ul><li>Sujunkite JavaScript </li></ul><ul><li>CSS spraitai (spr...
<ul><li>Sujunkite CSS </li></ul><ul><li>Sujunkite JavaScript </li></ul><ul><li>CSS spraitai (sprites) </li></ul>Mažiau užk...
<ul><li>Sujunkite CSS </li></ul><ul><li>Sujunkite JavaScript </li></ul><ul><li>CSS spraitai (sprites) </li></ul>Mažiau užk...
 
 
 
Data URI background-image: url(&quot;data:image/gif;base64,R0lGODlhAwADAIAAAP///8zMzCH5BAAAAAAALAAAAAADAAMAAAIEBHIJBQA7&qu...
<ul><li>CSS į HEAD </li></ul><ul><li><link>, ne @import </li></ul><ul><li>@media print {…} </li></ul><ul><li><script> prie...
<ul><li>CSS į HEAD </li></ul><ul><li><link>, ne @import </li></ul><ul><li>@media print {…} </li></ul><ul><li><script> prie...
var js = document.createElement('script');js.src = 'myscript.js';var head = document.getElementsByTagName('head')[0];head....
<ul><li>YUI Get http://developer.yahoo.com/yui/3/get/ </li></ul><ul><li>LAB.js http://labjs.com/ </li></ul><ul><li>Require...
Mažiau duomenų <ul><li>Javascript minimizavimas </li></ul><ul><li>gzip </li></ul>
Mažiau duomenų <ul><li>Javascript minimizavimas </li></ul><ul><li>gzip </li></ul>
Text (function(a,b){function ci(a){return d.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cf(a){i...
<ul><li>YUI Compressor http://developer.yahoo.com/yui/compressor/ </li></ul><ul><li>Google Closure Compiler http://code.go...
Mažiau duomenų <ul><li>Javascript minimizavimas </li></ul><ul><li>gzip </li></ul>
<ul><li>Last-modified, ETag </li></ul><ul><li>Expires, ExpiresDefault </li></ul><ul><li>Cache-control: max-age </li></ul>K...
 
HTTP/1.1 200 OK  Last-Modified: Tue, 1 Dec 2010 01:00:00 GMT  ETag: &quot;3eeb06e3108ad126c09b2c&quot;  Content-Length: 12...
 
Expires: Thu, 09 Apr 2011 14:00:00 GMT ExpiresDefault &quot;access plus 10 years&quot; Cache-Control: max-age=3600
 
<ul><li>Cookies </li></ul><ul><li>Statinis turinys iš atskirų serverių </li></ul>Ir dar…
HTML
<ul><li>Stenkitės naudoti kuo mažiau elementų </li></ul><ul><li>Naudokite HTML5 </li></ul>
<ul><li>Stenkitės naudoti kuo mažiau elementų </li></ul><ul><li>Naudokite HTML5 </li></ul>
XHTML <!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.1//EN&quot; &quot; http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd &quo...
XHTML <!DOCTYPE html  PUBLIC &quot;-//W3C//DTD XHTML 1.1//EN&quot; &quot; http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd &qu...
HTML5 <!DOCTYPE html><html><head>  <meta charset=&quot;UTF-8&quot;>  <title>Foo</title>  <link href=&quot;style.css&quot; ...
Grafiniai elementai
<ul><li>Pasirinkite tinkamą formatą (GIF beveik niekada netinkamas) </li></ul><ul><li>Nedarykite „optimizacijos“ HTML (arb...
<ul><li>Pasirinkite tinkamą formatą (GIF beveik niekada netinkamas) </li></ul><ul><li>Nedarykite „optimizacijos“ HTML (arb...
<ul><li>JPEG — nuotraukos, gradientai </li></ul><ul><li>PNG — visam kitam ;) </li></ul><ul><li>GIF — animacija, maži eleme...
JPEG FAIL
<ul><li>Pasirinkite tinkamą formatą (GIF beveik niekada netinkamas) </li></ul><ul><li>Nedarykite „optimizacijos“ HTML (arb...
 
 
 
<ul><li>Pasirinkite tinkamą formatą (GIF beveik niekada netinkamas) </li></ul><ul><li>Nedarykite „optimizacijos“ HTML (arb...
<ul><li>Pasirinkite tinkamą formatą (GIF beveik niekada netinkamas) </li></ul><ul><li>Nedarykite „optimizacijos“ HTML (arb...
<ul><li>Pasirinkite tinkamą formatą (GIF beveik niekada netinkamas) </li></ul><ul><li>Nedarykite „optimizacijos“ HTML (arb...
7448 baitai
 
1322 baitai
<ul><li>Pasirinkite tinkamą formatą (GIF beveik niekada netinkamas) </li></ul><ul><li>Nedarykite „optimizacijos“ HTML (arb...
<ul><li>Pasirinkite tinkamą formatą (GIF beveik niekada netinkamas) </li></ul><ul><li>Nedarykite „optimizacijos“ HTML (arb...
http://ubuwaits.github.com/css3-buttons/
CSS3 <ul><li>border-radius o/ </li></ul><ul><li>gradientai </li></ul><ul><li>RGBA </li></ul><ul><li>box-shadow </li></ul><...
JavaScript (jQuery)
<ul><li>Naudokite naujausias bibliotekų versijas </li></ul><ul><li>Kešuokite! </li></ul><ul><li>Ribokite DOM manipuliacijų...
<ul><li>Naudokite naujausias bibliotekų versijas </li></ul><ul><li>Kešuokite! </li></ul><ul><li>Ribokite DOM manipuliacijų...
<ul><li>Naudokite naujausias bibliotekų versijas </li></ul><ul><li>Kešuokite! </li></ul><ul><li>Ribokite DOM manipuliacijų...
$('#something').html('yeah!');$('#something').css('color', '#BADA55');$('#something').bind('click', function(){…}); $('#so...
var $something = $('#something');$something.html('yeah!');$something.css('color', '#BADA55');$something.bind('click', func...
$something.html('yeah!')  .css('color', '#BADA55')  .bind('click', function(){…});
<ul><li>Naudokite naujausias bibliotekų versijas </li></ul><ul><li>Kešuokite! </li></ul><ul><li>Ribokite DOM manipuliacijų...
<ul><li>Naudokite naujausias bibliotekų versijas </li></ul><ul><li>Kešuokite! </li></ul><ul><li>Ribokite DOM manipuliacijų...
for (var i=0; i<some_list.length; i++) {  $('<li/>').html(some_list[i]).appendTo($('#myul'));};
str = '';for (var i = 0, l = some_list.length; i < l; i++){ str += '<li>' + some_list[i] + '</li>';}$('#myul').html(str);
str = '<ul>';for (var i = 0, l = some_list.length; i < l; i++){ str += '<li>' + some_list[i] + '</li>';}$('#myul').replace...
<ul><li>Naudokite naujausias bibliotekų versijas </li></ul><ul><li>Kešuokite! </li></ul><ul><li>Ribokite DOM manipuliacijų...
$(&quot;table&quot;).delegate(&quot;td&quot;, &quot;hover&quot;, function(){ $(this).toggleClass(&quot;hover&quot;);}); });
Įrankiai
<ul><li>Firebug http://getfirebug.com/ </li></ul><ul><li>Yslow http://developer.yahoo.com/yslow/ </li></ul><ul><li>PageSpe...
<ul><li>Expires </li></ul><ul><li>gzip </li></ul><ul><li>Mažiau HTTP užklausų </li></ul>Svarbiausia:
Viskas.  Ačiū :)
Upcoming SlideShare
Loading in …5
×

Rimantas Liubertas

1,129 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,129
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Rimantas Liubertas

  1. 1. Priverskime tinklalapius krautis greičiau
  2. 2. <ul><li>Žmonėms patinka ;) </li></ul><ul><li>Amazon: -100ms — 1% daugiau pajamų </li></ul><ul><li>Mozilla: -2.2s — 15.4% daugiau parsisiuntimų </li></ul><ul><li>Yahoo: -400ms — 9% didesnis lankytojų srautas </li></ul><ul><li>Google patinka </li></ul>Kam to reikia?
  3. 3. <ul><li>80-90% laiko — naršyklė krauna komponentus (CSS, JS, IMG) </li></ul>
  4. 4. <ul><li>siųsti mažiau </li></ul><ul><li>siųsti greičiau </li></ul><ul><li>pradėti siųsti anksčiau </li></ul>
  5. 5. <ul><li>Mažinkite HTTP užklausų skaičių </li></ul><ul><li>2-6 resursai vienu metu </li></ul><ul><li>2-4 domenai </li></ul>
  6. 7. <ul><li>Sujunkite CSS </li></ul><ul><li>Sujunkite JavaScript </li></ul><ul><li>CSS spraitai (sprites) </li></ul>Mažiau užklausų
  7. 8. <ul><li>Sujunkite CSS http://sass-lang.com / </li></ul><ul><li>Sujunkite JavaScript </li></ul><ul><li>CSS spraitai (sprites) </li></ul>Mažiau užklausų
  8. 9. <ul><li>Sujunkite CSS </li></ul><ul><li>Sujunkite JavaScript </li></ul><ul><li>CSS spraitai (sprites) </li></ul>Mažiau užklausų
  9. 10. <ul><li>Sujunkite CSS </li></ul><ul><li>Sujunkite JavaScript </li></ul><ul><li>CSS spraitai (sprites) </li></ul>Mažiau užklausų
  10. 14. Data URI background-image: url(&quot;data:image/gif;base64,R0lGODlhAwADAIAAAP///8zMzCH5BAAAAAAALAAAAAADAAMAAAIEBHIJBQA7&quot;);
  11. 15. <ul><li>CSS į HEAD </li></ul><ul><li><link>, ne @import </li></ul><ul><li>@media print {…} </li></ul><ul><li><script> prieš </body> </li></ul><ul><li>Dinaminis Javascript krovimas </li></ul>Neblokuokite
  12. 16. <ul><li>CSS į HEAD </li></ul><ul><li><link>, ne @import </li></ul><ul><li>@media print {…} </li></ul><ul><li><script> prieš </body> </li></ul><ul><li>Dinaminis Javascript užkrovimas </li></ul>Neblokuokite
  13. 17. var js = document.createElement('script');js.src = 'myscript.js';var head = document.getElementsByTagName('head')[0];head.appendChild(js);
  14. 18. <ul><li>YUI Get http://developer.yahoo.com/yui/3/get/ </li></ul><ul><li>LAB.js http://labjs.com/ </li></ul><ul><li>RequireJS http://requirejs.org / </li></ul>
  15. 19. Mažiau duomenų <ul><li>Javascript minimizavimas </li></ul><ul><li>gzip </li></ul>
  16. 20. Mažiau duomenų <ul><li>Javascript minimizavimas </li></ul><ul><li>gzip </li></ul>
  17. 21. Text (function(a,b){function ci(a){return d.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cf(a){if(!b_[a]){var b=d(&quot;<&quot;+a+&quot;>&quot;).appendTo(&quot;body&quot;),c=b.css(&quot;display&quot;);b.remove();if(c===&quot;none&quot;||c===&quot;&quot;)c=&quot;block&quot;;b_[a]=c}return b_[a]}function ce(a,b){var c={};d.each(cd.concat.apply([],cd.slice(0,b)),function(){c[this]=a});return c}
  18. 22. <ul><li>YUI Compressor http://developer.yahoo.com/yui/compressor/ </li></ul><ul><li>Google Closure Compiler http://code.google.com/closure/compiler/ </li></ul><ul><li>UglifyJS https://github.com/mishoo/UglifyJS </li></ul>
  19. 23. Mažiau duomenų <ul><li>Javascript minimizavimas </li></ul><ul><li>gzip </li></ul>
  20. 24. <ul><li>Last-modified, ETag </li></ul><ul><li>Expires, ExpiresDefault </li></ul><ul><li>Cache-control: max-age </li></ul>Kešavimas
  21. 26. HTTP/1.1 200 OK Last-Modified: Tue, 1 Dec 2010 01:00:00 GMT ETag: &quot;3eeb06e3108ad126c09b2c&quot; Content-Length: 12345 GET /resource HTTP/1.1 Host: example.com If-Modified-Since: Tue, 1 Dec 2010 01:00:00 GMT If-None-Match: &quot;3eeb06e3108ad126c09b2c&quot; HTTP/1.1 304 Not Modified
  22. 28. Expires: Thu, 09 Apr 2011 14:00:00 GMT ExpiresDefault &quot;access plus 10 years&quot; Cache-Control: max-age=3600
  23. 30. <ul><li>Cookies </li></ul><ul><li>Statinis turinys iš atskirų serverių </li></ul>Ir dar…
  24. 31. HTML
  25. 32. <ul><li>Stenkitės naudoti kuo mažiau elementų </li></ul><ul><li>Naudokite HTML5 </li></ul>
  26. 33. <ul><li>Stenkitės naudoti kuo mažiau elementų </li></ul><ul><li>Naudokite HTML5 </li></ul>
  27. 34. XHTML <!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.1//EN&quot; &quot; http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd &quot;> <html xmlns=&quot; http://www.w3.org/1999/xhtml &quot; xml:lang=&quot;en&quot;> <head> <meta http-equiv=&quot; Content-Type&quot; content=&quot;text/html;charset=UTF-8&quot; /> <title>Foo</title> <link href=&quot;style.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; /></head> <body><p>Bar</p><script type=&quot;text/javascript&quot;> … </script></body></html>
  28. 35. XHTML <!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.1//EN&quot; &quot; http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd &quot; > <html xmlns=&quot; http://www.w3.org/1999/xhtml &quot; xml:lang=&quot;en&quot; > <head> <meta http-equiv=&quot; Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot; /> <title>Foo</title> <link href=&quot;style.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; /></head> <body><p>Bar</p><script type=&quot;text/javascript&quot; > … </script></body></html>
  29. 36. HTML5 <!DOCTYPE html><html><head> <meta charset=&quot;UTF-8&quot;> <title>Foo</title> <link href=&quot;style.css&quot; rel=&quot;stylesheet&quot;></head><body><p>Bar</p><script> …</script></body></html>
  30. 37. Grafiniai elementai
  31. 38. <ul><li>Pasirinkite tinkamą formatą (GIF beveik niekada netinkamas) </li></ul><ul><li>Nedarykite „optimizacijos“ HTML (arba CSS) </li></ul><ul><li>PNG </li></ul><ul><li>Venkite MS filtrų </li></ul><ul><li>Optimizuokite — JPEG kokybė, PNG spalvų skaičius </li></ul><ul><li>Optimizuokite (pngcrush, optpng, pngout, jpegtran, gifsicle) </li></ul><ul><li>Jokios grafikos — CSS3 </li></ul>
  32. 39. <ul><li>Pasirinkite tinkamą formatą (GIF beveik niekada netinkamas) </li></ul><ul><li>Nedarykite „optimizacijos“ HTML (arba CSS) </li></ul><ul><li>PNG </li></ul><ul><li>Venkite MS filtrų </li></ul><ul><li>Optimizuokite — JPEG kokybė, PNG spalvų skaičius </li></ul><ul><li>Optimizuokite (pngcrush, optpng, pngout, jpegtran, gifsicle) </li></ul><ul><li>Jokios grafikos — CSS3 </li></ul>
  33. 40. <ul><li>JPEG — nuotraukos, gradientai </li></ul><ul><li>PNG — visam kitam ;) </li></ul><ul><li>GIF — animacija, maži elementai </li></ul>
  34. 41. JPEG FAIL
  35. 42. <ul><li>Pasirinkite tinkamą formatą (GIF beveik niekada netinkamas) </li></ul><ul><li>Nedarykite „optimizacijos“ HTML (arba CSS) </li></ul><ul><li>PNG </li></ul><ul><li>Venkite MS filtrų </li></ul><ul><li>Optimizuokite — JPEG kokybė, PNG spalvų skaičius </li></ul><ul><li>Optimizuokite (pngcrush, optpng, pngout, jpegtran, gifsicle) </li></ul><ul><li>Jokios grafikos — CSS3 </li></ul>
  36. 46. <ul><li>Pasirinkite tinkamą formatą (GIF beveik niekada netinkamas) </li></ul><ul><li>Nedarykite „optimizacijos“ HTML (arba CSS) </li></ul><ul><li>PNG </li></ul><ul><li>Venkite MS filtrų </li></ul><ul><li>Optimizuokite — JPEG kokybė, PNG spalvų skaičius </li></ul><ul><li>Optimizuokite (pngcrush, optpng, pngout, jpegtran, gifsicle) </li></ul><ul><li>Jokios grafikos — CSS3 </li></ul>
  37. 47. <ul><li>Pasirinkite tinkamą formatą (GIF beveik niekada netinkamas) </li></ul><ul><li>Nedarykite „optimizacijos“ HTML (arba CSS) </li></ul><ul><li>PNG </li></ul><ul><li>Venkite MS filtrų </li></ul><ul><li>Optimizuokite — JPEG kokybė, PNG spalvų skaičius </li></ul><ul><li>Optimizuokite (pngcrush, optpng, pngout, jpegtran, gifsicle) </li></ul><ul><li>Jokios grafikos — CSS3 </li></ul>
  38. 48. <ul><li>Pasirinkite tinkamą formatą (GIF beveik niekada netinkamas) </li></ul><ul><li>Nedarykite „optimizacijos“ HTML (arba CSS) </li></ul><ul><li>PNG </li></ul><ul><li>Venkite MS filtrų </li></ul><ul><li>Optimizuokite — JPEG kokybė, PNG spalvų skaičius </li></ul><ul><li>Optimizuokite (pngcrush, optpng, pngout, jpegtran, gifsicle) </li></ul><ul><li>Jokios grafikos — CSS3 </li></ul>
  39. 49. 7448 baitai
  40. 51. 1322 baitai
  41. 52. <ul><li>Pasirinkite tinkamą formatą (GIF beveik niekada netinkamas) </li></ul><ul><li>Nedarykite „optimizacijos“ HTML (arba CSS) </li></ul><ul><li>PNG </li></ul><ul><li>Venkite MS filtrų </li></ul><ul><li>Optimizuokite — JPEG kokybė, PNG spalvų skaičius </li></ul><ul><li>Optimizuokite (pngcrush, optpng, pngout, jpegtran, gifsicle) </li></ul><ul><li>Jokios grafikos — CSS3 </li></ul>
  42. 53. <ul><li>Pasirinkite tinkamą formatą (GIF beveik niekada netinkamas) </li></ul><ul><li>Nedarykite „optimizacijos“ HTML (arba CSS) </li></ul><ul><li>PNG </li></ul><ul><li>Venkite MS filtrų </li></ul><ul><li>Optimizuokite — JPEG kokybė, PNG spalvų skaičius </li></ul><ul><li>Optimizuokite (pngcrush, optpng, pngout, jpegtran, gifsicle) </li></ul><ul><li>Jokios grafikos — CSS3 </li></ul>
  43. 54. http://ubuwaits.github.com/css3-buttons/
  44. 55. CSS3 <ul><li>border-radius o/ </li></ul><ul><li>gradientai </li></ul><ul><li>RGBA </li></ul><ul><li>box-shadow </li></ul><ul><li>text-shadow </li></ul><ul><li>border-image </li></ul><ul><li>transformacijos, animacija </li></ul><ul><li>-moz-, -webkit-, -o-, -ms- </li></ul>
  45. 56. JavaScript (jQuery)
  46. 57. <ul><li>Naudokite naujausias bibliotekų versijas </li></ul><ul><li>Kešuokite! </li></ul><ul><li>Ribokite DOM manipuliacijų skaičių. </li></ul><ul><li>Venkite DOM operacijų cikle </li></ul><ul><li>.delegate() </li></ul>
  47. 58. <ul><li>Naudokite naujausias bibliotekų versijas </li></ul><ul><li>Kešuokite! </li></ul><ul><li>Ribokite DOM manipuliacijų skaičių. </li></ul><ul><li>Venkite DOM operacijų cikle </li></ul><ul><li>.delegate() </li></ul>
  48. 59. <ul><li>Naudokite naujausias bibliotekų versijas </li></ul><ul><li>Kešuokite! </li></ul><ul><li>Ribokite DOM manipuliacijų skaičių. </li></ul><ul><li>Venkite DOM operacijų cikle </li></ul><ul><li>.delegate() </li></ul>
  49. 60. $('#something').html('yeah!');$('#something').css('color', '#BADA55');$('#something').bind('click', function(){…}); $('#something').html('yeah!');$('#something').css('color', '#BADA55');$('#something').bind('click', function(){…});
  50. 61. var $something = $('#something');$something.html('yeah!');$something.css('color', '#BADA55');$something.bind('click', function(){…});
  51. 62. $something.html('yeah!') .css('color', '#BADA55') .bind('click', function(){…});
  52. 63. <ul><li>Naudokite naujausias bibliotekų versijas </li></ul><ul><li>Kešuokite! </li></ul><ul><li>Ribokite DOM manipuliacijų skaičių. </li></ul><ul><li>Venkite DOM operacijų cikle </li></ul><ul><li>.delegate() </li></ul>
  53. 64. <ul><li>Naudokite naujausias bibliotekų versijas </li></ul><ul><li>Kešuokite! </li></ul><ul><li>Ribokite DOM manipuliacijų skaičių. </li></ul><ul><li>Venkite DOM operacijų cikle </li></ul><ul><li>.delegate() </li></ul>
  54. 65. for (var i=0; i<some_list.length; i++) { $('<li/>').html(some_list[i]).appendTo($('#myul'));};
  55. 66. str = '';for (var i = 0, l = some_list.length; i < l; i++){ str += '<li>' + some_list[i] + '</li>';}$('#myul').html(str);
  56. 67. str = '<ul>';for (var i = 0, l = some_list.length; i < l; i++){ str += '<li>' + some_list[i] + '</li>';}$('#myul').replaceWith(str + '</ul>');
  57. 68. <ul><li>Naudokite naujausias bibliotekų versijas </li></ul><ul><li>Kešuokite! </li></ul><ul><li>Ribokite DOM manipuliacijų skaičių. </li></ul><ul><li>Venkite DOM operacijų cikle </li></ul><ul><li>.delegate() </li></ul>
  58. 69. $(&quot;table&quot;).delegate(&quot;td&quot;, &quot;hover&quot;, function(){ $(this).toggleClass(&quot;hover&quot;);}); });
  59. 70. Įrankiai
  60. 71. <ul><li>Firebug http://getfirebug.com/ </li></ul><ul><li>Yslow http://developer.yahoo.com/yslow/ </li></ul><ul><li>PageSpeed http://code.google.com/speed/page-speed/ </li></ul><ul><li>Webkit Inspector </li></ul><ul><li>dynaTrace http://ajax.dynatrace.com / </li></ul>
  61. 72. <ul><li>Expires </li></ul><ul><li>gzip </li></ul><ul><li>Mažiau HTTP užklausų </li></ul>Svarbiausia:
  62. 73. Viskas. Ačiū :)

×