SlideShare a Scribd company logo
1 of 33
Download to read offline
Piotr Jasiulewicz

  OPTYMALIZACJA SERWISÓW WWW
            CZ. II
Co, jak, gdzie?

  Na czym i jak oszczędzać?
  Nie płać za coś co możesz mieć za darmo.
  Jakich technologii użyć i czemu akurat XSL + XML.




    „80% zysku wyciągami z optymalizacji 20% serwisu WWW”
                                       Dział optymalizacji Yahoo!
Po co optymalizować?

 500 ms wolniej - 20% spadku ruchu (Google)
 400 ms wolniej – 5-9% spadku ruchu na pełnej
  stronie* (Yahoo!)
 100 ms wolniej – 1% spadek sprzedaży
  (Amazon)

*User wychodzi zanim załaduje się cała strona
Łącz pliki, będzie szybciej!
•Zmniejszając
ilość requestów
HTTP, można
znacznie
przyspieszyć
ładowanie strony.
Jak oszczędzać łącze?

 Używaj kompresji GZIP / Deflate
 Szeroko obsługiwane
 Bardzo łatwe we wdrożeniu
                       Rodzaj     Bez
        Serwis        kompresji kompresji Z kompresją    %
                                                        70.3
 www.fotka.pl           Gzip      31,239     9,273
                                                        17.0
 www.nasza-klasa.pl     Gzip       230        191
                                                        69.2
 www.figgy.pl           Gzip     11,043      3,399
                                                        0.0
 forum.php.pl            -        51,702     ~9,6
Korzystaj z pomocy innych

 Google umożliwia serwowanie js ‘ów
     jQuery
     jQuery UI
     Prototype
     script.aculo.us
     MooTools
     Dojo
     SWFObject
     Yahoo! User Interface Library (YUI)
 Banalne we wdrożeniu
Przenieś Feedy RSS

 RSS potrafi „zjeść” ponad 50% transferu
  małego serwisu
 Użyj redirecta, oszczędzaj transfer!

  RewriteCond User-Agent: (?!FeedBurner).*
  RewriteRule .*index.xml$|.*index.rdf$|.*atom.xml$
  http://feeds.feedburner.com/codinghorror/ [I,RP,L]
Masz galerię, serwuj z S3

 Zaoszczędzisz dużo łącza ( pieniędzy )
 Zaoszczędzisz na infrastrukturze ( dyski )
 Polepszysz „user experience”
 Nie zbudujesz lepszej infrastruktury :-]
 Dość łatwe we wdrożeniu
Jaki obrazek?
•Średnio ~50%
                      Serwis        %
tego co pobierasz
                                 obrazków
to obrazki !
                     Yahoo!        29%
                     Google        75%
                     YouTube       62%
•Potencjalnie duży   Live.com      64%
                     Wikipedia     39%
zysk do              Facebook      35%
osiągnięcia w
łatwy sposób.
Jaki obrazek?

 Wybieraj PNG zamiast GIF
 Zaoszczędzisz średnio ~20%!

                         GIF             PNG           PNG
                                       (Palette)    (Truecolor)
                          256              256       do 48 bitów
 Ilość kolorów
                        binarna           alpha         alpha
 Przeźroczystość
 Kompatybilność z   Prawie wszystkie    Wszystkie     Wszystkie
 przeglądarkami                        quot;uznawanequot;    quot;uznawanequot;
 Animacja                 Tak              Nie           Nie
Jaki obrazek?
•Nie bez           Serwis          %
powodu duże                   gif do png
serwisy nie       Yahoo!         9,55%
stosują tak       Google        22,95%
                  YouTube       33.82%
szeroko gif’ów.   Live.com      19,93%
                  Wikipedia         -
                  Facebook      17,47%
•Wikipedia nie
używa gif’ów!
Jaki obrazek?

 Zgniatanie PNG – PNG Crushing to
  dodatkowa oszczędność!
   pngcrush           http://pmt.sourceforge.net/pngcrush/

   Pngrewrite         http://entropymine.com/jason/pngrewrite/

   OptiPNG            http://optipng.sourceforge.net
  Przykład:

  optipng −i1 −o7 −v −full −sim experiment.png −log experiment.log
Jaki obrazek?

 JPEG zawiera mnóstwo zbędnych informacji
   Komentarze
   Exif
   Dodatkowe dane z aplikacji np. Adobe Photoshop
   Inne ( miniaturki, audio )
 Od tego jak zapiszemy JPEG’a zależy jego
  wyświetlanie na stronie!
Jaki obrazek?

 Do małych obrazków, miniaturek używaj
 jpeg baseline/sequential.
Jaki obrazek?

 Do dużych zdjęć używaj jpeg progressive!
  (10K+)
Jaki obrazek?
 Możesz używać Base64 ( IE sprawia problemy )

<img
   src=quot;data:image/gif;base64,R0lGODlhUAAPAKIAAAsLav///
   88PD9WqsYmApmZmZtZfYmdakyH5BAQUAP8ALAAAAA
   BQAA8AAAPb
   WLrc/jDKSVe4OOvNu/9gqARDSRBHegyGMahqO4R0bQcjI
   Q8E4BMCQc930JluyGRmdAAcdiigMLVr
   ApTYWy5FKM1IQe+Mp+L4rphz+qIOBAUYeCY4p2tGrJZeH
   9y79mZsawFoaIRxF3JyiYxuHiMGb5KT
   kpFvZj4ZbYeCiXaOiKBwnxh4fnt9e3ktgZyHhrChinONs3cF
   AShFF2JhvCZlG5uchYNun5eedRxM
   AF15XEFRXgZWWdciuM8GCmdSQ84lLQfY5R14wDB5Lyo
   n4ubwS7jx9NcV9/j5+g4JADs= quot; alt=quot;British Blog Directoryquot;
   width=quot;80quot; height=quot;15quot; />
Używaj dwóch domen

 Domena do zawartości dynamicznej („www.”)
   Np.: HTML/XML, .xsl


 Domena do zawartości statycznej (np. „s.”)
   Cookie-free
   Np.:.jpg, .gif,.png, .css , .js …
Ustawiaj wygasanie pliku…

 Pliki w zasadzie się nie zmieniają
 Oszczędzasz łącze
 Proste we wprowadzeniu


  „Expires: Thu, 01 Dec 2010 16:00:00 GMT”
„Last-Modified: Wed, 15 Nov 1995 04:58:08 GMT „
Skonfiguruj ETagi

 Konfiguracja Entity tags może zmniejszyć
  obciążenie łącza

  GET /i/yahoo.gif HTTP/1.1
   Host: us.yimg.com
  If-Modified-Since: Tue, 12 Dec 2006 03:03:59 GMT
  If-None-Match: quot;10c24bc-4ab-457e1c1fquot;
  HTTP/1.1 304 Not Modifie
Trzymaj usera na bieżąco

 Wersjonowanie plików
   Pozawala na szybkie wprowadzanie zmian
   Obchodzi cache przeglądarek
   Stosunkowo łatwe we wdrożeniu


              a) STYLE.223.CSS
              b) STYLE.CSS:223
               a) Logo.12.png
               b) Logo.png:12
Używaj dobrych narzędzi

 YSlow
Używaj dobrych narzędzi

 Tamper Data
Używaj dobrych narzędzi

 Firebug
Nie bójmy się niestandardów

 Brak zgodności z W3C niewiele znaczy
 Kod ma dobrze działać/wyglądać dla
  usera, a nie w „Pokaż źródło”
 Kod Google.pl:
Co to XML/XSLT?

 XSL z ang. Extensible Stylesheet Language
 Formatuje dokumenty XML na dokumenty
  xHTML lub inne dokumenty XML
 Na XSL składa się:
   XSLT
   XPath
   Inne
Co daje XML/XSLT?

 Upraszcza kod wprowadzając część MVC
Co daje XML/XSLT?

 Przykład prostego połączenia XML z XSL
       XML                      XSL
Co daje XML/XSLT?

 Dzięki importowaniu xsli wykorzystujemy
  dany stylesheet na całym serwisie

 Jeden prosty wpis wystarcza, aby połaczyć
  dwa pliki xsl’a:
            <xsl:import href=quot;xsl.xslquot;/>
Co daje XML/XSLT?

 Zysk jaki osiągamy używając technologii
  XML/XSLT


                                    Rozmiar
                                     ( KB )
                                      18
      XML mojego profilu na fotce

                                      36
      XSL profilu

                                      171
      XSL główny

                                      68
      xHTML mojego profilu
