Деталі електронної книги

Tworzenie aplikacji internetowych z użyciem Node i Express. Korzystanie ze stosu JavaScript. Wydanie II

Tworzenie aplikacji internetowych z użyciem Node i Express. Korzystanie ze stosu JavaScript. Wydanie II

Ethan Brown

Eлектронна книга

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!


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
  • Назва: Tworzenie aplikacji internetowych z użyciem Node i Express. Korzystanie ze stosu JavaScript. Wydanie II
  • Автор: Ethan Brown
  • Оригінальна назва: Web Development with Node and Express: Leveraging the JavaScript Stack, 2nd Edition
  • Переклад: Joanna Zatorska
  • ISBN: 978-83-283-6744-9, 9788328367449
  • Дата видання: 2020-08-25
  • Формат: Eлектронна книга
  • Ідентифікатор видання: taine2
  • Видавець: Helion