Tworzenie aplikacji internetowych z użyciem Node i Express. Korzystanie ze stosu JavaScript. Wydanie II - Helion
Tytuł oryginału: Web Development with Node and Express: Leveraging the JavaScript Stack, 2nd Edition
TÅ‚umaczenie: Joanna Zatorska
ISBN: 978-83-283-6744-9
stron: 304, Format: ebook
Data wydania: 2020-06-01
Księgarnia: Helion
Cena książki: 50,25 zł (poprzednio: 67,00 zł)
Oszczędzasz: 25% (-16,75 zł)
Express i Node staÅ‚y siÄ™ kluczowymi narzÄ™dziami do tworzenia dynamicznych, wielostronicowych i hybrydowych aplikacji internetowych. DziÄ™ki nim można dowolnie ksztaÅ‚tować architekturÄ™ swojej aplikacji. Projektowanie za pomocÄ… Node jest bardzo atrakcyjnym rozwiÄ…zaniem dla programistów, którzy doceniajÄ… dostÄ™pność i elastyczność jÄ™zyka JavaScript. W rzeczy samej, JavaScript ewoluowaÅ‚ z techniki prostego ozdabiania stron internetowych, aby stać siÄ™ dojrzaÅ‚ym, wszechstronnym, peÅ‚noprawnym i wyjÄ…tkowo obiecujÄ…cym jÄ™zykiem programowania. Korzystanie z niego jest o wiele bardziej satysfakcjonujÄ…ce przy zastosowaniu platformy Express.
To praktyczny przewodnik dla programistów, którzy chcÄ… tworzyć aplikacje internetowe z wykorzystaniem platform React, Angular lub Vue oraz API typu REST albo ich kombinacji za pomocÄ… jÄ™zyka JavaScript, Node i Express. Zawarto tu wprowadzenie do Node, Express oraz innych przydatnych narzÄ™dzi. SzczegóÅ‚owo przedstawiono koncepcjÄ™ oprogramowania poÅ›redniczÄ…cego oraz zagadnienia bezpieczeÅ„stwa Å›rodowiska produkcyjnego. Nie zabrakÅ‚o wskazówek dotyczÄ…cych tworzenia API za pomocÄ… Express. Ciekawym elementem książki sÄ… szczegóÅ‚y integracji z takimi usÅ‚ugami jak Twitter, Google Maps i US National Weather Service. Poszczególne rozdziaÅ‚y przedstawiajÄ… etapy budowy przykÅ‚adowej w peÅ‚ni funkcjonalnej aplikacji internetowej, którÄ… Å‚atwo bÄ™dzie wykorzystać jako szablon do tworzenia innych, wÅ‚asnych, bardziej wyrafinowanych projektów!
W książce między innymi:
- renderowanie danych dynamicznych za pomocÄ… systemu szablonów
- używanie obiektów żądaÅ„ i odpowiedzi, oprogramowania poÅ›redniczÄ…cego oraz trasowania
- testowanie, debugowanie i wdrażanie aplikacji
- korzystanie z baz danych, takich jak MongoDB i PostgreSQL
- integracja aplikacji z innymi serwisami
- plan publikowania i utrzymywania aplikacji
JavaScript: oczekuj tego, co najlepsze!
Osoby które kupowały "Tworzenie aplikacji internetowych z użyciem Node i Express. Korzystanie ze stosu JavaScript. Wydanie II", wybierały także:
- D3.js w akcji 67,42 zł, (20,90 zł -69%)
- Tablice informatyczne. Node.js 16,86 zł, (5,90 zł -65%)
- React i GatsbyJS. Kurs video. Nowoczesne strony internetowe w oparciu o headless CMS i GraphQL 148,98 zł, (59,59 zł -60%)
- TypeScript i React. Kurs video. Tworzenie nowoczesnych komponent 129,00 zł, (51,60 zł -60%)
- Vue.js w praktyce. Kurs video. Poznaj narz 148,98 zł, (59,59 zł -60%)
Spis treści
Tworzenie aplikacji internetowych z użyciem Node i Express. Korzystanie ze stosu JavaScript. Wydanie II eBook -- spis treści
Wstęp 13
1. Wprowadzenie do technologii Express 19
- JavaScriptowa rewolucja 19
- Wprowadzenie do technologii Express 20
- Aplikacje działające po stronie serwera i aplikacje działające po stronie klienta 22
- Krótka historia platformy Express 23
- Node - nowy rodzaj serwera WWW 23
- Ekosystem Node 24
- Licencje 25
- Podsumowanie 26
2. Pierwsze kroki w Node 27
- Pobieranie Node 27
- Użycie terminala 27
- Edytory 29
- npm 30
- Prosty serwer WWW z użyciem Node 31
- Witaj, świecie 31
- Programowanie sterowane zdarzeniami 32
- Trasowanie 32
- Zwracanie zasobów statycznych 33
- Przejdźmy do platformy Express 35
3. Oszczędność czasu dzięki Expressowi 37
- Tworzenie szkieletu aplikacji 37
- Witryna WWW Meadowlark Travel 37
- Wstępne kroki 38
- Widoki i układy 41
- Statyczne pliki i widoki 44
- Dynamiczne treści w widokach 44
- Podsumowanie 45
4. PorzÄ…dki 47
- Struktura plików i katalogów 47
- Najlepsze praktyki 48
- Kontrola wersji 48
- Jak używać systemu Git wraz z tą książką? 49
- Samodzielne pisanie kodu 49
- Korzystanie z przykładowego kodu 50
- Pakiety npm 51
- Metadane projektu 52
- Moduły Node 53
- Podsumowanie 54
5. Zapewnienie jakości 57
- Plan zapewnienia jakości 58
- QA: czy warto? 59
- Logika kontra prezentacja 60
- Rodzaje testów 60
- Przegląd technik zapewniania jakości 61
- Instalowanie i konfigurowanie platformy Jest 61
- Testy jednostkowe 62
- Tworzenie atrap 62
- Refaktoryzacja aplikacji pod kątem testowalności 63
- Pisanie pierwszego testu 63
- Utrzymanie testów 65
- Pokrycie testami 66
- Testy integracyjne 67
- Lintowanie 69
- Ciągła integracja 72
- Podsumowanie 73
6. Obiekty żądania i odpowiedzi 75
- Elementy URL 75
- Metody żądania HTTP 76
- NagÅ‚ówki żądaÅ„ 77
- NagÅ‚ówki odpowiedzi 77
- Internet Media Type 78
- Ciało żądania 78
- Obiekt żądania 78
- Obiekt odpowiedzi 80
- Znajdowanie dodatkowych informacji 82
- Najważniejsze funkcje 82
- Renderowanie treści 83
- Przetwarzanie formularzy 84
- Udostępnianie API 85
- Podsumowanie 86
7. Tworzenie szablonów za pomocÄ… silnika Handlebars 87
- Nie ma absolutnych zasad z wyjÄ…tkiem tej jednej 88
- Wybór silnika szablonów 89
- Pug, czyli inne podejście 89
- Podstawy silnika Handlebars 91
- Komentarze 91
- Bloki 92
- Szablony po stronie serwera 93
- Widoki i układy 94
- Stosowanie (lub niestosowanie) ukÅ‚adów w aplikacjach Expressa 95
- Sekcje 96
- Części 97
- Doskonalenie szablonów 99
- Podsumowanie 100
8. Przetwarzanie formularzy 101
- Wysyłanie danych klienta na serwer 101
- Formularze HTML 101
- Kodowanie 102
- Inne sposoby obsługi formularzy 102
- Przetwarzanie formularzy w platformie Express 104
- Wysyłanie danych formularza za pomocą funkcji fetch 106
- PrzesyÅ‚anie plików 108
- PrzesyÅ‚anie plików za pomocÄ… funkcji fetch 110
- Ulepszamy interfejs użytkownika formularza do przesyÅ‚ania plików 111
- Podsumowanie 111
9. Obiekty cookie i sesje 113
- Przeniesienie danych dostępowych na zewnątrz 114
- Obiekty cookie w Expressie 115
- Sprawdzanie zawartości cookie 117
- Sesje 117
- Magazyny pamięci 117
- Stosowanie sesji 119
- Użycie sesji do implementowania wiadomości typu flash 119
- Przeznaczenie sesji 121
- Podsumowanie 121
10. Oprogramowanie pośredniczące 123
- Zasady dotyczące oprogramowania pośredniczącego 124
- Przykłady oprogramowania pośredniczącego 124
- Często wykorzystywane oprogramowanie pośredniczące 127
- Oprogramowanie poÅ›redniczÄ…ce od zewnÄ™trznych producentów 129
- Podsumowanie 129
11. Wysyłanie wiadomości e-mail 131
- SMTP, MSA i MTA 131
- Otrzymywanie poczty elektronicznej 132
- NagÅ‚ówki poczty elektronicznej 132
- Formaty wiadomości e-mail 133
- E-mail w formacie HTML 133
- Nodemailer 134
- Wysyłanie poczty elektronicznej 135
- WysyÅ‚anie wiadomoÅ›ci do wielu odbiorców 135
- Lepsze opcje wysyłania masowych wiadomości 136
- Wysyłanie poczty w formacie HTML 136
- Obrazy w wiadomościach e-mail w formacie HTML 137
- Użycie widoków do wysyÅ‚ania wiadomoÅ›ci w formacie HTML 138
- Opakowanie funkcjonalności wiadomości e-mail 139
- Podsumowanie 140
12. Kwestie produkcyjne 143
- Åšrodowiska wykonywania 143
- Konfiguracja specyficzna dla środowiska 144
- Uruchamianie procesów Node 145
- Skalowanie witryny WWW 146
- Skalowanie poziome z użyciem klastrów 147
- ObsÅ‚uga nieprzechwyconych wyjÄ…tków 149
- Skalowanie poziome za pomocÄ… wielu serwerów 151
- Monitorowanie witryny WWW 151
- Monitoring czasu dziaÅ‚ania za pomocÄ… narzÄ™dzi od innych producentów 152
- Testy wytrzymałościowe 152
- Podsumowanie 153
13. Trwałość 155
- TrwaÅ‚ość z wykorzystaniem systemu plików 155
- Trwałość z wykorzystaniem chmury 157
- Trwałość z wykorzystaniem baz danych 158
- Uwaga dotycząca wydajności 158
- Tworzenie abstrakcji warstwy danych 159
- Konfiguracja MongoDB 160
- Mongoose 161
- Połączenia z bazą danych za pośrednictwem Mongoose 161
- Tworzenie schematów i modeli 162
- Dodawanie poczÄ…tkowych danych 163
- Pobieranie danych 165
- Dodawanie danych 167
- PostgreSQL 168
- Dodawanie danych 173
- Baza danych jako magazyn sesji 174
- Podsumowanie 177
14. Trasowanie 179
- Trasy i SEO 181
- Subdomeny 181
- Funkcje obsługi tras są elementami oprogramowania pośredniczącego 182
- Ścieżki tras i wyrażenia regularne 184
- Parametry trasy 184
- PorzÄ…dkowanie tras 185
- Deklarowanie tras w module 186
- Logiczne grupowanie funkcji obsługi tras 187
- Automatyczne renderowanie widoków 188
- Podsumowanie 188
15. API typu REST i JSON 189
- JSON i XML 190
- Tworzenie API 190
- ZgÅ‚aszanie bÅ‚Ä™dów API 191
- Mechanizm Cross-Origin Resource Sharing 192
- Testy 193
- Udostępnianie API za pomocą platformy Express 195
- Podsumowanie 196
16. Aplikacje jednostronicowe 197
- Krótka historia tworzenia aplikacji WWW 197
- Technologie SPA 200
- Tworzenie aplikacji za pomocÄ… Reacta 201
- Podstawy aplikacji tworzonych za pomocÄ… Reacta 202
- Strona gÅ‚ówna 203
- Trasowanie 205
- Strona Wycieczki - projekt wizualny 207
- Strona Wycieczki - integracja z serwerem 208
- Wysyłanie informacji na serwer 210
- ZarzÄ…dzanie stanem 212
- Opcje wdrażania 214
- Podsumowanie 214
17. Treści statyczne 217
- Kwestie wydajnościowe 218
- Systemy dostarczania treści 219
- Projektowanie z myślą o CDN 219
- Witryna renderowana po stronie serwera 220
- Aplikacje jednostronicowe 220
- Zapisywanie zasobów statycznych w pamiÄ™ci podrÄ™cznej 221
- Zmiana treści statycznych 222
- Podsumowanie 223
18. Bezpieczeństwo 225
- HTTPS 225
- Generowanie certyfikatu 226
- Korzystanie z darmowego urzędu certyfikacji 227
- Zakup certyfikatu 228
- WÅ‚Ä…czanie HTTPS dla aplikacji napisanych za pomocÄ… Expressa 229
- Uwaga dotyczÄ…ca portów 230
- HTTPS i proxy 231
- Ataki Cross-Site Request Forgery 232
- Uwierzytelnianie 233
- Uwierzytelnianie kontra autoryzacja 233
- Problem dotyczący haseł 234
- Uwierzytelnianie za poÅ›rednictwem innych podmiotów 234
- Przechowywanie danych użytkowników w bazie danych 235
- Uwierzytelnianie kontra rejestracja oraz doświadczenie użytkownika 236
- Passport 237
- Autoryzacja oparta na rolach 245
- Dodawanie dostawcy uwierzytelniania 246
- Podsumowanie 248
19. Integracja z zewnętrznymi API 249
- Serwisy społecznościowe 249
- Wtyczki serwisów spoÅ‚ecznoÅ›ciowych i wydajność witryny 249
- Wyszukiwanie tweetów 250
- Renderowanie tweetów 253
- Geokodowanie 255
- Geokodowanie z użyciem Google 255
- Geokodowanie danych 257
- Wyświetlanie mapy 258
- Dane o pogodzie 259
- Podsumowanie 261
20. Debugowanie 263
- Pierwsza zasada debugowania 263
- Wykorzystanie REPL i konsoli 264
- Użycie wbudowanego debuggera Node 265
- Klienty inspekcji Node 265
- Debugowanie funkcji asynchronicznych 269
- Debugowanie kodu platformy Express 270
- Podsumowanie 272
21. Publikacja 273
- Rejestracja domeny i hosting 273
- System nazw domen 274
- Bezpieczeństwo 274
- Domeny najwyższego poziomu 275
- Subdomeny 276
- Serwery nazw 276
- Hosting 278
- Giganci 279
- Wdrażanie 280
- Podsumowanie 283
22. Konserwacja 285
- Zasady konserwacji 285
- Opracowanie długoterminowego planu 285
- Użycie systemu kontroli wersji 287
- Korzystanie z narzÄ™dzia do Å›ledzenia bÅ‚Ä™dów 287
- Dbałość o higienę 287
- NieodkÅ‚adanie na później 288
- Rutynowe sprawdzanie jakości 288
- Monitorowanie danych analitycznych 288
- Optymalizacja wydajności 289
- Priorytetyzacja Å›ledzenia potencjalnych klientów 289
- Zapobieganie "niewidocznym" porażkom 291
- Ponowne wykorzystanie kodu i refaktoryzacja 291
- Prywatny rejestr npm 291
- Oprogramowanie pośredniczące 292
- Podsumowanie 293
23. Dodatkowe zasoby 295
- Dokumentacja online 295
- Periodyki 296
- Stack Overflow 296
- WkÅ‚ad w rozwój platformy Express 298
- Podsumowanie 300