Co daje XML/XSLT?

 Wbrew pozorom oszczędność nie jest liniowa!

                               Oszczędność
         150


         100


         50


          0
                                                        Oszczędność
               1   2   3   4   5   6   7   8   9   10
         -50


        -100


        -150


        -200
XML/XSLT vs SMARTY

        XML / XSLT                         SMARTY
Client-side                       Server-side
Pozwala prowadzić MVC             Pozwala prowadzić MVC
Prosty do nauczenia               Prosty do nauczenia
Używa cache przeglądarki          Nie używa cache przeglądarki
Zasadniczo oszczędza łącze        Zasadniczo nic nie oszczędza
Może wymagać dostępu do serwera   Nie musi wymagać dostepu do
                                  serwera
Czasem trzeba wysłać jako         Zawsze trzeba wysłać jako
przeparsowaną treść               przeparsowaną treść
Potencjalne problemy XSL’a

 Kompatybilność
   Stare przeglądarki ( np.: IE 5 )
   Opera i POST
   Urządzenia mobilne
 Narzut przy przetwarzaniu server-side
„Gdyby liczyła sie ilość, to McDonald’s byłby najlepszą restauracją na świecie.”




                  DZIĘKI ZA UWAGĘ!

More Related Content

Similar to Optymalizacja Serwisów WWW

Word up warszawa 2015
Word up warszawa 2015Word up warszawa 2015
Word up warszawa 2015Tomasz Dziuda
 
Pyconpl2008 - Pogodzić Google App Engine z Django
Pyconpl2008 - Pogodzić Google App Engine z DjangoPyconpl2008 - Pogodzić Google App Engine z Django
Pyconpl2008 - Pogodzić Google App Engine z DjangoRafal Jonca
 
YSlow
YSlowYSlow
YSlow3camp
 
Przyspieszanie działania serwisów WWW
Przyspieszanie działania serwisów WWWPrzyspieszanie działania serwisów WWW
Przyspieszanie działania serwisów WWWmichal.felski
 
Responsive Web Design - co z tego wynikło?
Responsive Web Design - co z tego wynikło?Responsive Web Design - co z tego wynikło?
Responsive Web Design - co z tego wynikło?Tomasz Dziuda
 
Dlaczego HTML 5, a nie Flash?
Dlaczego HTML 5, a nie Flash?Dlaczego HTML 5, a nie Flash?
Dlaczego HTML 5, a nie Flash?Filip Dębowski
 
Drobne błędy w portalach WWW -- prawdziwe studium przypadku
Drobne błędy w portalach WWW -- prawdziwe studium przypadkuDrobne błędy w portalach WWW -- prawdziwe studium przypadku
Drobne błędy w portalach WWW -- prawdziwe studium przypadkumsobiegraj
 
PLSSUG Meeting - Wysoka dostepność SQL Server 2008 w kontekscie umów SLA
PLSSUG Meeting - Wysoka dostepność SQL Server 2008 w kontekscie umów SLAPLSSUG Meeting - Wysoka dostepność SQL Server 2008 w kontekscie umów SLA
PLSSUG Meeting - Wysoka dostepność SQL Server 2008 w kontekscie umów SLATobias Koprowski
 
Lets Flex the WEB 4
Lets Flex the WEB 4Lets Flex the WEB 4
Lets Flex the WEB 4MediaFrame
 
WebDeveloper - Yesterday, Today, Tomorrow
WebDeveloper - Yesterday, Today, TomorrowWebDeveloper - Yesterday, Today, Tomorrow
WebDeveloper - Yesterday, Today, TomorrowMarcin Dembowski
 
4Developers 2015: Frameworki jee vs cross-site scripting (xss) - Piotr Bucki
4Developers 2015: Frameworki jee vs cross-site scripting (xss) - Piotr Bucki4Developers 2015: Frameworki jee vs cross-site scripting (xss) - Piotr Bucki
4Developers 2015: Frameworki jee vs cross-site scripting (xss) - Piotr BuckiPROIDEA
 
Back to the roots – słów kilka o optymalizacji stron
Back to the roots – słów kilka o optymalizacji stronBack to the roots – słów kilka o optymalizacji stron
Back to the roots – słów kilka o optymalizacji stronSilesia SEM
 
Antologia Webdevelopera (9.12.2006)
Antologia Webdevelopera (9.12.2006)Antologia Webdevelopera (9.12.2006)
Antologia Webdevelopera (9.12.2006)Wojtek Zając
 

Similar to Optymalizacja Serwisów WWW (20)

