Produktbild: Node.js

Node.js Das umfassende Handbuch

Aus der Reihe Rheinwerk Computing

49,90 €

inkl. gesetzl. MwSt., Versandkostenfrei


Beschreibung

Produktdetails

Einband

Gebundene Ausgabe

Erscheinungsdatum

06.11.2025

Verlag

Rheinwerk Verlag

Seitenzahl

989

Maße (L/B/H)

24,3/18,5/5,9 cm

Gewicht

1966 g

Farbe

Schwarz / Lichtgrau

Auflage

5

Sprache

Deutsch

ISBN

978-3-367-10834-3

Beschreibung

Produktdetails

Einband

Gebundene Ausgabe

Erscheinungsdatum

06.11.2025

Verlag

Rheinwerk Verlag

Seitenzahl

989

Maße (L/B/H)

24,3/18,5/5,9 cm

Gewicht

1966 g

Farbe

Schwarz / Lichtgrau

Auflage

5

Sprache

Deutsch

ISBN

978-3-367-10834-3

Herstelleradresse

Rheinwerk Verlag GmbH
Rheinwerkallee 4
53227 Bonn
DE

Email: GPSR Kontakt

Noch keine Bewertungen vorhanden

Verfassen Sie die erste Bewertung zu diesem Artikel

Helfen Sie anderen Kundinnen und Kunden durch Ihre Meinung.

Kundinnen und Kunden meinen

Bewertungen (0)

