Description: If you're developing server-side JavaScript applications, you need Node.js! Start with the basics of the Node.js environment: installation, application structure, and modules. Then follow detailed code examples to learn about web development using frameworks like Express and Nest. Learn about different approaches to asynchronous programming, including RxJS and data streams. Details on peripheral topics such as testing, security, and performance make this your all-in-one daily reference for Node.js! In this book, you'll learn about: a. Getting Started with Node.js Begin your journey with Node.js. Learn about the core components of the environment such as the V8 engine and libraries. Then install Node.js and explore application development tools and the module system. b. Developing Applications Develop web applications by following practical code examples. Set up a web server using HTTP and develop apps step by step using the Express and Nest frameworks. Connect databases, generate interfaces using the REST server and GraphQL, implement command-line tools, handle asynchronous programming, and more. c. Managing Applications Manage your Node.js applications from development to deployment. Learn how to use package managers, implement tests, and protect against security threats. Get expert tips on scalability and performance to optimize your apps. Highlights include: 1) Installation 2) Asynchronous programming 3) Application development 4) Modules 5) Express and Nest frameworks 6) Template engines 7) Database connectivity 8) Web sockets 9) Session handling 10) Deployment and operations 11) Security 12) Testing, performance, and scalability Highlights: Installation Asynchronous programming Application development Modules Express and Nest.js frameworks Template engines Database connectivity Web sockets Session handling Deployment and operations Security Testing, performance, and scalability ... 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
Price: 60.84 USD
Location: East Hanover, New Jersey
End Time: 2024-11-20T19:13:27.000Z
Shipping Cost: 0 USD
Product Images
Item Specifics
Return shipping will be paid by: Buyer
All returns accepted: Returns Accepted
Item must be returned within: 60 Days
Refund will be given as: Money Back
Return policy details:
EAN: 9781493222926
UPC: 9781493222926
ISBN: 9781493222926
MPN: N/A
Book Title: Node.Js: The Comprehensive Guide by Springer, Seba
Item Weight: 0.36 kg
Number of Pages: 835 Pages
Publication Name: Node. JS : the Comprehensive Guide
Language: English
Publisher: Rheinwerk Publishing Inc.
Subject: General
Item Height: 1.7 in
Publication Year: 2022
Features: New Edition
Type: Textbook
Author: Sebastian Springer
Item Length: 9.9 in
Subject Area: Computers, Technology & Engineering
Item Width: 7 in
Format: Trade Paperback