Iron Python I Dlr
Iron Python I DlrIron Python I Dlr
Iron Python I Dlr
 
Feo w-joomla
Feo w-joomlaFeo w-joomla
Feo w-joomla
 
BlackHat Analytics
BlackHat AnalyticsBlackHat Analytics
BlackHat Analytics
 
Word up warszawa 2015
Word up warszawa 2015Word up warszawa 2015
Word up warszawa 2015
 
Flux czyli czego nauczył nas startup
Flux czyli czego nauczył nas startupFlux czyli czego nauczył nas startup
Flux czyli czego nauczył nas startup
 
Pyconpl2008 - Pogodzić Google App Engine z Django
Pyconpl2008 - Pogodzić Google App Engine z DjangoPyconpl2008 - Pogodzić Google App Engine z Django
Pyconpl2008 - Pogodzić Google App Engine z Django
 
YSlow
YSlowYSlow
YSlow
 
Przyspieszanie działania serwisów WWW
Przyspieszanie działania serwisów WWWPrzyspieszanie działania serwisów WWW
Przyspieszanie działania serwisów WWW
 
Html5 i css3
Html5 i css3Html5 i css3
Html5 i css3
 
Responsive Web Design - co z tego wynikło?
Responsive Web Design - co z tego wynikło?Responsive Web Design - co z tego wynikło?
Responsive Web Design - co z tego wynikło?
 
Dlaczego HTML 5, a nie Flash?
Dlaczego HTML 5, a nie Flash?Dlaczego HTML 5, a nie Flash?
Dlaczego HTML 5, a nie Flash?
 
Drobne błędy w portalach WWW -- prawdziwe studium przypadku
Drobne błędy w portalach WWW -- prawdziwe studium przypadkuDrobne błędy w portalach WWW -- prawdziwe studium przypadku
Drobne błędy w portalach WWW -- prawdziwe studium przypadku
 
PLSSUG Meeting - Wysoka dostepność SQL Server 2008 w kontekscie umów SLA
PLSSUG Meeting - Wysoka dostepność SQL Server 2008 w kontekscie umów SLAPLSSUG Meeting - Wysoka dostepność SQL Server 2008 w kontekscie umów SLA
PLSSUG Meeting - Wysoka dostepność SQL Server 2008 w kontekscie umów SLA
 
Lets Flex the WEB 4
Lets Flex the WEB 4Lets Flex the WEB 4
Lets Flex the WEB 4
 
Prezentacja o X11
Prezentacja o X11Prezentacja o X11
Prezentacja o X11
 
WebDeveloper - Yesterday, Today, Tomorrow
WebDeveloper - Yesterday, Today, TomorrowWebDeveloper - Yesterday, Today, Tomorrow
WebDeveloper - Yesterday, Today, Tomorrow
 
4Developers 2015: Frameworki jee vs cross-site scripting (xss) - Piotr Bucki
4Developers 2015: Frameworki jee vs cross-site scripting (xss) - Piotr Bucki4Developers 2015: Frameworki jee vs cross-site scripting (xss) - Piotr Bucki
4Developers 2015: Frameworki jee vs cross-site scripting (xss) - Piotr Bucki
 
Jaki framework wybrać
Jaki framework wybraćJaki framework wybrać
Jaki framework wybrać
 
Back to the roots – słów kilka o optymalizacji stron
Back to the roots – słów kilka o optymalizacji stronBack to the roots – słów kilka o optymalizacji stron
Back to the roots – słów kilka o optymalizacji stron
 
Antologia Webdevelopera (9.12.2006)
Antologia Webdevelopera (9.12.2006)Antologia Webdevelopera (9.12.2006)
Antologia Webdevelopera (9.12.2006)
 

More from Paweł Harajda

Olcamp v18 Project Managment
Olcamp v18 Project ManagmentOlcamp v18 Project Managment
Olcamp v18 Project ManagmentPaweł Harajda
 
“Jak zbudować biznes internetowy w oparciu o listy mailingowe.” - Grzegorz Figoń
“Jak zbudować biznes internetowy w oparciu o listy mailingowe.” - Grzegorz Figoń“Jak zbudować biznes internetowy w oparciu o listy mailingowe.” - Grzegorz Figoń
“Jak zbudować biznes internetowy w oparciu o listy mailingowe.” - Grzegorz FigońPaweł Harajda
 
