Meine Filiale

Node.js

Das umfassende Handbuch. Serverseitige Web-Applikationen mit JavaScript entwickeln

Sebastian Springer

Buch (gebundene Ausgabe)
Buch (gebundene Ausgabe)
49,90
49,90
inkl. gesetzl. MwSt.
inkl. gesetzl. MwSt.
Sofort lieferbar Versandkostenfrei
Sofort lieferbar
Versandkostenfrei

Weitere Formate

gebundene Ausgabe

49,90 €

Accordion öffnen
  • Node.js

    Rheinwerk

    Sofort lieferbar

    49,90 €

    Rheinwerk

eBook (ePUB)

35,90 €

Accordion öffnen

Beschreibung

Hochperformante Webanwendungen mit JavaScript

Professionelle, echtzeitfähige Anwendungen entwickeln
Installation, Grundlagen, Best Practices
Debugging, Skalierung, Qualitätssicherung

Das Buch bietet Ihnen einen guten Einstieg in das Universum von Node.js ab Version 4.2. Node.js ist die am weitesten verbreitete und auch von zahlreichen großen Unternehmen eingesetzte serverseitige JavaScript-Plattform. An einfachen und leicht verständlichen Beispielen werden die Grundlagen erklärt. Professionelle Anwender finden zahlreiche Tipps und Lösungen von alltäglichen Problemen in der Webentwicklung, einen Einblick in neue Vorgehensweisen bei der Entwicklung durch den Einsatz von ECMAScript 6 (z.B. Klassen), den Aufbau und die Struktur von Applikationen, Bibliotheken (z.B. Express, Handlebars) und Tools (nvm, nodemon) sowie Hinweise zum Deployment und der Skalierung von Applikationen.

Aus dem Inhalt:

Grundlagen
Googles V8-Engine
Installation von Node.js
Anpassung und Erweiterung
Node.js-Module verwenden
Node Package Manager (NPM)
Kommunikationsmöglichkeiten
Asynchrone Programmierung
Anbindung von Datenbanken
Qualitätssicherung
Skalierbarkeit und Deployment
Server und Client schützen

Die Fachpresse zur Vorauflage:

eStrategy: »Ob alltägliche Probleme in der Webentwicklung oder Aufbau von Applikationen – die Lektüre wartet mit Dutzenden Tipps und Lösungen für professionelle Anwender auf.«

Die Fachpresse zur Vorauflage:

eStrategy: "Ob alltägliche Probleme in der Webentwicklung oder Aufbau von Applikationen - die Lektüre wartet mit Dutzenden Tipps und Lösungen für professionelle Anwender auf."

Produktdetails

Einband gebundene Ausgabe
Seitenzahl 747
Erscheinungsdatum 24.08.2018
Sprache Deutsch
ISBN 978-3-8362-6255-2
Reihe Rheinwerk Computing
Verlag Rheinwerk
Maße (L/B/H) 24,4/17,4/4,8 cm
Gewicht 1490 g
Auflage 3. erweiterte Auflage
Verkaufsrang 113653

Kundenbewertungen

