SlideShare a Scribd company logo
Czas (wczytywania) to
(czasem) pieniądz
Tomasz Dziuda
WordUp Warszawa @ 6.III.2015
Dlaczego?
• Google coraz bardziej będzie promować strony
przyjazne urządzeniom mobilnym 



Źródło: http://www.engadget.com/2015/02/27/google-page-rank-mobile/
• Google eksperymentuje z oznaczaniem wolno
działających stron WWW w wynikach wyszukiwania



Źródło: http://www.webperformancetoday.com/2015/02/25/google-new-slow-label-web-
performance/
• Google coraz bardziej będzie promować strony
przyjazne urządzeniom mobilnym 



Źródło: http://www.engadget.com/2015/02/27/google-page-rank-mobile/
• Google eksperymentuje z oznaczaniem wolno
działających stron WWW w wynikach wyszukiwania



Źródło: http://www.webperformancetoday.com/2015/02/25/google-new-slow-label-web-
performance/
Nikt nie lubi czekać
Źródła: http://www.getelastic.com/how-page-load-speed-affects-conversion-infographic/

http://www.shoutmeloud.com/improve-website-loading-speed-seo-usability.html
• Liczba pobrań Firefoksa wzrosła o 15.4% po
zmniejszeniu średniego czasu ładowania strony o
2.2 sekundy
• Walmart odnotował wzrost konwersji o 2% na każdą
1 sekundę krótszego czasu ładowania strony
• 47% konsumentów oczekuje załadowania się
strony 2 sekundy lub szybciej
Nikt nie lubi czekać
Źródła: http://www.getelastic.com/how-page-load-speed-affects-conversion-infographic/

http://www.shoutmeloud.com/improve-website-loading-speed-seo-usability.html
• Liczba pobrań Firefoksa wzrosła o 15.4% po
zmniejszeniu średniego czasu ładowania strony o
2.2 sekundy
• Walmart odnotował wzrost konwersji o 2% na każdą
1 sekundę krótszego czasu ładowania strony
• 47% konsumentów oczekuje załadowania się
strony 2 sekundy lub szybciej
Nikt nie lubi czekać
Źródła: http://www.getelastic.com/how-page-load-speed-affects-conversion-infographic/

http://www.shoutmeloud.com/improve-website-loading-speed-seo-usability.html
• Liczba pobrań Firefoksa wzrosła o 15.4% po
zmniejszeniu średniego czasu ładowania strony o
2.2 sekundy
• Walmart odnotował wzrost konwersji o 2% na każdą
1 sekundę krótszego czasu ładowania strony
• 47% konsumentów oczekuje załadowania się
strony w 2 sekundy lub szybciej
Jak zbadać szybkość strony?
Źródło: https://developers.google.com/speed/pagespeed/insights/
Źródło: http://yslow.org/
Źródło: http://tools.pingdom.com/
Chrome DevTools
Co wpływa na szybkość strony?
1
1) Szybkość WordPressa
1 2
2) Ilość zapytań do serwera
1) Szybkość WordPressa
1 2
3
2) Ilość zapytań do serwera
3) Rozmiar strony
1) Szybkość WordPressa
1 2
3
4) Szybkość odpowiedzi serwera
4
2) Ilość zapytań do serwera
3) Rozmiar strony
1) Szybkość WordPressa
1 2
3
5
4) Szybkość odpowiedzi serwera
4
2) Ilość zapytań do serwera
3) Rozmiar strony
1) Szybkość WordPressa
5) Sposób renderowania strony
1 2
3
5
4) Szybkość odpowiedzi serwera
4
2) Ilość zapytań do serwera
3) Rozmiar strony
1) Szybkość WordPressa
5) Sposób renderowania strony
6
6) Wydajność strony po załadowaniu
Wersja dla geeków ;-)
https://github.com/alex/what-happens-when
Szybkość WordPressa
• Opcja dla leniwych: dokupienie wiaderka RAM-u i
słoika procesorów ;-)
• Przegląd wtyczek: usunięcie nieużywanych
• Przegląd wtyczek: zastąpienie złożonych wtyczek
prostszymi adekwatnie do wykorzystywanych
możliwości
• Zainstalowanie wtyczki od cache

Opis WP Super Cache: http://wpzen.pl/przyspieszanie-strony-za-pomoca-wtyczki-wp-super-cache/

Opis W3 Total Cache: http://wpzen.pl/wp-content/uploads/2013/09/w3-total-cache-wordcamp-
wroclaw-2013.pdf
• W skrajnych wypadkach: profilowanie kodu

Prezentacja o profilowaniu kodu: https://prezi.com/wlegamdbtc8g/nie-daj-sie-zwolnic/
• Opcja dla leniwych: dokupienie wiaderka RAM-u i
słoika procesorów ;-)
• Przegląd wtyczek: usunięcie nieużywanych
• Przegląd wtyczek: zastąpienie złożonych wtyczek
prostszymi adekwatnie do wykorzystywanych
możliwości
• Zainstalowanie wtyczki od cache

Opis WP Super Cache: http://wpzen.pl/przyspieszanie-strony-za-pomoca-wtyczki-wp-super-cache/

Opis W3 Total Cache: http://wpzen.pl/wp-content/uploads/2013/09/w3-total-cache-wordcamp-
wroclaw-2013.pdf
• W skrajnych wypadkach: profilowanie kodu

Prezentacja o profilowaniu kodu: https://prezi.com/wlegamdbtc8g/nie-daj-sie-zwolnic/
• Opcja dla leniwych: dokupienie wiaderka RAM-u i
słoika procesorów ;-)
• Przegląd wtyczek: usunięcie nieużywanych
• Przegląd wtyczek: zastąpienie złożonych wtyczek
prostszymi adekwatnie do wykorzystywanych
możliwości
• Zainstalowanie wtyczki od cache

Opis WP Super Cache: http://wpzen.pl/przyspieszanie-strony-za-pomoca-wtyczki-wp-super-cache/

Opis W3 Total Cache: http://wpzen.pl/wp-content/uploads/2013/09/w3-total-cache-wordcamp-
wroclaw-2013.pdf
• W skrajnych wypadkach: profilowanie kodu

Prezentacja o profilowaniu kodu: https://prezi.com/wlegamdbtc8g/nie-daj-sie-zwolnic/
• Opcja dla leniwych: dokupienie wiaderka RAM-u i
słoika procesorów ;-)
• Przegląd wtyczek: usunięcie nieużywanych
• Przegląd wtyczek: zastąpienie złożonych wtyczek
prostszymi adekwatnie do wykorzystywanych
możliwości
• Zainstalowanie wtyczki od cache

Opis WP Super Cache: http://wpzen.pl/przyspieszanie-strony-za-pomoca-wtyczki-wp-super-cache/

Opis W3 Total Cache: http://wpzen.pl/wp-content/uploads/2013/09/w3-total-cache-wordcamp-
wroclaw-2013.pdf
• W skrajnych wypadkach: profilowanie kodu

Prezentacja o profilowaniu kodu: https://prezi.com/wlegamdbtc8g/nie-daj-sie-zwolnic/
• Opcja dla leniwych: dokupienie wiaderka RAM-u i
słoika procesorów ;-)
• Przegląd wtyczek: usunięcie nieużywanych
• Przegląd wtyczek: zastąpienie złożonych wtyczek
prostszymi adekwatnie do wykorzystywanych
możliwości
• Zainstalowanie wtyczki od cache

Opis WP Super Cache: http://wpzen.pl/przyspieszanie-strony-za-pomoca-wtyczki-wp-super-cache/

Opis W3 Total Cache: http://wpzen.pl/wp-content/uploads/2013/09/w3-total-cache-wordcamp-
wroclaw-2013.pdf
• W skrajnych wypadkach: profilowanie kodu

Prezentacja o profilowaniu kodu: https://prezi.com/wlegamdbtc8g/nie-daj-sie-zwolnic/
Ilość zapytań do serwera 

i rozmiar strony
Struktura typowej strony
Źródło: http://httparchive.org/interesting.php
Rozmiar grafik
Dobór odpowiedniego formatu
• JPG - większość zdjęć
• PNG24 lub PNG8 - przezroczystość
• GIF - animacje
• SVG - niezależność od rozdzielczości
Dobór odpowiedniego formatu
• JPG - większość zdjęć
• PNG24 lub PNG8 - przezroczystość
• GIF - animacje
• SVG - niezależność od rozdzielczości
Dobór odpowiedniego formatu
• JPG - większość zdjęć
• PNG24 lub PNG8 - przezroczystość
• GIF - animacje
• SVG - niezależność od rozdzielczości
Dobór odpowiedniego formatu
• JPG - większość zdjęć
• PNG24 lub PNG8 - przezroczystość
• GIF - animacje
• SVG - niezależność od rozdzielczości
Odpowiednie wymiary
• Warto sprawdzić czy wymiary grafik są adekwatne
do obszaru który zajmują
• W wypadku formatów takich jak PNG, JPG czy GIF
wymiary znacząco wpływają na rozmiar pliku
Optymalizacja grafik
• tinypng.com
• tinyjpg.com
• Wtyczka WP smush.it

https://wordpress.org/plugins/wp-smushit/
• kompresja plików SVG - minifikacja kodu,
zmniejszenie dokładności krzywych
Optymalizacja grafik
• tinypng.com
• tinyjpg.com
• Wtyczka WP smush.it