“Startupy i pierwsze kontakty z mediami. Jak to robić skutecznie.” - Maciej B...
“Startupy i pierwsze kontakty z mediami. Jak to robić skutecznie.” - Maciej B...“Startupy i pierwsze kontakty z mediami. Jak to robić skutecznie.” - Maciej B...
“Startupy i pierwsze kontakty z mediami. Jak to robić skutecznie.” - Maciej B...Paweł Harajda
 
Inżynieria Partyzancka
Inżynieria PartyzanckaInżynieria Partyzancka
Inżynieria PartyzanckaPaweł Harajda
 
Prywatność a prawa autorskie w dobie Internetu
Prywatność a prawa autorskie w dobie InternetuPrywatność a prawa autorskie w dobie Internetu
Prywatność a prawa autorskie w dobie InternetuPaweł Harajda
 
Prezentacja Linuxcamp.pl
Prezentacja Linuxcamp.plPrezentacja Linuxcamp.pl
Prezentacja Linuxcamp.plPaweł Harajda
 
Ciągła Integracja W Projekcie - Metodyka I Narzędzia
Ciągła Integracja W Projekcie - Metodyka I NarzędziaCiągła Integracja W Projekcie - Metodyka I Narzędzia
Ciągła Integracja W Projekcie - Metodyka I NarzędziaPaweł Harajda
 
Jak Nie Robić Prezentacji
Jak Nie Robić PrezentacjiJak Nie Robić Prezentacji
Jak Nie Robić PrezentacjiPaweł Harajda
 

More from Paweł Harajda (13)

Olcamp v18 Project Managment
Olcamp v18 Project ManagmentOlcamp v18 Project Managment
Olcamp v18 Project Managment
 
Olcamp 2010
Olcamp 2010Olcamp 2010
Olcamp 2010
 
“Jak zbudować biznes internetowy w oparciu o listy mailingowe.” - Grzegorz Figoń
“Jak zbudować biznes internetowy w oparciu o listy mailingowe.” - Grzegorz Figoń“Jak zbudować biznes internetowy w oparciu o listy mailingowe.” - Grzegorz Figoń
“Jak zbudować biznes internetowy w oparciu o listy mailingowe.” - Grzegorz Figoń
 
“Startupy i pierwsze kontakty z mediami. Jak to robić skutecznie.” - Maciej B...
“Startupy i pierwsze kontakty z mediami. Jak to robić skutecznie.” - Maciej B...“Startupy i pierwsze kontakty z mediami. Jak to robić skutecznie.” - Maciej B...
“Startupy i pierwsze kontakty z mediami. Jak to robić skutecznie.” - Maciej B...
 
Inżynieria Partyzancka
Inżynieria PartyzanckaInżynieria Partyzancka
Inżynieria Partyzancka
 
Prywatność a prawa autorskie w dobie Internetu
Prywatność a prawa autorskie w dobie InternetuPrywatność a prawa autorskie w dobie Internetu
Prywatność a prawa autorskie w dobie Internetu
 
Prezentacja Linuxcamp.pl
Prezentacja Linuxcamp.plPrezentacja Linuxcamp.pl
Prezentacja Linuxcamp.pl
 
Stylespace.pl
Stylespace.plStylespace.pl
Stylespace.pl
 
Olsztyn 2.0
Olsztyn 2.0Olsztyn 2.0
Olsztyn 2.0
 
Podstawy SEO
Podstawy SEOPodstawy SEO
Podstawy SEO
 
Ciągła Integracja W Projekcie - Metodyka I Narzędzia
Ciągła Integracja W Projekcie - Metodyka I NarzędziaCiągła Integracja W Projekcie - Metodyka I Narzędzia
Ciągła Integracja W Projekcie - Metodyka I Narzędzia
 
Web Cache
Web CacheWeb Cache
Web Cache
 
Jak Nie Robić Prezentacji
Jak Nie Robić PrezentacjiJak Nie Robić Prezentacji
Jak Nie Robić Prezentacji
 

