Node.js

Das umfassende Handbuch. Serverseitige Web-Applikationen mit JavaScript entwickeln. Aktuell zu Version 16
Sofort lieferbar | Lieferzeit: Sofort lieferbar I
ISBN-13:
9783836287654
Veröffentl:
2021
Erscheinungsdatum:
26.11.2021
Seiten:
896
Autor:
Sebastian Springer
Gewicht:
1772 g
Format:
247x182x55 mm
Serie:
Rheinwerk Computing
Sprache:
Deutsch
Beschreibung:

Bühne frei für Node.js! Dieses Buch ist Ihr umfassender Begleiter für die Arbeit mit der am weitesten verbreiteten und von zahlreichen großen Unternehmen eingesetzten serverseitigen JavaScript-Plattform. An leicht verständlichen Beispielen lernen Sie alle Aspekte von Node.js kennen - von den Grundlagen bis zum Profi-Wissen! Hier finden Sie zahlreiche Tipps und Lösungen zu alltäglichen Problemen in der Webentwicklung. Für die vierte Auflage wurde das Buch umfassend aktualisiert und erweitert.
Debugging, Skalierung, Qualitätssicherung
Materialien zum Buch ... 23 Geleitwort ... 25 Vorwort ... 27 1. Grundlagen ... 31 1.1 ... Die Geschichte von Node.js ... 33 1.2 ... Die Organisation von Node.js ... 38 1.3 ... Versionierung von Node.js ... 39 1.4 ... Vorteile von Node.js ... 41 1.5 ... Einsatzgebiete von Node.js ... 42 1.6 ... Das Herzstück -- die V8-Engine ... 43 1.7 ... Bibliotheken um die Engine ... 50 1.8 ... Zusammenfassung ... 57 2. Installation ... 59 2.1 ... Installation von Paketen ... 60 2.2 ... Kompilieren und installieren ... 74 2.3 ... Node Version Manager ... 76 2.4 ... Node und Docker ... 77 2.5 ... Zusammenfassung ... 78 3. Ein erstes Beispiel ... 79 3.1 ... Der interaktive Modus ... 79 3.2 ... Die erste Applikation ... 86 3.3 ... Debuggen von Node.js-Applikationen ... 96 3.4 ... Entwicklungswerkzeug »nodemon« ... 107 3.5 ... Zusammenfassung ... 108 4. Node.js-Module ... 109 4.1 ... Modularer Aufbau ... 109 4.2 ... Kernmodule ... 112 4.3 ... JavaScript-Modulsysteme ... 132 4.4 ... Eigene Module erzeugen und verwenden ... 135 4.5 ... Zusammenfassung ... 148 5. HTTP ... 149 5.1 ... Der Webserver ... 149 5.2 ... Node.js als HTTP-Client ... 178 5.3 ... Sichere Kommunikation mit HTTPS ... 182 5.4 ... HTTP/2 ... 184 5.5 ... Zusammenfassung ... 189 6. Express ... 191 6.1 ... Aufbau ... 191 6.2 ... Installation ... 192 6.3 ... Grundlagen ... 194 6.4 ... Setup ... 196 6.5 ... Movie-Datenbank ... 199 6.6 ... Middleware ... 209 6.7 ... Erweitertes Routing -- Löschen von Datensätzen ... 214 6.8 ... Anlegen und Bearbeiten von Datensätzen -- Body-Parser ... 217 6.9 ... Express 5 ... 224 6.10 ... HTTPS und HTTP/2 ... 225 6.11 ... Zusammenfassung ... 228 7. Template-Engines ... 229 7.1 ... Eine eigene Template-Engine ... 230 7.2 ... Template-Engines in der Praxis -- Pug ... 232 7.3 ... Handlebars ... 247 7.4 ... Zusammenfassung und Ausblick ... 257 8. Anbindung von Datenbanken ... 259 8.1 ... Node.js und relationale Datenbanken ... 260 8.2 ... Node.js und nicht relationale Datenbanken ... 280 8.3 ... Zusammenfassung ... 293 9. Authentifizierung und Sessionhandling ... 295 9.1 ... Passport ... 295 9.2 ... Setup und Konfiguration ... 296 9.3 ... Anmeldung an der Applikation ... 300 9.4 ... Zugriff auf Ressourcen ... 308 9.5 ... Zusammenfassung ... 31710. REST-Server ... 319 10.1 ... REST -- eine kurze Einführung und wie es in Webapplikationen verwendet wird ... 319 10.2 ... Zugriff auf die Applikation ... 320 10.3 ... Anpassungen an der Applikationsstruktur ... 322 10.4 ... Lesende Anfragen ... 323 10.5 ... Schreibende Anfragen ... 334 10.6 ... Authentifizierung mit JSON Web Tokens ... 342 10.7 ... OpenAPI-Spezifikation -- Dokumentation mit Swagger ... 351 10.8 ... Validierung ... 355 10.9 ... Zusammenfassung ... 36211. GraphQL ... 363 11.1 ... GraphQL-Bibliotheken ... 364 11.2 ... Integration in Express ... 365 11.3 ... Daten über die Schnittstelle auslesen ... 369 11.4 ... Schreibende Zugriffe auf die GraphQL-Schnittstelle ... 374 11.5 ... Authentifizierung für die GraphQL-Schnittstelle ... 380 11.6 ... Zusammenfassung ... 38212. Echtzeit-Webapplikationen ... 383 12.1 ... Die Beispielapplikation ... 384 12.2 ... Setup ... 385 12.3 ... Websockets ... 391 12.4 ... Socket.IO ... 404 12.5 ... Zusammenfassung ... 41013. Typsichere Applikationen in Node.js ... 411 13.1 ... Typsysteme für Node.js ... 412 13.2 ... Werkzeuge und Konfiguration ... 419 13.3 ... Grundlagen ... 425 13.4 ... Klassen ... 430 13.5 ... Interfaces ... 433 13.6 ... Type Aliases in TypeScript ... 435 13.7 ... Generics ... 436 13.8 ... TypeScript im Einsatz in einer Node.js-Applikation ... 438 13.9 ... Zusammenfassung ... 44014. Webapplikationen mit Nest ... 441 14.1 ... Installation und erste Schritte mit Nest ... 442 14.2 ... Die Nest CLI ... 444 14.3 ... Struktur der Applikation ... 448 14.4 ... Module -- logische Einheiten im Quellcode ... 450 14.5 ... Controller -- die Endpunkte einer Applikation ... 453 14.6 ... Providers -- die Businesslogik der Applikation ... 458 14.7 ... Zugriff auf Datenbanken ... 462 14.8 ... Dokumentation der Endpunkte mit OpenAPI ... 470 14.9 ... Authentifizierung ... 473 14.10 ... Ausblick: Testen in Nest ... 480 14.11 ... Zusammenfassung ... 48315. Node auf der Kommandozeile ... 485 15.1 ... Grundlagen ... 485 15.2 ... Der Aufbau einer Kommandozeilenapplikation ... 488 15.3 ... Zugriff auf Ein- und Ausgabe ... 493 15.4 ... Werkzeuge ... 503 15.5 ... Signale ... 510 15.6 ... Exit Codes ... 513 15.7 ... Zusammenfassung ... 51416. Asynchrone Programmierung ... 515 16.1 ... Grundlagen asynchroner Programmierung ... 515 16.2 ... Externe Kommandos asynchron ausführen ... 521 16.3 ... Node.js-Kindprozesse erzeugen mit »fork« ... 527 16.4 ... Das »cluster«-Modul ... 532 16.5 ... Worker-Threads ... 541 16.6 ... Promises in Node.js ... 544 16.7 ... Async Functions ... 552 16.8 ... Zusammenfassung ... 55517. RxJS ... 557 17.1 ... Grundlagen ... 558 17.2 ... Operatoren ... 564 17.3 ... Subjects ... 581 17.4 ... Scheduler ... 582 17.5 ... Zusammenfassung ... 58318. Streams ... 585 18.1 ... Einleitung ... 585 18.2 ... Readable Streams ... 589 18.3 ... Writable Streams ... 601 18.4 ... Duplex-Streams ... 609 18.5 ... Transform-Streams ... 611 18.6 ... Gulp ... 613 18.7 ... Zusammenfassung ... 61519. Arbeiten mit Dateien ... 617 19.1 ... Synchrone und asynchrone Funktionen ... 617 19.2 ... Existenz von Dateien ... 619 19.3 ... Dateien lesen ... 620 19.4 ... Fehlerbehandlung ... 626 19.5 ... In Dateien schreiben ... 627 19.6 ... Verzeichnisoperationen ... 631 19.7 ... Weiterführende Operationen ... 634 19.8 ... Zusammenfassung ... 64020. Socket-Server ... 641 20.1 ... Unix-Sockets ... 642 20.2 ... Windows Pipes ... 649 20.3 ... TCP-Sockets ... 650 20.4 ... UDP-Sockets ... 657 20.5 ... Zusammenfassung ... 66221. Package Manager ... 663 21.1 ... Die häufigsten Operationen ... 664 21.2 ... Weiterführende Operationen ... 677 21.3 ... Werkzeuge für NPM ... 685 21.4 ... Yarn ... 688 21.5 ... Zusammenfassung ... 68922. Qualitätssicherung ... 691 22.1 ... Styleguides ... 692 22.2 ... Linter ... 693 22.3 ... Prettier ... 699 22.4 ... PMD CPD ... 700 22.5 ... Husky ... 703 22.6 ... Zusammenfassung ... 70423. Testing ... 705 23.1 ... Unittesting ... 705 23.2 ... Assertion Testing ... 708 23.3 ... Jasmine ... 714 23.4 ... Jest ... 723 23.5 ... Praktisches Beispiel von Unittests mit »Jest« ... 726 23.6 ... Umgang mit Abhängigkeiten -- Mocking ... 731 23.7 ... Zusammenfassung ... 73424. Sicherheitsaspekte ... 735 24.1 ... »filter input« und »escape output« ... 736 24.2 ... Absicherung des Servers ... 739 24.3 ... NPM-Sicherheit ... 758 24.4 ... Schutz des Clients ... 761 24.5 ... Zusammenfassung ... 76625. Skalierbarkeit und Deployment ... 767 25.1 ... Deployment ... 767 25.2 ... Toolunterstützung ... 775 25.3 ... Skalierung ... 777 25.4 ... »pm2« -- Prozessmanagement ... 786 25.5 ... Docker ... 787 25.6 ... Zusammenfassung ... 78926. Performance ... 791 26.1 ... YAGNI -- You Ain't Gonna Need It ... 791 26.2 ... CPU ... 792 26.3 ... Arbeitsspeicher ... 800 26.4 ... Netzwerk ... 806 26.5 ... Zusammenfassung ... 81027. Microservices mit Node.js ... 811 27.1 ... Grundlagen ... 811 27.2 ... Architektur ... 814 27.3 ... Die Infrastruktur ... 816 27.4 ... Ein asynchroner Microservice mit RabbitMQ ... 818 27.5 ... API-Gateway ... 827 27.6 ... Synchroner Microservice mit Express ... 840 27.7 ... Zusammenfassung ... 84928. Deno ... 851 28.1 ... Die zehn Dinge, die Ryan Dahl bereut ... 851 28.2 ... Installation von Deno ... 854 28.3 ... Ausführung ... 855 28.4 ... Arbeiten mit Dateien ... 857 28.5 ... Ein Webserver mit Deno ... 864 28.6 ... Das Modulsystem ... 866 28.7 ... Zusammenfassung ... 871 Index ... 873

Kunden Rezensionen

Zu diesem Artikel ist noch keine Rezension vorhanden.
Helfen sie anderen Besuchern und verfassen Sie selbst eine Rezension.

Google Plus
Powered by Inooga