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
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
Autoren/Hrsg.
Fachgebiete
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. 227
10. 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. 258
11. 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. 273
12. 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. 299
13. Echtzeit-Webapplikationen. 301
13.1. Die Beispielapplikation. 302
13.2. Setup. 303
13.3. Websockets. 308
13.4. Socket.IO. 320
13.5. Zusammenfassung. 325
14. 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. 353
15. 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. 382
16. 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. 402
17. 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. 426
18. 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. 451
19. 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. 489
20. 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. 518
21. 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