https://wordpress.org/plugins/wp-smushit/
• kompresja plików SVG - minifikacja kodu,
zmniejszenie dokładności krzywych
Optymalizacja grafik
• tinypng.com
• tinyjpg.com
• Wtyczka WP smush.it

https://wordpress.org/plugins/wp-smushit/
• kompresja plików SVG - minifikacja kodu,
zmniejszenie dokładności krzywych
Optymalizacja grafik
• tinypng.com
• tinyjpg.com
• Wtyczka WP smush.it

https://wordpress.org/plugins/wp-smushit/
• kompresja plików SVG - minifikacja kodu,
zmniejszenie dokładności krzywych
CSS Sprites
• Umieszczamy obrazki w jednym pliku i modyfikując
background-position wyświetlamy odpowiedni fragment
dużej grafiki
• Redukują ilość zapytań do serwera
• Można zrobić to samo z SVG: https://css-tricks.com/svg-
sprites-use-better-icon-fonts/
CSS Sprites
• Umieszczamy obrazki w jednym pliku i modyfikując
background-position wyświetlamy odpowiedni fragment
dużej grafiki
• Redukują ilość zapytań do serwera
• Można zrobić to samo z SVG: https://css-tricks.com/svg-
sprites-use-better-icon-fonts/
CSS Sprites
• Umieszczamy obrazki w jednym pliku i modyfikując
background-position wyświetlamy odpowiedni fragment
dużej grafiki
• Redukują ilość zapytań do serwera
• Można zrobić to samo z SVG: https://css-tricks.com/svg-
sprites-use-better-icon-fonts/
Zorro SVG
Źródło: http://quasimondo.com/ZorroSVG/
• Pozwala uzyskać przezroczyste
grafiki zbliżone rozmiarem do
plików JPG
• Wymaga do działania wsparcia
dla SVG (IE9+, 93% pokrycia
rynku przeglądarek)
Zorro SVG
Źródło: http://quasimondo.com/ZorroSVG/
• Pozwala uzyskać przezroczyste
grafiki zbliżone rozmiarem do
plików JPG
• Wymaga do działania wsparcia
dla SVG (IE9+, 93% pokrycia
rynku przeglądarek)
Rozmiar HTML/CSS/JS
• Minifikacja - wtyczka Better WordPress Minify i WP
HTML Compression

https://wordpress.org/plugins/bwp-minify/

https://wordpress.org/plugins/wp-html-compression/

• Unikanie zbyt wielu wtyczek (większość ma swoje
pliki CSS i JavaScript)
Rozmiar HTML/CSS/JS
• Minifikacja - wtyczka Better WordPress Minify i WP
HTML Compression

https://wordpress.org/plugins/bwp-minify/

https://wordpress.org/plugins/wp-html-compression/

• Unikanie zbyt wielu wtyczek (większość ma swoje
pliki CSS i JavaScript)
Rozmiar fontów
• Optymalizacja poprzez wspierane zestawy znaków
(parametr subset)



https://fonts.googleapis.com/css?family=Lobster&subset=latin,latin-ext
• Optymalizacja poprzez ograniczenie się do
wybranych znaków (parametr text)



https://fonts.googleapis.com/css?
family=Lobster&text=JAVASCRIPT
Rozmiar fontów
• Optymalizacja poprzez wspierane zestawy znaków
(parametr subset)



https://fonts.googleapis.com/css?family=Lobster&subset=latin,latin-ext
• Optymalizacja poprzez ograniczenie się do
wybranych znaków (parametr text)



https://fonts.googleapis.com/css?family=Lobster&text=JAVASCRIPT
Szybkość odpowiedzi serwera
GZIP
SetOutputFilter DEFLATE
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
Źródło: http://code.garyjones.co.uk/htaccess-tweaks-improve-site-speed
Cache przeglądarki# Patched on: %2013-%05-%02 %07:%May:%51
# Auto-patched by jbetolo
<FilesMatch ".(gif|jpg|jpeg|png|swf|pdf|css|js|html|ico?|xml|txt)$">
FileETag none
</FilesMatch>
<IfModule mod_expires.c>
ExpiresActive on
# Perhaps better to whitelist expires rules? Perhaps.
ExpiresDefault "access plus 1 month"
# cache.appcache needs re-requests in FF 3.6 (thx Remy ~Introducing HTML5)
ExpiresByType text/cache-manifest "access plus 0 seconds"
# Your document html
ExpiresByType text/html "access plus 0 seconds"
# Data
ExpiresByType text/xml "access plus 0 seconds"
ExpiresByType application/xml "access plus 0 seconds"
ExpiresByType application/json "access plus 0 seconds"
# RSS feed
ExpiresByType application/rss+xml "access plus 1 hour"
# Favicon (cannot be renamed)
ExpiresByType image/x-icon "access plus 1 week"
# Media: images, video, audio
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType video/ogg "access plus 1 month"
ExpiresByType audio/ogg "access plus 1 month"
ExpiresByType video/mp4 "access plus 1 month"
ExpiresByType video/webm "access plus 1 month"
# HTC files (css3pie)
ExpiresByType text/x-component "access plus 1 month"
# Webfonts
ExpiresByType font/truetype "access plus 1 month"
ExpiresByType font/opentype "access plus 1 month"
ExpiresByType application/x-font-woff "access plus 1 month"
ExpiresByType image/svg+xml "access plus 1 month"
ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
# CSS and JavaScript
ExpiresByType text/css "access plus 1 year"
ExpiresByType application/javascript "access plus 1 year"
ExpiresByType text/javascript "access plus 1 year"
<IfModule mod_headers.c>
Header append Cache-Control "public"
</IfModule>
</IfModule>
CDN?
• Opłaca się gdy mamy odwiedziny z różnych
rejonów świata
• Należy pamiętać, że kod na serwerze CDN może w
wyniku ataku zostać podmieniony - dlatego lepiej
korzystać z rozwiązań dużych graczy
• Popularne usługi CDN: Amazon Cloudfront,
MaxCDN, Cloudflare
CDN?
• Opłaca się gdy mamy odwiedziny z różnych
rejonów świata
• Należy pamiętać, że kod na serwerze CDN może w
wyniku ataku zostać podmieniony - dlatego lepiej
korzystać z rozwiązań dużych graczy
• Popularne usługi CDN: Amazon Cloudfront,
MaxCDN, Cloudflare
CDN?
• Opłaca się gdy mamy odwiedziny z różnych
rejonów świata
• Należy pamiętać, że kod na serwerze CDN może w
wyniku ataku zostać podmieniony - dlatego lepiej
korzystać z rozwiązań dużych graczy
• Popularne usługi CDN: Amazon Cloudfront,
MaxCDN, Cloudflare
HSTS
• Zmniejsza ilość zapytań DNS

https://www.chromium.org/hsts
• Wymaga pełnego wsparcia SSL na stronie
• Nasza domena może działać tylko po HTTPS po
dodaniu domeny na: https://hstspreload.appspot.com/
• Zwiększa bezpieczeństwo chroniąc np. przed
atakami typu MiTM

http://sekurak.pl/hsts-czyli-http-strict-transport-security/
HSTS
• Zmniejsza ilość zapytań DNS

https://www.chromium.org/hsts
• Wymaga pełnego wsparcia SSL na stronie
• Nasza domena może działać tylko po HTTPS po
dodaniu domeny na: https://hstspreload.appspot.com/
• Zwiększa bezpieczeństwo chroniąc np. przed
atakami typu MiTM

http://sekurak.pl/hsts-czyli-http-strict-transport-security/
HSTS
• Zmniejsza ilość zapytań DNS

https://www.chromium.org/hsts
• Wymaga pełnego wsparcia SSL na stronie
• Nasza domena może działać tylko po HTTPS po
dodaniu domeny na: https://hstspreload.appspot.com/
• Zwiększa bezpieczeństwo chroniąc np. przed
atakami typu MiTM

http://sekurak.pl/hsts-czyli-http-strict-transport-security/
HSTS
• Zmniejsza ilość zapytań DNS

https://www.chromium.org/hsts
• Wymaga pełnego wsparcia SSL na stronie
• Nasza domena może działać tylko po HTTPS po
dodaniu domeny na: https://hstspreload.appspot.com/
• Zwiększa bezpieczeństwo chroniąc np. przed
atakami typu MiTM

http://sekurak.pl/hsts-czyli-http-strict-transport-security/
HSTS
• Zmniejsza ilość zapytań DNS

https://www.chromium.org/hsts
• Wymaga pełnego wsparcia SSL na stronie
• Nasza domena może działać tylko po HTTPS po
dodaniu domeny na: https://hstspreload.appspot.com/
• Zwiększa bezpieczeństwo chroniąc np. przed
atakami typu MiTM

http://sekurak.pl/hsts-czyli-http-strict-transport-security/
Header set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
Sposób renderowania strony
Sposób renderowania strony
• Skrypty powinny być ładowane zawsze na końcu
• Natychmiastowe wyświetlanie fragmentu strony
widocznego na ekranie - unikamy FOUC
• Do kompresji kodu CSS w sekcji <head> można
użyć np. http://refresh-sf.com/
Sposób renderowania strony
• Skrypty powinny być ładowane zawsze na końcu
• Natychmiastowe wyświetlanie fragmentu strony
widocznego na ekranie - unikamy FOUC
• Do kompresji kodu CSS w sekcji <head> można
użyć np. http://refresh-sf.com/
Sposób renderowania strony
• Skrypty powinny być ładowane zawsze na końcu
• Natychmiastowe wyświetlanie fragmentu strony
widocznego na ekranie - unikamy FOUC
• Do kompresji kodu CSS w sekcji <head> można
użyć np. http://refresh-sf.com/
<script>
var cb = function() {
     var l0 = '<link rel="stylesheet" href=“style1.css”>’;
     var l1 = '<link rel="stylesheet" href=“style2.css">';    
     var l2 = '<link rel="stylesheet" href=“style3.css">';
    
     var h = document.getElementsByTagName('head')[0];
     h.innerHTML += l0 + l1 + l2;
};
var raf = requestAnimationFrame || mozRequestAnimationFrame ||
  webkitRequestAnimationFrame || msRequestAnimationFrame;
