Node.js design patterns get the best out of Node.js by mastering a series of patterns and techniques to create modular, scalable, and efficient applications

If you're a JavaScript developer interested in a deeper understanding of how to create and design Node.js applications, this is the book for you

Bibliographic Details
Main Author: Casciaro, Mario
Other Authors: Ng, Artie (Cover designer)
Format: eBook
Language:English
Published: Birmingham, England Packt Publishing 2014
Series:Community Experience Distilled
Subjects:
Online Access:
Collection: O'Reilly - Collection details see MPG.ReNa
LEADER 04561nmm a2200433 u 4500
001 EB001937025
003 EBX01000000000000001099927
005 00000000000000.0
007 cr|||||||||||||||||||||
008 210123 ||| eng
020 |a 1783287314 
020 |a 1783287322 
020 |a 9781783287321 
050 4 |a QA76.73.J39 
100 1 |a Casciaro, Mario 
245 0 0 |a Node.js design patterns  |b get the best out of Node.js by mastering a series of patterns and techniques to create modular, scalable, and efficient applications  |c Mario Casciaro ; cover image by Artie Ng 
260 |a Birmingham, England  |b Packt Publishing  |c 2014 
300 |a 454 pages  |b illustrations 
505 0 |a Non continuation-passing style callbacksSynchronous or asynchronous?; An unpredictable function; Unleashing Zalgo; Using synchronous APIs; Deferred execution; Node.js callback conventions; Callbacks come last; Error comes first; Propagating errors; Uncaught exceptions; The module system and its patterns; The revealing module pattern; Node.js modules explained; A homemade module loader; Defining a module; Defining globals; module.exports vs exports; require is synchronous; The resolving algorithm; The module cache; Cycles; Module definition patterns; Named exports; Exporting a function 
505 0 |a Executing a known set of tasks in sequenceSequential iteration; Parallel execution; Web spider version 3; The pattern; Fixing race conditions in the presence of concurrent tasks; Limited parallel execution; Limiting the concurrency; Globally limiting the concurrency; The async library; Sequential execution; Sequential execution of a known set of tasks; Sequential iteration; Parallel execution; Limited parallel execution; Promises; What is a promise?; Promises/A+ implementations; Promisifying a Node.js style function; Sequential execution; Sequential iteration 
505 0 |a Sequential iteration -- the patternParallel execution; Limited parallel execution; Generators; The basics; A simple example; Generators as iterators; Passing values back to a generator; Asynchronous control flow with generators; Generator-based control flow using co; Sequential execution; Parallel execution; Limited parallel execution; Producer-consumer pattern; Limiting the download tasks concurrency; Comparison; Summary; Chapter 3: Coding with Streams; Discovering the importance of streams; Buffering vs Streaming; Spatial efficiency; Gzipping using a buffered API; Gzipping using streams 
505 0 |a Cover; Copyright; Credits; About the Author; Acknowledgments; About the Reviewers; www.PacktPub.com; Table of Contents; Preface; Chapter 1: Node.js Design Fundamentals; The Node.js philosophy; Small core; Small modules; Small surface area; Simplicity and pragmatism; The reactor pattern; I/O is slow; Blocking I/O; Non-blocking I/O; Event demultiplexing; The reactor pattern; The non-blocking I/O engine of Node.js -- libuv; The recipe for Node.js; The callback pattern; The continuation-passing style; Synchronous continuation-passing style; Asynchronous continuation-passing style 
505 0 |a Exporting a constructorExporting an instance; Modifying other modules or the global scope; The observer pattern; The EventEmitter; Create and use an EventEmitter; Propagating errors; Make any object observable; Synchronous and asynchronous events; EventEmitter vs Callbacks; Combine callbacks and EventEmitter; Summary; Chapter 2: Asynchronous Control Flow Patterns; The difficulties of asynchronous programming; Creating a simple web spider; The callback hell; Using plain JavaScript; Callback discipline; Applying the callback discipline; Sequential execution 
653 |a COMPUTERS / Programming / Open Source / bisacsh 
653 |a JavaScript (Langage de programmation) 
653 |a JavaScript (Computer program language) / fast 
653 |a COMPUTERS / Programming Languages / JavaScript / bisacsh 
653 |a JavaScript (Computer program language) / http://id.loc.gov/authorities/subjects/sh96004880 
700 1 |a Ng, Artie  |e cover designer 
041 0 7 |a eng  |2 ISO 639-2 
989 |b OREILLY  |a O'Reilly 
490 0 |a Community Experience Distilled 
500 |a Includes index 
776 |z 1783287322 
776 |z 9781783287314 
776 |z 9781783287321 
856 4 0 |u https://learning.oreilly.com/library/view/~/9781783287314/?ar  |x Verlag  |3 Volltext 
082 0 |a 005.2762 
520 |a If you're a JavaScript developer interested in a deeper understanding of how to create and design Node.js applications, this is the book for you