Die Leseprobe wird geladen.
  • Produktbild: Node.js




  •   Materialien zum Buch ... 23



      Vorwort ... 25



      1.  Grundlagen ... 29






           1.1 ... Die Geschichte von Node.js ... 31



           1.2 ... Die Organisation von Node.js ... 36



           1.3 ... Versionierung von Node.js ... 37



           1.4 ... Stärken von Node.js ... 39



           1.5 ... Einsatzgebiete von Node.js ... 40



           1.6 ... Die wichtigsten Merkmale von Node.js ... 41



           1.7 ... Das Herzstück -- die V8-Engine ... 42



           1.8 ... Bibliotheken um die Engine ... 49



           1.9 ... Zusammenfassung ... 55






      2.  Installation ... 57






           2.1 ... Node.js-Versionierung ... 58



           2.2 ... Installation mit dem Installer ... 60



           2.3 ... Installation über den Paketmanager des Systems ... 62



           2.4 ... Einsatz eines Version-Managers ... 63



           2.5 ... Node.js in einem Container ausführen ... 68



           2.6 ... Zusammenfassung ... 77






      3.  Ein erstes Beispiel ... 79






           3.1 ... REPL -- die interaktive Shell von Node.js ... 79



           3.2 ... Die erste Applikation ... 88



           3.3 ... Debuggen von Node.js-Applikationen ... 99



           3.4 ... Entwicklungswerkzeug »nodemon« ... 110



           3.5 ... Node.js im Watch-Modus ... 111



           3.6 ... Zusammenfassung ... 114






      4.  Node.js-Module ... 117






           4.1 ... Modularer Aufbau ... 117



           4.2 ... Kernmodule ... 120



           4.3 ... JavaScript-Modulsysteme ... 146



           4.4 ... Eigene Module erzeugen und verwenden ... 151



           4.5 ... Module dynamisch laden ... 164



           4.6 ... Zusammenfassung ... 165






      5.  HTTP ... 167






           5.1 ... Das HTTP-Protokoll ... 167



           5.2 ... Der Webserver ... 168



           5.3 ... Node.js als HTTP-Client ... 203



           5.4 ... Sichere Kommunikation mit HTTPS ... 211



           5.5 ... HTTP/2 ... 213



           5.6 ... Zusammenfassung ... 224






      6.  Express ... 227






           6.1 ... Aufbau ... 227



           6.2 ... Installation ... 229



           6.3 ... Grundlagen ... 230



           6.4 ... Architektur einer Express-Applikation ... 234



           6.5 ... Filmdatenbank ... 237



           6.6 ... Middleware ... 247



           6.7 ... Dynamische Routen -- Löschen von Datensätzen ... 254



           6.8 ... Anlegen und Bearbeiten von Datensätzen -- Zugriff auf den Request-Body ... 257



           6.9 ... Validierung von Eingaben mit Zod ... 265



           6.10 ... Express 5 ... 269



           6.11 ... HTTPS und HTTP/2 ... 271



           6.12 ... Zusammenfassung ... 273






      7.  Template-Engines ... 277






           7.1 ... Template-Engines in der Praxis -- Pug ... 278



           7.2 ... Handlebars ... 294



           7.3 ... Zusammenfassung und Ausblick ... 299






      8.  Anbindung von Datenbanken ... 301






           8.1 ... Node.js und relationale Datenbanken ... 302



           8.2 ... Node.js und nicht relationale Datenbanken ... 326



           8.3 ... Zusammenfassung ... 342






      9.  Authentifizierung und Sessionhandling ... 345






           9.1 ... Passport ... 345



           9.2 ... Setup und Konfiguration ... 346



           9.3 ... Anmeldung an der Applikation ... 350



           9.4 ... Zugriff auf Ressourcen ... 360



           9.5 ... Externer Identity Provider ... 372



           9.6 ... Zusammenfassung ... 378






    10.  REST-Server ... 381






           10.1 ... REST -- eine kurze Einführung und wie es in Webapplikationen verwendet wird ... 381



           10.2 ... Zugriff auf die Applikation ... 382



           10.3 ... Anpassungen an der Applikationsstruktur ... 384



           10.4 ... Lesende Anfragen ... 385



           10.5 ... Schreibende Anfragen ... 396



           10.6 ... Authentifizierung mit JSON Web Tokens ... 407



           10.7 ... Einbindung eines externen Identity Providers ... 415



           10.8 ... OpenAPI-Spezifikation -- Dokumentation mit Swagger ... 419



           10.9 ... Validierung ... 424



           10.10 ... Zusammenfassung ... 430






    11.  GraphQL ... 433






           11.1 ... GraphQL-Bibliotheken ... 434



           11.2 ... Integration in Express ... 435



           11.3 ... Daten über die Schnittstelle auslesen ... 440



           11.4 ... Schreibende Zugriffe auf die GraphQL-Schnittstelle ... 446



           11.5 ... Mit Subscriptions Updates in Echtzeit erhalten ... 453



           11.6 ... Authentifizierung für die GraphQL-Schnittstelle ... 457



           11.7 ... Zusammenfassung ... 462






    12.  Echtzeit-Webapplikationen ... 465






           12.1 ... Die Beispielapplikation ... 466



           12.2 ... Setup ... 466



           12.3 ... WebSockets ... 473



           12.4 ... Node.js als WebSocket-Client ... 487



           12.5 ... Socket.IO ... 488



           12.6 ... Zusammenfassung ... 494






    13.  Typsichere Applikationen in Node.js ... 497






           13.1 ... Typsysteme für Node.js ... 498



           13.2 ... Werkzeuge und Konfiguration ... 501



           13.3 ... TypeScript-Grundlagen ... 506



           13.4 ... Klassen ... 512



           13.5 ... Interfaces ... 515



           13.6 ... Type Aliases in TypeScript ... 517



           13.7 ... Generics ... 519



           13.8 ... TypeScript im Einsatz in einer Node.js-Applikation ... 520



           13.9 ... Native TypeScript-Unterstützung in Node.js ... 523



           13.10 ... Zusammenfassung ... 525






    14.  Webapplikationen mit Nest ... 527






           14.1 ... Installation und erste Schritte mit Nest ... 528



           14.2 ... Die Nest CLI ... 530



           14.3 ... Struktur der Applikation ... 534



           14.4 ... Module -- logische Einheiten im Quellcode ... 536



           14.5 ... Controller -- die Endpunkte einer Applikation ... 539



           14.6 ... Providers -- die Businesslogik der Applikation ... 543



           14.7 ... Validierung ... 548



           14.8 ... Zugriff auf Datenbanken ... 551



           14.9 ... Dokumentation der Endpunkte mit OpenAPI ... 559



           14.10 ... Authentifizierung ... 563



           14.11 ... Ausblick: Testen in Nest ... 571



           14.12 ... Zusammenfassung ... 574






    15.  Node für Kommandozeilenwerkzeuge ... 577






           15.1 ... Grundlagen ... 577



           15.2 ... Der Aufbau einer Kommandozeilenapplikation ... 580



           15.3 ... Zugriff auf Ein- und Ausgabe ... 585



           15.4 ... Werkzeuge ... 594



           15.5 ... Signale ... 605



           15.6 ... Exit Codes ... 608



           15.7 ... Zusammenfassung ... 609






    16.  Asynchrone Programmierung ... 611






           16.1 ... Externe Kommandos mit dem »child-process«-Modul asynchron ausführen ... 611



           16.2 ... Node.js-Kindprozesse erzeugen mit »fork« ... 620



           16.3 ... Das »cluster«-Modul ... 626



           16.4 ... Worker-Threads ... 635



           16.5 ... Zusammenfassung ... 640






    17.  Streams ... 643






           17.1 ... Einleitung ... 643



           17.2 ... Readable Streams ... 647



           17.3 ... Writable Streams ... 660



           17.4 ... Duplex-Streams ... 668



           17.5 ... Transform-Streams ... 672



           17.6 ... Web Streams API ... 674



           17.7 ... Zusammenfassung ... 683






    18.  Arbeiten mit Dateien ... 685






           18.1 ... Synchrone und asynchrone Funktionen ... 685



           18.2 ... Existenz von Dateien ... 687



           18.3 ... Dateien lesen ... 688



           18.4 ... Fehlerbehandlung ... 693



           18.5 ... In Dateien schreiben ... 695



           18.6 ... Verzeichnisoperationen ... 699



           18.7 ... Weiterführende Operationen ... 702



           18.8 ... Zusammenfassung ... 710






    19.  Paketmanager ... 713






           19.1 ... Die häufigsten Operationen ... 714



           19.2 ... Weiterführende Operationen ... 733



           19.3 ... Werkzeuge für NPM ... 744



           19.4 ... Corepack ... 748



           19.5 ... Yarn ... 749



           19.6 ... pnpm ... 750



           19.7 ... Zusammenfassung ... 751






    20.  Qualitätssicherung ... 753






           20.1 ... Styleguides ... 754



           20.2 ... Linter ... 756



           20.3 ... Prettier ... 762



           20.4 ... PMD CPD ... 763



           20.5 ... Husky ... 766



           20.6 ... Zusammenfassung ... 767






    21.  Testing ... 769






           21.1 ... Unittesting ... 769



           21.2 ... Assertion Testing ... 772



           21.3 ... Der Node Test Runner ... 778



           21.4 ... Vitest ... 781



           21.5 ... Praktisches Beispiel von Unittests mit »Vitest« ... 792



           21.6 ... Umgang mit Abhängigkeiten -- Mocking ... 799



           21.7 ... Zusammenfassung ... 802






    22.  Sicherheitsaspekte ... 803






           22.1 ... »filter input« und »escape output« ... 804



           22.2 ... Absicherung des Servers ... 807



           22.3 ... NPM-Sicherheit ... 829



           22.4 ... Schutz des Clients ... 833



           22.5 ... Das Node.js Permission System ... 838



           22.6 ... Zusammenfassung ... 840






    23.  Skalierbarkeit und Deployment ... 843






           23.1 ... Vorbereitung für die Produktion ... 843



           23.2 ... Deployment-Grundlagen und -Strategien ... 849



           23.3 ... Die Anwendung am Laufen halten und überwachen ... 860



           23.4 ... Skalierung ... 864



           23.5 ... Zusammenfassung ... 872






    24.  Performance ... 873






           24.1 ... YAGNI -- You Ain't Gonna Need It ... 873



           24.2 ... CPU ... 874



           24.3 ... Zeitmessung in Node.js ... 877



           24.4 ... Arbeitsspeicher ... 882



           24.5 ... Netzwerk ... 889



           24.6 ... Zusammenfassung ... 893






    25.  JavaScript Runtimes ... 895






           25.1 ... Deno ... 895



           25.2 ... Bun ... 916



           25.3 ... Zusammenfassung ... 925






    26.  Künstliche Intelligenz mit Node.js nutzen ... 927






           26.1 ... Überblick über Generative AI ... 927



           26.2 ... LLMs nutzen ... 931



           26.3 ... Ein Chatbot auf der Kommandozeile ... 939



           26.4 ... Multimodale LLMs ... 942



           26.5 ... Modulare Applikationen mit LangChain ... 944



           26.6 ... Das Model Context Protocol ... 953



           26.7 ... Zusammenfassung ... 964






      Index ... 965