Mastering Node.js

Using the JavaScript language you already know, this book will show you how to easily build scalable network software with Node.js. You’ll learn through practical examples and clear explanations every step of the way.
Preview in Mapt

Mastering Node.js

Sandro Pasquali

1 customer reviews
Using the JavaScript language you already know, this book will show you how to easily build scalable network software with Node.js. You’ll learn through practical examples and clear explanations every step of the way.
Mapt Subscription
FREE
$29.99/m after trial
eBook
$6.00
RRP $29.99
Save 79%
Print + eBook
$49.99
RRP $49.99
What do I get with a Mapt Pro subscription?
  • Unlimited access to all Packt’s 5,000+ eBooks and Videos
  • Early Access content, Progress Tracking, and Assessments
  • 1 Free eBook or Video to download and keep every month after trial
What do I get with an eBook?
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with Print & eBook?
  • Get a paperback copy of the book delivered to you
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with a Video?
  • Download this Video course in MP4 format
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
$0.00
$6.00
$49.99
$29.99p/m after trial
RRP $29.99
RRP $49.99
Subscription
eBook
Print + eBook
Start 30 Day Trial

Frequently bought together


Mastering Node.js Book Cover
Mastering Node.js
$ 29.99
$ 6.00
Mastering Node.js [Video] Book Cover
Mastering Node.js [Video]
$ 124.99
$ 106.25
Buy 2 for $23.50
Save $131.48
Add to Cart
Subscribe and access every Packt eBook & Video.
 
  • 5,000+ eBooks & Videos
  • 50+ New titles a month
  • 1 Free eBook/Video to keep every month
Start Free Trial
 

Book Details

ISBN 139781782166320
Paperback346 pages

Book Description

Node.js is a modern development stack focused on providing an easy way to build scalable network software. Backed by a growing number of large companies and a rapidly increasing developer base, Node is revolutionizing the way that software is being built today. Powered by Google’s V8 engine and built out of C++ modules, this is a JavaScript environment for the enterprise.

Mastering Node.js will take the reader deep into this exciting development environment. Beginning with a comprehensive breakdown of its innovative non-blocking evented design, Node’s structure is explained in detail, laying out how its blazingly fast I/O performance simplifies the creation of fast servers, scalable architectures, and responsive web applications.

Mastering Node.js takes you through a concise yet thorough tour of Node's innovative evented non-blocking design, showing you how to build professional applications with the help of detailed examples.

Learn how to integrate your applications with Facebook and Twitter, Amazon and Google, creating social apps and programs reaching thousands of collaborators on the cloud. See how the Express and Path frameworks make the creation of professional web applications painless. Set up one, two, or an entire server cluster with just a few lines of code, ready to scale as soon as you’re ready to launch. Move data seamlessly between databases and file systems, between clients, and across network protocols, using a beautifully designed, consistent, and predictable set of tools.

Mastering Node.js contains all of the examples and explanations you’ll need to build applications in a short amount of time and at a low cost, running on a scale and speed that would have been nearly impossible just a few years ago.

Table of Contents

Chapter 1: Understanding the Node Environment
Extending JavaScript
V8
The process object
The Read-Eval-Print Loop and executing a Node program
Summary
Chapter 2: Understanding Asynchronous Event-Driven Programming
Broadcasting events
Listening for events
Timers
Understanding the event loop
Callbacks and errors
Listening for file changes
Summary
Chapter 3: Streaming Data Across Nodes and Clients
Exploring streams
Creating an HTTP server
HTTPS, TLS (SSL), and securing your server
The request object
Working with headers
Handling POST data
Creating and streaming images with Node
Summary
Chapter 4: Using Node to Access the Filesystem
Directories, and iterating over files and folders
Reading from a file
Writing to a file
Serving static files
Handling file uploads
Summary
Chapter 5: Managing Many Simultaneous Client Connections
Understanding concurrency
Routing requests
Using Redis for tracking client state
Handling sessions
Authenticating connections
Summary
Further reading
Chapter 6: Creating Real-time Applications
Introducing AJAX
Bidirectional communication with Socket.IO
Listening for Server Sent Events
Building a collaborative document editing application
Summary
Chapter 7: Utilizing Multiple Processes
Node's single-threaded model
Creating child processes
Communicating with your child
Parsing a file using multiple processes
Real-time activity updates of multiple worker results
Summary
Chapter 8: Scaling Your Application
When to scale?
Running multiple Node servers
Message queues – RabbitMQ
Using Node's UDP module
Using Amazon Web Services in your application
Authenticating with Facebook Connect
Summary
Chapter 9: Testing your Application
Why testing is important
Native Node testing and debugging tools
Headless website testing with ZombieJS and Mocha
Using Grunt, Mocha, and PhantomJS to test and deploy projects
Summary

