Produktbild: Node.js

Node.js The Comprehensive Guide

Aus der Reihe Rheinwerk Computing

51,40 €

inkl. gesetzl. MwSt., Versandkostenfrei


Beschreibung

Produktdetails

Einband

Taschenbuch

Erscheinungsdatum

08.11.2022

Verlag

Rheinwerk Publishing

Seitenzahl

834

Maße (L/B/H)

25,3/17,8/4,2 cm

Gewicht

1458 g

Auflage

1

Sprache

Englisch

ISBN

978-1-4932-2292-6

Beschreibung

Produktdetails

Einband

Taschenbuch

Erscheinungsdatum

08.11.2022

Verlag

Rheinwerk Publishing

Seitenzahl

834

Maße (L/B/H)

25,3/17,8/4,2 cm

Gewicht

1458 g

Auflage

1

Sprache

Englisch

ISBN

978-1-4932-2292-6

Herstelleradresse

Rheinwerk Verlag GmbH
Rheinwerkallee 4
53227 Bonn
DE

Email: service@rheinwerk-verlag.de

Noch keine Bewertungen vorhanden

Verfassen Sie die erste Bewertung zu diesem Artikel

Helfen Sie anderen Kundinnen und Kunden durch Ihre Meinung.

Kundinnen und Kunden meinen

