Springer | Node.js | Buch | 978-3-8362-6255-2 | www.sack.de

Buch, Deutsch, 747 Seiten, Format (B × H): 168 mm x 240 mm

Reihe: Rheinwerk computing

Springer

Node.js

Das umfassende Handbuch. Serverseitige Web-Applikationen mit JavaScript entwickeln
3. aktualisierte und erweiterte Auflage 2018
ISBN: 978-3-8362-6255-2
Verlag: Rheinwerk Verlag

Das umfassende Handbuch. Serverseitige Web-Applikationen mit JavaScript entwickeln

Buch, Deutsch, 747 Seiten, Format (B × H): 168 mm x 240 mm

Reihe: Rheinwerk computing

ISBN: 978-3-8362-6255-2
Verlag: Rheinwerk Verlag


Das Buch bietet Ihnen einen umfassenden Einstieg in die serverseitige JavaScript-Plattform Node.js ab Version 8.0 LTS. An einfachen und leicht verständlichen Beispielen erlernen Sie die Grundlagen von Node.js, professionelle Anwender profitieren von zahlreichen Tipps und Lösungen für den Entwickler-Alltag. Das Buch wurde für die dritte Auflage grundlegend aktualisiert und enthält nun eigene Kapitel zu RxJS, Microservices, Testing, Authentifizierung und Session-Handling, auch erfahren Sie mehr über HTTPS2, Docker, REST-Services mit Express u. v. m.

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

Springer Node.js jetzt bestellen!

Autoren/Hrsg.


Weitere Infos & Material


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


Springer, Sebastian
Sebastian Springer arbeitet als Teamleiter bei der Mayflower GmbH in München. Sein Fokus liegt auf der Entwicklung von dynamischen Webapplikationen mit JavaScript und PHP.



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.