|

SZYBSZA SIEĆ Z JĘZYKAMI PHP MYSQL I JAVASCRIPT ZAAWANSOWANE APLIKACJE Z WYKORZYSTANIEM NAJNOWSZYCH TECHNOLOGII
CAYA A. wydawnictwo: HELION , rok wydania 2019, wydanie Icena netto: 47.10 Twoja cena 44,75 zł + 5% vat - dodaj do koszyka Szybsza
Sieć z językami PHP MySQL i JavaScript
Zaawansowane aplikacje z
wykorzystaniem najnowszych technologii
Termin
Szybsza Sieć (ang. Faster Web) powstał stosunkowo niedawno. Koncepcja
ta skupia się na rozwijaniu wszystkich elementów technologii
internetowych oraz interfejsu użytkownika, tak aby przyśpieszyć
interakcję między klientem a serwerem oraz działanie samej aplikacji.
Efektem tych optymalizacji powinna być poprawa jakości pracy systemu.
Aby w pełni przyswoić ideę Szybszej Sieci, trzeba dobrze zrozumieć
takie pojęcia jak wydajność, efektywność i postrzegana wydajność.
Konieczne jest również opanowanie większości nowych
technologii webowych.
Dzięki tej książce dowiesz
się, w jaki sposób poprawić działanie każdej aplikacji WWW,
aby odpowiadała kryteriom Szybszej Sieci.
Wkrótce rozpoczniesz pracę z najnowszymi narzędziami do
mierzenia wydajności, profilowania i monitorowania dla PHP, MySQL i
JavaScriptu. Omówiono tu wszystkie istotne zagadnienia
związane z ideą Szybszej Sieci, w tym optymalizację kodu PHP 7,
programowanie asynchroniczne i programowanie funkcyjne w JavaScripcie.
Sporo miejsca poświęcono najlepszym strategiom optymalizacji. Opisano
też techniki profilowania skryptów, pomiaru wydajności bazy
danych, optymalizacji zapytań SQL oraz podnoszenia wydajności serwera
WWW. Przekonasz się, że dzięki optymalizacji można przekraczać granice
efektywności aplikacji!
W
tej książce między innymi:
wprowadzenie
do koncepcji Szybszej Sieci i jej formalne aspekty
monitorowanie
i profilowanie w środowisku ciągłej integracji
potencjał
struktur danych PHP 7
optymalizacja
baz danych i nowoczesne techniki języka SQL
najnowsze
osiągnięcia JavaScriptu
wpływ
odpowiedniego projektu interfejsu użytkownika na wydajność aplikacji
Przekraczaj
granice wydajności. Projektuj szybszy kod!
Andrew Caya
— od 30 lat zajmuje się programowaniem, specjalizuje się w
PHP, kodował też w C, C++, Perlu. Otrzymał tytuły Zend Certified PHP
Engineer i Zend Certified Architect. Jest twórcą dystrybucji
Linux for PHP i głównym programistą popularnego rozszerzenia
do systemu Joomla! Obecnie jest prezesem w założonej przez siebie
firmie Foreach Code Factory oraz autorem i recenzentem technicznym w
wydawnictwie Packt Publishing.
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
216
stron, Format: 17.0x24.0cm, oprawa miękka
Po otrzymaniu zamówienia poinformujemy, czy wybrany tytuł polskojęzyczny lub
anglojęzyczny jest aktualnie na półce księgarni.
|