Node.js – Rezepte und Lösungen
Rheinwerk (Verlag)
978-3-8362-6453-2 (ISBN)
Aus dem Inhalt:
- Projektstruktur und Konfiguration: Node.js installieren, verwenden und debuggen
- Events, I/O und Streams
- Mit Dateisystemen und Dateiformaten arbeiten
- Auf Datenbanken zugreifen
- Persistzenz, Messaging und Enterprise Integration: ActiveMQ, Apache Kafka, HiveMQ, RabbitMQ, ZeroMQ
- Webanwendungen, Sockets und Email-Kommunikation
- Webservices und Microservices: GET-, POST-, PUT- und DELETE-Anfragen
- Web APIs
- Entwicklungsprozesse optimieren
- Performance und Sicherheit verbessern
- Deployment, Publishing und Betrieb
Philip Ackermann ist CTO der Cedalo AG und Autor mehrerer Fachbücher und Fachartikel über Java und JavaScript. Seine Schwerpunkte liegen in der Konzeption und Entwicklung von Node.js- und JEE-Projekten in den Bereichen Industrie 4.0 und Internet of Things.
lt;br> Materialien zum Buch ... 19
Geleitwort des Fachgutachters ... 21
Vorwort ... 23
1. Initialisierung und Setup ... 27
1.1 ... Rezept 1: Node.js installieren ... 27
1.2 ... Rezept 2: Mehrere Node.js-Versionen parallel betreiben ... 35
1.3 ... Rezept 3: Ein neues Node.js-Package manuell erstellen ... 41
1.4 ... Rezept 4: Ein neues Node.js-Package automatisch erstellen ... 45
1.5 ... Rezept 5: Den Kommandozeilenwizard von npm anpassen ... 49
1.6 ... Rezept 6: Abhängigkeiten richtig installieren und verwalten ... 54
1.7 ... Rezept 7: Packages in Mono-Repositorys organisieren ... 59
1.8 ... Zusammenfassung ... 66
2. Package Management ... 67
2.1 ... Rezept 8: Semantische Versionierung richtig einsetzen ... 67
2.2 ... Rezept 9: Den alternativen Package Manager »Yarn« verwenden ... 73
2.3 ... Rezept 10: Den alternativen Package Manager »pnpm« verwenden ... 78
2.4 ... Rezept 11: Lokale Abhängigkeiten für die Entwicklung verlinken ... 84
2.5 ... Rezept 12: Informationen zu verwendeten Abhängigkeiten abrufen ... 88
2.6 ... Rezept 13: Lizenzen der verwendeten Abhängigkeiten ermitteln ... 94
2.7 ... Rezept 14: Nicht verwendete oder fehlende Abhängigkeiten ermitteln ... 97
2.8 ... Rezept 15: Veraltete Abhängigkeiten ermitteln ... 99
2.9 ... Zusammenfassung ... 101
3. Logging und Debugging ... 103
3.1 ... Rezept 16: Logging für Node.js-Packages einrichten ... 103
3.2 ... Rezept 17: Logging für Node.js-Applikationen einrichten ... 109
3.3 ... Rezept 18: Logging über Adapter-Packages einrichten ... 114
3.4 ... Rezept 19: Applikationen mit Chrome Developer Tools debuggen ... 118
3.5 ... Rezept 20: Applikationen mit Visual Studio Code debuggen ... 122
3.6 ... Rezept 21: Applikationen über die Kommandozeile debuggen ... 125
3.7 ... Zusammenfassung ... 129
4. Konfiguration und Internationalisierung ... 131
4.1 ... Rezept 22: Applikationen konfigurieren über Umgebungsvariablen ... 132
4.2 ... Rezept 23: Applikationen konfigurieren über Konfigurationsdateien ... 137
4.3 ... Rezept 24: Applikationen konfigurieren über Kommandozeilenargumente ... 141
4.4 ... Rezept 25: Applikationen optimal konfigurierbar machen ... 147
4.5 ... Rezept 26: Mehrsprachige Applikationen erstellen ... 151
4.6 ... Rezept 27: Sprachdateien verwenden ... 161
4.7 ... Zusammenfassung ... 163
5. Dateisystem, Streams und Events ... 165
5.1 ... Rezept 28: Mit Dateien und Verzeichnissen arbeiten ... 165
5.2 ... Rezept 29: Dateien und Verzeichnisse überwachen ... 173
5.3 ... Rezept 30: Daten mit Streams lesen ... 178
5.4 ... Rezept 31: Daten mit Streams schreiben ... 182
5.5 ... Rezept 32: Mehrere Streams über Piping kombinieren ... 184
5.6 ... Rezept 33: Eigene Streams implementieren ... 190
5.7 ... Rezept 34: Events versenden und empfangen ... 199
5.8 ... Rezept 35: Erweiterte Features beim Event-Handling verwenden ... 206
5.9 ... Zusammenfassung ... 209
6. Datenformate ... 211
6.1 ... Rezept 36: XML verarbeiten ... 211
6.2 ... Rezept 37: XML generieren ... 218
6.3 ... Rezept 38: RSS und Atom generieren und verarbeiten ... 224
6.4 ... Rezept 39: CSV verarbeiten ... 229
6.5 ... Rezept 40: HTML mit Template-Engines generieren ... 233
6.6 ... Rezept 41: HTML mit der DOM-API generieren ... 239
6.7 ... Rezept 42: YAML verarbeiten und generieren ... 244
6.8 ... Rezept 43: TOML verarbeiten ... 253
6.9 ... Rezept 44: INI verarbeiten und generieren ... 259
6.10 ... Rezept 45: JSON validieren ... 264
6.11 ... Rezept 46: JavaScript verarbeiten und generieren ... 270
6.12 ... Rezept 47: CSS verarbeiten und generieren ... 277
6.13 ... Zusammenfassung ... 284
7. Persistenz ... 285
7.1 ... Rezept 48: Auf eine MySQL-Datenbank zugreifen ... 285
7.2 ... Rezept 49: Auf eine PostgreSQL-Datenbank zugreifen ... 292
7.3 ... Rezept 50: Objektrelationale Mappings definieren ... 299
7.4 ... Rezept 51: Auf eine MongoDB-Datenbank zugreifen ... 307
7.5 ... Rezept 52: Auf eine Redis-Datenbank zugreifen ... 316
7.6 ... Rezept 53: Auf eine Cassandra-Datenbank zugreifen ... 326
7.7 ... Zusammenfassung ... 332
8. Webanwendungen und Webservices ... 333
8.1 ... Rezept 54: Einen HTTP-Server implementieren ... 333
8.2 ... Rezept 55: Eine Webanwendung über HTTPS betreiben ... 337
8.3 ... Rezept 56: Eine REST-API implementieren ... 341
8.4 ... Rezept 57: Einen HTTP-Client implementieren ... 355
8.5 ... Rezept 58: Authentifizierung implementieren ... 359
8.6 ... Rezept 59: Authentifizierung mit »Passport.js« implementieren ... 366
8.7 ... Rezept 60: Eine GraphQL-API implementieren ... 371
8.8 ... Rezept 61: Anfragen an eine GraphQL-API stellen ... 379
8.9 ... Rezept 62: Eine GraphQL-API über HTTP betreiben ... 383
8.10 ... Zusammenfassung ... 390
9. Sockets und Messaging ... 391
9.1 ... Rezept 63: Einen TCP-Server erstellen ... 392
9.2 ... Rezept 64: Einen TCP-Client erstellen ... 396
9.3 ... Rezept 65: Einen WebSocket-Server erstellen ... 400
9.4 ... Rezept 66: Einen WebSocket-Client erstellen ... 405
9.5 ... Rezept 67: Nachrichtenformate für WebSocket-Kommunikation definieren ... 407
9.6 ... Rezept 68: Subprotokolle für WebSocket-Kommunikation definieren ... 412
9.7 ... Rezept 69: Server-Sent Events generieren ... 415
9.8 ... Rezept 70: Über AMQP auf RabbitMQ zugreifen ... 419
9.9 ... Rezept 71: Einen MQTT-Broker erstellen ... 431
9.10 ... Rezept 72: Über MQTT auf einen MQTT-Broker zugreifen ... 436
9.11 ... Rezept 73: E-Mails versenden ... 443
9.12 ... Zusammenfassung ... 446
10. Testing und TypeScript ... 449
10.1 ... Rezept 74: Unit-Tests schreiben ... 449
10.2 ... Rezept 75: Unit-Tests automatisch neu ausführen ... 458
10.3 ... Rezept 76: Die Testabdeckung ermitteln ... 459
10.4 ... Rezept 77: Unit-Tests für REST-APIs implementieren ... 463
10.5 ... Rezept 78: Eine Node.js-Applikation in TypeScript implementieren ... 468
10.6 ... Rezept 79: TypeScript-basierte Applikationen automatisch neu kompilieren ... 475
10.7 ... Zusammenfassung ... 479
11. Skalierung, Performance und Sicherheit ... 481
11.1 ... Rezept 80: Externe Anwendungen als Unterprozess ausführen ... 482
11.2 ... Rezept 81: Externe Anwendungen als Stream verarbeiten ... 486
11.3 ... Rezept 82: Node.js-Applikationen als Unterprozess aufrufen ... 489
11.4 ... Rezept 83: Eine Node.js-Anwendung clustern ... 495
11.5 ... Rezept 84: Unterprozesse über einen Prozessmanager verwalten ... 499
11.6 ... Rezept 85: Systeminformationen, CPU-Auslastung und Speicherverbrauch ermitteln ... 504
11.7 ... Rezept 86: Speicherprobleme identifizieren ... 511
11.8 ... Rezept 87: CPU-Probleme identifizieren ... 520
11.9 ... Rezept 88: Schwachstellen von verwendeten Abhängigkeiten erkennen ... 528
11.10 ... Rezept 89: JavaScript dynamisch laden und ausführen ... 535
11.11 ... Zusammenfassung ... 541
12. Native Module ... 543
12.1 ... Rezept 90: Native Node.js-Module mit der V8-API erstellen ... 543
12.2 ... Rezept 91: Native Node.js-Module mit der NAN-API erstellen ... 550
12.3 ... Rezept 92: Native Node.js-Module mit der N-API erstellen ... 554
12.4 ... Rezept 93: Werte und Objekte zurückgeben mit der N-API ... 561
12.5 ... Rezept 94: Callbacks aufrufen mit der N-API ... 568
12.6 ... Rezept 95: Promises zurückgeben mit der N-API ... 573
12.7 ... Rezept 96: Assertions verwenden mit der N-API ... 576
12.8 ... Rezept 97: Native Node.js-Module debuggen ... 580
12.9 ... Zusammenfassung ... 584
13. Publishing, Deployment und Microservices ... 587
13.1 ... Rezept 98: Eine private npm-Registry verwenden ... 588
13.2 ... Rezept 99: Docker verstehen ... 595
13.3 ... Rezept 100: Ein Docker Image für eine Node.js-Applikation erstellen ... 607
13.4 ... Rezept 101: Einen Docker-Container starten ... 612
13.5 ... Rezept 102: Microservice-Architekturen verstehen ... 616
13.6 ... Rezept 103: Microservice-Architekturen aufsetzen mit Docker Compose ... 625
13.7 ... Rezept 104: Den Quelltext bundeln und komprimieren mit Webpack ... 631
13.8 ... Zusammenfassung ... 639
Anhang:. Rezept 105 ... 641
Index ... 643
Erscheinungsdatum | 23.08.2019 |
---|---|
Reihe/Serie | Rheinwerk Computing |
Verlagsort | Bonn |
Sprache | deutsch |
Maße | 168 x 240 mm |
Themenwelt | Mathematik / Informatik ► Informatik ► Web / Internet |
Schlagworte | Bücher Workshops Lernen Wissen Kurs • Bücher Workshops Lernen Wissen Kurse Tutorials Schulung • Cron-Jobs • Dateisysteme Datenformate • Docker-Image • Enterprise-Integration • I/O Streams • Koch-Buch Rezept-Sammlung • Kubernetes • Performance • Persistenz • Serverless • Sicherheit • Sockets • Web-APIs • Web-services Micro-services |
ISBN-10 | 3-8362-6453-6 / 3836264536 |
ISBN-13 | 978-3-8362-6453-2 / 9783836264532 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich