Prezentacja otwierająca WordCamp Gdynia 2016, traktująca o czynnikach wpływających na ekosystem WordPressa oraz o tym jak będzie wyglądała przyszłość WordPressa.
Contributor Day - WordCamp Lublin 2017 - przegląd motywówTomasz Dziuda
Zbiór porad i informacji dla osób chcących zajmować się przeglądem motywów kandydujących do pojawienia się na oficjalnym repozytorium WordPress.org. Przygotowany z myślą o uczestnikach Contributor Day
Na Contributor Day przed WordCampem w Gdyni przeprowadziłem review motywu na żywo dla uczestników, którzy również przeglądali motywy. Zauważyłem, że dla wszystkich było to interesujące doświadczenie i pokazywało wiele kwestii, które normalnie się pomija mówiąc jak przeglądać motywy.
Dlatego przejrzałem kod kilkudziesięciu motywów (nie mylić z pełnym review) z kilkuset czekających w kolejce do przejrzenia i wybrałem najciekawsze błędy developerów motywów, aby je omówić i zaproponować lepsze rozwiązania.
Dlaczego? Bo jedną z idei oprogramowania Open Source jest wspólna nauka (także ta na cudzych błędach).
Prezentacja otwierająca WordCamp Gdynia 2016, traktująca o czynnikach wpływających na ekosystem WordPressa oraz o tym jak będzie wyglądała przyszłość WordPressa.
Contributor Day - WordCamp Lublin 2017 - przegląd motywówTomasz Dziuda
Zbiór porad i informacji dla osób chcących zajmować się przeglądem motywów kandydujących do pojawienia się na oficjalnym repozytorium WordPress.org. Przygotowany z myślą o uczestnikach Contributor Day
Na Contributor Day przed WordCampem w Gdyni przeprowadziłem review motywu na żywo dla uczestników, którzy również przeglądali motywy. Zauważyłem, że dla wszystkich było to interesujące doświadczenie i pokazywało wiele kwestii, które normalnie się pomija mówiąc jak przeglądać motywy.
Dlatego przejrzałem kod kilkudziesięciu motywów (nie mylić z pełnym review) z kilkuset czekających w kolejce do przejrzenia i wybrałem najciekawsze błędy developerów motywów, aby je omówić i zaproponować lepsze rozwiązania.
Dlaczego? Bo jedną z idei oprogramowania Open Source jest wspólna nauka (także ta na cudzych błędach).
Jak tworzyć motywy przyjazne użytkownikom i programistom - WordUp SilesiaTomasz Dziuda
Kolejna iteracja mojej prezentacji dotyczącej tworzenia motywów, które spełniają nie tylko potrzeby użytkowników ale też programistów, którzy z nimi pracują.
Wielomilonowy ruch na wordpressie wordpress wordcamp gdynia 2016Lukasz Wilczak
W powszechnej opinii WordPress nie jest używany do tworzenia serwisów o dużym natężeniu ruchu. Jednak przy odpowiednim zapleczu i konfiguracji możemy korzystać z jego możliwości i nie martwić się o wydajność. Z prezentacji dowiesz się, jak w Grand Parade tworzymy serwisy i przygotowujemy pod nie infrastrukturę dla blogów o dużym natężeniu ruchu i tematyce bettingowej takich jak: news.bwin.com, articles.matchbook.com, news.ladbrokes.com czy sunbets.cu.uk.
Omówimy mechanizmy cache-ujące takie jak Varnish, Redis, infrastrukturę CloudFront i S3 Amazona, sposoby skalowania środowisk z użyciem Load Balancera.
Optymalizacja Wordpress jedną wtyczką - SEMURAI on AIR #1Tomasz Stopka
W czasie pierwszego SEMURAI on AIR, Tomasz Stopka specjalista SEO i właściciel SEMURAI opowiedział o tym jak można z pomocą wtyczki PageSpeed Ninja zoptymalizować swój blog na Wordpress.
Dzięki wtyczce PageSpeed Ninja (https://pagespeed.ninja/) możliwe jest poprawienie wyniku w narzędziu PageSpeed Insight (https://developers.google.com/speed/pagespeed/insights/) w ciągu dosłownie kilku minut.
Optymalizacja strony pod SEO korzystającej z Wordpress nigdy nie była ta prosta!
Presenting capabilities that develop since WordPress 3.4 of the theme customization screen. In addition to the standard features, there will be also presented more unique functions available, including the use of the changes introduced in the newest WordPress versions. The main aim of the lecture is to convince theme developers that the theme customization screen may completely replace additional subpages of the dashboard with theme options.
Jak tworzyć motywy przyjazne użytkownikom i programistom - WordUp SilesiaTomasz Dziuda
Kolejna iteracja mojej prezentacji dotyczącej tworzenia motywów, które spełniają nie tylko potrzeby użytkowników ale też programistów, którzy z nimi pracują.
Wielomilonowy ruch na wordpressie wordpress wordcamp gdynia 2016Lukasz Wilczak
W powszechnej opinii WordPress nie jest używany do tworzenia serwisów o dużym natężeniu ruchu. Jednak przy odpowiednim zapleczu i konfiguracji możemy korzystać z jego możliwości i nie martwić się o wydajność. Z prezentacji dowiesz się, jak w Grand Parade tworzymy serwisy i przygotowujemy pod nie infrastrukturę dla blogów o dużym natężeniu ruchu i tematyce bettingowej takich jak: news.bwin.com, articles.matchbook.com, news.ladbrokes.com czy sunbets.cu.uk.
Omówimy mechanizmy cache-ujące takie jak Varnish, Redis, infrastrukturę CloudFront i S3 Amazona, sposoby skalowania środowisk z użyciem Load Balancera.
Optymalizacja Wordpress jedną wtyczką - SEMURAI on AIR #1Tomasz Stopka
W czasie pierwszego SEMURAI on AIR, Tomasz Stopka specjalista SEO i właściciel SEMURAI opowiedział o tym jak można z pomocą wtyczki PageSpeed Ninja zoptymalizować swój blog na Wordpress.
Dzięki wtyczce PageSpeed Ninja (https://pagespeed.ninja/) możliwe jest poprawienie wyniku w narzędziu PageSpeed Insight (https://developers.google.com/speed/pagespeed/insights/) w ciągu dosłownie kilku minut.
Optymalizacja strony pod SEO korzystającej z Wordpress nigdy nie była ta prosta!
Presenting capabilities that develop since WordPress 3.4 of the theme customization screen. In addition to the standard features, there will be also presented more unique functions available, including the use of the changes introduced in the newest WordPress versions. The main aim of the lecture is to convince theme developers that the theme customization screen may completely replace additional subpages of the dashboard with theme options.
En este número de Franquicias Hoy podréis encontrar: 90 negocios para una década. Aliados en la red. Lipocero anticipa el boom del remodelado corporal. Entrevista a The Singular Kitchen.
Opublikowana gościnnie prelekcja Aleksandry Łączek – Niezbędnik Admina czyli o wtyczkach ułatwiających administrację Wordpressem wygłoszona podczas WordUp warszawa #prawielato
W GavickPro zawsze poświęcaliśmy sporo czasu na rozwijanie darmowych produktów dostępnych dla szerokiego grona użytkowników. Ta prezentacja była premierą oraz pokazem możliwości naszych nowych i całkowicie darmowych pluginów dla WordPressa. Ujawnia też czego można się spodziewać po nadchodzącej wersji 2.* naszego darmowego frameworka – GavernWP.
Które wtyczki zainstalować na początku przygody z WooCommerce, żeby wycisnąć z niego maksimum. Przegląd najpopularniejszych wtyczek do WooCommerce, których używamy przy budowie sklepów internetowych.
Model-Driven Development of Semantic Mashup Applications with the Open-Source...InfoGrid.org
Talk at Enterprise Data World 2010 in San Francisco.
Outlines the difficulties in developing enterprise mash-up applications that aggregate data semantically and in real time. Gives an overview how the InfoGrid internet graph database can help.
Prelekcja wygłoszona podczas WordUp Warszawa #prawielato. Omówienie hostingów używanych przez polskich użytkowników i developerów Wordpressa na podstawie wyników ankiety z lutego 2015.
Este documento contiene el trabajo de dos colegas Jaime Moncayo y Ary Paruma, en el transcurso de sus estudios de posgrado. Considero de importancia vital que los colegas tengamos la oportunidad de conocerlo. Además porque el capitulo dedicado a nuestra institución nos hará remover las emociones y pasiones a muchos. si es así habremos ganado en empoderamiento y actitud para afrontar nuestra labor en adelante.
Messaging in 2010: New Ways to Talk with Donors about Your Good CauseKivi Leroux Miller
A keynote presentation on how nonprofit communications, fundraising, and messaging is changing, given the influence of both the Internet and generational shifts in the U.S. It includes a three-point approach to creating content for integrated campaigns. First presented in this format to AFP's Western Michigan Chapter.
Web Dev Insider prezentuje: nowości ze świata wydajności frontendu. Nowinki, nowe narzędzia i techniki optymalizacji - przydatne z perspektywy techniczego SEO oraz front-end developmentu.
Wtyczka W3 Total Cache to potężne narzędzie, za pomocą którego można znacząco przyśpieszyć działanie naszego serwisu. Warto wiedzieć jak używać różnych mechanizmów cache, ograniczyć ilość żądań wysyłanych do serwera, zmniejszyć rozmiar strony czy korzystać z CDN.
Wszystko, co chciałbyś wiedzieć o WooCommerce, ale bałeś się zapytaćMaciej Swoboda
Pytania o WooCommerce, na które odpowiadam w prezentacji w ramach WordUp Trójmiasto #7.
1. Jakie jest Twoje wrażenie - skąd nadal niska popularność przy relatywnie wysokich stawkach developerów PrestaShop, czy Magento? Czy wynika to ze słabszej wydajności WooCommerce?
2. Dlaczego WooCommerce i długo, długo nic po nim?
3. Sklep z największą bazą produktów, który widziałeś na Woo (ile produktów, ile ważyła baza)?
4. Czy Woo wymaga wg Ciebie dodatkowej, specjalnej optymalizacji?
5. Jakie są Twoje doświadczenia przy cachowaniu sklepów na Woo?
6. Najbliższa przyszłość WooCommerce - w którą stronę pójdzie ten soft?
Spróbujemy odpowiedzieć na pytanie: Jaki framework będzie dla nas najlepszy? Opowiem dlaczego to pytanie jest takie ważne oraz o tym czego potrzebujemy by znaleźć na nie odpowiedz, która wcale nie jest taka trywialna.
4Developers 2015: Szybciej niż Struś Pędziwiatr - WebSockets w aplikacjach we...PROIDEA
Krzysztof Rychlicki-Kicior
Language: Polish
Dawno temu, gdy w kodzie HTML królowały znaczniki FONT i MARQUEE, a zamiast AJAX-a stosowano ukryte ramki, błyskawiczną i dwustronną komunikację z serwerem można było osiągnąć jedynie za pomocą specjalnych wtyczek - np. we wszelkiej maści czatach królowała wówczas Java i applety. Z upływem lat sytuacja poprawiła się, dzięki zastosowaniu AJAX-a czy long pollingu, jednak wciąż była daleka od ideału. Na szczęście, obecnie programiści są w znacznie lepszej sytuacji - dzięki WebSocketom bez żadnego problemu są w stanie zaimplementować komunikację w czasie rzeczywistym, niezbędną np. do gier online, aplikacji do komunikacji czy aplikacji finansowych.
W ramach tego wykładu słuchacze zapoznają się z różnymi koncepcjami stosowanymi w komunikacji pomiędzy przeglądarką a serwerem HTTP, z uwzględnieniem WebSocketów. Oprócz tego zostaną przedstawione mechanizmy obsługi WS od strony serwera, na przykładzie Node.js i Socket.IO. Różne rozwiązania zostaną poddane porównaniu pod kątem wydajności. Mimo licznych zalet, WebSockety niosą za sobą pewne problemy - zostaną one również poddane analizie.
Prezentacja o tym jak utrzymać się na powierzchni w szybko rozwijającym się świecie technologii webowych. Zbiór porad, które mogą się przydać nie tylko webdeveloperom.
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
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
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/
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
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/
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
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>
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/