Szybsza Sieć z językami PHP, MySQL i JavaScript. Zaawansowane aplikacje z wykorzystaniem najnowszych technologii
SPIS TREŚCI
Przedmowa 9
O autorze 11
O recenzentach 12
Wstęp 13
Rozdział 1. Wprowadzenie do koncepcji Szybszej Sieci 17
- Istota Szybszej Sieci 18
- Pojęcie Szybszej Sieci a wydajność 18
- Pomiar Szybszej Sieci 19
- Instalacja i konfiguracja użytecznych narzędzi 30
- Podsumowanie 40
- Bibliografia 41
Rozdział 2. Ciągłe profilowanie i monitorowanie 43
- Czym jest Blackfire.io? 43
- Instalacja i konfiguracja narzędzia Blackfire.io 44
- Ręczne profilowanie za pomocą Blackfire.io 50
- Testy wydajnościowe przy użyciu Blackfire.io 56
- Monitorowanie wydajności dzięki TICK Stack 58
- Podsumowanie 70
- Bibliografia 70
Rozdział 3. Korzystanie z potencjału struktur danych i funkcji PHP 7 71
- Usprawnienia języka PHP 7 72
- Silne typowanie 72
- Tablice niemodyfikowalne i upakowane 75
- Przydział pamięci na liczby całkowite i zmiennoprzecinkowe 77
- Interpolacja i łączenie ciągów znaków 78
- Referencje w parametrach 79
- Identyfikacja dalszych możliwych optymalizacji 81
- Programowanie funkcyjne oraz spamiętywanie 87
- Podsumowanie 91
- Bibliografia 91
Rozdział 4. Wybiegamy w przyszłość dzięki asynchronicznemu kodowi PHP 93
- Asynchroniczna i nieblokująca obsługa wejścia/wyjścia 94
- Wielowątkowość z użyciem biblioteki pthreads 102
- Korzystanie z biblioteki ReactPHP 105
- Podsumowanie 112
Rozdział 5. Pomiar i optymalizacja wydajności bazy danych 113
- Wydajność zapytań SQL 113
- Struktura indeksów 113
- Plan wykonania zapytań 115
- Podstawowa optymalizacja zapytań 117
- Schemat wydajności i zaawansowana optymalizacja zapytań 120
- Zaawansowane narzędzia do testowania 125
- DBT2 125
- SysBench 129
- Podsumowanie 131
Rozdział 6. Efektywne zapytania do bazy danych w Nowoczesnym SQL-u 133
- Nowoczesny SQL 133
- Definicja 134
- Podsumowanie 150
Rozdział 7. Język JavaScript i programowanie sterowane zagrożeniami 151
- Obiekt globalny i zmienne lokalne 152
- Unikanie zmiennych globalnych 152
- Obliczanie wartości zmiennych lokalnych 155
- Unikanie szkodliwych wyrażeń i zwracanie uwagi na najsłabsze strony języka 155
- Szkodliwe wyrażenia 155
- Szkodliwe konstrukcje: instrukcja with 156
- Szkodliwe konstrukcje: instrukcja eval 156
- Szkodliwe konstrukcje: try-catch-finally 157
- Unikanie nieefektywnych pętli 157
- Lintery i tryb ścisły 159
- Efektywne korzystanie z modelu DOM 160
- Modyfikacja drzewa dokumentu 160
- Zmienianie niewidocznego elementu 161
- Dokonywanie zmian stylów 161
- Wyszukiwanie węzłów 162
- Badanie dużej liczby węzłów 163
- Zarządzanie referencjami do innych dokumentów 163
- Buforowanie wartości z modelu DOM 163
- Strukturyzowanie i ładowanie aplikacji JavaScript 164
- Ograniczanie czasochłonnych operacji 164
- Oczyszczanie, minifikacja i kompresowanie zasobów 164
- Ładowanie zasobów strony 165
- Buforowanie zasobów strony 165
- Podsumowanie 165
Rozdział 8. Funkcyjny JavaScript 167
- Upraszczanie funkcji 167
- Zasady programowania funkcyjnego 167
- Funkcje jako typy pierwszoklasowe 169
- Postępowanie z efektami ubocznymi 169
- Niezmienność 170
- Techniki programowania funkcyjnego 171
- Funkcja map 171
- Funkcja filter 171
- Funkcja reduce 171
- Optymalizacja ogonowa 172
- Inne zapowiadane możliwości języka JavaScript 177
- Funkcje asynchroniczne 177
- Generatory asynchroniczne i pętle for-await-of 177
- Operator potoku 178
- Częściowe wywołanie 178
- Podsumowanie 179
Rozdział 9. Zwiększanie wydajności serwera WWW 181
- MOD_SPDY i HTTP/2 181
- Multipleksowanie i priorytetyzacja strumieni 182
- Wypychanie zasobów przez serwer 182
- Kompresja nagłówków 183
- HTTP/2 183
- PHP-FPM i OPCache 185
- PHP-FPM 185
- Zend OPcache 186
- ESI i Varnish Cache 187
- Edge Side Includes (ESI) 187
- Varnish Cache 190
- Buforowanie po stronie klienta 194
- Buforowanie w przeglądarce 195
- Sieci dystrybucji treści (sieci CDN) 196
- Inne narzędzia związane z ideą Szybszej Sieci 197
- Podsumowanie 200
- Bibliografia 200
Rozdział 10. Przekraczamy granice wydajności 201
- Czas zegarowy i postrzegany 201
- Percepcja szybkości 203
- Rozsądne opóźnienia i czasy odpowiedzi 204
- Zasady i wzory projektowania interfejsu użytkownika 205
- Narzędzia pozwalające przekraczać granice wydajności 207
- Podsumowanie 212
- Bibliografia 212
Skorowidz 213
Opinie
Na razie nie ma opinii o produkcie.