About This Title

Pages: 334
Published: December 2017
ISBN: 9781680501957
In Print

Skill Level Meter

Node.js 8 the Right Way

Practical, Server-Side JavaScript That Scales

by Jim R. Wilson

Node.js is the platform of choice for creating modern web services. This fast-paced book gets you up to speed on server-side programming with Node.js 8, as you develop real programs that are small, fast, low-profile, and useful. Take JavaScript beyond the browser, explore dynamic language features, and embrace evented programming. Harness the power of the event loop and non-blocking I/O to create highly parallel microservices and applications. This expanded and updated second edition showcases the latest ECMAScript features, current best practices, and modern development techniques.

eBook Formats:

  • PDF for desktop/tablets

  • epub for Apple Books, e-readers

  • mobi for Kindle readers

Get all eBook formats here for $22.95 (USD)

Add to Cart we accept visa, mastercard, amex, discover, paypal


Paperback Formats:

Please support indie bookstores!
Find indie bookstores in the U.S. Find indie bookstores around the world.


JavaScript is the backbone of the modern web, powering nearly every web app’s user interface. Node.js is JavaScript for the server. This greatly expanded second edition introduces new language features while dramatically increasing coverage of core topics. Each hands-on chapter offers progressively more challenging topics and techniques, broadening your skill set and enabling you to think in Node.js.

Write asynchronous, non-blocking code using Node.js’s style and patterns. Cluster and load balance services with Node.js core features and third-party tools. Harness the power of databases such as Elasticsearch and Redis. Work with many protocols, create RESTful web services, TCP socket clients and servers, and more. Test your code’s functionality with Mocha, and manage its life cycle with npm. Discover how Node.js pairs a server-side event loop with a JavaScript runtime to produce screaming fast, non-blocking concurrency. Through a series of practical programming domains, use the latest available ECMAScript features and harness key Node.js classes and popular modules. Create rich command-line tools and a web-based UI using modern web development techniques.

Join the smart and diverse community that’s rapidly advancing the state of the art in JavaScript development.

What You Need

  • Node.js 8.x
  • Operating system with bash-like shell
  • ØMQ (pronounced “Zero-M-Q”) library, version 3.2 or higher
  • Elasticsearch version 5.2 or higher
  • jq version 1.5 or higher
  • Redis version 3.2 or higher

Resources

Releases:

  • P1.0 2018/01/02
  • B5.0 2017/12/15
  • B4.0 2017/10/10
  • B3.0 2017/07/26

Contents & Extracts

  • Preface
  • Getting Up to Speed on Node.js 8
    • Getting Started
      • Thinking Beyond the web
      • Node.js’s Niche
      • How Node.js Applications Work
      • Aspects of Node.js Development
      • Installing Node.js
    • Wrangling the File System excerpt
      • Programming for the Node.js Event Loop
      • Spawning a Child Process
      • Capturing Data from an EventEmitter
      • Reading and Writing Files Asynchronously
      • The Two Phases of a Node.js Program
      • Wrapping Up
    • Networking with Sockets
      • Listening for Socket Connections
      • Implementing a Messaging Protocol
      • Creating Socket Client Connections
      • Testing Network Application Functionality
      • Extending Core Classes in Custom Modules
      • Developing Unit Tests with Mocha
      • Wrapping Up
    • Connecting Robust Microservices
      • Installing ØMQ
      • Publishing and Subscribing to Messages
      • Responding to Requests
      • Routing and Dealing Messages
      • Clustering Node.js Processes
      • Pushing and Pulling Messages
      • Wrapping Up
  • Working with Data
    • Transforming Data and Testing Continuously
      • Procuring External Data
      • Behavior-Driven Development with Mocha and Chai excerpt
      • Extracting Data from XML with Cheerio
      • Processing Data Files Sequentially
      • Debugging Tests with Chrome DevTools
      • Wrapping Up
    • Commanding Databases
      • Introducing Elasticsearch
      • Creating a Command-Line Program in Node.js with Commander
      • Using request to Fetch JSON over HTTP
      • Shaping JSON with jq
      • Inserting Elasticsearch Documents in Bulk
      • Implementing an Elasticsearch Query Command
      • Wrapping Up
  • Creating an Application from the Ground Up
    • Developing RESTful Web Services
      • Advantages of Express
      • Serving APIs with Express
      • Writing Modular Express Services
      • Keeping Services Running with nodemon
      • Adding Search APIs
      • Simplifying Code Flows with Promises
      • Manipulating Documents RESTfully
      • Emulating Synchronous Style with async and await excerpt
      • Providing an Async Handler Function to Express
      • Wrapping Up
    • Creating a Beautiful User Experience
      • Getting Started with webpack
      • Generating Your First webpack Bundle
      • Sprucing Up Your UI with Bootstrap
      • Bringing in Bootstrap JavaScript and jQuery
      • Transpiling with TypeScript
      • Templating HTML with Handlebars
      • Implementing hashChange Navigation
      • Listing Objects in a View
      • Saving Data with a Form
      • Wrapping Up
    • Fortifying Your Application
      • Setting Up the Initial Project
      • Managing User Sessions in Express
      • Adding Authentication UI Elements
      • Setting Up Passport
      • Authenticating with Facebook, Twitter, and Google
      • Composing an Express Router
      • Bringing in the Book Bundle UI
      • Serving in Production
      • Wrapping Up

Author

Jim R. Wilson is a software engineer at Google creating data visualizations on the Big Picture team. He’s contributed to TensorFlow’s visualization suite, TensorBoard, and other open source projects.

eBook Formats:

  • PDF for desktop/tablets

  • epub for Apple Books, e-readers

  • mobi for Kindle readers

Get all eBook formats here for $22.95 (USD)

Add to Cart we accept visa, mastercard, amex, discover, paypal


Paperback Formats:

Please support indie bookstores!
Find indie bookstores in the U.S. Find indie bookstores around the world.

Related Titles:

Skill Level Meter

About This Title

Pages: 334
Published: December 2017
ISBN: 9781680501957
Edition: 1
In Print