Node.js

Node.js Das umfassende Handbuch. Serverseitige Web-Applikationen mit JavaScript entwickeln. Aktuell zu Version 16

Aus der Reihe

Node.js

Ebenfalls verfügbar als:

Gebundenes Buch

Gebundenes Buch

ab Fr. 72.90
eBook

eBook

ab Fr. 67.90

Fr. 72.90

inkl. MwSt, Versandkostenfrei

Beschreibung

Details

Einband

Gebundene Ausgabe

Erscheinungsdatum

26.11.2021

Verlag

Rheinwerk

Seitenzahl

896

Maße (L/B/H)

24.7/18.2/5.5 cm

Beschreibung

Rezension

»Ob zur Weiterbildung oder als Nachschlagewerk, dieses Buch gehört in das Bücherregal eines jeden Webentwicklers, oder jeder Webentwicklerin. Mit dem Wissen aus diesem Werk ist ein Application-Server mit Datenbankanbindung und ReST API im Nu erstellt.« regetskcob.blog 202305

Details

Einband

Gebundene Ausgabe

Erscheinungsdatum

26.11.2021

Verlag

Rheinwerk

Seitenzahl

896

Maße (L/B/H)

24.7/18.2/5.5 cm

Gewicht

1766 g

Auflage

4. Auflage

Sprache

Deutsch

ISBN

978-3-8362-8765-4

Herstelleradresse

Rheinwerk Verlag GmbH
Rheinwerkallee 4
53227 Bonn
Deutschland
Email: susanne.hoffmann@rheinwerk-verlag.de
Url: www.rheinwerk-verlag.de
Telephone: +49 228 421500

Weitere Bände von Rheinwerk Computing

Unsere Kundinnen und Kunden meinen

0.0

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.

Verfassen Sie die erste Bewertung zu diesem Artikel

Helfen Sie anderen Kund*innen durch Ihre Meinung

Erste Bewertung verfassen

Unsere Kundinnen und Kunden meinen

0.0

0 Bewertungen filtern

Weitere Artikel finden Sie in

Die Leseprobe wird geladen.
  • Node.js


  •   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 ... 317

    10.  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 ... 362

    11.  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 ... 382

    12.  Echtzeit-Webapplikationen ... 383

           12.1 ... Die Beispielapplikation ... 384

           12.2 ... Setup ... 385

           12.3 ... Websockets ... 391

           12.4 ... Socket.IO ... 404

           12.5 ... Zusammenfassung ... 410

    13.  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 ... 440

    14.  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 ... 483

    15.  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 ... 514

    16.  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 ... 555

    17.  RxJS ... 557

           17.1 ... Grundlagen ... 558

           17.2 ... Operatoren ... 564

           17.3 ... Subjects ... 581

           17.4 ... Scheduler ... 582

           17.5 ... Zusammenfassung ... 583

    18.  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 ... 615

    19.  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 ... 640

    20.  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 ... 662

    21.  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 ... 689

    22.  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 ... 704

    23.  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 ... 734

    24.  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 ... 766

    25.  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 ... 789

    26.  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 ... 810

    27.  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 ... 849

    28.  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