Zum Hauptinhalt springen Zur Suche springen Zur Hauptnavigation springen

Node.js

49,90 €

Sofort verfügbar, Lieferzeit: Sofort lieferbar

Format auswählen
Produkt Anzahl: Gib den gewünschten Wert ein oder benutze die Schaltflächen um die Anzahl zu erhöhen oder zu reduzieren.

Node.js, Rheinwerk Verlag
Das umfassende Handbuch
Von Sebastian Springer, im heise shop in digitaler Fassung erhältlich

Produktinformationen "Node.js"

Meistern Sie Node.js, die führende Plattform für serverseitiges JavaScript! In diesem umfassenden Handbuch begleitet Sie Sebastian Springer von den ersten Grundlagen bis zu fortgeschrittenen Techniken Schritt für Schritt. Anhand zahlreicher praxisnaher Beispiele lernen Sie, wie Sie robuste und skalierbare Webanwendungen entwickeln. Finden Sie Antworten auf Ihre täglichen Herausforderungen und profitieren Sie von Expertenwissen und bewährten Lösungen. Die fünfte, umfassend aktualisierte und erweiterte Auflage stellt sicher, dass Sie mit den neuesten Entwicklungen arbeiten. Aus dem Inhalt:
  • Grundlagen und Installation
  • Node.js-Module verwenden
  • Node Package Manager (z. B. NPM, Yarn)
  • Erfolgreich arbeiten mit Nest.js
  • Asynchrone Programmierung
  • Anbindung von Datenbanken
  • GraphQL nutzen
  • Performance, Testing, Qualitätssicherung
  • Skalierbarkeit und Deployment
  • Deno und Bun kennenlernen
  • Node.js und KI
  • Verschlüsselung
  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

Artikel-Details

Anbieter:
Rheinwerk Verlag
Autor:
Sebastian Springer
Artikelnummer:
9783367108367
Veröffentlicht:
06.11.25
Seitenanzahl:
989