Zurück

In den Warenkorb

Empfehlung per E-Mail versenden

Probeexemplar anfordern

Gerne schicken wir Ihnen ein Probeexemplar an die angegeben Adresse.
Node.js

Node.js

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

vonSpringer, Sebastian
Deutsch, Erscheinungstermin 26.11.2021
lieferbar

Buch (gebunden)

49,90 €
(inkl. MwSt.)

eBook (EPUB ohne DRM)

49,90 €
(inkl. MwSt.)
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...

Informationen zum Titel

978-3-8362-8765-4
Bonn
26.11.2021
2022
4
4. Auflage
Buch (gebunden)
1772 g
896
182 mm x 247 mm x 55 mm
Color of cover: Black, Color of cover: Grey, Color of cover: Silver, Color of cover:, Color of cover: Yellow, Bonn
Deutsch
Webprogrammierung, Programmier- und Skriptsprachen, allgemein, Informatik, Computernetzwerke und maschinelle Kommunikation, Internet, allgemein


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

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. 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 Microservices mit Node.js Deno kennen lernen
Sebastian Springer ist JavaScript-Engineer bei MaibornWolff. Als Dozent lehrt er JavaScript an der Technischen Hochschule Rosenheim. Er publiziert regelmäßig in Fachzeitschriften, schreibt Fachbücher zu Node.js und ist ein gefragter Speaker auf allen wichtigen JavaScript- und Webentwickler-Konferenzen.
»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.« (05/2023)
Kundenmitteilung
EU-Datenschutzgrundverordnung

Die DSGVO stärkt die Datenschutzrechte europaweit für uns alle. Bei vub haben wir aus diesem Anlass unsere Datenschutzerklärung grundlegend verändert:

  • Wir stellen noch übersichtlicher dar, wie und wofür wir personenbezogene Daten verarbeiten (wenn überhaupt, denn das Verwerten Ihrer persönlichen Daten ist überhaupt nicht unser Geschäft!).
  • Wir informieren in unserer neuen Datenschutzerklärung über die Kundenrechte.
  • Wir haben die Datenschutzerklärung übersichtlicher gestaltet.
  • Ab dem 25. Mai 2018 können Sie in Ihrem Kundenkonto im Menü unter „mein vub - Einstellungen“ den gewünschten Datenschutz selbst einstellen.

Bei Fragen wenden Sie sich bitte jederzeit an unseren vub-Kundenservice und Ihre bekannten Ansprechpartner unter premiumservice@vub.de.

Bestätigung