Optymalizacja Serwisów WWW

  • 1. Piotr Jasiulewicz OPTYMALIZACJA SERWISÓW WWW CZ. II
  • 2. Co, jak, gdzie?  Na czym i jak oszczędzać?  Nie płać za coś co możesz mieć za darmo.  Jakich technologii użyć i czemu akurat XSL + XML. „80% zysku wyciągami z optymalizacji 20% serwisu WWW” Dział optymalizacji Yahoo!
  • 3. Po co optymalizować?  500 ms wolniej - 20% spadku ruchu (Google)  400 ms wolniej – 5-9% spadku ruchu na pełnej stronie* (Yahoo!)  100 ms wolniej – 1% spadek sprzedaży (Amazon) *User wychodzi zanim załaduje się cała strona
  • 4. Łącz pliki, będzie szybciej! •Zmniejszając ilość requestów HTTP, można znacznie przyspieszyć ładowanie strony.
  • 5. Jak oszczędzać łącze?  Używaj kompresji GZIP / Deflate  Szeroko obsługiwane  Bardzo łatwe we wdrożeniu Rodzaj Bez Serwis kompresji kompresji Z kompresją % 70.3 www.fotka.pl Gzip 31,239 9,273 17.0 www.nasza-klasa.pl Gzip 230 191 69.2 www.figgy.pl Gzip 11,043 3,399 0.0 forum.php.pl - 51,702 ~9,6
  • 6. Korzystaj z pomocy innych  Google umożliwia serwowanie js ‘ów  jQuery  jQuery UI  Prototype  script.aculo.us  MooTools  Dojo  SWFObject  Yahoo! User Interface Library (YUI)  Banalne we wdrożeniu
  • 7. Przenieś Feedy RSS  RSS potrafi „zjeść” ponad 50% transferu małego serwisu  Użyj redirecta, oszczędzaj transfer! RewriteCond User-Agent: (?!FeedBurner).* RewriteRule .*index.xml$|.*index.rdf$|.*atom.xml$ http://feeds.feedburner.com/codinghorror/ [I,RP,L]
  • 8. Masz galerię, serwuj z S3  Zaoszczędzisz dużo łącza ( pieniędzy )  Zaoszczędzisz na infrastrukturze ( dyski )  Polepszysz „user experience”  Nie zbudujesz lepszej infrastruktury :-]  Dość łatwe we wdrożeniu
  • 9. Jaki obrazek? •Średnio ~50% Serwis % tego co pobierasz obrazków to obrazki ! Yahoo! 29% Google 75% YouTube 62% •Potencjalnie duży Live.com 64% Wikipedia 39% zysk do Facebook 35% osiągnięcia w łatwy sposób.
  • 10. Jaki obrazek?  Wybieraj PNG zamiast GIF  Zaoszczędzisz średnio ~20%! GIF PNG PNG (Palette) (Truecolor) 256 256 do 48 bitów Ilość kolorów binarna alpha alpha Przeźroczystość Kompatybilność z Prawie wszystkie Wszystkie Wszystkie przeglądarkami quot;uznawanequot; quot;uznawanequot; Animacja Tak Nie Nie
  • 11. Jaki obrazek? •Nie bez Serwis % powodu duże gif do png serwisy nie Yahoo! 9,55% stosują tak Google 22,95% YouTube 33.82% szeroko gif’ów. Live.com 19,93% Wikipedia - Facebook 17,47% •Wikipedia nie używa gif’ów!
  • 12. Jaki obrazek?  Zgniatanie PNG – PNG Crushing to dodatkowa oszczędność!  pngcrush http://pmt.sourceforge.net/pngcrush/  Pngrewrite http://entropymine.com/jason/pngrewrite/  OptiPNG http://optipng.sourceforge.net Przykład: optipng −i1 −o7 −v −full −sim experiment.png −log experiment.log
  • 13. Jaki obrazek?  JPEG zawiera mnóstwo zbędnych informacji  Komentarze  Exif  Dodatkowe dane z aplikacji np. Adobe Photoshop  Inne ( miniaturki, audio )  Od tego jak zapiszemy JPEG’a zależy jego wyświetlanie na stronie!
  • 14. Jaki obrazek?  Do małych obrazków, miniaturek używaj jpeg baseline/sequential.
  • 15. Jaki obrazek?  Do dużych zdjęć używaj jpeg progressive! (10K+)
  • 16. Jaki obrazek?  Możesz używać Base64 ( IE sprawia problemy ) <img src=quot;data:image/gif;base64,R0lGODlhUAAPAKIAAAsLav/// 88PD9WqsYmApmZmZtZfYmdakyH5BAQUAP8ALAAAAA BQAA8AAAPb WLrc/jDKSVe4OOvNu/9gqARDSRBHegyGMahqO4R0bQcjI Q8E4BMCQc930JluyGRmdAAcdiigMLVr ApTYWy5FKM1IQe+Mp+L4rphz+qIOBAUYeCY4p2tGrJZeH 9y79mZsawFoaIRxF3JyiYxuHiMGb5KT kpFvZj4ZbYeCiXaOiKBwnxh4fnt9e3ktgZyHhrChinONs3cF AShFF2JhvCZlG5uchYNun5eedRxM AF15XEFRXgZWWdciuM8GCmdSQ84lLQfY5R14wDB5Lyo n4ubwS7jx9NcV9/j5+g4JADs= quot; alt=quot;British Blog Directoryquot; width=quot;80quot; height=quot;15quot; />
  • 17. Używaj dwóch domen  Domena do zawartości dynamicznej („www.”)  Np.: HTML/XML, .xsl  Domena do zawartości statycznej (np. „s.”)  Cookie-free  Np.:.jpg, .gif,.png, .css , .js …
  • 18. Ustawiaj wygasanie pliku…  Pliki w zasadzie się nie zmieniają  Oszczędzasz łącze  Proste we wprowadzeniu „Expires: Thu, 01 Dec 2010 16:00:00 GMT” „Last-Modified: Wed, 15 Nov 1995 04:58:08 GMT „
  • 19. Skonfiguruj ETagi  Konfiguracja Entity tags może zmniejszyć obciążenie łącza GET /i/yahoo.gif HTTP/1.1 Host: us.yimg.com If-Modified-Since: Tue, 12 Dec 2006 03:03:59 GMT If-None-Match: quot;10c24bc-4ab-457e1c1fquot; HTTP/1.1 304 Not Modifie
  • 20. Trzymaj usera na bieżąco  Wersjonowanie plików  Pozawala na szybkie wprowadzanie zmian  Obchodzi cache przeglądarek  Stosunkowo łatwe we wdrożeniu a) STYLE.223.CSS b) STYLE.CSS:223 a) Logo.12.png b) Logo.png:12
  • 24. Nie bójmy się niestandardów  Brak zgodności z W3C niewiele znaczy  Kod ma dobrze działać/wyglądać dla usera, a nie w „Pokaż źródło”  Kod Google.pl:
  • 25. Co to XML/XSLT?  XSL z ang. Extensible Stylesheet Language  Formatuje dokumenty XML na dokumenty xHTML lub inne dokumenty XML  Na XSL składa się:  XSLT  XPath  Inne
  • 26. Co daje XML/XSLT?  Upraszcza kod wprowadzając część MVC
  • 27. Co daje XML/XSLT?  Przykład prostego połączenia XML z XSL XML XSL
  • 28. Co daje XML/XSLT?  Dzięki importowaniu xsli wykorzystujemy dany stylesheet na całym serwisie  Jeden prosty wpis wystarcza, aby połaczyć dwa pliki xsl’a: <xsl:import href=quot;xsl.xslquot;/>
  • 29. Co daje XML/XSLT?  Zysk jaki osiągamy używając technologii XML/XSLT Rozmiar ( KB ) 18 XML mojego profilu na fotce 36 XSL profilu 171 XSL główny 68 xHTML mojego profilu
  • 30. Co daje XML/XSLT?  Wbrew pozorom oszczędność nie jest liniowa! Oszczędność 150 100 50 0 Oszczędność 1 2 3 4 5 6 7 8 9 10 -50 -100 -150 -200
  • 31. XML/XSLT vs SMARTY XML / XSLT SMARTY Client-side Server-side Pozwala prowadzić MVC Pozwala prowadzić MVC Prosty do nauczenia Prosty do nauczenia Używa cache przeglądarki Nie używa cache przeglądarki Zasadniczo oszczędza łącze Zasadniczo nic nie oszczędza Może wymagać dostępu do serwera Nie musi wymagać dostepu do serwera Czasem trzeba wysłać jako Zawsze trzeba wysłać jako przeparsowaną treść przeparsowaną treść
  • 32. Potencjalne problemy XSL’a  Kompatybilność  Stare przeglądarki ( np.: IE 5 )  Opera i POST  Urządzenia mobilne  Narzut przy przetwarzaniu server-side
  • 33. „Gdyby liczyła sie ilość, to McDonald’s byłby najlepszą restauracją na świecie.” DZIĘKI ZA UWAGĘ!