3 options
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 / Mario Casciaro ; cover image by Artie Ng.
- Format:
- Book
- Author/Creator:
- Casciaro, Mario, author.
- Series:
- Community experience distilled.
- Community Experience Distilled
- Language:
- English
- Subjects (All):
- Node.js.
- JavaScript (Computer program language).
- Physical Description:
- 1 online resource (454 p.)
- Edition:
- 1st edition
- Other Title:
- Get the best out of Node.js by mastering a series of patterns and techniques to create modular, scalable, and efficient applications
- Place of Publication:
- Birmingham, England : Packt Publishing, 2014.
- Language Note:
- English
- System Details:
- text file
- Biography/History:
- Casciaro Mario: Mario Casciaro is a software engineer and entrepreneur, passionate about technology, science and open source knowledge. Mario graduated with a master's degree in software engineering and started his professional career at IBM where he worked for several years on different enterprise products such as Tivoli Endpoint Manager, Cognos Insight, and SalesConnect. Next, he moved to D4H Technologies, a growing SaaS company, to lead the development of a new bleeding-edge product for managing emergency operations in real time. Currently, Mario is the co-founder and CEO of Sponsorama. com, a platform to help online projects raise funds through corporate sponsorship. Mario is also the author of the first edition of Node. js Design Patterns.
- Summary:
- 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.
- Contents:
- 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
- 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
- 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
- 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
- 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
- Time efficiency
- Notes:
- Includes index.
- Description based on online resource; title from PDF title page (ebrary, viewed January 13, 2015).
- ISBN:
- 9781783287321
- 1783287322
- OCLC:
- 900898184
The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.