What You Will Learn

  • Discover how Node uses Google’s V8 engine to create high-speed JavaScript on the server
  • Use events to create non-blocking systems with high throughput
  • Create secure servers across all major network protocols
  • Manage thousands of concurrent clients without slowing down
  • Handle data, files, and protocol streams with ease
  • Leverage Node’s module system to design sane applications that are easy to extend
  • Optimize and debug server-side JavaScript for increased performance
  • Learn scaling techniques and parallelize operations across multiple cores

Authors

Table of Contents

Chapter 1: Understanding the Node Environment
Extending JavaScript
V8
The process object
The Read-Eval-Print Loop and executing a Node program
Summary
Chapter 2: Understanding Asynchronous Event-Driven Programming
Broadcasting events
Listening for events
Timers
Understanding the event loop
Callbacks and errors
Listening for file changes
Summary
Chapter 3: Streaming Data Across Nodes and Clients
Exploring streams
Creating an HTTP server
HTTPS, TLS (SSL), and securing your server
The request object
Working with headers
Handling POST data
Creating and streaming images with Node
Summary
Chapter 4: Using Node to Access the Filesystem
Directories, and iterating over files and folders
Reading from a file
Writing to a file
Serving static files
Handling file uploads
Summary
Chapter 5: Managing Many Simultaneous Client Connections
Understanding concurrency
Routing requests
Using Redis for tracking client state
Handling sessions
Authenticating connections
Summary
Further reading
Chapter 6: Creating Real-time Applications
Introducing AJAX
Bidirectional communication with Socket.IO
Listening for Server Sent Events
Building a collaborative document editing application
Summary
Chapter 7: Utilizing Multiple Processes
Node's single-threaded model
Creating child processes
Communicating with your child
Parsing a file using multiple processes
Real-time activity updates of multiple worker results
Summary
Chapter 8: Scaling Your Application
When to scale?
Running multiple Node servers
Message queues – RabbitMQ
Using Node's UDP module
Using Amazon Web Services in your application
Authenticating with Facebook Connect
Summary
Chapter 9: Testing your Application
Why testing is important
Native Node testing and debugging tools
Headless website testing with ZombieJS and Mocha
Using Grunt, Mocha, and PhantomJS to test and deploy projects
Summary

Book Details

ISBN 139781782166320
Paperback346 pages
Read More
From 1 reviews

Read More Reviews

Recommended for You

Mastering Web Application Development with AngularJS Book Cover
Mastering Web Application Development with AngularJS
$ 26.99
$ 5.40
Responsive Web Design with HTML5 and CSS3 Book Cover
Responsive Web Design with HTML5 and CSS3
$ 23.99
$ 4.80
Object-Oriented JavaScript - Second Edition Book Cover
Object-Oriented JavaScript - Second Edition
$ 29.99
$ 21.00
AngularJS Web Application Development Blueprints Book Cover
AngularJS Web Application Development Blueprints
$ 29.99
$ 21.00
MEAN Web Development Book Cover
MEAN Web Development
$ 29.99
$ 3.00
IPython Interactive Computing and Visualization Cookbook Book Cover
IPython Interactive Computing and Visualization Cookbook
$ 29.99
$ 21.00