Springer | Node.js | Buch | 978-3-8362-4003-1 | sack.de

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

Springer

Node.js

Das umfassende Handbuch. Serverseitige Webapplikationen mit JavaScript entwickeln
2. Auflage 2016
ISBN: 978-3-8362-4003-1
Verlag: Rheinwerk Verlag

Das umfassende Handbuch. Serverseitige Webapplikationen mit JavaScript entwickeln

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

ISBN: 978-3-8362-4003-1
Verlag: Rheinwerk Verlag


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 ECMScript 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

Springer Node.js jetzt bestellen!

Autoren/Hrsg.


Weitere Infos & Material


Geleitwort des Fachgutachters ... 19  Vorwort ... 21  1.  Grundlagen ... 25       1.1 ... Die Geschichte von Node.js ... 26        1.2 ... Vorteile von Node.js ... 30        1.3 ... Einsatzgebiete von Node.js ... 31        1.4 ... Das Herzstück -- die V8-Engine ... 32        1.5 ... Bibliotheken um die Engine ... 39        1.6 ... Zusammenfassung ... 45  2.  Installation ... 47       2.1 ... Installation von Paketen ... 48        2.2 ... Kompilieren und Installieren ... 63        2.3 ... Zusammenfassung ... 65  3.  Ein erstes Beispiel ... 67       3.1 ... Der interaktive Modus ... 67        3.2 ... Die erste Applikation ... 72        3.3 ... Zusammenfassung ... 81  4.  Node-Module ... 83       4.1 ... Modularer Ansatz ... 83        4.2 ... Stabilität ... 86        4.3 ... Basis-Module ... 90        4.4 ... Eigene Module erstellen und einbinden ... 98        4.5 ... Zusammenfassung ... 108  5.  NPM ... 109       5.1 ... Pakete suchen ... 109        5.2 ... Werkzeuge für NPM ... 126        5.3 ... Zusammenfassung ... 128  6.  ECMAScript 6 ... 129       6.1 ... Ein kurzer Rückblick ... 129        6.2 ... Node.js und ECMAScript 6 ... 131        6.3 ... String- und Array-Erweiterungen ... 132        6.4 ... Scoping ... 133        6.5 ... Klassen ... 137        6.6 ... Template Strings ... 140        6.7 ... Collections ... 142        6.8 ... Arrow Functions ... 144        6.9 ... Generators ... 145        6.10 ... Promises ... 146        6.11 ... Symbols ... 148        6.12 ... Typed Arrays ... 150        6.13 ... Spread-Operator ... 150        6.14 ... Rest Parameters ... 151        6.15 ... Destructuring ... 151        6.16 ... Binary und Octal Literals ... 152        6.17 ... Erweiterung der Object Literals ... 152        6.18 ... »Object.assign« ... 153        6.19 ... »new.target« ... 153        6.20 ... Zusammenfassung ... 153  7.  Node auf der Kommandozeile ... 155       7.1 ... Grundlagen ... 155        7.2 ... Der Aufbau einer Kommandozeilenapplikation ... 158        7.3 ... Zugriff auf Ein- und Ausgabe ... 161        7.4 ... Werkzeuge ... 169        7.5 ... Zusammenfassung ... 172  8.  HTTP ... 173       8.1 ... Der Webserver ... 173        8.2 ... HTTP-Client mit Node.js ... 187        8.3 ... Umgang mit URLs ... 196        8.4 ... Sichere Kommunikation mit HTTPS ... 198        8.5 ... Zusammenfassung ... 199  9.  Express.js ... 201       9.1 ... Aufbau ... 201        9.2 ... Installation ... 203        9.3 ... Grundlagen ... 204        9.4 ... Setup ... 206        9.5 ... Routing ... 215        9.6 ... Middleware ... 220        9.7 ... Zusammenfassung ... 22710.  Template-Engines ... 229       10.1 ... Eine eigene Template-Engine ... 230        10.2 ... Template-Engines in der Praxis -- Jade ... 231        10.3 ... Handlebars ... 251        10.4 ... Zusammenfassung ... 25811.  REST Server ... 259       11.1 ... »GET« -- lesender Zugriff ... 261        11.2 ... »POST« -- Anlegen neuer Ressourcen ... 265        11.3 ... »PUT« -- Aktualisierung bestehender Daten ... 267        11.4 ... »DELETE« -- Löschen vorhandener Daten ... 269        11.5 ... »Accept«-Header ... 271        11.6 ... Zusammenfassung ... 27312.  Single-Page-Webapplikationen mit Express.js und Angular.js ... 275       12.1 ... Die Aufgabenstellung ... 275        12.2 ... Setup ... 276        12.3 ... Die Applikation ... 281        12.4 ... Zusammenfassung ... 29913.  Echtzeit-Webapplikationen ... 301       13.1 ... Die Beispielapplikation ... 302        13.2 ... Setup ... 303        13.3 ... Websockets ... 308        13.4 ... Socket.IO ... 320        13.5 ... Zusammenfassung ... 32514.  Asynchrone Programmierung ... 327       14.1 ... Grundlagen asynchroner Programmierung ... 327        14.2 ... Externe Kommandos asynchron ausführen ... 332        14.3 ... »fork« ... 337        14.4 ... Das cluster-Modul ... 341        14.5 ... Promises in Node.js ... 349        14.6 ... Zusammenfassung ... 35315.  Streams ... 355       15.1 ... Einleitung ... 355        15.2 ... Readable Streams ... 358        15.3 ... Writable Streams ... 369        15.4 ... Duplex Streams ... 376        15.5 ... Transform Streams ... 378        15.6 ... Gulp ... 380        15.7 ... Zusammenfassung ... 38216.  Arbeiten mit Dateien ... 383       16.1 ... Synchrone und asynchrone Funktionen ... 383        16.2 ... Existenz von Dateien ... 384        16.3 ... Dateien lesen ... 385        16.4 ... Fehlerbehandlung ... 390        16.5 ... In Dateien schreiben ... 391        16.6 ... Verzeichnisoperationen ... 394        16.7 ... Weiterführende Operationen ... 398        16.8 ... Zusammenfassung ... 40217.  Socket-Server ... 405       17.1 ... UNIX-Sockets ... 406        17.2 ... Windows Pipes ... 413        17.3 ... TCP-Sockets ... 414        17.4 ... UDP-Sockets ... 421        17.5 ... Zusammenfassung ... 42618.  Anbindung von Datenbanken ... 427       18.1 ... Node.js und relationale Datenbanken ... 428        18.2 ... Node.js und nicht relationale Datenbanken ... 439        18.3 ... Datenbanken und Promises ... 449        18.4 ... Datenbanken und Streams ... 450        18.5 ... Zusammenfassung ... 45119.  Qualitätssicherung ... 453       19.1 ... Unittesting ... 453        19.2 ... Assertion Testing ... 456        19.3 ... Jasmine ... 459        19.4 ... nodeunit ... 465        19.5 ... Praktisches Beispiel von Unittests mit nodeunit ... 470        19.6 ... Statische Codeanalyse ... 474        19.7 ... Node.js Debugger ... 482        19.8 ... Node Inspector ... 487        19.9 ... Debugging in der Entwicklungsumgebung ... 489        19.10 ... Zusammenfassung ... 48920.  Sicherheitsaspekte ... 491       20.1 ... Filter Input und Escape Output ... 492        20.2 ... Absicherung des Servers ... 494        20.3 ... NPM-Sicherheit ... 511        20.4 ... Schutz des Clients ... 514        20.5 ... Zusammenfassung ... 51821.  Skalierbarkeit und Deployment ... 519       21.1 ... Deployment ... 519        21.2 ... Toolunterstützung ... 528        21.3 ... Skalierung ... 534        21.4 ... pm2 -- Prozessmanagement ... 543        21.5 ... Zusammenfassung ... 544  Index ... 545


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.