if (raf) raf(cb);
else window.addEventListener('load', cb);
</script>
add_filter('style_loader_src', 'td_style_loader_src', 10, 2);
function td_style_loader_src($src, $handle) {
     if(!is_admin() && stripos($src, ‘XXXXXX’) === FALSE) {
          return false;
     } else {
          return $src;
     }
}
add_filter('script_loader_src', 'td_script_loader_src', 10, 2);
function td_script_loader_src($src, $handle) {
     if(!is_admin() && stripos($src, ‘XXXXXX’) === FALSE) {
          return false;
     } else {
          return $src;
     }
}
Wydajność strony po
załadowaniu
Wydajność JS i CSS
• Na starszych urządzeniach samo parsowanie jQuery
może zająć kilkaset milisekund

http://timkadlec.com/2014/09/js-parse-and-execution-time/

• Zoptymalizowane selektory CSS też mogą pomóc

http://benfrain.com/css-performance-revisited-selectors-bloat-expensive-styles/

• Warto rozważyć usunięcie nieużywanego kodu JS i CSS
Wydajność JS i CSS
• Na starszych urządzeniach samo parsowanie jQuery
może zająć kilkaset milisekund

http://timkadlec.com/2014/09/js-parse-and-execution-time/

• Zoptymalizowane selektory CSS też mogą pomóc

http://benfrain.com/css-performance-revisited-selectors-bloat-expensive-styles/

Warto rozważyć usunięcie nieużywanego kodu JS i CSS
Wydajność JS i CSS
• Na starszych urządzeniach samo parsowanie jQuery
może zająć kilkaset milisekund

http://timkadlec.com/2014/09/js-parse-and-execution-time/

• Zoptymalizowane selektory CSS też mogą pomóc

http://benfrain.com/css-performance-revisited-selectors-bloat-expensive-styles/

• Warto rozważyć usunięcie nieużywanego kodu JS i CSS
Wydajność JS i CSS
• Wydajność właściwości CSS: http://csstriggers.com/
• FLIP dla animacji: http://aerotwist.com/blog/flip-your-
animations/
Wydajność JS i CSS
• Wydajność właściwości CSS: http://csstriggers.com/
• FLIP dla animacji: http://aerotwist.com/blog/flip-your-
animations/
Optymalizacja struktury DOM
Źródło: http://httparchive.org/interesting.php
Lektura
• http://timkadlec.com/2014/09/js-parse-and-
execution-time/
• http://jankfree.org/
• http://calendar.perfplanet.com/2013/the-runtime-
performance-checklist/
• https://developers.google.com/web/fundamentals/
performance/critical-rendering-path/
Pytania?
Tomasz Dziuda
Lead Developer @
@dziudek
http://dziudek.pl
dziudek@gavick.com

More Related Content

What's hot

Jak tworzyć motywy przyjazne użytkownikom i programistom - WordUp Silesia
Jak tworzyć motywy przyjazne użytkownikom i programistom - WordUp SilesiaJak tworzyć motywy przyjazne użytkownikom i programistom - WordUp Silesia
Jak tworzyć motywy przyjazne użytkownikom i programistom - WordUp Silesia
Tomasz Dziuda
 
Statycznie czy dynamicznie - infoMEET Wrocław
Statycznie czy dynamicznie - infoMEET WrocławStatycznie czy dynamicznie - infoMEET Wrocław
Statycznie czy dynamicznie - infoMEET Wrocław
Tomasz Dziuda
 
Statycznie czy dynamicznie?
Statycznie czy dynamicznie?Statycznie czy dynamicznie?
Statycznie czy dynamicznie?
Tomasz Dziuda
 
Jak Twoja strona może wygenerować niespodziewane koszta
Jak Twoja strona może wygenerować niespodziewane kosztaJak Twoja strona może wygenerować niespodziewane koszta
Jak Twoja strona może wygenerować niespodziewane koszta
Tomasz Dziuda
 
Motywy dla WordPressa - historia prawdziwa - WordUp Warszawa
Motywy dla WordPressa - historia prawdziwa - WordUp WarszawaMotywy dla WordPressa - historia prawdziwa - WordUp Warszawa
Motywy dla WordPressa - historia prawdziwa - WordUp Warszawa
Tomasz Dziuda
 
Wielomilonowy ruch na wordpressie wordpress wordcamp gdynia 2016
Wielomilonowy ruch na wordpressie   wordpress wordcamp gdynia 2016Wielomilonowy ruch na wordpressie   wordpress wordcamp gdynia 2016
Wielomilonowy ruch na wordpressie wordpress wordcamp gdynia 2016
Lukasz Wilczak
 
WP-API - teoria i praktyka - WordUp Łódź #4
WP-API - teoria i praktyka - WordUp Łódź #4WP-API - teoria i praktyka - WordUp Łódź #4
WP-API - teoria i praktyka - WordUp Łódź #4
Tomasz Dziuda
 
Motywy dla WordPressa - historia prawdziwa - WordUp Katowice
Motywy dla WordPressa - historia prawdziwa - WordUp KatowiceMotywy dla WordPressa - historia prawdziwa - WordUp Katowice
Motywy dla WordPressa - historia prawdziwa - WordUp Katowice
Tomasz Dziuda
 
Unikaj falstartów - o czym warto pamiętać przed uruchomieniem nowego bloga
Unikaj falstartów - o czym warto pamiętać przed uruchomieniem nowego blogaUnikaj falstartów - o czym warto pamiętać przed uruchomieniem nowego bloga
Unikaj falstartów - o czym warto pamiętać przed uruchomieniem nowego bloga
Bartosz Romanowski
 
Bezpieczna i szybka strona statyczna z funkcjonalnością Wordpressa. Czy to m...
Bezpieczna i szybka strona statyczna  z funkcjonalnością Wordpressa. Czy to m...Bezpieczna i szybka strona statyczna  z funkcjonalnością Wordpressa. Czy to m...
Bezpieczna i szybka strona statyczna z funkcjonalnością Wordpressa. Czy to m...
Lukasz Wilczak
 
WordUp Kraków - maj 2015
WordUp Kraków - maj 2015WordUp Kraków - maj 2015
WordUp Kraków - maj 2015Tomasz Dziuda
 
WordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistom
WordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistomWordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistom
WordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistom
Tomasz Dziuda
 
REST API - teoria i praktyka - WordUp Trójmiasto
REST API - teoria i praktyka - WordUp TrójmiastoREST API - teoria i praktyka - WordUp Trójmiasto
REST API - teoria i praktyka - WordUp Trójmiasto
Tomasz Dziuda
 
REST API - teoria i praktyka - WordUp Warszawa
REST API - teoria i praktyka - WordUp WarszawaREST API - teoria i praktyka - WordUp Warszawa
REST API - teoria i praktyka - WordUp Warszawa
Tomasz Dziuda
 
WordUp Trójmiasto - Sage 9 w praktyce
WordUp Trójmiasto - Sage 9 w praktyceWordUp Trójmiasto - Sage 9 w praktyce
WordUp Trójmiasto - Sage 9 w praktyce
Dawid Urbański
 
WordPress dla początkujących
WordPress dla początkującychWordPress dla początkujących
WordPress dla początkujących
Katarzyna Javaheri-Szpak
 
Wtyczkowe kompendium - WordUp Warszawa
Wtyczkowe kompendium - WordUp WarszawaWtyczkowe kompendium - WordUp Warszawa
Wtyczkowe kompendium - WordUp Warszawa
Tomasz Dziuda
 
Wtyczkowe Kompendium - WordUp Łódź #12
Wtyczkowe Kompendium - WordUp Łódź #12Wtyczkowe Kompendium - WordUp Łódź #12
Wtyczkowe Kompendium - WordUp Łódź #12
Tomasz Dziuda
 
SEO na WordPressie - czemu zielone swiatelko w Yoast nie zalatwia sprawy
SEO na WordPressie - czemu zielone swiatelko w Yoast nie zalatwia sprawySEO na WordPressie - czemu zielone swiatelko w Yoast nie zalatwia sprawy
SEO na WordPressie - czemu zielone swiatelko w Yoast nie zalatwia sprawy
Szymon Słowik
 
Optymalizacja Wordpress jedną wtyczką - SEMURAI on AIR #1
Optymalizacja Wordpress jedną wtyczką - SEMURAI on AIR #1Optymalizacja Wordpress jedną wtyczką - SEMURAI on AIR #1
Optymalizacja Wordpress jedną wtyczką - SEMURAI on AIR #1
Tomasz Stopka
 

What's hot (20)

Jak tworzyć motywy przyjazne użytkownikom i programistom - WordUp Silesia
Jak tworzyć motywy przyjazne użytkownikom i programistom - WordUp SilesiaJak tworzyć motywy przyjazne użytkownikom i programistom - WordUp Silesia
Jak tworzyć motywy przyjazne użytkownikom i programistom - WordUp Silesia
 
