node.js-w-akcji helion.pdf

(19169 KB) Pobierz
Spis tre ci
Wst p 11
Przedmowa 13
Podzi kowania 15
O ksi ce 17
C
Z
1.1.
1.2.
1.3.
1.4.
1.5.
I. P
ODSTAWY
N
ODE
19
21
23
Node jest zbudowane w oparciu o JavaScript 22
Asynchroniczna i oparta na zdarzeniach: przegl darka internetowa
Asynchroniczny i oparty na zdarzeniach: serwer 25
Aplikacje DIRT 27
Domy lna aplikacja jest typu DIRT 29
1.5.1. Prosty przyk ad aplikacji asynchronicznej 30
1.5.2. Serwer HTTP 30
1.5.3. Strumieniowanie danych 32
Podsumowanie 33
Rozdzia 1. Witamy w Node.js
1.6.
Rozdzia 2. Tworzenie aplikacji wielopokojowego czatu
2.1.
2.2.
35
2.3.
2.4.
2.5.
2.6.
Ogólny opis aplikacji 36
Wymagania aplikacji i konfiguracja pocz tkowa 38
2.2.1. Obs uga HTTP i WebSocket 39
2.2.2. Tworzenie struktury plików aplikacji 39
2.2.3. Wskazanie zale no ci 40
2.2.4. Instalacja zale no ci 41
Udost pnianie plików HTML, CSS i kodu JavaScript dzia aj cego
po stronie klienta 41
2.3.1. Tworzenie podstawowego serwera plików statycznych 42
2.3.2. Dodanie plików HTML i CSS 45
Obs uga wiadomo ci czatu za pomoc biblioteki Socket.IO 46
2.4.1. Konfiguracja serwera Socket.IO 48
2.4.2. Obs uga zdarze oraz scenariuszy w aplikacji 49
U ycie kodu JavaScript dzia aj cego po stronie klienta do utworzenia
interfejsu u ytkownika aplikacji 54
2.5.1. Przekazywanie do serwera wiadomo ci
oraz da zmiany pokoju lub nazwy u ytkownika 54
2.5.2. Wy wietlenie w interfejsie u ytkownika wiadomo ci
i listy dost pnych pokoi 55
Podsumowanie 58
Kup książkę
Poleć książkę
4
Spis tre ci
Rozdzia 3. Podstawy programowania w Node
3.1.
61
3.2.
3.3.
3.4.
Organizacja i wielokrotne u ycie kodu Node 62
3.1.1. Tworzenie modu u 64
3.1.2. Dostrajanie tworzenia modu u za pomoc module.exports 66
3.1.3. Wielokrotne u ycie modu ów za pomoc katalogu node_modules 68
3.1.4. Zastrze enia 68
Techniki programowania asynchronicznego 69
3.2.1. U ycie wywo a zwrotnych do obs ugi zdarze jednorazowych 71
3.2.2. U ycie emitera zdarze do obs ugi powtarzaj cych si zdarze
74
3.2.3. Wyzwania pojawiaj ce si podczas programowania asynchronicznego
Sekwencja logiki asynchronicznej 84
3.3.1. Kiedy stosowa szeregow kontrol przep ywu? 85
3.3.2. Implementacja szeregowej kontroli przep ywu 86
3.3.3. Implementacja równoleg ej kontroli przep ywu 89
3.3.4. U ycie narz dzi opracowanych przez spo eczno
91
Podsumowanie 92
82
C
Z
4.1.
II. T
WORZENIE APLIKACJI SIECIOWYCH W
N
ODE
95
97
Podstawy dotycz ce serwera HTTP 99
4.1.1. Jak przychodz ce dania HTTP
s przez Node przedstawiane programi cie? 99
4.1.2. Prosty serwer HTTP odpowiadaj cy komunikatem „Witaj, wiecie” 100
4.1.3. Odczyt nag ówków dania i zdefiniowanie nag ówków odpowiedzi 101
4.1.4. Ustawienie kodu stanu odpowiedzi HTTP 102
Tworzenie us ugi sieciowej RESTful 102
4.2.1. Tworzenie zasobów za pomoc
da POST 103
4.2.2. Pobieranie zasobów za pomoc
dania GET 105
4.2.3. Usuni cie zasobu za pomoc
dania DELETE 107
Udost pnianie plików statycznych 108
4.3.1. Tworzenie serwera plików statycznych 109
4.3.2. Obs uga b dów serwera 112
4.3.3. Wyprzedzaj ca obs uga b dów za pomoc wywo ania fs.stat() 113
Akceptacja danych wej ciowych u ytkownika przekazanych
za pomoc formularza sieciowego 114
4.4.1. Obs uga wys anych pól formularza sieciowego 114
4.4.2. Obs uga przekazanych plików za pomoc formidable 118
4.4.3. Sprawdzanie post pu operacji przekazywania plików 122
Zabezpieczanie aplikacji dzi ki u yciu protoko u HTTPS 122
Podsumowanie 124
Rozdzia 4. Tworzenie aplikacji sieciowej w Node
4.2.
4.3.
4.4.
4.5.
4.6.
Rozdzia 5. Przechowywanie danych aplikacji Node
5.1.
Niewymagaj cy serwera magazyn danych 126
5.1.1. Magazyn danych w pami ci 126
5.1.2. Magazyn danych oparty na plikach 127
125
Kup książkę
Poleć książkę
Spis tre ci
5.2.
System zarz dzania relacyjn baz danych
5.2.1. MySQL 131
5.2.2. PostgreSQL 139
Bazy danych typu NoSQL 141
5.3.1. Redis 141
5.3.2. MongoDB 146
5.3.3. Mongoose 149
Podsumowanie 151
130
5
5.3.
5.4.
Rozdzia 6. Framework Connect
6.1.
6.2.
153
6.3.
6.4.
6.5.
6.6.
6.7.
Konfiguracja aplikacji Connect 154
Jak dzia a metoda po rednicz ca frameworka Connect? 155
6.2.1. Metody po rednicz ce wy wietlaj ce danie 156
6.2.2. Metoda po rednicz ca udzielaj ca odpowiedzi
w postaci komunikatu „Witaj, wiecie” 157
Dlaczego kolejno metod po rednicz cych ma znaczenie? 158
6.3.1. Kiedy metoda po rednicz ca nie wywo uje next()? 158
6.3.2. U ycie kolejno ci metod po rednicz cych
do przeprowadzenia uwierzytelnienia 159
Montowanie metody po rednicz cej i serwera 160
6.4.1. Metody po rednicz ce przeprowadzaj ce uwierzytelnianie 161
6.4.2. Metoda po rednicz ca wy wietlaj ca panel administracyjny 162
Tworzenie konfigurowalnej metody po rednicz cej 164
6.5.1. Tworzenie konfigurowalnej metody po rednicz cej logger() 164
6.5.2. Tworzenie metody po rednicz cej router() 166
6.5.3. Tworzenie metody po rednicz cej przeznaczonej
do przepisywania adresów URL 168
U ycie metody po rednicz cej do obs ugi b dów 170
6.6.1. Domy lna obs uga b dów w Connect 170
6.6.2. Samodzielna obs uga b dów aplikacji 171
6.6.3. U ycie wielu metod po rednicz cych przeznaczonych
do obs ugi b dów 172
Podsumowanie 176
Rozdzia 7. Metody po rednicz ce frameworka Connect
7.1.
177
7.2.
Metody po rednicz ce przeznaczone do przetwarzania plików cookie,
danych da i ci gów tekstowych zapyta
179
7.1.1. cookieParser() — przetwarzanie plików cookie 179
7.1.2. bodyParser() — przetwarzanie danych dania 182
7.1.3. limit() — ograniczenie danych dania 184
7.1.4. query() — analizator ci gu tekstowego zapytania 186
Metody po rednicz ce implementuj ce podstawowe funkcje wymagane
przez aplikacj sieciow
187
7.2.1. logger() — rejestracja informacji o daniu 188
7.2.2. favicon() — obs uga ikon favicon 191
7.2.3. methodOverride() — nieprawdziwe metody HTTP 191
7.2.4. vhost() — wirtualny hosting 194
7.2.5. session() — zarz dzanie sesj
195
Kup książkę
Poleć książkę
6
7.3.
Spis tre ci
Metody po rednicz ce zapewniaj ce bezpiecze stwo aplikacji sieciowej 200
7.3.1. basicAuth() — uwierzytelnianie podstawowe HTTP 200
7.3.2. csrf() — ochrona przed atakami typu CSRF 202
7.3.3. errorHandler() — obs uga b dów w trakcie tworzenia aplikacji 203
Metody po rednicz ce przeznaczone do udost pniania plików statycznych 205
7.4.1. static() — udost pnianie plików statycznych 205
7.4.2. compress() — kompresja plików statycznych 207
7.4.3. directory() — wy wietlenie katalogów 209
Podsumowanie 210
7.4.
7.5.
Rozdzia 8. Framework Express
8.1.
213
8.2.
8.3.
8.4.
8.5.
8.6.
Utworzenie szkieletu aplikacji 215
8.1.1. Globalna instalacja frameworka Express 216
8.1.2. Generowanie aplikacji 218
8.1.3. Poznawanie aplikacji 218
Konfiguracja frameworka Express i tworzonej aplikacji 220
8.2.1. Konfiguracja na podstawie rodowiska 221
Generowanie widoków aplikacji Express 223
8.3.1. Konfiguracja systemu widoków 224
8.3.2. Wyszukiwanie widoku 225
8.3.3. Udost pnianie danych widokom 228
Obs uga formularzy i przekazywania plików 232
8.4.1. Implementacja modelu zdj cia 233
8.4.2. Tworzenie formularza przeznaczonego do przekazywania zdj
8.4.3. Wy wietlenie listy przekazanych zdj
236
Obs uga pobierania zasobów 237
8.5.1. Tworzenie trasy dla pobierania zdj
237
8.5.2. Implementacja trasy pobierania zdj cia 238
Podsumowanie 240
233
Rozdzia 9. Zaawansowane u ycie frameworka Express
9.1.
241
9.2.
9.3.
9.4.
9.5.
Uwierzytelnianie u ytkowników 242
9.1.1. Zapisywanie i wczytywanie u ytkowników 243
9.1.2. Rejestrowanie nowego u ytkownika 248
9.1.3. Logowanie zarejestrowanych u ytkowników 254
9.1.4. Metoda po rednicz ca przeznaczona do wczytywania u ytkownika
Zaawansowane techniki routingu 259
9.2.1. Weryfikacja u ytkownika podczas przesy ania tre ci 260
9.2.2. Metoda po rednicz ca charakterystyczna dla trasy 263
9.2.3. Implementacja stronicowania 266
Utworzenie publicznego API REST 270
9.3.1. Projekt API 270
9.3.2. Dodanie uwierzytelnienia podstawowego 271
9.3.3. Implementacja routingu 272
9.3.4. W czenie negocjacji tre ci 275
Obs uga b dów 277
9.4.1. Obs uga b dów 404 278
9.4.2. Obs uga b dów 280
Podsumowanie 283
257
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin