Philip Ackermann

Node.js - Rezepte und Lösungen

Das Nachschlagewerk für den Praxisalltag. Über 100 Rezepte zu dem JavaScript-Framework. 24,6 cm / 17,2 cm / 4,3 cm ( B/H/T )
Buch (Hardcover), 651 Seiten
EAN 9783836264532
Veröffentlicht August 2019
Verlag/Hersteller Rheinwerk Verlag GmbH

Auch erhältlich als:

eBook (epub)
49,90
49,90 inkl. MwSt.
Teilen
Beschreibung

Ganz egal, wie neu oder vertraut Ihnen Node.js ist, Sie kennen sicherlich die Situation, manchmal inmitten eines Projekts vor scheinbar unlösbaren Problemen zu stehen: mal funktioniert der Datenbankzugriff nicht, mal laufen die Anfragen an die Webservices einfach ins Leere. Und dabei müssen Sie Ihre Webanwendung so schnell wie möglich fertigstellen. Sie haben also weder Zeit noch Lust, sich durch ewig lange Dokumentationen oder ein umfangreiches Handbuch zu wühlen, bis Sie den entscheidenden Hinweis entdeckt haben. Abhilfe schafft hier die vorliegende Rezeptsammlung! Der Autor stellt über 100 verschiedene Problemfelder aus dem Praxisalltag vor und zeigt Ihnen konkrete Lösungswege für diese auf. 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

Portrait

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.

Inhaltsverzeichnis


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

Hersteller
Rheinwerk Verlag GmbH
Rheinwerkallee 4

DE - 53227 Bonn

E-Mail: service@rheinwerk-verlag.de

Das könnte Sie auch interessieren

Ben Aaronovitch
Ein weißer Schwan in Tabernacle Street
eBook (epub)
Sofort lieferbar (Download)
9,99
Katharina Zweig
Weiß die KI, dass sie nichts weiß?
eBook (epub)
Sofort lieferbar (Download)
16,99
Marc Elsberg
ZERO - Sie wissen, was du tust
eBook (epub)
Sofort lieferbar (Download)
10,99
Roberto Simanowski
Sprachmaschinen
eBook (epub)
Sofort lieferbar (Download)
19,99
Ernest Cline
Ready Player One
eBook (epub)
Sofort lieferbar (Download)
8,99
Andreas Erle
Das kann KI
eBook (epub)
Sofort lieferbar (Download)
16,99
Yuval Noah Harari
NEXUS
eBook (epub)
Sofort lieferbar (Download)
26,99
Neal Stephenson
Snow Crash
eBook (epub)
Sofort lieferbar (Download)
14,99
Anna-Verena Nosthoff
Kybernetik und Kritik
eBook (epub)
Sofort lieferbar (Download)
27,99
Tiago Forte
Die PARA-Methode
eBook (epub)
Sofort lieferbar (Download)
15,99
Ernest Cline
Ready Player Two
eBook (epub)
Sofort lieferbar (Download)
4,99
Dirk Baecker
Digitalisierung
eBook (epub)
Sofort lieferbar (Download)
19,99
Ingo Dachwitz
Digitaler Kolonialismus
eBook (epub)
Sofort lieferbar (Download)
21,99
Sofort lieferbar (Download)
9,99
Andrian Kreye
Der Geist aus der Maschine
eBook (epub)
Sofort lieferbar (Download)
16,99
Sofort lieferbar (Download)
9,99
Axel Miesen
Ansible
eBook (epub)
Sofort lieferbar (Download)
39,90
Elisa Hoven
Das Ende der Wahrheit?
eBook (epub)
Sofort lieferbar (Download)
18,99
Jenny Odell
Nichts tun
eBook (epub)
Sofort lieferbar (Download)
11,99
Sofort lieferbar (Download)
0,00
Matthias Matting
Tolino shine - das inoffizielle Handbuch.
eBook (epub)
Sofort lieferbar (Download)
2,99
Sofort lieferbar (Download)
9,99
Michael Kofler
Linux
eBook (pdf)
Sofort lieferbar (Download)
49,90
Nils C. Kumkar
Alternative Fakten
eBook (epub)
Sofort lieferbar (Download)
17,99
Florian Butollo
Das knappe Gut Arbeit
eBook (epub)
Sofort lieferbar (Download)
19,99
Detlef Krause
Webtexten für Nicht-Texter
eBook (epub)
Sofort lieferbar (Download)
15,99
Bernd Öggl
Git
eBook (pdf)
Sofort lieferbar (Download)
39,90
Sofort lieferbar (Download)
0,00
Herbert Hertramph
Raspberry Pi 400 Schnelleinstieg
eBook (pdf)
Sofort lieferbar (Download)
9,99
Sofort lieferbar (Download)
2,99
Mustafa Suleyman
The Coming Wave
eBook (epub)
Sofort lieferbar (Download)
17,99
Sofort lieferbar (Download)
39,90
Ralf-Peter Kleinert
Proxmox VE 8 Powerbuch
eBook (epub)
Sofort lieferbar (Download)
7,99
Matteo Grosse-Kampm...
Meine digitale Sicherheit für Dummies
eBook (epub)
Sofort lieferbar (Download)
17,99
Sofort lieferbar (Download)
2,99
Andreas Erle
Das kann KI
eBook (pdf)
Sofort lieferbar (Download)
16,99