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
Praxisnah und direkt anwendbar
Autorentext
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.
Inhalt
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 identifizi…
Praxisnah und direkt anwendbar
Autorentext
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.
Inhalt
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 identifizi…
Titel
Node.js Rezepte und Lösungen
Autor
EAN
9783836264556
Format
E-Book (epub)
Hersteller
Veröffentlichung
28.08.2019
Digitaler Kopierschutz
frei
Anzahl Seiten
651
Lesemotiv
Unerwartete Verzögerung
Ups, ein Fehler ist aufgetreten. Bitte versuchen Sie es später noch einmal.