Produktbild: Node.js

Node.js Das umfassende Handbuch

Aus der Reihe Rheinwerk Computing

51,30 €

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

1956 g

Farbe

Schwarz / Lichtgrau

Auflage

5. Auflage

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

1956 g

Farbe

Schwarz / Lichtgrau

Auflage

5. Auflage

Sprache

Deutsch

ISBN

978-3-367-10834-3

Herstelleradresse

Rheinwerk Verlag GmbH
Rheinwerkallee 4
53227 Bonn
DE

Email: service@rheinwerk-verlag.de

Kundinnen und Kunden meinen

0 Bewertungen

Informationen zu Bewertungen

Zur Abgabe einer Bewertung ist eine Anmeldung im Konto notwendig. Die Authentizität der Bewertungen wird von uns nicht überprüft. Wir behalten uns vor, Bewertungstexte, die unseren Richtlinien widersprechen, entsprechend zu kürzen oder zu löschen.

Die Bewertungen sind nach Format, Anzahl Sterne und Datum sortiert.

Verfassen Sie die erste Bewertung zu diesem Artikel

Helfen Sie anderen Kund*innen durch Ihre Meinung

Kundinnen und Kunden meinen

0 Bewertungen filtern

Weitere Artikel finden Sie in

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