Statycznie czy dynamicznie - infoMEET Wrocław
Statycznie czy dynamicznie - infoMEET WrocławStatycznie czy dynamicznie - infoMEET Wrocław
Statycznie czy dynamicznie - infoMEET Wrocław
 
Statycznie czy dynamicznie?
Statycznie czy dynamicznie?Statycznie czy dynamicznie?
Statycznie czy dynamicznie?
 
Jak Twoja strona może wygenerować niespodziewane koszta
Jak Twoja strona może wygenerować niespodziewane kosztaJak Twoja strona może wygenerować niespodziewane koszta
Jak Twoja strona może wygenerować niespodziewane koszta
 
Motywy dla WordPressa - historia prawdziwa - WordUp Warszawa
Motywy dla WordPressa - historia prawdziwa - WordUp WarszawaMotywy dla WordPressa - historia prawdziwa - WordUp Warszawa
Motywy dla WordPressa - historia prawdziwa - WordUp Warszawa
 
Wielomilonowy ruch na wordpressie wordpress wordcamp gdynia 2016
Wielomilonowy ruch na wordpressie   wordpress wordcamp gdynia 2016Wielomilonowy ruch na wordpressie   wordpress wordcamp gdynia 2016
Wielomilonowy ruch na wordpressie wordpress wordcamp gdynia 2016
 
WP-API - teoria i praktyka - WordUp Łódź #4
WP-API - teoria i praktyka - WordUp Łódź #4WP-API - teoria i praktyka - WordUp Łódź #4
WP-API - teoria i praktyka - WordUp Łódź #4
 
Motywy dla WordPressa - historia prawdziwa - WordUp Katowice
Motywy dla WordPressa - historia prawdziwa - WordUp KatowiceMotywy dla WordPressa - historia prawdziwa - WordUp Katowice
Motywy dla WordPressa - historia prawdziwa - WordUp Katowice
 
Unikaj falstartów - o czym warto pamiętać przed uruchomieniem nowego bloga
Unikaj falstartów - o czym warto pamiętać przed uruchomieniem nowego blogaUnikaj falstartów - o czym warto pamiętać przed uruchomieniem nowego bloga
Unikaj falstartów - o czym warto pamiętać przed uruchomieniem nowego bloga
 
Bezpieczna i szybka strona statyczna z funkcjonalnością Wordpressa. Czy to m...
Bezpieczna i szybka strona statyczna  z funkcjonalnością Wordpressa. Czy to m...Bezpieczna i szybka strona statyczna  z funkcjonalnością Wordpressa. Czy to m...
Bezpieczna i szybka strona statyczna z funkcjonalnością Wordpressa. Czy to m...
 
WordUp Kraków - maj 2015
WordUp Kraków - maj 2015WordUp Kraków - maj 2015
WordUp Kraków - maj 2015
 
WordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistom
WordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistomWordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistom
WordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistom
 
REST API - teoria i praktyka - WordUp Trójmiasto
REST API - teoria i praktyka - WordUp TrójmiastoREST API - teoria i praktyka - WordUp Trójmiasto
REST API - teoria i praktyka - WordUp Trójmiasto
 
REST API - teoria i praktyka - WordUp Warszawa
REST API - teoria i praktyka - WordUp WarszawaREST API - teoria i praktyka - WordUp Warszawa
REST API - teoria i praktyka - WordUp Warszawa
 
WordUp Trójmiasto - Sage 9 w praktyce
WordUp Trójmiasto - Sage 9 w praktyceWordUp Trójmiasto - Sage 9 w praktyce
WordUp Trójmiasto - Sage 9 w praktyce
 
WordPress dla początkujących
WordPress dla początkującychWordPress dla początkujących
WordPress dla początkujących
 
Wtyczkowe kompendium - WordUp Warszawa
Wtyczkowe kompendium - WordUp WarszawaWtyczkowe kompendium - WordUp Warszawa
Wtyczkowe kompendium - WordUp Warszawa
 
Wtyczkowe Kompendium - WordUp Łódź #12
Wtyczkowe Kompendium - WordUp Łódź #12Wtyczkowe Kompendium - WordUp Łódź #12
Wtyczkowe Kompendium - WordUp Łódź #12
 
SEO na WordPressie - czemu zielone swiatelko w Yoast nie zalatwia sprawy
SEO na WordPressie - czemu zielone swiatelko w Yoast nie zalatwia sprawySEO na WordPressie - czemu zielone swiatelko w Yoast nie zalatwia sprawy
SEO na WordPressie - czemu zielone swiatelko w Yoast nie zalatwia sprawy
 
Optymalizacja Wordpress jedną wtyczką - SEMURAI on AIR #1
Optymalizacja Wordpress jedną wtyczką - SEMURAI on AIR #1Optymalizacja Wordpress jedną wtyczką - SEMURAI on AIR #1
Optymalizacja Wordpress jedną wtyczką - SEMURAI on AIR #1
 

Viewers also liked

WordCamp Praga 2015
WordCamp Praga 2015WordCamp Praga 2015
WordCamp Praga 2015
Tomasz Dziuda
 
Daj się wyręczyć
Daj się wyręczyćDaj się wyręczyć
Daj się wyręczyć
Tomasz Dziuda
 
Statycznie czy dynamicznie? v.2.0
Statycznie czy dynamicznie? v.2.0Statycznie czy dynamicznie? v.2.0
Statycznie czy dynamicznie? v.2.0
Tomasz Dziuda
 
Presentacion
PresentacionPresentacion
PresentacionG Garcia
 
Diari del 22 de juliol de 2015
Diari del 22 de juliol de 2015Diari del 22 de juliol de 2015
Diari del 22 de juliol de 2015
diarimes
 
Franquicias Hoy, número 168. Enero 2011
Franquicias Hoy, número 168. Enero 2011Franquicias Hoy, número 168. Enero 2011
Franquicias Hoy, número 168. Enero 2011
Franquicias Hoy
 
Imagebroschüre Kongressallianz
Imagebroschüre Kongressallianz Imagebroschüre Kongressallianz
Imagebroschüre Kongressallianz
Landeshauptstadt Wiesbaden
 
Aleksandra Łączek – Niezbędnik Admina
Aleksandra Łączek – Niezbędnik AdminaAleksandra Łączek – Niezbędnik Admina
Aleksandra Łączek – Niezbędnik Admina
Arkadiusz Stęplowski
 
Optymalizacja Magento pod Page Speed - Google
Optymalizacja Magento pod Page Speed - GoogleOptymalizacja Magento pod Page Speed - Google
Optymalizacja Magento pod Page Speed - Google
Aurora Creation
 
Webinar: 5 Tricks for WordPress web administrators
Webinar: 5 Tricks for WordPress web administratorsWebinar: 5 Tricks for WordPress web administrators
Webinar: 5 Tricks for WordPress web administrators
Tomasz Dziuda
 
Za darmo nie umarło - WordCamp Wrocław
Za darmo nie umarło - WordCamp WrocławZa darmo nie umarło - WordCamp Wrocław
Za darmo nie umarło - WordCamp Wrocław
Tomasz Dziuda
 
Wordpress - czyli ponad 17% wszystkich istniejących serwisów www
Wordpress - czyli ponad 17% wszystkich istniejących serwisów wwwWordpress - czyli ponad 17% wszystkich istniejących serwisów www
Wordpress - czyli ponad 17% wszystkich istniejących serwisów www
B-MIND Software House
 
JSztuczki
JSztuczkiJSztuczki
JSztuczki
Tomasz Dziuda
 
Najpopularniejsze wtyczki WooCommerce
Najpopularniejsze wtyczki WooCommerceNajpopularniejsze wtyczki WooCommerce
Najpopularniejsze wtyczki WooCommerce
Maciej Swoboda
 
Strategic Management Function of Grameenphone
Strategic Management Function of  GrameenphoneStrategic Management Function of  Grameenphone
Strategic Management Function of Grameenphone
Md Saddam Hosen
 
Controle estatístico de processo - CEP
Controle estatístico de processo - CEPControle estatístico de processo - CEP
Controle estatístico de processo - CEP
David Marcus Mápelli
 
Model-Driven Development of Semantic Mashup Applications with the Open-Source...
Model-Driven Development of Semantic Mashup Applications with the Open-Source...Model-Driven Development of Semantic Mashup Applications with the Open-Source...
Model-Driven Development of Semantic Mashup Applications with the Open-Source...
InfoGrid.org
 
Gdzie są umiejscowione polskie wordpressy
Gdzie są umiejscowione polskie wordpressyGdzie są umiejscowione polskie wordpressy
Gdzie są umiejscowione polskie wordpressy
Arkadiusz Stęplowski
 
LA UTOPÍA NO ESTÁ ADELANTE
LA UTOPÍA NO ESTÁ ADELANTELA UTOPÍA NO ESTÁ ADELANTE
LA UTOPÍA NO ESTÁ ADELANTE
JOSÉ ADRIANO FERNÁNDEZ RESTREPO
 
Messaging in 2010: New Ways to Talk with Donors about Your Good Cause
Messaging in 2010: New Ways to Talk with Donors about Your Good CauseMessaging in 2010: New Ways to Talk with Donors about Your Good Cause
Messaging in 2010: New Ways to Talk with Donors about Your Good Cause
Kivi Leroux Miller
 

Viewers also liked (20)

WordCamp Praga 2015
WordCamp Praga 2015WordCamp Praga 2015
WordCamp Praga 2015
 
Daj się wyręczyć
Daj się wyręczyćDaj się wyręczyć
Daj się wyręczyć
 
