jeszcze-wydajniejsze-witryny-internetowe.-przyspieszanie-dzialania-serwisow-www pełna wersja.pdf

(12450 KB) Pobierz
887655289.001.png
3.
Rozdzielanieprzesyanejzawartoci ......................................................................... 39
Niewszystkonaraz
39
Oszczdnocizpodziau
40
Sposóbpodziau
41
Niezdefiniowanesymboleisytuacjewycigu
42
Studiumprzypadku:GoogleCalendar
43
4.
Wczytywanieskryptówbezblokowania ...................................................................45
Blokowanieskryptów
45
Technikipobieraniaskryptów
47
XHREval
47
XHRInjection
48
SkryptwIFrame
49
SkryptwelemencieDOM
50
Skryptodroczony
50
ZnacznikSCRIPTwinstrukcjidocument.write
50
Wskanikizajtociprzegldarki
51
Zapewnianie(lubunikanie)wykonywaniawkolejnoci
53
Podsumowaniewyników
54
Zwycizczostaje…
55
5.
czenieskryptówasynchronicznych ........................................................................ 59
Przykadkodu:menu.js
60
Sytuacjawycigu
62
Asynchronicznezachowaniekolejnoci
63
Technika1.:Wywoaniezwrotneustalone
64
Technika2.:WindowOnload
65
Technika3.:Timer
66
Technika4.:ScriptOnload
66
Technika5.:Degradujceznacznikiskryptu
67
Wieleskryptówzewntrznych
69
ZarzdzanykodXHR
70
TechnikiskryptuwelemencieDOMiskryptuwinstrukcjidocument.write
73
Ogólnerozwizanie
76
Pojedynczyskrypt
76
Wieleskryptów
77
Asynchronicznowpraktyce
79
GoogleAnalyticsiDojo
79
YUILoaderUtility
81
6.
Pozycjonowanieskryptówosadzonych .....................................................................85
Blokujcedziaanieskryptówosadzonych
85
Przeniesienieskryptówosadzonychnakoniecdokumentu
86
Asynchroniczneinicjowaniewykonywaniaskryptów
87
UycieSCRIPTDEFER
88
ZachowywaniekolejnociwczytywaniaCSSikoduJavaScript
89
4
Spistreci
!
Niebezpieczestwo:arkuszstylówprzedskryptemosadzonym
90
Skryptyosadzoneniesblokowaneprzezwikszopobiera
90
Skryptyosadzonesblokowaneprzezarkuszestylów
91
Takierzeczysizdarzaj
92
7.
PisaniewydajnegokoduJavaScript............................................................................ 95
Zarzdzaniezasigiem
95
Stosowaniezmiennychlokalnych
97
Powikszanieacuchazasigu
98
Wydajnydostpdodanych
100
Sterowanieprzepywem
103
Szybkiewarunkowanie
103
Szybkieptle
107
Optymalizacjaacuchówznakowych
112
Konkatenacjaacuchów
112
Przycinanieacuchów
114
Unikajskryptówodugimczasiedziaania
115
Wprowadzanieprzerwprzyuyciutimerów
116
Wzorcetimerówdowprowadzaniaprzerw
118
Podsumowanie
120
8.
SkalowanieprzyuyciuComet ................................................................................. 123
JakdziaaComet?
123
Technikitransportowe
125
Odpytywanie
125
Wyduoneodpytywanie
125
Wiecznaramka
127
StrumieniowanieXHR
128
Technikitransportoweprzyszoci
130
Rozwizaniamidzydomenowe
130
Efektywdroeniawaplikacjach
131
Zarzdzaniepoczeniami
131
Pomiarwydajnoci
132
Protokoy
132
Podsumowanie
133
9.
Nietylkogzip ............................................................................................................. 135
Dlaczegotomaznaczenie?
135
Cojesttegopowodem?
137
Szybkiprzegld
137
Winowajca
137
Przykadypopularnychówichpodsuchiwaczy
138
Jakpomóctymuytkownikom?
138
Projektowaniepodktemzminimalizowania
rozmiarównieskompresowanychdanych
139
Edukowanieuytkowników
143
Bezporedniewykrywanieobsugigzip
144
Spistreci
5
!
10.
Optymalizacjagrafiki ................................................................................................ 147
Dwaetapyupraszczajceoptymalizacjgrafiki
148
Formatyplikówgraficznych
149
Informacjewstpne
149
Charakterystykarónychformatówgraficznych
151
WicejoPNG
153
Automatycznabezstratnaoptymalizacjagrafiki
155
OptymalizacjaplikówPNG
155
UsuwaniemetadanychJPEG
156
KonwersjaplikówGIFdoformatuPNG
157
OptymalizacjaanimacjiGIF
158
Smush.it
158
ProgresywnawersjaformatuJPEGdladuychgrafik
158
Przezroczystostopniowana—unikajAlphaImageLoader
159
Efektyprzezroczystocistopniowanej
159
AlphaImageLoader
161
ProblemyzwizanezfiltremAlphaImageLoader
162
ProgresywnerozszerzeniePNG8oprzezroczystostopniowan
164
Optymalizacja
165
Podejciecaociowekontrapodejciemoduowe
166
WysocezoptymalizowaneobrazyCSSSprite
167
Inneoptymalizacjegrafiki
167
Unikajskalowaniagrafiki
168
Optymalizujgrafikigenerowane
168
Ikonyfavicon
169
IkonaAppletouch
170
Podsumowanie
171
11.
Rozdzielaniezasobównawieledomen ....................................................................173
ciekakrytyczna
173
Ktorozdzielazasoby?
175
PrzejcienaHTTP/1.0
177
Rozdzielaniezasobów
179
AdresIPczynazwahosta?
179
Iledomen?
180
Jakpodzielizasoby?
180
Nowszeprzegldarki
180
12.
Wczeniejszewysyaniedokumentu.........................................................................181
Funkcjaflush
181
Buforowaniedanychwyjciowych
183
Kodowanieporcjami
185
Funkcjaflushikompresjagzip
186
Inneoprogramowanieporedniczce
186
Blokowaniedomenprzyuywaniufunkcjiflush
187
Przegldarki—ostatniaprzeszkoda
188
FunkcjaflushpozaPHP
188
Listakontrolna
189
6
Spistreci
!
13.
OszczdnewykorzystanieelementówIFrame ......................................................... 191
NajbardziejkosztownyelementDOM
191
ElementyIFrameblokujzdarzenieonload
192
RównolegepobieraniazelementamiIFrame
194
SkryptprzedelementemIFrame
194
ArkuszstylówprzedelementemIFrame
195
ArkuszstylówzaelementemIFrame
196
Liczbapoczenaserwer
197
WspódzieleniepoczewelementachIFrame
197
Wspódzieleniepoczewkartachioknach
198
PodsumowaniekosztuelementówIFrame
200
14.
UpraszczanieselektorówCSS ................................................................................... 201
Rodzajeselektorów
201
Selektoryidentyfikatora
202
Selektoryklas
202
Selektorytypu
203
Selektorybraci
203
Selektorydziecka
203
Selektorypotomka
203
Selektoryuniwersalne
203
Selektoryatrybutu
204
Pseudoklasyipseudoelementy
204
KluczdotworzeniawydajnychselektorówCSS
204
Odprawejdolewej
204
PisaniewydajnychselektorówCSS
205
WydajnoselektorówCSS
206
Wpywzoonychselektorównawydajno(czasami)
206
SelektoryCSS,którychnaleyunika
209
Czasdopasowywania
211
PomiarselektorówCSSwpraktyce
211
DodatekANarzdziadoanalizyipoprawywydajnoci .................................................... 213
Narzdzianasuchujce
214
HttpWatch
214
PanelSiedodatkuFirebug
215
AOLPagetest
215
VRTA
216
IBMPageDetailer
216
PanelResourcesnarzdziaWebInspector
216
Fiddler
216
Charles
217
Wireshark
217
NarzdziadoanalizystronWWW
217
Firebug
217
WebInspector
218
IEDeveloperToolbar
219
Spistreci
7
!
Zgłoś jeśli naruszono regulamin