Jeszcze wydajniejsze witryny internetowe. Przyspieszanie działania serwisów WWW - Helion
Tytuł oryginału: Even Faster Web Sites: Performance Best Practices for Web Developers
Tłumaczenie: Leszek Sagalara
ISBN: 978-83-246-4998-3
stron: 240, Format: ebook
Data wydania: 2012-02-28
Księgarnia: Helion
Cena książki: 21,45 zł (poprzednio: 39,00 zł)
Oszczędzasz: 45% (-17,55 zł)
Poznaj najlepsze techniki zwiększania wydajności aplikacji internetowych!
- Jak stosować technikę kodowania porcjami w celu szybszego kodowania stron?
- Jak pisać wydajny kod JavaScript?
- Jak rozdzielać zasoby na wiele domen?
Wydajność witryny stanowi jeden z podstawowych czynników jej sukcesu w sieci. Jednak bogactwo treści i popularność technologii Ajax w dzisiejszych aplikacjach internetowych wystawiają przeglądarki na ciężką próbę. W tej sytuacji potrzebujesz profesjonalnych informacji i skutecznych metod zwiększających wydajność Twojej strony WWW. Jeśli chcesz ją poprawić, powinieneś skorzystać z tej książki, ponieważ znajdziesz tu mnóstwo wartościowych technik, które pomogą Ci zoptymalizować działanie każdej aplikacji.
Książka "Jeszcze wydajniejsze witryny internetowe. Przyspieszanie działania serwisów WWW" zawiera najbardziej aktualne porady, dzięki którym Twoja witryna otrzyma nowy zastrzyk energii. Z tego podręcznika dowiesz się, w jaki sposób Ajax wpływa na interakcję przeglądarek i serwerów, oraz nauczysz się wykorzystywać tę relację w celu identyfikacji elementów służących do poprawy wydajności aplikacji. Poznasz metody łączenia kodu osadzonego ze skryptami asynchronicznymi oraz kilka specyficznych technik przyspieszania JavaScriptu. Dzięki tej książce będziesz wiedział, jak zaoszczędzić cenne sekundy przez skrócenie czasu wczytywania, a także sprawisz, że Twoja witryna będzie działać jeszcze szybciej.
- Tworzenie responsywnych aplikacji WWW
- Wczytywanie skryptów bez blokowania
- Łączenie skryptów asynchronicznych
- Pozycjonowanie skryptów osadzonych
- Pisanie wydajnego kodu JavaScript
- Skalowanie przy użyciu Comet
- Optymalizacja grafiki
- Rozdzielanie zasobów na wiele domen
- Upraszczanie selektorów CSS
Szybkość ma znaczenie — zwiększ wydajność swojej strony WWW
Osoby które kupowały "Jeszcze wydajniejsze witryny internetowe. Przyspieszanie działania serwisów WWW", wybierały także:
- Tkinter GUI Application Development Blueprints, Second Edition 157,37 zł, (29,90 zł -81%)
- Mastering SVG 135,91 zł, (29,90 zł -78%)
- Fixing Bad UX Designs 124,58 zł, (29,90 zł -76%)
- Python Web Scraping Cookbook 124,58 zł, (29,90 zł -76%)
- Hands-On Chatbots and Conversational UI Development 124,58 zł, (29,90 zł -76%)
Spis treści
Jeszcze wydajniejsze witryny internetowe. Przyspieszanie działania serwisów WWW eBook -- spis treści
Współautorzy (9)
Przedmowa (11)
1. Wydajność technologii Ajax (19)
- Coś za coś (19)
- Zasady optymalizacji (20)
- Ajax (22)
- Przeglądarka (22)
- Fajerwerki (23)
- JavaScript (24)
- Podsumowanie (24)
2. Tworzenie responsywnych aplikacji WWW (25)
- Co to znaczy "wystarczająco szybko"? (27)
- Pomiar opóźnienia (28)
- Gdy opóźnienia są zbyt duże (30)
- Wątkowanie (30)
- Zapewnienie responsywności (31)
- Web Workers (31)
- Gears (32)
- Timery (33)
- Wpływ zużycia pamięci na czas odpowiedzi (34)
- Pamięć wirtualna (35)
- Rozwiązywanie problemów związanych z pamięcią (36)
- Podsumowanie (36)
3. Rozdzielanie przesyłanej zawartości (39)
- Nie wszystko naraz (39)
- Oszczędności z podziału (40)
- Sposób podziału (41)
- Niezdefiniowane symbole i sytuacje wyścigu (42)
- Studium przypadku: Google Calendar (43)
4. Wczytywanie skryptów bez blokowania (45)
- Blokowanie skryptów (45)
- Techniki pobierania skryptów (47)
- XHR Eval (47)
- XHR Injection (48)
- Skrypt w IFrame (49)
- Skrypt w elemencie DOM (50)
- Skrypt odroczony (50)
- Znacznik SCRIPT w instrukcji document.write (50)
- Wskaźniki zajętości przeglądarki (51)
- Zapewnianie (lub unikanie) wykonywania w kolejności (53)
- Podsumowanie wyników (54)
- Zwycięzcą zostaje... (55)
5. Łączenie skryptów asynchronicznych (59)
- Przykład kodu: menu.js (60)
- Sytuacja wyścigu (62)
- Asynchroniczne zachowanie kolejności (63)
- Technika 1.: Wywołanie zwrotne ustalone (64)
- Technika 2.: Window Onload (65)
- Technika 3.: Timer (66)
- Technika 4.: Script Onload (66)
- Technika 5.: Degradujące znaczniki skryptu (67)
- Wiele skryptów zewnętrznych (69)
- Zarządzany kod XHR (70)
- Techniki skryptu w elemencie DOM i skryptu w instrukcji document.write (73)
- Ogólne rozwiązanie (76)
- Pojedynczy skrypt (76)
- Wiele skryptów (77)
- Asynchroniczność w praktyce (79)
- Google Analytics i Dojo (79)
- YUI Loader Utility (81)
6. Pozycjonowanie skryptów osadzonych (85)
- Blokujące działanie skryptów osadzonych (85)
- Przeniesienie skryptów osadzonych na koniec dokumentu (86)
- Asynchroniczne inicjowanie wykonywania skryptów (87)
- Użycie SCRIPT DEFER (88)
- Zachowywanie kolejności wczytywania CSS i kodu JavaScript (89)
- Niebezpieczeństwo: arkusz stylów przed skryptem osadzonym (90)
- Skrypty osadzone nie są blokowane przez większość pobierań (90)
- Skrypty osadzone są blokowane przez arkusze stylów (91)
- Takie rzeczy się zdarzają (92)
7. Pisanie wydajnego kodu JavaScript (95)
- Zarządzanie zasięgiem (95)
- Stosowanie zmiennych lokalnych (97)
- Powiększanie łańcucha zasięgu (98)
- Wydajny dostęp do danych (100)
- Sterowanie przepływem (103)
- Szybkie warunkowanie (103)
- Szybkie pętle (107)
- Optymalizacja łańcuchów znakowych (112)
- Konkatenacja łańcuchów (112)
- Przycinanie łańcuchów (114)
- Unikaj skryptów o długim czasie działania (115)
- Wprowadzanie przerw przy użyciu timerów (116)
- Wzorce timerów do wprowadzania przerw (118)
- Podsumowanie (120)
8. Skalowanie przy użyciu Comet (123)
- Jak działa Comet? (123)
- Techniki transportowe (125)
- Odpytywanie (125)
- Wydłużone odpytywanie (125)
- Wieczna ramka (127)
- Strumieniowanie XHR (128)
- Techniki transportowe przyszłości (130)
- Rozwiązania międzydomenowe (130)
- Efekty wdrożenia w aplikacjach (131)
- Zarządzanie połączeniami (131)
- Pomiar wydajności (132)
- Protokoły (132)
- Podsumowanie (133)
9. Nie tylko gzip (135)
- Dlaczego to ma znaczenie? (135)
- Co jest tego powodem? (137)
- Szybki przegląd (137)
- Winowajca (137)
- Przykłady popularnych żółwich podsłuchiwaczy (138)
- Jak pomóc tym użytkownikom? (138)
- Projektowanie pod kątem zminimalizowania rozmiarów nieskompresowanych danych (139)
- Edukowanie użytkowników (143)
- Bezpośrednie wykrywanie obsługi gzip (144)
10. Optymalizacja grafiki (147)
- Dwa etapy upraszczające optymalizację grafiki (148)
- Formaty plików graficznych (149)
- Informacje wstępne (149)
- Charakterystyka różnych formatów graficznych (151)
- Więcej o PNG (153)
- Automatyczna bezstratna optymalizacja grafiki (155)
- Optymalizacja plików PNG (155)
- Usuwanie metadanych JPEG (156)
- Konwersja plików GIF do formatu PNG (157)
- Optymalizacja animacji GIF (158)
- Smush.it (158)
- Progresywna wersja formatu JPEG dla dużych grafik (158)
- Przezroczystość stopniowana - unikaj AlphaImageLoader (159)
- Efekty przezroczystości stopniowanej (159)
- AlphaImageLoader (161)
- Problemy związane z filtrem AlphaImageLoader (162)
- Progresywne rozszerzenie PNG8 o przezroczystość stopniowaną (164)
- Optymalizacja (165)
- Podejście całościowe kontra podejście modułowe (166)
- Wysoce zoptymalizowane obrazy CSS Sprite (167)
- Inne optymalizacje grafiki (167)
- Unikaj skalowania grafiki (168)
- Optymalizuj grafiki generowane (168)
- Ikony favicon (169)
- Ikona Apple touch (170)
- Podsumowanie (171)
11. Rozdzielanie zasobów na wiele domen (173)
- Ścieżka krytyczna (173)
- Kto rozdziela zasoby? (175)
- Przejście na HTTP/1.0 (177)
- Rozdzielanie zasobów (179)
- Adres IP czy nazwa hosta? (179)
- Ile domen? (180)
- Jak podzielić zasoby? (180)
- Nowsze przeglądarki (180)
12. Wcześniejsze wysyłanie dokumentu (181)
- Funkcja flush (181)
- Buforowanie danych wyjściowych (183)
- Kodowanie porcjami (185)
- Funkcja flush i kompresja gzip (186)
- Inne oprogramowanie pośredniczące (186)
- Blokowanie domen przy używaniu funkcji flush (187)
- Przeglądarki - ostatnia przeszkoda (188)
- Funkcja flush poza PHP (188)
- Lista kontrolna (189)
13. Oszczędne wykorzystanie elementów IFrame (191)
- Najbardziej kosztowny element DOM (191)
- Elementy IFrame blokują zdarzenie onload (192)
- Równoległe pobierania z elementami IFrame (194)
- Skrypt przed elementem IFrame (194)
- Arkusz stylów przed elementem IFrame (195)
- Arkusz stylów za elementem IFrame (196)
- Liczba połączeń na serwer (197)
- Współdzielenie połączeń w elementach IFrame (197)
- Współdzielenie połączeń w kartach i oknach (198)
- Podsumowanie kosztu elementów IFrame (200)
14. Upraszczanie selektorów CSS (201)
- Rodzaje selektorów (201)
- Selektory identyfikatora (202)
- Selektory klas (202)
- Selektory typu (203)
- Selektory braci (203)
- Selektory dziecka (203)
- Selektory potomka (203)
- Selektory uniwersalne (203)
- Selektory atrybutu (204)
- Pseudoklasy i pseudoelementy (204)
- Klucz do tworzenia wydajnych selektorów CSS (204)
- Od prawej do lewej (204)
- Pisanie wydajnych selektorów CSS (205)
- Wydajność selektorów CSS (206)
- Wpływ złożonych selektorów na wydajność (czasami) (206)
- Selektory CSS, których należy unikać (209)
- Czas dopasowywania (211)
- Pomiar selektorów CSS w praktyce (211)
Dodatek A: Narzędzia do analizy i poprawy wydajności (213)
- Narzędzia nasłuchujące (214)
- HttpWatch (214)
- Panel Sieć dodatku Firebug (215)
- AOL Pagetest (215)
- VRTA (216)
- IBM Page Detailer (216)
- Panel Resources narzędzia Web Inspector (216)
- Fiddler (216)
- Charles (217)
- Wireshark (217)
- Narzędzia do analizy stron WWW (217)
- Firebug (217)
- Web Inspector (218)
- IE Developer Toolbar (219)
- Narzędzia do analizy wydajności (219)
- YSlow (220)
- AOL Pagetest (221)
- VRTA (223)
- neXpert (223)
- Różne (224)
- Hammerhead (224)
- Smush.it (225)
- Cuzillion (226)
- UA Profiler (227)
Skorowidz (229)