Statycznie czy dynamicznie? v.2.0
Statycznie czy dynamicznie? v.2.0Statycznie czy dynamicznie? v.2.0
Statycznie czy dynamicznie? v.2.0
 
Presentacion
PresentacionPresentacion
Presentacion
 
Diari del 22 de juliol de 2015
Diari del 22 de juliol de 2015Diari del 22 de juliol de 2015
Diari del 22 de juliol de 2015
 
Franquicias Hoy, número 168. Enero 2011
Franquicias Hoy, número 168. Enero 2011Franquicias Hoy, número 168. Enero 2011
Franquicias Hoy, número 168. Enero 2011
 
Imagebroschüre Kongressallianz
Imagebroschüre Kongressallianz Imagebroschüre Kongressallianz
Imagebroschüre Kongressallianz
 
Aleksandra Łączek – Niezbędnik Admina
Aleksandra Łączek – Niezbędnik AdminaAleksandra Łączek – Niezbędnik Admina
Aleksandra Łączek – Niezbędnik Admina
 
Optymalizacja Magento pod Page Speed - Google
Optymalizacja Magento pod Page Speed - GoogleOptymalizacja Magento pod Page Speed - Google
Optymalizacja Magento pod Page Speed - Google
 
Webinar: 5 Tricks for WordPress web administrators
Webinar: 5 Tricks for WordPress web administratorsWebinar: 5 Tricks for WordPress web administrators
Webinar: 5 Tricks for WordPress web administrators
 
Za darmo nie umarło - WordCamp Wrocław
Za darmo nie umarło - WordCamp WrocławZa darmo nie umarło - WordCamp Wrocław
Za darmo nie umarło - WordCamp Wrocław
 
Wordpress - czyli ponad 17% wszystkich istniejących serwisów www
Wordpress - czyli ponad 17% wszystkich istniejących serwisów wwwWordpress - czyli ponad 17% wszystkich istniejących serwisów www
Wordpress - czyli ponad 17% wszystkich istniejących serwisów www
 
JSztuczki
JSztuczkiJSztuczki
JSztuczki
 
Najpopularniejsze wtyczki WooCommerce
Najpopularniejsze wtyczki WooCommerceNajpopularniejsze wtyczki WooCommerce
Najpopularniejsze wtyczki WooCommerce
 
Strategic Management Function of Grameenphone
Strategic Management Function of  GrameenphoneStrategic Management Function of  Grameenphone
Strategic Management Function of Grameenphone
 
Controle estatístico de processo - CEP
Controle estatístico de processo - CEPControle estatístico de processo - CEP
Controle estatístico de processo - CEP
 
Model-Driven Development of Semantic Mashup Applications with the Open-Source...
Model-Driven Development of Semantic Mashup Applications with the Open-Source...Model-Driven Development of Semantic Mashup Applications with the Open-Source...
Model-Driven Development of Semantic Mashup Applications with the Open-Source...
 
Gdzie są umiejscowione polskie wordpressy
Gdzie są umiejscowione polskie wordpressyGdzie są umiejscowione polskie wordpressy
Gdzie są umiejscowione polskie wordpressy
 
LA UTOPÍA NO ESTÁ ADELANTE
LA UTOPÍA NO ESTÁ ADELANTELA UTOPÍA NO ESTÁ ADELANTE
LA UTOPÍA NO ESTÁ ADELANTE
 
Messaging in 2010: New Ways to Talk with Donors about Your Good Cause
Messaging in 2010: New Ways to Talk with Donors about Your Good CauseMessaging in 2010: New Ways to Talk with Donors about Your Good Cause
Messaging in 2010: New Ways to Talk with Donors about Your Good Cause
 

Similar to Word up warszawa 2015

Feo w-joomla
Feo w-joomlaFeo w-joomla
Feo w-joomla
Dominik Kucharski
 
Wydajny frontend 2023
Wydajny frontend 2023Wydajny frontend 2023
Wydajny frontend 2023
Bartłomiej Miś
 
W3 Total Cache - skuteczne przyśpieszanie WordPressa
W3 Total Cache - skuteczne przyśpieszanie WordPressaW3 Total Cache - skuteczne przyśpieszanie WordPressa
W3 Total Cache - skuteczne przyśpieszanie WordPressa
Bartosz Romanowski
 
Responsive Web Design - kto mało pyta, nie błądzi
Responsive Web Design - kto mało pyta, nie błądziResponsive Web Design - kto mało pyta, nie błądzi
Responsive Web Design - kto mało pyta, nie błądzi
Jakub Wiśniewski
 
Daj się wyręczyć - Joomla Day Polska 2014
Daj się wyręczyć - Joomla Day Polska 2014Daj się wyręczyć - Joomla Day Polska 2014
Daj się wyręczyć - Joomla Day Polska 2014
Tomasz Dziuda
 
Błędy userów, niedoróbki koderów
Błędy userów, niedoróbki koderówBłędy userów, niedoróbki koderów
Błędy userów, niedoróbki koderów
Arkadiusz Stęplowski
 
Wszystko, co chciałbyś wiedzieć 
o WooCommerce, ale bałeś się zapytać
Wszystko, co chciałbyś wiedzieć 
o WooCommerce, ale bałeś się zapytaćWszystko, co chciałbyś wiedzieć 
o WooCommerce, ale bałeś się zapytać
Wszystko, co chciałbyś wiedzieć 
o WooCommerce, ale bałeś się zapytać
Maciej Swoboda
 
Jaki hosting pod wordpressa
Jaki hosting pod wordpressaJaki hosting pod wordpressa
Jaki hosting pod wordpressa
Arkadiusz Stęplowski
 
The story of GOG.com Cache - PHPers 2014 ( PL )
 The story of GOG.com Cache - PHPers 2014 ( PL ) The story of GOG.com Cache - PHPers 2014 ( PL )
The story of GOG.com Cache - PHPers 2014 ( PL )
GOG.com dev team
 
Środowisko PWA
Środowisko PWAŚrodowisko PWA
JavaScript, Moduły
JavaScript, ModułyJavaScript, Moduły
JavaScript, Moduły
Mariusz Nowak
 
W 3 sekundy do setki
W 3 sekundy do setkiW 3 sekundy do setki
W 3 sekundy do setki
Krzysztof Radzikowski
 