Es wurden noch keine Bewertungen geschrieben.

  • Artikelbild-0


  •   Materialien zum Buch ... 21

      Geleitwort ... 23

      Vorwort ... 25

      1.  Grundlagen ... 29

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

           1.2 ... Die Organisation von Node.js ... 35

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

           1.4 ... Vorteile von Node.js ... 38

           1.5 ... Einsatzgebiete von Node.js ... 39

           1.6 ... Das Herzstück -- die V8-Engine ... 40

           1.7 ... Bibliotheken um die Engine ... 47

           1.8 ... Zusammenfassung ... 53

      2.  Installation ... 55

           2.1 ... Installation von Paketen ... 56

           2.2 ... Kompilieren und installieren ... 70

           2.3 ... Node Version Manager ... 73

           2.4 ... Zusammenfassung ... 74

      3.  Ein erstes Beispiel ... 75

           3.1 ... Der interaktive Modus ... 75

           3.2 ... Die erste Applikation ... 81

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

           3.4 ... Entwicklungswerkzeug »nodemon« ... 101

           3.5 ... Zusammenfassung ... 102

      4.  Node.js-Module ... 103

           4.1 ... Modularer Aufbau ... 103

           4.2 ... Kernmodule ... 105

           4.3 ... JavaScript-Modulsysteme ... 117

           4.4 ... Eigene Module erzeugen und verwenden ... 121

           4.5 ... Zusammenfassung ... 133

      5.  HTTP ... 135

           5.1 ... Der Webserver ... 135

           5.2 ... Node.js als HTTP-Client ... 157

           5.3 ... Sichere Kommunikation mit HTTPS ... 161

           5.4 ... HTTP/2 ... 163

           5.5 ... Zusammenfassung ... 170

      6.  Express ... 171

           6.1 ... Aufbau ... 171

           6.2 ... Installation ... 172

           6.3 ... Grundlagen ... 174

           6.4 ... Setup ... 176

           6.5 ... Moviedatenbank ... 179

           6.6 ... Middleware ... 187

           6.7 ... Erweitertes Routing -- Löschen von Datensätzen ... 192

           6.8 ... Anlegen und Bearbeiten von Datensätzen -- Body-Parser ... 195

           6.9 ... Express 5 ... 202

           6.10 ... HTTPS und HTTP/2 ... 203

           6.11 ... Zusammenfassung ... 205

      7.  Template-Engines ... 207

           7.1 ... Eine eigene Template-Engine ... 208

           7.2 ... Template-Engines in der Praxis -- Pug ... 210

           7.3 ... Handlebars ... 225

           7.4 ... Zusammenfassung und Ausblick ... 234

      8.  Anbindung von Datenbanken ... 237

           8.1 ... Node.js und relationale Datenbanken ... 238

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

           8.3 ... Zusammenfassung ... 276

      9.  Authentifizierung und Sessionhandling ... 277

           9.1 ... Passport ... 277

           9.2 ... Setup und Konfiguration ... 278

           9.3 ... Anmeldung an der Applikation ... 281

           9.4 ... Zugriff auf Ressourcen ... 289

           9.5 ... Zusammenfassung ... 300

    10.  REST-Server ... 301

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

           10.2 ... Zugriff auf die Applikation ... 302

           10.3 ... Anpassungen an der Applikationsstruktur ... 303

           10.4 ... Lesende Anfragen ... 304

           10.5 ... Schreibende Anfragen ... 315

           10.6 ... Authentifizierung mit JWT ... 323

           10.7 ... Swagger ... 328

           10.8 ... GraphQL ... 333

           10.9 ... Zusammenfassung ... 338

    11.  Echtzeit-Webapplikationen ... 339

           11.1 ... Die Beispielapplikation ... 340

           11.2 ... Setup ... 341

           11.3 ... Websockets ... 347

           11.4 ... Socket.IO ... 362

           11.5 ... Zusammenfassung ... 367

    12.  Node auf der Kommandozeile ... 369

           12.1 ... Grundlagen ... 369

           12.2 ... Der Aufbau einer Kommandozeilenapplikation ... 372

           12.3 ... Zugriff auf Ein- und Ausgabe ... 377

           12.4 ... Werkzeuge ... 387

           12.5 ... Signale ... 394

           12.6 ... Exit Codes ... 396

           12.7 ... Zusammenfassung ... 398

    13.  Asynchrone Programmierung ... 399

           13.1 ... Grundlagen asynchroner Programmierung ... 399

           13.2 ... Externe Kommandos asynchron ausführen ... 404

           13.3 ... Node.js-Kindprozesse erzeugen mit »fork« ... 410

           13.4 ... Das »cluster«-Modul ... 414

           13.5 ... Promises in Node.js ... 423

           13.6 ... Async Functions ... 429

           13.7 ... Zusammenfassung ... 430

    14.  RxJS ... 433

           14.1 ... Grundlagen ... 434

           14.2 ... Operatoren ... 440

           14.3 ... Subjects ... 456

           14.4 ... Scheduler ... 458

           14.5 ... Zusammenfassung ... 459

    15.  Streams ... 461

           15.1 ... Einleitung ... 461

           15.2 ... Readable Streams ... 464

           15.3 ... Writable Streams ... 476

           15.4 ... Duplex-Streams ... 484

           15.5 ... Transform-Streams ... 486

           15.6 ... Gulp ... 488

           15.7 ... Zusammenfassung ... 490

    16.  Arbeiten mit Dateien ... 491

           16.1 ... Synchrone und asynchrone Funktionen ... 491

           16.2 ... Existenz von Dateien ... 493

           16.3 ... Dateien lesen ... 494

           16.4 ... Fehlerbehandlung ... 499

           16.5 ... In Dateien schreiben ... 500

           16.6 ... Verzeichnisoperationen ... 504

           16.7 ... Weiterführende Operationen ... 507

           16.8 ... Zusammenfassung ... 512

    17.  Socket-Server ... 513

           17.1 ... Unix-Sockets ... 514

           17.2 ... Windows Pipes ... 521

           17.3 ... TCP-Sockets ... 522

           17.4 ... UDP-Sockets ... 530

           17.5 ... Zusammenfassung ... 534

    18.  Package Manager ... 535

           18.1 ... Die häufigsten Operationen ... 536

           18.2 ... Weiterführende Operationen ... 547

           18.3 ... Werkzeuge für NPM ... 554

           18.4 ... Yarn ... 557

           18.5 ... Zusammenfassung ... 558

    19.  Qualitätssicherung ... 561

           19.1 ... Styleguides ... 562

           19.2 ... Linter ... 563

           19.3 ... Prettier ... 568

           19.4 ... PMD CPD ... 569

           19.5 ... Plato ... 572

           19.6 ... Zusammenfassung ... 574

    20.  Testing ... 575

           20.1 ... Unittesting ... 575

           20.2 ... Assertion Testing ... 578

           20.3 ... Jasmine ... 584

           20.4 ... »nodeunit« ... 592

           20.5 ... Praktisches Beispiel von Unittests mit »nodeunit« ... 597

           20.6 ... Zusammenfassung ... 602

    21.  Sicherheitsaspekte ... 605

           21.1 ... »filter input« und »escape output« ... 606

           21.2 ... Absicherung des Servers ... 609

           21.3 ... NPM-Sicherheit ... 627

           21.4 ... Schutz des Clients ... 631

           21.5 ... Zusammenfassung ... 635

    22.  Skalierbarkeit und Deployment ... 637

           22.1 ... Deployment ... 637

           22.2 ... Toolunterstützung ... 646

           22.3 ... Skalierung ... 654

           22.4 ... »pm2« -- Prozessmanagement ... 664

           22.5 ... Docker ... 665

           22.6 ... Zusammenfassung ... 667

    23.  Microservices mit Node.js ... 669

           23.1 ... Grundlagen ... 669

           23.2 ... Architektur ... 672

           23.3 ... Die Infrastruktur ... 674

           23.4 ... Seneca ... 676

           23.5 ... API-Gateway ... 685

           23.6 ... Express ... 693

           23.7 ... Zusammenfassung ... 703

    24.  Typsichere Applikationen in Node.js ... 705

           24.1 ... Typsysteme für Node.js ... 706

           24.2 ... Werkzeuge und Konfiguration ... 710

           24.3 ... Grundlagen ... 714

           24.4 ... Klassen ... 720

           24.5 ... Interfaces ... 723

           24.6 ... Generics ... 724

           24.7 ... TypeScript im Einsatz in einer Node.js-Applikation ... 726

           24.8 ... Zusammenfassung ... 728

      Index ... 729