Bewertungen (0)

  • Produktbild: Node.js
  • ... Foreword ... 25

    ... Preface ... 27

    ... Structure of the Book ... 28

    ... Downloading the Code Samples ... 29

    ... Acknowledgments ... 30

    1 ... Basic Principles ... 31

    1.1 ... The Story of Node.js ... 33

    1.2 ... Organization of Node.js ... 37

    1.3 ... Versioning of Node.js ... 38

    1.4 ... Benefits of Node.js ... 40

    1.5 ... Areas of Use for Node.js ... 40

    1.6 ... The Core: V8 Engine ... 41

    1.7 ... Libraries around the Engine ... 47

    1.8 ... Summary ... 53

    2 ... Installation ... 55

    2.1 ... Installing Packages ... 56

    2.2 ... Compiling and Installing ... 68

    2.3 ... Node Version Manager ... 71

    2.4 ... Node and Docker ... 71

    2.5 ... Summary ... 72

    3 ... Developing Your First Application ... 73

    3.1 ... Interactive Mode ... 73

    3.2 ... The First Application ... 79

    3.3 ... Debugging Node.js Applications ... 88

    3.4 ... nodemon Development Tool ... 98

    3.5 ... Summary ... 99

    4 ... Node.js Modules ... 101

    4.1 ... Modular Structure ... 101

    4.2 ... Core Modules ... 103

    4.3 ... JavaScript Module Systems ... 121

    4.4 ... Creating and Using Your Own Modules ... 124

    4.5 ... Summary ... 135

    5 ... HTTP ... 137

    5.1 ... Web Server ... 137

    5.2 ... Node.js as HTTP Client ... 164

    5.3 ... Secure Communication with HTTPS ... 168

    5.4 ... HTTP/2 ... 170

    5.5 ... Summary ... 175

    6 ... Express ... 177

    6.1 ... Structure ... 177

    6.2 ... Installation ... 178

    6.3 ... Basic Principles ... 179

    6.4 ... Setup ... 181

    6.5 ... Movie Database ... 185

    6.6 ... Middleware ... 193

    6.7 ... Extended Routing: Deleting Data Records ... 199

    6.8 ... Creating and Editing Data Records: Body Parser ... 201

    6.9 ... Express 5 ... 208

    6.10 ... HTTPS and HTTP/2 ... 209

    6.11 ... Summary ... 212

    7 ... Template Engines ... 213

    7.1 ... Custom Template Engine ... 214

    7.2 ... Template Engines in Practice: Pug ... 215

    7.3 ... Handlebars ... 229

    7.4 ... Summary ... 239

    8 ... Connecting Databases ... 241

    8.1 ... Node.js and Relational Databases ... 242

    8.2 ... Node.js and Nonrelational Databases ... 260

    8.3 ... Summary ... 272

    9 ... Authentication and Session Handling ... 273

    9.1 ... Passport ... 273

    9.2 ... Setup and Configuration ... 274

    9.3 ... Logging In to the Application ... 277

    9.4 ... Accessing Resources ... 285

    9.5 ... Summary ... 294

    10 ... REST Server ... 295

    10.1 ... Introduction to REST and Usage in Web Applications ... 295

    10.2 ... Accessing the Application ... 296

    10.3 ... Adaptations to the Application Structure ... 297

    10.4 ... Read Requests ... 298

    10.5 ... Write Requests ... 309

    10.6 ... Authentication via JWTs ... 316

    10.7 ... OpenAPI Specification: Documentation with Swagger ... 324

    10.8 ... Validation ... 329

    10.9 ... Summary ... 335

    11 ... GraphQL ... 337

    11.1 ... GraphQL Libraries ... 338

    11.2 ... Integration with Express ... 339

    11.3 ... GraphiQL ... 341

    11.4 ... Reading Data via the Interface ... 342

    11.5 ... Write Accesses to the GraphQL Interface ... 347

    11.6 ... Authentication for the GraphQL Interface ... 353

    11.7 ... Summary ... 355

    12 ... Real-Time Web Applications ... 357

    12.1 ... The Sample Application ... 358

    12.2 ... Setup ... 358

    12.3 ... WebSockets ... 364

    12.4 ... Socket.IO ... 377

    12.5 ... Summary ... 383

    13 ... Type-Safe Applications in Node.js ... 385

    13.1 ... Type Systems for Node.js ... 386

    13.2 ... Tools and Configuration ... 392

    13.3 ... Basic Principles ... 398

    13.4 ... Classes ... 403

    13.5 ... Interfaces ... 406

    13.6 ... Type Aliases in TypeScript ... 408

    13.7 ... Generics ... 409

    13.8 ... TypeScript in Use in a Node.js Application ... 410

    13.9 ... Summary ... 412

    14 ... Web Applications with Nest ... 413

    14.1 ... Installation and Getting Started with Nest ... 414

    14.2 ... Nest Command-Line Interface ... 416

    14.3 ... Structure of the Application ... 419

    14.4 ... Modules: Logical Units in the Source Code ... 421

    14.5 ... Controllers: Endpoints of an Application ... 423

    14.6 ... Providers: Business Logic of the Application ... 428

    14.7 ... Accessing Databases ... 432

    14.8 ... Documenting the Endpoints with OpenAPI ... 439

    14.9 ... Authentication ... 442

    14.10 ... Outlook: Testing in Nest ... 449

    14.11 ... Summary ... 451

    15 ... Node on the Command Line ... 453

    15.1 ... Basic Principles ... 453

    15.2 ... Structure of a Command-Line Application ... 456

    15.3 ... Accessing Input and Output ... 461

    15.4 ... Tools ... 469

    15.5 ... Signals ... 476

    15.6 ... Exit Codes ... 478

    15.7 ... Summary ... 479

    16 ... Asynchronous Programming ... 481

    16.1 ... Basic Principles of Asynchronous Programming ... 481

    16.2 ... Running External Commands Asynchronously ... 486

    16.3 ... Creating Node.js Child Processes with fork Method ... 492

    16.4 ... The cluster Module ... 496

    16.5 ... Worker Threads ... 504

    16.6 ... Promises in Node.js ... 507

    16.7 ... Async Functions ... 514

    16.8 ... Summary ... 517

    17 ... RxJS ... 519

    17.1 ... Basic Principles ... 520

    17.2 ... Operators ... 525

    17.3 ... Subjects ... 540

    17.4 ... Schedulers ... 542

    17.5 ... Summary ... 543

    18 ... Streams ... 545

    18.1 ... Introduction ... 545

    18.2 ... Readable Streams ... 548

    18.3 ... Writable Streams ... 559

    18.4 ... Duplex Streams ... 566

    18.5 ... Transform Streams ... 568

    18.6 ... Gulp ... 570

    18.7 ... Summary ... 572

    19 ... Working with Files ... 573

    19.1 ... Synchronous and Asynchronous Functions ... 573

    19.2 ... Existence of Files ... 575

    19.3 ... Reading Files ... 576

    19.4 ... Error Handling ... 582

    19.5 ... Writing to Files ... 582

    19.6 ... Directory Operations ... 586

    19.7 ... Advanced Operations ... 589

    19.8 ... Summary ... 594

    20 ... Socket Server ... 595

    20.1 ... Unix Sockets ... 596

    20.2 ... Windows Pipes ... 602

    20.3 ... TCP Sockets ... 603

    20.4 ... UDP Sockets ... 610

    20.5 ... Summary ... 614

    21 ... Package Manager ... 615

    21.1 ... Most Common Operations ... 616

    21.2 ... Advanced Operations ... 627

    21.3 ... Tools for Node Package Manager ... 634

    21.4 ... Yarn ... 637

    21.5 ... Summary ... 638

    22 ... Quality Assurance ... 641

    22.1 ... Style Guides ... 642

    22.2 ... Linter ... 643

    22.3 ... Prettier ... 648

    22.4 ... Programming Mistake Detector: Copy/Paste Detector ... 649

    22.5 ... Husky ... 652

    22.6 ... Summary ... 653

    23 ... Testing ... 655

    23.1 ... Unit Testing ... 655

    23.2 ... Assertion Testing ... 658

    23.3 ... Jasmine ... 663

    23.4 ... Jest ... 671

    23.5 ... Practical Example of Unit Tests with Jest ... 674

    23.6 ... Dealing with Dependencies: Mocking ... 679

    23.7 ... Summary ... 681

    24 ... Security ... 683

    24.1 ... Filter Input and Escape Output ... 684

    24.2 ... Protecting the Server ... 686

    24.3 ... Node Package Manager Security ... 704

    24.4 ... Client Protection ... 707

    24.5 ... Summary ... 711

    25 ... Scalability and Deployment ... 713

    25.1 ... Deployment ... 713

    25.2 ... Tool Support ... 720

    25.3 ... Scaling ... 721

    25.4 ... pm2: Process Management ... 730

    25.5 ... Docker ... 730

    25.6 ... Summary ... 732

    26 ... Performance ... 733

    26.1 ... You Aren’t Gonna Need It ... 733

    26.2 ... CPU ... 734

    26.3 ... Memory ... 741

    26.4 ... Network ... 747

    26.5 ... Summary ... 751

    27 ... Microservices with Node.js ... 753

    27.1 ... Basic Principles ... 753

    27.2 ... Architecture ... 756

    27.3 ... Infrastructure ... 758

    27.4 ... Asynchronous Microservice with RabbitMQ ... 759

    27.5 ... API Gateway ... 768

    27.6 ... Synchronous Microservice with Express ... 780

    27.7 ... Summary ... 789

    28 ... Deno ... 791

    28.1 ... The Ten Things Ryan Dahl Regrets about Node.js ... 791

    28.2 ... Installing Deno ... 793

    28.3 ... Execution ... 795

    28.4 ... Handling Files ... 796

    28.5 ... Web Server with Deno ... 803

    28.6 ... Module System ... 804

    28.7 ... Summary ... 809

    ... The Author ... 811

    ... Index ... 813