[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro
[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro
[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro
allegro.tech
 
Jaki framework wybrać
Jaki framework wybraćJaki framework wybrać
Jaki framework wybrać
Paweł Tekliński
 
4Developers 2015: Szybciej niż Struś Pędziwiatr - WebSockets w aplikacjach we...
4Developers 2015: Szybciej niż Struś Pędziwiatr - WebSockets w aplikacjach we...4Developers 2015: Szybciej niż Struś Pędziwiatr - WebSockets w aplikacjach we...
4Developers 2015: Szybciej niż Struś Pędziwiatr - WebSockets w aplikacjach we...
PROIDEA
 
The story of GOG.com Cache - 4developers 2014 ( PL )
The story of GOG.com Cache - 4developers 2014 ( PL )The story of GOG.com Cache - 4developers 2014 ( PL )
The story of GOG.com Cache - 4developers 2014 ( PL )
GOG.com dev team
 
WP-API - teoria i praktyka - WordUp Trójmiasto #2
WP-API - teoria i praktyka - WordUp Trójmiasto #2WP-API - teoria i praktyka - WordUp Trójmiasto #2
WP-API - teoria i praktyka - WordUp Trójmiasto #2
Tomasz Dziuda
 
(node.js) Web development - prościej (pl)
(node.js) Web development - prościej (pl)(node.js) Web development - prościej (pl)
(node.js) Web development - prościej (pl)
Mateusz Kwasniewski
 
Zabezpiecz swoją stronę w Joomla!
Zabezpiecz swoją stronę w Joomla!Zabezpiecz swoją stronę w Joomla!
Zabezpiecz swoją stronę w Joomla!
Wojciech Klocek
 
Azure 101 warsztat v 1.1
Azure 101 warsztat v 1.1Azure 101 warsztat v 1.1
Azure 101 warsztat v 1.1
Ryszard Dałkowski
 

Similar to Word up warszawa 2015 (20)

Feo w-joomla
Feo w-joomlaFeo w-joomla
Feo w-joomla
 
Wydajny frontend 2023
Wydajny frontend 2023Wydajny frontend 2023
Wydajny frontend 2023
 
W3 Total Cache - skuteczne przyśpieszanie WordPressa
W3 Total Cache - skuteczne przyśpieszanie WordPressaW3 Total Cache - skuteczne przyśpieszanie WordPressa
W3 Total Cache - skuteczne przyśpieszanie WordPressa
 
Responsive Web Design - kto mało pyta, nie błądzi
Responsive Web Design - kto mało pyta, nie błądziResponsive Web Design - kto mało pyta, nie błądzi
Responsive Web Design - kto mało pyta, nie błądzi
 
Daj się wyręczyć - Joomla Day Polska 2014
Daj się wyręczyć - Joomla Day Polska 2014Daj się wyręczyć - Joomla Day Polska 2014
Daj się wyręczyć - Joomla Day Polska 2014
 
Błędy userów, niedoróbki koderów
Błędy userów, niedoróbki koderówBłędy userów, niedoróbki koderów
Błędy userów, niedoróbki koderów
 
Wszystko, co chciałbyś wiedzieć 
o WooCommerce, ale bałeś się zapytać
Wszystko, co chciałbyś wiedzieć 
o WooCommerce, ale bałeś się zapytaćWszystko, co chciałbyś wiedzieć 
o WooCommerce, ale bałeś się zapytać
Wszystko, co chciałbyś wiedzieć 
o WooCommerce, ale bałeś się zapytać
 
Jaki hosting pod wordpressa
Jaki hosting pod wordpressaJaki hosting pod wordpressa
Jaki hosting pod wordpressa
 
The story of GOG.com Cache - PHPers 2014 ( PL )
 The story of GOG.com Cache - PHPers 2014 ( PL ) The story of GOG.com Cache - PHPers 2014 ( PL )
The story of GOG.com Cache - PHPers 2014 ( PL )
 
Środowisko PWA
Środowisko PWAŚrodowisko PWA
Środowisko PWA
 
JavaScript, Moduły
JavaScript, ModułyJavaScript, Moduły
JavaScript, Moduły
 
W 3 sekundy do setki
W 3 sekundy do setkiW 3 sekundy do setki
W 3 sekundy do setki
 
[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro
[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro
[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro
 
Jaki framework wybrać
Jaki framework wybraćJaki framework wybrać
Jaki framework wybrać
 
4Developers 2015: Szybciej niż Struś Pędziwiatr - WebSockets w aplikacjach we...
4Developers 2015: Szybciej niż Struś Pędziwiatr - WebSockets w aplikacjach we...4Developers 2015: Szybciej niż Struś Pędziwiatr - WebSockets w aplikacjach we...
4Developers 2015: Szybciej niż Struś Pędziwiatr - WebSockets w aplikacjach we...
 
The story of GOG.com Cache - 4developers 2014 ( PL )
The story of GOG.com Cache - 4developers 2014 ( PL )The story of GOG.com Cache - 4developers 2014 ( PL )
The story of GOG.com Cache - 4developers 2014 ( PL )
 
WP-API - teoria i praktyka - WordUp Trójmiasto #2
WP-API - teoria i praktyka - WordUp Trójmiasto #2WP-API - teoria i praktyka - WordUp Trójmiasto #2
WP-API - teoria i praktyka - WordUp Trójmiasto #2
 
(node.js) Web development - prościej (pl)
(node.js) Web development - prościej (pl)(node.js) Web development - prościej (pl)
(node.js) Web development - prościej (pl)
 
Zabezpiecz swoją stronę w Joomla!
Zabezpiecz swoją stronę w Joomla!Zabezpiecz swoją stronę w Joomla!
Zabezpiecz swoją stronę w Joomla!
 
Azure 101 warsztat v 1.1
Azure 101 warsztat v 1.1Azure 101 warsztat v 1.1
Azure 101 warsztat v 1.1
 

More from Tomasz Dziuda

Trello w praktyce
Trello w praktyceTrello w praktyce
Trello w praktyce
Tomasz Dziuda
 
Wtyczkowe Kompendium - WordUp Lublin
Wtyczkowe Kompendium - WordUp LublinWtyczkowe Kompendium - WordUp Lublin
Wtyczkowe Kompendium - WordUp Lublin
Tomasz Dziuda
 
Wtyczkowe kompendium
Wtyczkowe kompendiumWtyczkowe kompendium
Wtyczkowe kompendium
Tomasz Dziuda
 
Jak Twoja strona moze wygenerować niespodziewane koszta? WordUp Kraków
Jak Twoja strona moze wygenerować niespodziewane koszta? WordUp KrakówJak Twoja strona moze wygenerować niespodziewane koszta? WordUp Kraków
Jak Twoja strona moze wygenerować niespodziewane koszta? WordUp Kraków
Tomasz Dziuda
 
Jak nadążyć za światem front-endu?
Jak nadążyć za światem front-endu?Jak nadążyć za światem front-endu?
Jak nadążyć za światem front-endu?
Tomasz Dziuda
 
WordUp Wrocław #3 2015
WordUp Wrocław #3 2015WordUp Wrocław #3 2015
WordUp Wrocław #3 2015
Tomasz Dziuda
 
Jak tworzyć motywy przyjazne użytkownikom i programistom?
Jak tworzyć motywy przyjazne użytkownikom i programistom?Jak tworzyć motywy przyjazne użytkownikom i programistom?
Jak tworzyć motywy przyjazne użytkownikom i programistom?
Tomasz Dziuda
 
Introduction to ECMAScript 2015
Introduction to ECMAScript 2015Introduction to ECMAScript 2015
Introduction to ECMAScript 2015
Tomasz Dziuda
 

More from Tomasz Dziuda (8)

Trello w praktyce
Trello w praktyceTrello w praktyce
Trello w praktyce
 
Wtyczkowe Kompendium - WordUp Lublin
Wtyczkowe Kompendium - WordUp LublinWtyczkowe Kompendium - WordUp Lublin
Wtyczkowe Kompendium - WordUp Lublin
 
Wtyczkowe kompendium
Wtyczkowe kompendiumWtyczkowe kompendium
Wtyczkowe kompendium
 
Jak Twoja strona moze wygenerować niespodziewane koszta? WordUp Kraków
Jak Twoja strona moze wygenerować niespodziewane koszta? WordUp KrakówJak Twoja strona moze wygenerować niespodziewane koszta? WordUp Kraków
Jak Twoja strona moze wygenerować niespodziewane koszta? WordUp Kraków
 
Jak nadążyć za światem front-endu?
Jak nadążyć za światem front-endu?Jak nadążyć za światem front-endu?
Jak nadążyć za światem front-endu?
 
WordUp Wrocław #3 2015
WordUp Wrocław #3 2015WordUp Wrocław #3 2015
WordUp Wrocław #3 2015
 
Jak tworzyć motywy przyjazne użytkownikom i programistom?
Jak tworzyć motywy przyjazne użytkownikom i programistom?Jak tworzyć motywy przyjazne użytkownikom i programistom?
Jak tworzyć motywy przyjazne użytkownikom i programistom?
 
Introduction to ECMAScript 2015
Introduction to ECMAScript 2015Introduction to ECMAScript 2015
Introduction to ECMAScript 2015
 

Word up warszawa 2015

  • 1. Czas (wczytywania) to (czasem) pieniądz Tomasz Dziuda WordUp Warszawa @ 6.III.2015
  • 3. • Google coraz bardziej będzie promować strony przyjazne urządzeniom mobilnym 
 
 Źródło: http://www.engadget.com/2015/02/27/google-page-rank-mobile/ • Google eksperymentuje z oznaczaniem wolno działających stron WWW w wynikach wyszukiwania
 
 Źródło: http://www.webperformancetoday.com/2015/02/25/google-new-slow-label-web- performance/
  • 4. • Google coraz bardziej będzie promować strony przyjazne urządzeniom mobilnym 
 
 Źródło: http://www.engadget.com/2015/02/27/google-page-rank-mobile/ • Google eksperymentuje z oznaczaniem wolno działających stron WWW w wynikach wyszukiwania
 
 Źródło: http://www.webperformancetoday.com/2015/02/25/google-new-slow-label-web- performance/
  • 5. Nikt nie lubi czekać Źródła: http://www.getelastic.com/how-page-load-speed-affects-conversion-infographic/
 http://www.shoutmeloud.com/improve-website-loading-speed-seo-usability.html • Liczba pobrań Firefoksa wzrosła o 15.4% po zmniejszeniu średniego czasu ładowania strony o 2.2 sekundy • Walmart odnotował wzrost konwersji o 2% na każdą 1 sekundę krótszego czasu ładowania strony • 47% konsumentów oczekuje załadowania się strony 2 sekundy lub szybciej
  • 6. Nikt nie lubi czekać Źródła: http://www.getelastic.com/how-page-load-speed-affects-conversion-infographic/
 http://www.shoutmeloud.com/improve-website-loading-speed-seo-usability.html • Liczba pobrań Firefoksa wzrosła o 15.4% po zmniejszeniu średniego czasu ładowania strony o 2.2 sekundy • Walmart odnotował wzrost konwersji o 2% na każdą 1 sekundę krótszego czasu ładowania strony • 47% konsumentów oczekuje załadowania się strony 2 sekundy lub szybciej
  • 7. Nikt nie lubi czekać Źródła: http://www.getelastic.com/how-page-load-speed-affects-conversion-infographic/
 http://www.shoutmeloud.com/improve-website-loading-speed-seo-usability.html • Liczba pobrań Firefoksa wzrosła o 15.4% po zmniejszeniu średniego czasu ładowania strony o 2.2 sekundy • Walmart odnotował wzrost konwersji o 2% na każdą 1 sekundę krótszego czasu ładowania strony • 47% konsumentów oczekuje załadowania się strony w 2 sekundy lub szybciej
  • 13. Co wpływa na szybkość strony?
  • 15. 1 2 2) Ilość zapytań do serwera 1) Szybkość WordPressa
  • 16. 1 2 3 2) Ilość zapytań do serwera 3) Rozmiar strony 1) Szybkość WordPressa
  • 17. 1 2 3 4) Szybkość odpowiedzi serwera 4 2) Ilość zapytań do serwera 3) Rozmiar strony 1) Szybkość WordPressa
  • 18. 1 2 3 5 4) Szybkość odpowiedzi serwera 4 2) Ilość zapytań do serwera 3) Rozmiar strony 1) Szybkość WordPressa 5) Sposób renderowania strony
  • 19. 1 2 3 5 4) Szybkość odpowiedzi serwera 4 2) Ilość zapytań do serwera 3) Rozmiar strony 1) Szybkość WordPressa 5) Sposób renderowania strony 6 6) Wydajność strony po załadowaniu
  • 20. Wersja dla geeków ;-) https://github.com/alex/what-happens-when
  • 22. • Opcja dla leniwych: dokupienie wiaderka RAM-u i słoika procesorów ;-) • Przegląd wtyczek: usunięcie nieużywanych • Przegląd wtyczek: zastąpienie złożonych wtyczek prostszymi adekwatnie do wykorzystywanych możliwości • Zainstalowanie wtyczki od cache
 Opis WP Super Cache: http://wpzen.pl/przyspieszanie-strony-za-pomoca-wtyczki-wp-super-cache/
 Opis W3 Total Cache: http://wpzen.pl/wp-content/uploads/2013/09/w3-total-cache-wordcamp- wroclaw-2013.pdf • W skrajnych wypadkach: profilowanie kodu
 Prezentacja o profilowaniu kodu: https://prezi.com/wlegamdbtc8g/nie-daj-sie-zwolnic/
  • 23. • Opcja dla leniwych: dokupienie wiaderka RAM-u i słoika procesorów ;-) • Przegląd wtyczek: usunięcie nieużywanych • Przegląd wtyczek: zastąpienie złożonych wtyczek prostszymi adekwatnie do wykorzystywanych możliwości • Zainstalowanie wtyczki od cache
 Opis WP Super Cache: http://wpzen.pl/przyspieszanie-strony-za-pomoca-wtyczki-wp-super-cache/
 Opis W3 Total Cache: http://wpzen.pl/wp-content/uploads/2013/09/w3-total-cache-wordcamp- wroclaw-2013.pdf • W skrajnych wypadkach: profilowanie kodu
 Prezentacja o profilowaniu kodu: https://prezi.com/wlegamdbtc8g/nie-daj-sie-zwolnic/
  • 24. • Opcja dla leniwych: dokupienie wiaderka RAM-u i słoika procesorów ;-) • Przegląd wtyczek: usunięcie nieużywanych • Przegląd wtyczek: zastąpienie złożonych wtyczek prostszymi adekwatnie do wykorzystywanych możliwości • Zainstalowanie wtyczki od cache
 Opis WP Super Cache: http://wpzen.pl/przyspieszanie-strony-za-pomoca-wtyczki-wp-super-cache/
 Opis W3 Total Cache: http://wpzen.pl/wp-content/uploads/2013/09/w3-total-cache-wordcamp- wroclaw-2013.pdf • W skrajnych wypadkach: profilowanie kodu
 Prezentacja o profilowaniu kodu: https://prezi.com/wlegamdbtc8g/nie-daj-sie-zwolnic/
  • 25. • Opcja dla leniwych: dokupienie wiaderka RAM-u i słoika procesorów ;-) • Przegląd wtyczek: usunięcie nieużywanych • Przegląd wtyczek: zastąpienie złożonych wtyczek prostszymi adekwatnie do wykorzystywanych możliwości • Zainstalowanie wtyczki od cache
 Opis WP Super Cache: http://wpzen.pl/przyspieszanie-strony-za-pomoca-wtyczki-wp-super-cache/
 Opis W3 Total Cache: http://wpzen.pl/wp-content/uploads/2013/09/w3-total-cache-wordcamp- wroclaw-2013.pdf • W skrajnych wypadkach: profilowanie kodu
 Prezentacja o profilowaniu kodu: https://prezi.com/wlegamdbtc8g/nie-daj-sie-zwolnic/
  • 26. • Opcja dla leniwych: dokupienie wiaderka RAM-u i słoika procesorów ;-) • Przegląd wtyczek: usunięcie nieużywanych • Przegląd wtyczek: zastąpienie złożonych wtyczek prostszymi adekwatnie do wykorzystywanych możliwości • Zainstalowanie wtyczki od cache
 Opis WP Super Cache: http://wpzen.pl/przyspieszanie-strony-za-pomoca-wtyczki-wp-super-cache/
 Opis W3 Total Cache: http://wpzen.pl/wp-content/uploads/2013/09/w3-total-cache-wordcamp- wroclaw-2013.pdf • W skrajnych wypadkach: profilowanie kodu
 Prezentacja o profilowaniu kodu: https://prezi.com/wlegamdbtc8g/nie-daj-sie-zwolnic/
  • 27. Ilość zapytań do serwera 
 i rozmiar strony
  • 28. Struktura typowej strony Źródło: http://httparchive.org/interesting.php
  • 30. Dobór odpowiedniego formatu • JPG - większość zdjęć • PNG24 lub PNG8 - przezroczystość • GIF - animacje • SVG - niezależność od rozdzielczości
  • 31. Dobór odpowiedniego formatu • JPG - większość zdjęć • PNG24 lub PNG8 - przezroczystość • GIF - animacje • SVG - niezależność od rozdzielczości
  • 32. Dobór odpowiedniego formatu • JPG - większość zdjęć • PNG24 lub PNG8 - przezroczystość • GIF - animacje • SVG - niezależność od rozdzielczości
  • 33. Dobór odpowiedniego formatu • JPG - większość zdjęć • PNG24 lub PNG8 - przezroczystość • GIF - animacje • SVG - niezależność od rozdzielczości
  • 34.
  • 35. Odpowiednie wymiary • Warto sprawdzić czy wymiary grafik są adekwatne do obszaru który zajmują • W wypadku formatów takich jak PNG, JPG czy GIF wymiary znacząco wpływają na rozmiar pliku
  • 36. Optymalizacja grafik • tinypng.com • tinyjpg.com • Wtyczka WP smush.it
 https://wordpress.org/plugins/wp-smushit/ • kompresja plików SVG - minifikacja kodu, zmniejszenie dokładności krzywych
  • 37. Optymalizacja grafik • tinypng.com • tinyjpg.com • Wtyczka WP smush.it
 https://wordpress.org/plugins/wp-smushit/ • kompresja plików SVG - minifikacja kodu, zmniejszenie dokładności krzywych
  • 38. Optymalizacja grafik • tinypng.com • tinyjpg.com • Wtyczka WP smush.it
 https://wordpress.org/plugins/wp-smushit/ • kompresja plików SVG - minifikacja kodu, zmniejszenie dokładności krzywych
  • 39. Optymalizacja grafik • tinypng.com • tinyjpg.com • Wtyczka WP smush.it
 https://wordpress.org/plugins/wp-smushit/ • kompresja plików SVG - minifikacja kodu, zmniejszenie dokładności krzywych
  • 40. CSS Sprites • Umieszczamy obrazki w jednym pliku i modyfikując background-position wyświetlamy odpowiedni fragment dużej grafiki • Redukują ilość zapytań do serwera • Można zrobić to samo z SVG: https://css-tricks.com/svg- sprites-use-better-icon-fonts/
  • 41. CSS Sprites • Umieszczamy obrazki w jednym pliku i modyfikując background-position wyświetlamy odpowiedni fragment dużej grafiki • Redukują ilość zapytań do serwera • Można zrobić to samo z SVG: https://css-tricks.com/svg- sprites-use-better-icon-fonts/
  • 42. CSS Sprites • Umieszczamy obrazki w jednym pliku i modyfikując background-position wyświetlamy odpowiedni fragment dużej grafiki • Redukują ilość zapytań do serwera • Można zrobić to samo z SVG: https://css-tricks.com/svg- sprites-use-better-icon-fonts/
  • 43. Zorro SVG Źródło: http://quasimondo.com/ZorroSVG/ • Pozwala uzyskać przezroczyste grafiki zbliżone rozmiarem do plików JPG • Wymaga do działania wsparcia dla SVG (IE9+, 93% pokrycia rynku przeglądarek)
  • 44. Zorro SVG Źródło: http://quasimondo.com/ZorroSVG/ • Pozwala uzyskać przezroczyste grafiki zbliżone rozmiarem do plików JPG • Wymaga do działania wsparcia dla SVG (IE9+, 93% pokrycia rynku przeglądarek)
  • 45. Rozmiar HTML/CSS/JS • Minifikacja - wtyczka Better WordPress Minify i WP HTML Compression
 https://wordpress.org/plugins/bwp-minify/
 https://wordpress.org/plugins/wp-html-compression/
 • Unikanie zbyt wielu wtyczek (większość ma swoje pliki CSS i JavaScript)
  • 46. Rozmiar HTML/CSS/JS • Minifikacja - wtyczka Better WordPress Minify i WP HTML Compression
 https://wordpress.org/plugins/bwp-minify/
 https://wordpress.org/plugins/wp-html-compression/
 • Unikanie zbyt wielu wtyczek (większość ma swoje pliki CSS i JavaScript)
  • 47. Rozmiar fontów • Optymalizacja poprzez wspierane zestawy znaków (parametr subset)
 
 https://fonts.googleapis.com/css?family=Lobster&subset=latin,latin-ext • Optymalizacja poprzez ograniczenie się do wybranych znaków (parametr text)
 
 https://fonts.googleapis.com/css? family=Lobster&text=JAVASCRIPT
  • 48. Rozmiar fontów • Optymalizacja poprzez wspierane zestawy znaków (parametr subset)
 
 https://fonts.googleapis.com/css?family=Lobster&subset=latin,latin-ext • Optymalizacja poprzez ograniczenie się do wybranych znaków (parametr text)
 
 https://fonts.googleapis.com/css?family=Lobster&text=JAVASCRIPT
  • 50. GZIP SetOutputFilter DEFLATE BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4.0[678] no-gzip BrowserMatch bMSIE !no-gzip !gzip-only-text/html Źródło: http://code.garyjones.co.uk/htaccess-tweaks-improve-site-speed
  • 51. Cache przeglądarki# Patched on: %2013-%05-%02 %07:%May:%51 # Auto-patched by jbetolo <FilesMatch ".(gif|jpg|jpeg|png|swf|pdf|css|js|html|ico?|xml|txt)$"> FileETag none </FilesMatch> <IfModule mod_expires.c> ExpiresActive on # Perhaps better to whitelist expires rules? Perhaps. ExpiresDefault "access plus 1 month" # cache.appcache needs re-requests in FF 3.6 (thx Remy ~Introducing HTML5) ExpiresByType text/cache-manifest "access plus 0 seconds" # Your document html ExpiresByType text/html "access plus 0 seconds" # Data ExpiresByType text/xml "access plus 0 seconds" ExpiresByType application/xml "access plus 0 seconds" ExpiresByType application/json "access plus 0 seconds" # RSS feed ExpiresByType application/rss+xml "access plus 1 hour" # Favicon (cannot be renamed) ExpiresByType image/x-icon "access plus 1 week" # Media: images, video, audio ExpiresByType image/gif "access plus 1 month" ExpiresByType image/png "access plus 1 month" ExpiresByType image/jpg "access plus 1 month" ExpiresByType image/jpeg "access plus 1 month" ExpiresByType video/ogg "access plus 1 month" ExpiresByType audio/ogg "access plus 1 month" ExpiresByType video/mp4 "access plus 1 month" ExpiresByType video/webm "access plus 1 month" # HTC files (css3pie) ExpiresByType text/x-component "access plus 1 month" # Webfonts ExpiresByType font/truetype "access plus 1 month" ExpiresByType font/opentype "access plus 1 month" ExpiresByType application/x-font-woff "access plus 1 month" ExpiresByType image/svg+xml "access plus 1 month" ExpiresByType application/vnd.ms-fontobject "access plus 1 month" # CSS and JavaScript ExpiresByType text/css "access plus 1 year" ExpiresByType application/javascript "access plus 1 year" ExpiresByType text/javascript "access plus 1 year" <IfModule mod_headers.c> Header append Cache-Control "public" </IfModule> </IfModule>
  • 52. CDN? • Opłaca się gdy mamy odwiedziny z różnych rejonów świata • Należy pamiętać, że kod na serwerze CDN może w wyniku ataku zostać podmieniony - dlatego lepiej korzystać z rozwiązań dużych graczy • Popularne usługi CDN: Amazon Cloudfront, MaxCDN, Cloudflare
  • 53. CDN? • Opłaca się gdy mamy odwiedziny z różnych rejonów świata • Należy pamiętać, że kod na serwerze CDN może w wyniku ataku zostać podmieniony - dlatego lepiej korzystać z rozwiązań dużych graczy • Popularne usługi CDN: Amazon Cloudfront, MaxCDN, Cloudflare
  • 54. CDN? • Opłaca się gdy mamy odwiedziny z różnych rejonów świata • Należy pamiętać, że kod na serwerze CDN może w wyniku ataku zostać podmieniony - dlatego lepiej korzystać z rozwiązań dużych graczy • Popularne usługi CDN: Amazon Cloudfront, MaxCDN, Cloudflare
  • 55. HSTS • Zmniejsza ilość zapytań DNS
 https://www.chromium.org/hsts • Wymaga pełnego wsparcia SSL na stronie • Nasza domena może działać tylko po HTTPS po dodaniu domeny na: https://hstspreload.appspot.com/ • Zwiększa bezpieczeństwo chroniąc np. przed atakami typu MiTM
 http://sekurak.pl/hsts-czyli-http-strict-transport-security/
  • 56. HSTS • Zmniejsza ilość zapytań DNS
 https://www.chromium.org/hsts • Wymaga pełnego wsparcia SSL na stronie • Nasza domena może działać tylko po HTTPS po dodaniu domeny na: https://hstspreload.appspot.com/ • Zwiększa bezpieczeństwo chroniąc np. przed atakami typu MiTM
 http://sekurak.pl/hsts-czyli-http-strict-transport-security/
  • 57. HSTS • Zmniejsza ilość zapytań DNS
 https://www.chromium.org/hsts • Wymaga pełnego wsparcia SSL na stronie • Nasza domena może działać tylko po HTTPS po dodaniu domeny na: https://hstspreload.appspot.com/ • Zwiększa bezpieczeństwo chroniąc np. przed atakami typu MiTM
 http://sekurak.pl/hsts-czyli-http-strict-transport-security/
  • 58. HSTS • Zmniejsza ilość zapytań DNS
 https://www.chromium.org/hsts • Wymaga pełnego wsparcia SSL na stronie • Nasza domena może działać tylko po HTTPS po dodaniu domeny na: https://hstspreload.appspot.com/ • Zwiększa bezpieczeństwo chroniąc np. przed atakami typu MiTM
 http://sekurak.pl/hsts-czyli-http-strict-transport-security/
  • 59. HSTS • Zmniejsza ilość zapytań DNS
 https://www.chromium.org/hsts • Wymaga pełnego wsparcia SSL na stronie • Nasza domena może działać tylko po HTTPS po dodaniu domeny na: https://hstspreload.appspot.com/ • Zwiększa bezpieczeństwo chroniąc np. przed atakami typu MiTM
 http://sekurak.pl/hsts-czyli-http-strict-transport-security/ Header set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
  • 61. Sposób renderowania strony • Skrypty powinny być ładowane zawsze na końcu • Natychmiastowe wyświetlanie fragmentu strony widocznego na ekranie - unikamy FOUC • Do kompresji kodu CSS w sekcji <head> można użyć np. http://refresh-sf.com/
  • 62. Sposób renderowania strony • Skrypty powinny być ładowane zawsze na końcu • Natychmiastowe wyświetlanie fragmentu strony widocznego na ekranie - unikamy FOUC • Do kompresji kodu CSS w sekcji <head> można użyć np. http://refresh-sf.com/
  • 63. Sposób renderowania strony • Skrypty powinny być ładowane zawsze na końcu • Natychmiastowe wyświetlanie fragmentu strony widocznego na ekranie - unikamy FOUC • Do kompresji kodu CSS w sekcji <head> można użyć np. http://refresh-sf.com/
  • 64. <script> var cb = function() {      var l0 = '<link rel="stylesheet" href=“style1.css”>’;      var l1 = '<link rel="stylesheet" href=“style2.css">';          var l2 = '<link rel="stylesheet" href=“style3.css">';           var h = document.getElementsByTagName('head')[0];      h.innerHTML += l0 + l1 + l2; }; var raf = requestAnimationFrame || mozRequestAnimationFrame ||   webkitRequestAnimationFrame || msRequestAnimationFrame; if (raf) raf(cb); else window.addEventListener('load', cb); </script>
  • 65. add_filter('style_loader_src', 'td_style_loader_src', 10, 2); function td_style_loader_src($src, $handle) {      if(!is_admin() && stripos($src, ‘XXXXXX’) === FALSE) {           return false;      } else {           return $src;      } }
  • 66. add_filter('script_loader_src', 'td_script_loader_src', 10, 2); function td_script_loader_src($src, $handle) {      if(!is_admin() && stripos($src, ‘XXXXXX’) === FALSE) {           return false;      } else {           return $src;      } }
  • 68. Wydajność JS i CSS • Na starszych urządzeniach samo parsowanie jQuery może zająć kilkaset milisekund
 http://timkadlec.com/2014/09/js-parse-and-execution-time/
 • Zoptymalizowane selektory CSS też mogą pomóc
 http://benfrain.com/css-performance-revisited-selectors-bloat-expensive-styles/
 • Warto rozważyć usunięcie nieużywanego kodu JS i CSS
  • 69. Wydajność JS i CSS • Na starszych urządzeniach samo parsowanie jQuery może zająć kilkaset milisekund
 http://timkadlec.com/2014/09/js-parse-and-execution-time/
 • Zoptymalizowane selektory CSS też mogą pomóc
 http://benfrain.com/css-performance-revisited-selectors-bloat-expensive-styles/
 Warto rozważyć usunięcie nieużywanego kodu JS i CSS
  • 70. Wydajność JS i CSS • Na starszych urządzeniach samo parsowanie jQuery może zająć kilkaset milisekund
 http://timkadlec.com/2014/09/js-parse-and-execution-time/
 • Zoptymalizowane selektory CSS też mogą pomóc
 http://benfrain.com/css-performance-revisited-selectors-bloat-expensive-styles/
 • Warto rozważyć usunięcie nieużywanego kodu JS i CSS
  • 71. Wydajność JS i CSS • Wydajność właściwości CSS: http://csstriggers.com/ • FLIP dla animacji: http://aerotwist.com/blog/flip-your- animations/
  • 72. Wydajność JS i CSS • Wydajność właściwości CSS: http://csstriggers.com/ • FLIP dla animacji: http://aerotwist.com/blog/flip-your- animations/
  • 73. Optymalizacja struktury DOM Źródło: http://httparchive.org/interesting.php
  • 74. Lektura • http://timkadlec.com/2014/09/js-parse-and- execution-time/ • http://jankfree.org/ • http://calendar.perfplanet.com/2013/the-runtime- performance-checklist/ • https://developers.google.com/web/fundamentals/ performance/critical-rendering-path/
  • 76. Tomasz Dziuda Lead Developer @ @dziudek http://dziudek.pl dziudek@gavick.com