Index
A
- add-ons, Heroku
- about / Add-ons
- Advanced Message Queuing Protocol (AMQP)
- about / Using message queues
- URL / Using message queues
- alpha.7 package
- about / Understanding Semver
- Ansible
- deployed application, provisioning / Provisioning with Ansible
- URL / Provisioning with Ansible
- Ansible roles
- about / Provisioning with Ansible
- Apache Bench tool
- application development
- with Gulp / Building with Gulp, Browserify, and Handlebars
- with Browserify / Building with Gulp, Browserify, and Handlebars
- with Handlebars / Building with Gulp, Browserify, and Handlebars
- Application Programming Interface (API)
- about / Events
- assert module
- about / The 'assert' module
- methods / The 'assert' module
- asynchronous execution
- about / Concurrency and processes
- automated browser testing
- with PhantomJS / Automated browser testing with PhantomJS and CasperJS
- with CasperJS / Automated browser testing with PhantomJS and CasperJS
- autopilot repository
B
- backup directive
- about / Installing and configuring Nginx
- bind command, arguments
- port / Using Node's UDP Module
- address / Using Node's UDP Module
- callback / Using Node's UDP Module
- Bit Operations (bitops)
- bitwise operations
- used, for analyzing user actions / Using bitwise operations to analyze user actions over time
- bits, setting / Setting, getting, and counting bits
- bits, getting / Setting, getting, and counting bits
- bits, counting / Setting, getting, and counting bits
- bitmasks / Bitmasks and filtering results
- results, filtering / Bitmasks and filtering results
- bitwise operators
- bluebird library
- about / Using Redis as a cache
- URL / Using Redis as a cache
- bouncy module
- URL / Using node-http-proxy
- Browserify
- about / Browserify, Building with Gulp, Browserify, and Handlebars
- references / Browserify
- URL / Erecting a build scaffold
- using / Erecting a build scaffold
- BrowserSync
- Brunch
- build/deploy system
- implementing, webhooks used / Implementing a build/deploy system using webhooks
- URL / Implementing a build/deploy system using webhooks
- Bunyan
C
- caching
- about / Caching strategies
- strategies / Caching strategies
- Redis, using / Using Redis as a cache
- CloudFlare, deploying as CDN / Deploying CloudFlare as a CDN
- Cartridges
- CasperJS
- used, for automated browser testing / Automated browser testing with PhantomJS and CasperJS
- URL / Navigation scenarios with CasperJS
- about / Navigation scenarios with CasperJS
- navigation scenarios / Navigation scenarios with CasperJS
- CDN
- Chai
- about / Running and testing your build, Testing with Mocha, Chai, Sinon, and npm, Chai
- URL / Testing with Mocha, Chai, Sinon, and npm, Chai
- used, for testing / Chai
- expect assertion style / Chai
- should assertion style / Chai
- assert assertion style / Chai
- child process
- about / Communicating with your child process
- child.connected / child.connected
- child.stdin / child.stdin
- child.stdout / child.stdout
- child.stderr / child.stderr
- child.pid / child.pid
- child.kill([signal]) / child.kill([signal])
- child.disconnect() / child.disconnect()
- child.send(message, [sendHandle]) / child.send(message, [sendHandle])
- CloudFlare
- deploying, as CDN / Deploying CloudFlare as a CDN
- URL / Deploying CloudFlare as a CDN
- CloudFlare (CF)
- about / Deploying CloudFlare as a CDN
- cluster events
- fork / cluster events
- online / cluster events
- listening / cluster events
- disconnect / cluster events
- exit / cluster events
- setup / cluster events
- cluster module
- about / The cluster module
- cluster.isMaster / cluster.isMaster
- cluster.isWorker / cluster.isWorker
- cluster.worker / cluster.worker
- cluster.workers / cluster.workers
- cluster.setupMaster([settings]) / cluster.setupMaster([settings])
- cluster.fork([env]) / cluster.fork([env])
- cluster.disconnect([callback]) / cluster.disconnect([callback])
- cluster events / cluster events
- worker.id / worker.id
- worker.process / worker.process
- worker.suicide / worker.suicide
- worker.send(message, [sendHandle]) / worker.send(message, [sendHandle])
- worker.kill([signal]) / worker.kill([signal])
- worker.disconnect() / worker.disconnect()
- coffeelint.json file
- about / Erecting a build scaffold
- URL / Erecting a build scaffold
- CoffeeScript
- about / Erecting a build scaffold
- Combined Log Format
- URL / Logging with Morgan
- comparison operators
- reference link / The 'assert' module
- Component
- about / Browserify
- URL / Browserify
- components, Docker
- Docker containers / Using Docker to create lightweight virtual containers
- Docker images / Using Docker to create lightweight virtual containers
- Docker registries / Using Docker to create lightweight virtual containers
- concurrency
- about / Concurrency
- configuration variables
- managing / Managing configuration variables
- content delivery network (CDN)
- about / Caching strategies
- continuous delivery
- continuous deployment
- continuous integration
- curl
- about / Hello world
D
- debugger
- about / The Node debugger
- commands / The Node debugger
- using / The Node debugger
- dependencies
- about / Designing a dependency tree
- dependency-check module
- URL / Managing packages with npm
- about / Managing packages with npm
- dependency tree
- designing / Designing a dependency tree
- deployed application
- and local application, synchronizing / Synchronizing local and deployed builds
- developing, with Vagrant / Developing locally with Vagrant
- provisioning, with Ansible / Provisioning with Ansible
- design, Node
- about / Understanding Node's unique design, The event loop
- concurrency / Concurrency
- threads / Parallelism and threads
- parallelism / Parallelism and threads
- processes / Concurrency and processes
- asynchronous execution / Concurrency and processes
- events / Events
- event loop / The event loop
- URL / The event loop
- implications, on system architects / The implications of Node's design on system architects
- large systems, building / Building large systems out of small systems
- Stream module / Streams
- devDependencies
- about / Designing a dependency tree
- development build
- about / Using GitHub webhooks
- Digital Cloud
- about / Using Nginx
- Nginx load balancer, deploying / Deploying an Nginx load balancer on DigitalOcean
- Digital Ocean
- about / Deploying an Nginx load balancer on DigitalOcean
- Nginx load balancer, deploying / Deploying an Nginx load balancer on DigitalOcean
- URL / Deploying an Nginx load balancer on DigitalOcean
- direct exchange
- about / Using message queues
- distributed systems
- managing / Dealing with large crowds
- managing, with microservice / Microservices
- managing, with Redis pub/sub / Redis pub/sub
- microservice, with Seneca / Microservices with Seneca
- Docker
- used, for creating lightweight virtual containers / Using Docker to create lightweight virtual containers
- URL / Using Docker to create lightweight virtual containers, First, some Unix
- components / Using Docker to create lightweight virtual containers
- installing, on Unix / First, some Unix
- URL, for installation / Getting started with Docker
- application, building / Getting started with Docker
- file, creating / Creating a Dockerfile
- image, building / Building and running a Docker image
- image, running / Building and running a Docker image
- Docker containers
- Dockerfile
- about / Creating a Dockerfile
- Docker image
- building / Building and running a Docker image
- running / Building and running a Docker image
- Docker image repository
- Docker images
- Docker registries
- domain module
- about / The 'domain' module
- dyno
E
- encryption, with Node
- equality comparison (==)
- about / The 'assert' module
- error handling
- URL / Dealing with failure
- with domain module / The 'domain' module
- process errors, catching / Catching process errors
- logging / Logging
- Error objects, properties
- error.domain / The 'domain' module
- error.domainEmitter / The 'domain' module
- error.domainBound / The 'domain' module
- error.domainThrown / The 'domain' module
- event-driven programming
- URL / The event loop
- about / The event loop
- event loop
- about / The event loop
- considerations / The event loop
- events
- about / Events
- reference link / Logging with UDP
- exchange
- about / Using message queues
- direct / Using message queues
- fanout / Using message queues
- topic / Using message queues
- execFile method
- about / execFile
- exec method
- about / exec(command, [options], callback)
- command / exec(command, [options], callback)
- options / exec(command, [options], callback)
- callback / exec(command, [options], callback)
- exec method, options
- cwd / exec(command, [options], callback)
- env / exec(command, [options], callback)
- encoding / exec(command, [options], callback)
- timeout / exec(command, [options], callback)
- maxBuffer / exec(command, [options], callback)
- killSignal / exec(command, [options], callback)
- callback / exec(command, [options], callback)
- exit codes, Node
- reference link / Catching process errors
- Express framework
- about / Logging with Morgan
F
- failure
- dealing with / Dealing with failure
- fail_timeout directive
- about / Installing and configuring Nginx
- fanout exchange
- about / Using message queues
- file descriptors, values
- pipe / spawn(command, [arguments], [options])
- ipc / spawn(command, [arguments], [options])
- ignore / spawn(command, [arguments], [options])
- stream object / spawn(command, [arguments], [options])
- integer / spawn(command, [arguments], [options])
- null, undefined / spawn(command, [arguments], [options])
- Foreman
- forever
- URL / Monitoring
- fork method
- fork method, options
- cwd (string) / fork(modulePath, [arguments], [options])
- env (object) / fork(modulePath, [arguments], [options])
- encoding (string) / fork(modulePath, [arguments], [options])
- execPath (string) / fork(modulePath, [arguments], [options])
- silent (Boolean) / fork(modulePath, [arguments], [options])
- forwarding services
- reference link / Enabling webhooks
- forward proxy
- about / Using Nginx
- fs.watch file
- fs module
- reference link / The event loop
- full-stack JavaScript
- about / Using full-stack JavaScript to maximum effect
- using / Using full-stack JavaScript to maximum effect
- code / Hot code
- Browserify / Browserify
G
- Gears
- Git
- GitHub
- URL / Using GitHub webhooks
- GitHub project
- GitHub webhooks
- using / Using GitHub webhooks
- globs
- about / Using Gulp
- URL / Using Gulp
- Google Chrome debugger
- URL / The Node debugger
- Gulp
- about / Building with Gulp, Browserify, and Handlebars
- using / Using Gulp
- src command / Using Gulp
- build scaffold, building / Erecting a build scaffold
- build, running / Running and testing your build
- build, testing / Running and testing your build
- reference link / Running and testing your build
- gulp-imagemin
- Guvnor
- about / Monitoring
- URL / Monitoring
H
- Handlebars
- HAProxy
- HashiCorp
- headless testing
- with PhantomJS / Headless testing with PhantomJS
- Heroku
- about / Installing applications on Heroku
- installing / Installing applications on Heroku
- URL / Installing applications on Heroku
- add-ons / Add-ons
- Git / Git
- configuration variables, managing / Managing configuration variables
- deploying / Managing your deployment
- reference link / Managing your deployment
- application, deploying / Deploying to Heroku
- Heroku Toolbelt
- horizontal scaling
- across different machines / Scaling horizontally across different machines
- Nginx, using / Using Nginx
- load balancing / Load balancing with Node
- message queues, using / Using message queues
- UDP, using / Using Node's UDP Module
- HTOP
- URL / First, some Unix
- about / First, some Unix
- HTTP requests
- creating / Making HTTP requests
- HTTPS
- HTTP server
- setting up / Hello world
- HyperLogLog
- about / Memory-efficient data structures with Redis, Using HyperLogLog to count unique anonymous visitors
- used, for counting unique anonymous visitors / Using HyperLogLog to count unique anonymous visitors
- HyperText Markup Language (HTML)
I
- I/O events
- execution blocks / The event loop
- timers / The event loop
- I/O / The event loop
- deferred execution blocks / The event loop
- I/O operations
- about / Understanding Node's unique design
- reference link / Understanding Node's unique design
- identity comparison (===)
- about / The 'assert' module
- ip_hash directive
- about / Installing and configuring Nginx
J
- Jasmine
- JavaScript
- optimizing / Optimizing JavaScript
- numbers / Numbers and tracing optimization/de-optimization
- optimization/de-optimization, tracing / Numbers and tracing optimization/de-optimization
- objects / Objects and arrays
- arrays / Objects and arrays
- functions / Functions
- JavaScript memory profiling
- URL / Profiling processes
- JavaScript Object Notation (JSON)
- Jenkins
- used, for deploying application / Building and deploying with Jenkins
- used, for building application / Building and deploying with Jenkins
- URL / Building and deploying with Jenkins
- dashboard / Building and deploying with Jenkins
- JSON Web Token (JWT)
- about / JSON Web Token authentication and sessions
- authentication / JSON Web Token authentication and sessions
- sessions / JSON Web Token authentication and sessions
- structure / JSON Web Token authentication and sessions
- header / JSON Web Token authentication and sessions
- URL / JSON Web Token authentication and sessions
- claims segment / JSON Web Token authentication and sessions
- expiry time / JSON Web Token authentication and sessions
L
- Least Recently Used (LRU)
- URL / Using Redis as a cache
- about / Using Redis as a cache
- least_conn directive
- about / Installing and configuring Nginx
- libuv
- about / The event loop
- lightweight virtual containers
- creating, Docker used / Using Docker to create lightweight virtual containers
- load balancing
- about / Load balancing with Node
- node-http-proxy, using / Using node-http-proxy
- Loader.io
- Load Impact
- localtunnel
- URL / Enabling webhooks
- logging
- about / Logging
- with UDP / Logging with UDP
- with Morgan / Logging with Morgan
- low-assurance SSL certificates
M
- max_fails directive
- about / Installing and configuring Nginx
- memcached
- about / Using Redis as a cache
- memory-efficient data structures
- with Redis / Memory-efficient data structures with Redis
- memory usage
- reducing / Reducing memory usage
- reference link / Reducing memory usage
- reducing, with streams / Use streams, not buffers
- reducing, with prototypes / Understanding prototypes
- reducing, with Redis / Memory-efficient data structures with Redis
- message queues
- using / Using message queues
- microservice
- about / Dealing with large crowds, Microservices
- architecture designs / Microservices
- with Seneca / Microservices with Seneca
- Mikeal Rogers* request
- about / Making HTTP requests
- URL / Making HTTP requests
- Mimosa
- Mocha
- about / Running and testing your build, Testing with Mocha, Chai, Sinon, and npm, Mocha
- URL / Testing with Mocha, Chai, Sinon, and npm
- used, for testing / Mocha
- hooks / Mocha
- mocks
- MongoDB
- about / Installing a real SSL certificate
- installing / Installing a Node application and MongoDB
- Morgan
- about / Logging with Morgan
- URL / Logging with Morgan
- used, for logging / Logging with Morgan
N
- native testing tools
- using / Using Node's native testing tools
- debugger / The Node debugger
- assert module / The 'assert' module
- New Relic
- about / Using New Relic for monitoring
- used, for monitoring / Using New Relic for monitoring
- URL / Using New Relic for monitoring
- newrelic package repository
- Nginx
- about / Using Nginx
- using / Using Nginx
- URL / Using Nginx, Installing and configuring Nginx
- installing / Installing and configuring Nginx
- configuring / Installing and configuring Nginx
- Nginx load balancer
- deploying, on Digital Ocean / Deploying an Nginx load balancer on DigitalOcean
- deploying, on Digital Cloud / Deploying an Nginx load balancer on DigitalOcean
- node-http-proxy
- using / Using node-http-proxy
- node-inspector module
- about / The Node debugger
- URL / The Node debugger
- Node application
- installing / Installing a Node application and MongoDB
- deploying / Deploying your app
- nodemon
- URL / Monitoring
- Node processes
- Node REPL
- about / Node REPL
- Node server
- setting up / Getting a basic Node server up and running
- HTTP server, setting up / Hello world
- HTTP requests, creating / Making HTTP requests
- proxying / Proxying and tunneling
- tunneling / Proxying and tunneling
- HTTPS / HTTPS, TLS (SSL), and securing your server
- TLS (SSL) / HTTPS, TLS (SSL), and securing your server
- securing / HTTPS, TLS (SSL), and securing your server
- self-signed certificate, creating / Creating a self-signed certificate for development
- SSL certificate, installing / Installing a real SSL certificate
- Nodetime
- Node Version Manager (NVM)
- about / Installing and configuring Nginx
- node_redis module
- npm
- about / Building large systems out of small systems, Testing with Mocha, Chai, Sinon, and npm
- URL / Building large systems out of small systems, Managing packages with npm
- used, for package management / Managing packages with npm
- dependency tree, designing / Designing a dependency tree
- npm-check
O
- Object-oriented (OO) language
- about / Understanding prototypes
- Object.create method
- about / Understanding prototypes
- URL / Understanding prototypes
- OpenShift
- installing / Installing applications on OpenShift
- Gears / Installing applications on OpenShift
- Cartridges / Installing applications on OpenShift
- Node application, installing / Installing a Node application and MongoDB
- MongoDB, installing / Installing a Node application and MongoDB
- Node application, deploying / Deploying your app
P
- package
- package management
- about / Package maintenance
- with Semantic Versioning (Semver) / Understanding Semver
- with npm / Managing packages with npm
- aspects / Managing packages with npm
- parallelism
- about / Parallelism and threads
- peerDependencies
- about / Designing a dependency tree
- reference link / Designing a dependency tree
- performance optimization
- PhantomJS
- used, for automated browser testing / Automated browser testing with PhantomJS and CasperJS
- URL / Headless testing with PhantomJS
- used, for headless testing / Headless testing with PhantomJS
- phantomjs node
- playbooks
- about / Provisioning with Ansible
- PM2
- about / PM2
- commands / PM2
- monitoring / Monitoring
- port redirection
- process errors
- catching / Catching process errors
- process ID (PID)
- about / child.pid
- Procfile
- production build
- about / Using GitHub webhooks
- profiling processes
- about / Profiling processes
- references / Profiling processes
- prototypes
- using / Understanding prototypes
- reference link / Understanding prototypes
- proxy
- about / Using Nginx
- proxying
- about / Proxying and tunneling
R
- RabbitMQ
- about / Using message queues
- URL / Using message queues
- Read-Eval-Print-Loop (REPL)
- about / Node REPL
- Redis
- about / Memory-efficient data structures with Redis
- bitwise operations, using / Using bitwise operations to analyze user actions over time
- HyperLogLog, using / Using HyperLogLog to count unique anonymous visitors
- used, for caching / Using Redis as a cache
- Redis expire
- URL / Using Redis as a cache
- Redis npm module
- URL / Redis pub/sub
- Redis pub/sub
- about / Redis pub/sub
- remotely monitoring
- about / Modifying behavior in changing environments, Remotely monitoring and managing Node processes
- with Node REPL / Node REPL
- Remote Procedure Calls (RPC)
- about / Hot code
- reverse proxy
- about / Using Nginx
- rhc tool
- using / Deploying your app
- delete command / Deploying your app
- force-stop command / Deploying your app
- reload command / Deploying your app
- restart command / Deploying your app
- show command / Deploying your app
- start command / Deploying your app
- stop command / Deploying your app
- tidy command / Deploying your app
- routing keys
- about / Using message queues
- Rule of Modularity
- Rule of Simplicity
- about / Parallelism and threads
- run directives
- runtime_function
S
- Sass CSS preprocessor
- about / Erecting a build scaffold
- URL / Erecting a build scaffold
- self-signed certificate
- Semantic Versioning (Semver)
- about / Understanding Semver
- used, for package management / Understanding Semver
- URL / Understanding Semver
- range limits, using / Understanding Semver
- references / Understanding Semver
- Seneca
- URL / Dealing with large crowds
- about / Microservices with Seneca
- sessions
- managing / Managing sessions
- JSON Web Token (JWT) / Managing sessions
- Should
- single thread
- about / Parallelism and threads
- Sinon
- about / Running and testing your build, Testing with Mocha, Chai, Sinon, and npm, Sinon
- URL / Testing with Mocha, Chai, Sinon, and npm, Sinon
- used, for testing / Sinon
- spies / Sinon, Spies
- stubs / Sinon, Stubs
- mocks / Sinon, Mocks
- sinon-chai module
- SlimerJS
- sourcemap
- about / Erecting a build scaffold
- spawn method
- about / spawn(command, [arguments], [options])
- command / spawn(command, [arguments], [options])
- arguments / spawn(command, [arguments], [options])
- options / spawn(command, [arguments], [options])
- spawn method, options
- cwd (string) / spawn(command, [arguments], [options])
- env (object) / spawn(command, [arguments], [options])
- detached (Boolean) / spawn(command, [arguments], [options])
- uid (number) / spawn(command, [arguments], [options])
- gid (number) / spawn(command, [arguments], [options])
- stdio (string or array) / spawn(command, [arguments], [options])
- spies
- SpookyJS
- SSL certificate
- installing / Installing a real SSL certificate
- stack
- about / The event loop
- StatsD
- Stream module
- streams
- about / Use streams, not buffers
- using / Use streams, not buffers
- stubs
T
- testing
- with Mocha / Testing with Mocha, Chai, Sinon, and npm
- with Chai / Testing with Mocha, Chai, Sinon, and npm
- with Sinon / Testing with Mocha, Chai, Sinon, and npm
- with npm / Testing with Mocha, Chai, Sinon, and npm
- test spy
- about / Spies
- test stubs
- URL / Stubs
- third-party monitoring tools
- using / Using third-party monitoring tools
- PM2 / PM2
- Nodetime / Nodetime
- threads
- about / Parallelism and threads
- tick module
- about / Profiling processes
- URL / Profiling processes
- TLS (SSL)
- topic exchange
- about / Using message queues
- transactions, Redis
- Transmission Control Protocol (TCP)
- about / Node REPL
- tunneling
- about / Proxying and tunneling
U
- UDP
- about / Using Node's UDP Module, Logging
- using / Using Node's UDP Module
- reference link / Using Node's UDP Module
- used, for logging / Logging with UDP
- Unix
- Docker, installing / First, some Unix
- upstream servers
- about / Installing and configuring Nginx
- usage module
- about / Profiling processes
- URL / Profiling processes
- User Interface (UI)
V
- V8
- about / Taming V8 and optimizing performance
- JavaScript, optimizing / Optimizing JavaScript
- URL / Objects and arrays
- Vagrant
- vertical scaling
- across multiple cores / Scaling vertically across multiple cores
- spawn method / spawn(command, [arguments], [options])
- fork method / fork(modulePath, [arguments], [options])
- exec method / exec(command, [options], callback)
- execFile method / execFile
- child process / Communicating with your child process
- cluster module / The cluster module
- VirtualBox
- Vows
W
- webhooks
- about / Using GitHub webhooks
- enabling / Enabling webhooks
- used, for implementing build/deploy system / Implementing a build/deploy system using webhooks
- weight directive
- about / Installing and configuring Nginx
- Winston
- about / Logging with Morgan
- URL / Logging with Morgan
- worker events
- message / worker.disconnect()
- online / worker.disconnect()
- listening / worker.disconnect()
- disconnect / worker.disconnect()
- exit / worker.disconnect()
- setup / worker.disconnect()
Y
- YAML format
- about / Provisioning with Ansible
- Yeoman