跳转至

Index

Index

A note on the digital index

A link in an index entry is displayed as the section title in which that entry appears. Because some sections have multiple index markers, it is not unusual for an entry to have several links to the same section. Clicking on any link will take you directly to the place in the text in which the marker appears.

Symbols

" (double quotes), Node Style

$set modifier, Using Updates, Upserts, and Find and Remove, Using Updates, Upserts, and Find and Remove, Using Updates, Upserts, and Find and Remove

& (ampersand), Hello, World in Node

' (single quotes), Node Style

  • (asterisk), Routing Path
  • -balance parameter, Improving Performance
  • -debug flag, The Node.js Debugger
  • -exitcrash option, Keeping Your Application Alive with Forever
  • -global option, External Modules and the Node Package Manager
  • d flag, External Modules and the Node Package Manager, Connect Basics
  • g option, External Modules and the Node Package Manager
  • m flag, Node, Git, and GitHub
  • s option, Keeping Your Application Alive with Forever
  • v option, Keeping Your Application Alive with Forever

/c flag, Running a Child Process Application in Windows

/K flag, Running a Child Process Application in Windows

=== (strict equality operator), Node Style

prompt, Custom REPL

\n, Streams, Pipes, and Readline

_ (underscore), REPL: First Looks and Undefined Expressions, Underscore

__dirname variable, Building a Simple Static File Server from Scratch, Building a Simple Static File Server from Scratch, Building a Simple Static File Server from Scratch, Building a Simple Static File Server from Scratch, Building a Simple Static File Server from Scratch

{} (curly braces), Multiline and More Complex JavaScript, Node Style

A

A record, Domain Resolution and URL Processing

acceptance testing, Acceptance Testing–Emulating a Browser with Tobi and Zombie, Selenium Testing with Soda–Selenium Testing with Soda, Emulating a Browser with Tobi and Zombie–Emulating a Browser with Tobi and Zombie, Emulating a Browser with Tobi and Zombie–Emulating a Browser with Tobi and Zombie

with Soda module, Selenium Testing with Soda–Selenium Testing with Soda

with Tobi module, Emulating a Browser with Tobi and Zombie–Emulating a Browser with Tobi and Zombie

with Zombie module, Emulating a Browser with Tobi and Zombie–Emulating a Browser with Tobi and Zombie

addCallback method, Promises, No Promises, Callback Instead

addErrback method, Promises, No Promises, Callback Instead

addListener method, Events and EventEmitter

Advanced Packaging Tool (APT), Installing Node on Linux (Ubuntu)

allowHalfOpen parameter, TCP Sockets and Servers, TCP Sockets and Servers

Amazon EC2 (Elastic Compute Cloud), Amazon EC2–Amazon EC2

Apache web server, Node.js: Up and Running

ApacheBench module, Benchmark Testing with ApacheBench–Benchmark Testing with ApacheBench

app.js file, Partnering Node with WebMatrix on Windows 7, The app.js File in More Detail–The app.js File in More Detail

Apricot tool, Finding Modules

APT (Advanced Packaging Tool), Installing Node on Linux (Ubuntu)

arrow keys in REPL, Multiline and More Complex JavaScript

Assert module, Unit Testing with Assert–Unit Testing with Assert

Async module, Finding Modules, Async–Async

asynchronous functionality, Why Node?, Hello, World from the Top, Asynchronous Functions and the Node Event Loop–Taking a Closer Look at Asynchronous Program Flow, Reading a File Asynchronously–Reading a File Asynchronously, Taking a Closer Look at Asynchronous Program Flow–Taking a Closer Look at Asynchronous Program Flow, Benefits of Node, Asynchronous Patterns and Control Flow Modules–Async, Using Updates, Upserts, and Find and Remove–Using Updates, Upserts, and Find and Remove, WebSockets in an Asynchronous World–WebSockets in an Asynchronous World

and MongoDB, Using Updates, Upserts, and Find and Remove–Using Updates, Upserts, and Find and Remove

and program flow, Taking a Closer Look at Asynchronous Program Flow–Taking a Closer Look at Asynchronous Program Flow

and WebSockets, WebSockets in an Asynchronous World–WebSockets in an Asynchronous World

asynchronous I/O, Why Node?

benefits of, Benefits of Node

defined, Hello, World from the Top

patterns for, Asynchronous Patterns and Control Flow Modules–Async

reading files, Reading a File Asynchronously–Reading a File Asynchronously

attacks, Protecting Applications and Preventing Attacks–Scrub Your Data and Sanitize It with node-validator, Don’t Use eval–Don’t Use eval, Do Use Checkboxes, Radio Buttons, and Drop-Down Selections–Do Use Checkboxes, Radio Buttons, and Drop-Down Selections, Scrub Your Data and Sanitize It with node-validator–Scrub Your Data and Sanitize It with node-validator

avoiding eval function, Don’t Use eval–Don’t Use eval

avoiding open text fields, Do Use Checkboxes, Radio Buttons, and Drop-Down Selections–Do Use Checkboxes, Radio Buttons, and Drop-Down Selections

sanitizing data, Scrub Your Data and Sanitize It with node-validator–Scrub Your Data and Sanitize It with node-validator

audience for this book, This Book’s Intended Audience–This Book’s Intended Audience

authentication, Authentication/Authorization with Passport–The Twitter Passport Strategy (OAuth), Authentication/Authorization with Passport, Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification–Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification, Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification–Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification, The Local Passport Strategy–The Local Passport Strategy, The Twitter Passport Strategy (OAuth)–The Twitter Passport Strategy (OAuth)

defined, Authentication/Authorization with Passport

with Passport module, Authentication/Authorization with Passport–The Twitter Passport Strategy (OAuth), Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification–Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification, Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification–Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification, The Local Passport Strategy–The Local Passport Strategy, The Twitter Passport Strategy (OAuth)–The Twitter Passport Strategy (OAuth)

locally stored, The Local Passport Strategy–The Local Passport Strategy

using OAuth, Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification–Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification, The Twitter Passport Strategy (OAuth)–The Twitter Passport Strategy (OAuth)

using OpenID, Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification–Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification

authorization, Authentication/Authorization with Passport–The Twitter Passport Strategy (OAuth), Authentication/Authorization with Passport, Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification–Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification, Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification–Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification, The Local Passport Strategy–The Local Passport Strategy, The Twitter Passport Strategy (OAuth)–The Twitter Passport Strategy (OAuth)

defined, Authentication/Authorization with Passport

with Passport module, Authentication/Authorization with Passport–The Twitter Passport Strategy (OAuth), Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification–Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification, Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification–Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification, The Local Passport Strategy–The Local Passport Strategy, The Twitter Passport Strategy (OAuth)–The Twitter Passport Strategy (OAuth)

locally stored, The Local Passport Strategy–The Local Passport Strategy

using OAuth, Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification–Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification, The Twitter Passport Strategy (OAuth)–The Twitter Passport Strategy (OAuth)

using OpenID, Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification–Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification

autocomplete text in REPL, Multiline and More Complex JavaScript

auto_reconnect option, Getting Started with MongoDB

B

backtrace, The Node.js Debugger

  • -balance parameter, Improving Performance

batchSize option, Querying the Data

battle hardened, Proxies

benchmark testing, Benchmark Testing with ApacheBench–Benchmark Testing with ApacheBench

benefits of using Node, Benefits of Node–Benefits of Node

bidirectional, WebSockets

Bitbucket, The Local Passport Strategy

block keyword, Using block and extends to Modularize the View Templates

bodyParser middleware module, The app.js File in More Detail, The app.js File in More Detail, Routing and HTTP Verbs, Creating a PDF uploader and dealing with graphics lag time

.break command, REPL Commands

browsers, testing in multiple, Building a Simple Static File Server from Scratch

BSON format, Node and MongoDB: Document-Centric Data

Buffer class, Buffer–Buffer

built-in debugging, The Node.js Debugger–The Node.js Debugger

burst, Accessing data about a PDF file with PDF Toolkit

C

c-ares library, Domain Resolution and URL Processing

cache object, Loading a Module with require and Default Paths, Loading a Module with require and Default Paths

Cairo library, Creating and Streaming Canvas Content

Calipso framework, Testing the Express Application with cURL

callback functions, Hello, World from the Top, Promises, No Promises, Callback Instead–Promises, No Promises, Callback Instead, Sequential Functionality, Nested Callbacks, and Exception Handling

naming, Sequential Functionality, Nested Callbacks, and Exception Handling

vs. promises, Promises, No Promises, Callback Instead–Promises, No Promises, Callback Instead

callback spaghetti, Sequential Functionality, Nested Callbacks, and Exception Handling

camel case, Node Style

canvas element, Creating and Streaming Canvas Content–Creating and Streaming Canvas Content

Cascading Style Sheets (CSS) engines, Express, Template Systems, and CSS

Cassandra key/value store, Structured Data with Node and Redis

certificate-signing request (CSR), Setting Up TSL/SSL

chain getter, Selenium Testing with Soda

chained methods, Updating the Database with Chained Methods–Updating the Database with Chained Methods

chainer helper, Adding Several Objects Easily

changing colors in log, Colors: Simple Is Best

check method, Scrub Your Data and Sanitize It with node-validator, Scrub Your Data and Sanitize It with node-validator, Scrub Your Data and Sanitize It with node-validator

child processes, Child Processes–Running a Child Process Application in Windows, child_process.spawn–child_process.spawn, child_process.exec and child_process.execFile–child_process.exec and child_process.execFile, child_process.exec and child_process.execFile–child_process.exec and child_process.execFile, child_process.fork–child_process.fork, Running a Child Process Application in Windows–Running a Child Process Application in Windows, Accessing ImageMagick from a Child Process–Accessing ImageMagick from a Child Process

exec method, child_process.exec and child_process.execFile–child_process.exec and child_process.execFile

execFile method, child_process.exec and child_process.execFile–child_process.exec and child_process.execFile

fork method, child_process.fork–child_process.fork

running in Windows, Running a Child Process Application in Windows–Running a Child Process Application in Windows

spawn method, child_process.spawn–child_process.spawn

using ImageMagick from, Accessing ImageMagick from a Child Process–Accessing ImageMagick from a Child Process

chunked transfer encoding, HTTP

cipher method, Safely Storing Passwords

.clear command, REPL Commands, Custom REPL

clearBreakpoint command, The Node.js Debugger

clearInterval function, The Timers: setTimeout, clearTimeout, setInterval, and clearInterval

clearTimeout function, The Timers: setTimeout, clearTimeout, setInterval, and clearInterval

client side requirements for WebSockets, About That Client Code–About That Client Code

client-side debugging, Client-Side Debugging with Node Inspector–Client-Side Debugging with Node Inspector

close event, TCP Sockets and Servers, TCP Sockets and Servers, child_process.spawn, child_process.spawn

close method, UDP/Datagram Socket, Learning the Basic Syntax

cloud services, deploying to, Deployment to a Cloud Service–Nodejitsu, Deploying to Windows Azure via Cloud9 IDE–Deploying to Windows Azure via Cloud9 IDE, Joyent Development SmartMachines–Joyent Development SmartMachines, Heroku–Heroku, Amazon EC2–Amazon EC2, Nodejitsu–Nodejitsu

Amazon EC2 (Elastic Compute Cloud), Amazon EC2–Amazon EC2

Heroku, Heroku–Heroku

Joyent SmartMachines, Joyent Development SmartMachines–Joyent Development SmartMachines

Nodejitsu, Nodejitsu–Nodejitsu

Windows Azure, Deploying to Windows Azure via Cloud9 IDE–Deploying to Windows Azure via Cloud9 IDE

Cloud9 IDE deployment options, The Local Passport Strategy

clustering, The Local Passport Strategy

cmd.exe, Running a Child Process Application in Windows, Running a Child Process Application in Windows, Running a Child Process Application in Windows, Running a Child Process Application in Windows

CMS (content management system), Proxies, Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification

Coffee-script module, Finding Modules

CoffeeScript, Not Your Ordinary JavaScript, Refreshing Code with Nodemon

collections in MongoDB, Defining, Creating, and Dropping a MongoDB Collection–Adding Data to a Collection

Colors module, Colors: Simple Is Best–Colors: Simple Is Best

colors, changing in log, Colors: Simple Is Best

command-line prompt for REPL, REPL: First Looks and Undefined Expressions

Commander, Finding Modules

commands for REPL (read-eval-print loop), REPL Commands–REPL Commands

commit author, Node, Git, and GitHub

commit command, Node, Git, and GitHub

commit method, MySQL Transactions with mysql-queues

CommonJS module system, The Node Module System, Preparing Your Module for Publication

compile method, Using EJS with Node, Using EJS with Node, Building a Game Leaderboard

Concurrent Versioning System (CVS), Node, Git, and GitHub

config command, External Modules and the Node Package Manager

configure method, The app.js File in More Detail, The app.js File in More Detail, The app.js File in More Detail, The app.js File in More Detail, The app.js File in More Detail, The app.js File in More Detail, The app.js File in More Detail, The app.js File in More Detail, The app.js File in More Detail, Routing Path, Routing Path, Routing and HTTP Verbs, Processing a New Object Post, Using block and extends to Modularize the View Templates, Incorporating Stylus for Simplified CSS, Configuring Socket.IO

Connect framework, Connect Basics–Connect Basics, connect.static–connect.static, connect.logger–connect.logger, connect.parseCookie and connect.cookieSession–connect.parseCookie and connect.cookieSession, connect.parseCookie and connect.cookieSession–connect.parseCookie and connect.cookieSession, Custom Connect Middleware–Custom Connect Middleware, Custom Connect Middleware, Custom Connect Middleware, Custom Connect Middleware, Custom Connect Middleware, Custom Connect Middleware, Custom Connect Middleware, A Closer Look at the Express/Connect Partnership–A Closer Look at the Express/Connect Partnership

and Express, A Closer Look at the Express/Connect Partnership–A Closer Look at the Express/Connect Partnership

cookieSession middleware module, connect.parseCookie and connect.cookieSession–connect.parseCookie and connect.cookieSession

creating custom middleware, Custom Connect Middleware–Custom Connect Middleware

lack of errorHandler function for, Custom Connect Middleware

logger middleware module, connect.logger–connect.logger

next callback function for, Custom Connect Middleware, Custom Connect Middleware, Custom Connect Middleware

overview, Connect Basics–Connect Basics

parseCookie middleware module, connect.parseCookie and connect.cookieSession–connect.parseCookie and connect.cookieSession

req parameter for, Custom Connect Middleware

res parameter for, Custom Connect Middleware

static middleware module, connect.static–connect.static

connect method, Getting Started with db-mysql

Connect module, Finding Modules

connectionListener callback, Buffer

console object, Hello, World from the Top

constructor argument, The Utilities Module and Object Inheritance

content management system (CMS), Proxies, Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification

Content-Length response header, Hello, World from the Top, Properly Serving HTML5 Video with HTTP

Content-Range response header, Properly Serving HTML5 Video with HTTP, Properly Serving HTML5 Video with HTTP

content-type, Hello, World from the Top

context, global

control flow modules, Step–Step, Async–Async

Async module, Async–Async

Step module, Step–Step

convert tool (ImageMagick), Accessing ImageMagick from a Child Process–Accessing ImageMagick from a Child Process

cookieParser middleware module, connect.parseCookie and connect.cookieSession, connect.parseCookie and connect.cookieSession, A Closer Look at the Express/Connect Partnership

cookieSession middleware module, connect.parseCookie and connect.cookieSession–connect.parseCookie and connect.cookieSession, A Closer Look at the Express/Connect Partnership

core, global–global, process–process, Buffer–Buffer, The Timers: setTimeout, clearTimeout, setInterval, and clearInterval–The Timers: setTimeout, clearTimeout, setInterval, and clearInterval, TCP Sockets and Servers–TCP Sockets and Servers, HTTP–HTTP, UDP/Datagram Socket–UDP/Datagram Socket, Streams, Pipes, and Readline–Streams, Pipes, and Readline, Child Processes–Running a Child Process Application in Windows, child_process.spawn–child_process.spawn, child_process.exec and child_process.execFile–child_process.exec and child_process.execFile, child_process.exec and child_process.execFile–child_process.exec and child_process.execFile, child_process.fork–child_process.fork, Running a Child Process Application in Windows–Running a Child Process Application in Windows, Domain Resolution and URL Processing–Domain Resolution and URL Processing, The Utilities Module and Object Inheritance–The Utilities Module and Object Inheritance, Events and EventEmitter–Events and EventEmitter

Buffer class, Buffer–Buffer

child processes, Child Processes–Running a Child Process Application in Windows, child_process.spawn–child_process.spawn, child_process.exec and child_process.execFile–child_process.exec and child_process.execFile, child_process.exec and child_process.execFile–child_process.exec and child_process.execFile, child_process.fork–child_process.fork, Running a Child Process Application in Windows–Running a Child Process Application in Windows

exec method, child_process.exec and child_process.execFile–child_process.exec and child_process.execFile

execFile method, child_process.exec and child_process.execFile–child_process.exec and child_process.execFile

fork method, child_process.fork–child_process.fork

running in Windows, Running a Child Process Application in Windows–Running a Child Process Application in Windows

spawn method, child_process.spawn–child_process.spawn

DNS module, Domain Resolution and URL Processing–Domain Resolution and URL Processing

EventEmitter object, Events and EventEmitter–Events and EventEmitter

global namespace object, global–global

HTTP module, HTTP–HTTP

Net module, TCP Sockets and Servers–TCP Sockets and Servers

process object, process–process

stream interface, Streams, Pipes, and Readline–Streams, Pipes, and Readline

timer functions, The Timers: setTimeout, clearTimeout, setInterval, and clearInterval–The Timers: setTimeout, clearTimeout, setInterval, and clearInterval

UDP module, UDP/Datagram Socket–UDP/Datagram Socket

Utilities module, The Utilities Module and Object Inheritance–The Utilities Module and Object Inheritance

CoreJS framework, The Express Framework

CouchDB, Node and MongoDB: Document-Centric Data

crashes, application, Safely Storing Passwords

create, read, update and delete (CRUD), Node.js: Up and Running (see CRUD (create, read, update and delete))

createClient method, Getting Started with Node and Redis

createHash method, Safely Storing Passwords

createReadStream method, Events and EventEmitter, Building a Simple Static File Server from Scratch, Properly Serving HTML5 Video with HTTP, Properly Serving HTML5 Video with HTTP

createServer method, Hello, World from the Top, Hello, World from the Top, Hello, World from the Top, Buffer, HTTP, Connect Basics, Connect Basics, Working with HTTPS

createSocket method, UDP/Datagram Socket

createWriteStream method, Events and EventEmitter, Events and EventEmitter

Crossroads method, Routers

CRUD (create, read, update and delete), Basic CRUD with node-mysql–Basic CRUD with node-mysql, Using CRUD, ORM Style–Using CRUD, ORM Style

with node-mysql module, Basic CRUD with node-mysql–Basic CRUD with node-mysql

with Sequelize module, Using CRUD, ORM Style–Using CRUD, ORM Style

Crypto module, Safely Storing Passwords–Safely Storing Passwords

CSR (certificate-signing request), Setting Up TSL/SSL

CSS (Cascading Style Sheets) engines, Express, Template Systems, and CSS

cURL command, Testing the Express Application with cURL–Testing the Express Application with cURL

custom middleware, Custom Connect Middleware–Custom Connect Middleware

custom modules, Creating Your Own Custom Module–Publishing the Module, Packaging an Entire Directory–Packaging an Entire Directory, Preparing Your Module for Publication–Preparing Your Module for Publication, Publishing the Module–Publishing the Module

package.json file for, Preparing Your Module for Publication–Preparing Your Module for Publication

packaging directory for, Packaging an Entire Directory–Packaging an Entire Directory

publishing, Publishing the Module–Publishing the Module

custom REPL (read-eval-print loop), Custom REPL–Custom REPL, Custom REPL

CVS (Concurrent Versioning System), Node, Git, and GitHub

Cygwin, REPL and rlwrap

D

  • d flag, External Modules and the Node Package Manager, Connect Basics

Dahl, Ryan, Promises, No Promises, Callback Instead

data event, TCP Sockets and Servers, child_process.spawn

data type mapping, Adding Data to a Collection, Defining a Model–Defining a Model

for MongoDB, Adding Data to a Collection

for Sequelize module, Defining a Model–Defining a Model

db-mysql module, Getting Started with db-mysql–Updating the Database with Chained Methods, Using Query String or Chained Methods–Using Query String or Chained Methods, Updating the Database with Direct Queries–Updating the Database with Direct Queries, Updating the Database with Chained Methods–Updating the Database with Chained Methods

chained methods, Updating the Database with Chained Methods–Updating the Database with Chained Methods

direct queries, Updating the Database with Direct Queries–Updating the Database with Direct Queries

overview, Using Query String or Chained Methods–Using Query String or Chained Methods

  • -debug flag, The Node.js Debugger

debugging, Debugging–Client-Side Debugging with Node Inspector, The Node.js Debugger–The Node.js Debugger, Client-Side Debugging with Node Inspector–Client-Side Debugging with Node Inspector

built-in, The Node.js Debugger–The Node.js Debugger

client-side, Client-Side Debugging with Node Inspector–Client-Side Debugging with Node Inspector

decipher method, Safely Storing Passwords

deepEqual method, Unit Testing with Assert, Unit Testing with Assert

deferred, defined, Promises, No Promises, Callback Instead

delays, Promises, No Promises, Callback Instead

delete method, Updating the Database with Chained Methods, Updating the Database with Chained Methods, Updating the Database with Chained Methods, Updating the Database with Chained Methods

DELETE verb, Routing, Routing and HTTP Verbs, Routing and HTTP Verbs, Routing and HTTP Verbs, Routing and HTTP Verbs, Showing an Individual Object and Confirming an Object Deletion

dependencies for modules, listing, External Modules and the Node Package Manager

deploying applications, Deploying Your Node Application to Your Server–Improving Performance, Writing That package.json File–Writing That package.json File, Keeping Your Application Alive with Forever–Keeping Your Application Alive with Forever, Using Node and Apache Together–Using Node and Apache Together, Improving Performance–Improving Performance, Deployment to a Cloud Service–Nodejitsu, Deploying to Windows Azure via Cloud9 IDE–Deploying to Windows Azure via Cloud9 IDE, Joyent Development SmartMachines–Joyent Development SmartMachines, Heroku–Heroku, Amazon EC2–Amazon EC2, Nodejitsu–Nodejitsu

to cloud service, Deployment to a Cloud Service–Nodejitsu, Deploying to Windows Azure via Cloud9 IDE–Deploying to Windows Azure via Cloud9 IDE, Joyent Development SmartMachines–Joyent Development SmartMachines, Heroku–Heroku, Amazon EC2–Amazon EC2, Nodejitsu–Nodejitsu

Amazon EC2 (Elastic Compute Cloud), Amazon EC2–Amazon EC2

Heroku, Heroku–Heroku

Joyent SmartMachines, Joyent Development SmartMachines–Joyent Development SmartMachines

Nodejitsu, Nodejitsu–Nodejitsu

Windows Azure, Deploying to Windows Azure via Cloud9 IDE–Deploying to Windows Azure via Cloud9 IDE

to server, Deploying Your Node Application to Your Server–Improving Performance, Writing That package.json File–Writing That package.json File, Keeping Your Application Alive with Forever–Keeping Your Application Alive with Forever, Using Node and Apache Together–Using Node and Apache Together, Improving Performance–Improving Performance

alongside another web server, Using Node and Apache Together–Using Node and Apache Together

improving performance of, Improving Performance–Improving Performance

package.json file, Writing That package.json File–Writing That package.json File

using Forever module, Keeping Your Application Alive with Forever–Keeping Your Application Alive with Forever

deserializeUser method, The Local Passport Strategy, The Local Passport Strategy

dev format, connect.logger

development environment, Setting Up a Node Development Environment–Updating Node, Installing Node on Linux (Ubuntu)–Installing Node on Linux (Ubuntu), Partnering Node with WebMatrix on Windows 7–Partnering Node with WebMatrix on Windows 7, Updating Node–Updating Node

installing, Installing Node on Linux (Ubuntu)–Installing Node on Linux (Ubuntu), Partnering Node with WebMatrix on Windows 7–Partnering Node with WebMatrix on Windows 7

on Linux (Ubuntu), Installing Node on Linux (Ubuntu)–Installing Node on Linux (Ubuntu)

on Windows 7, Partnering Node with WebMatrix on Windows 7–Partnering Node with WebMatrix on Windows 7

updating, Updating Node–Updating Node

direct queries, Updating the Database with Direct Queries–Updating the Database with Direct Queries

directories field, Publishing the Module

directory middleware module, A Closer Look at the Express/Connect Partnership, A Closer Look at the Express/Connect Partnership, A Closer Look at the Express/Connect Partnership, Cue the MVC, Cue the MVC, Creating a PDF uploader and dealing with graphics lag time

disconnect method, Getting Started with db-mysql

DNS module, Domain Resolution and URL Processing–Domain Resolution and URL Processing

done method, Unit Testing with Nodeunit–Jasmine

double quotes, Node Style

downcase filter, Using the EJS for Node Filters

Drizzle, Using Query String or Chained Methods

Drupal, Refactoring the Widget Factory

dumpExceptions flag, Error Handling

E

each event, Using Query String or Chained Methods

each...in statement, Adding a Stats Middleware to an Express Application

echo event, Events and EventEmitter

ECMAScript, Why Node?

EJS (embedded JavaScript) template system, Express, Template Systems, and CSS, The Embedded JavaScript (EJS) Template System–Providing an Update Form and Processing a PUT Request, Learning the Basic Syntax–Learning the Basic Syntax, Using EJS with Node–Using EJS with Node, Using the EJS for Node Filters–Using the EJS for Node Filters, Using a Template System (EJS) with Express–Providing an Update Form and Processing a PUT Request, Restructuring for a Multiple Object Environment–Restructuring for a Multiple Object Environment, Routing to Static Files–Routing to Static Files, Processing a New Object Post–Processing a New Object Post, Working with the Widgets Index and Generating a Picklist–Working with the Widgets Index and Generating a Picklist, Showing an Individual Object and Confirming an Object Deletion–Showing an Individual Object and Confirming an Object Deletion, Providing an Update Form and Processing a PUT Request–Providing an Update Form and Processing a PUT Request

filters for, Using the EJS for Node Filters–Using the EJS for Node Filters

for Node, Using EJS with Node–Using EJS with Node

syntax for, Learning the Basic Syntax–Learning the Basic Syntax

using with Express, Using a Template System (EJS) with Express–Providing an Update Form and Processing a PUT Request, Restructuring for a Multiple Object Environment–Restructuring for a Multiple Object Environment, Routing to Static Files–Routing to Static Files, Processing a New Object Post–Processing a New Object Post, Working with the Widgets Index and Generating a Picklist–Working with the Widgets Index and Generating a Picklist, Showing an Individual Object and Confirming an Object Deletion–Showing an Individual Object and Confirming an Object Deletion, Providing an Update Form and Processing a PUT Request–Providing an Update Form and Processing a PUT Request

displaying individual object, Showing an Individual Object and Confirming an Object Deletion–Showing an Individual Object and Confirming an Object Deletion

generating picklist, Working with the Widgets Index and Generating a Picklist–Working with the Widgets Index and Generating a Picklist

multiple object environment for, Restructuring for a Multiple Object Environment–Restructuring for a Multiple Object Environment

processing object post, Processing a New Object Post–Processing a New Object Post

processing PUT request, Providing an Update Form and Processing a PUT Request–Providing an Update Form and Processing a PUT Request

routing to static files, Routing to Static Files–Routing to Static Files

Emailjs module, Creating a PDF uploader and dealing with graphics lag time

embedded Ruby (ERB), The Embedded JavaScript (EJS) Template System

Ember.js framework, The Express Framework

emit method, Events and EventEmitter, Events and EventEmitter, Chat: The WebSockets “Hello, World”, Chat: The WebSockets “Hello, World”, Chat: The WebSockets “Hello, World”

encoding parameter, Buffer

encodings for strings, Buffer

encrypting data, Encrypting Data–Safely Storing Passwords, Setting Up TSL/SSL–Setting Up TSL/SSL, Working with HTTPS–Working with HTTPS, Safely Storing Passwords–Safely Storing Passwords

storing passwords, Safely Storing Passwords–Safely Storing Passwords

with HTTPS, Working with HTTPS–Working with HTTPS

with TLS/SSL, Setting Up TSL/SSL–Setting Up TSL/SSL

enctype field, Creating a PDF uploader and dealing with graphics lag time

end method, Hello, World from the Top, TCP Sockets and Servers, Building a Simple Static File Server from Scratch, Routing–Routing Path, Getting Started with Node and Redis, Getting Started with Node and Redis

equal method, Unit Testing with Assert–Unit Testing with Assert

ERB (embedded Ruby), The Embedded JavaScript (EJS) Template System

error event, Building a Simple Static File Server from Scratch, Building a Simple Static File Server from Scratch, Using Query String or Chained Methods, Using Query String or Chained Methods, Using Query String or Chained Methods, Creating a PDF uploader and dealing with graphics lag time, Accessing ImageMagick from a Child Process

error handling in Express framework, Error Handling–Error Handling

Error object, Promises, No Promises, Callback Instead, Promises, No Promises, Callback Instead, Promises, No Promises, Callback Instead

error parameter, child_process.exec and child_process.execFile, Error Handling

errorHandler function, Custom Connect Middleware, Error Handling, Error Handling

escape method, Using Query String or Chained Methods

eval function, Custom REPL, Protecting Applications and Preventing Attacks, Don’t Use eval–Don’t Use eval

avoiding, Don’t Use eval–Don’t Use eval

for custom REPL, Custom REPL

event loop, Node.js: Up and Running, Asynchronous Functions and the Node Event Loop–Taking a Closer Look at Asynchronous Program Flow

event-driven I/O (input/output), Node.js: Up and Running

EventEmitter event, Getting Started with db-mysql

EventEmitter object, TCP Sockets and Servers, Streams, Pipes, and Readline, Events and EventEmitter–Events and EventEmitter

exception handling, Sequential Functionality, Nested Callbacks, and Exception Handling–Sequential Functionality, Nested Callbacks, and Exception Handling

exec method, child_process.exec and child_process.execFile–child_process.exec and child_process.execFile, Adding a Stats Middleware to an Express Application, Adding a Stats Middleware to an Express Application, Adding a Stats Middleware to an Express Application, Adding a Stats Middleware to an Express Application

execFile method, child_process.exec and child_process.execFile–child_process.exec and child_process.execFile

execPath method, process

execute method, MySQL Transactions with mysql-queues

exists method, Building a Simple Static File Server from Scratch, Building a Simple Static File Server from Scratch, Building a Simple Static File Server from Scratch

exit event, child_process.spawn, child_process.spawn, Creating a PDF uploader and dealing with graphics lag time, Accessing ImageMagick from a Child Process

  • -exitcrash option, Keeping Your Application Alive with Forever

expect method, Unit Testing with Nodeunit, Unit Testing with Nodeunit

exports statement, Creating Your Own Custom Module, Creating Your Own Custom Module, Packaging an Entire Directory

Express framework, Finding Modules, Express: Up and Running–Express: Up and Running, The app.js File in More Detail–The app.js File in More Detail, Error Handling–Error Handling, A Closer Look at the Express/Connect Partnership–A Closer Look at the Express/Connect Partnership, Routing–Routing and HTTP Verbs, Routing Path–Routing Path, Routing and HTTP Verbs–Routing and HTTP Verbs, Cue the MVC–Cue the MVC, Testing the Express Application with cURL–Testing the Express Application with cURL, Using a Template System (EJS) with Express–Providing an Update Form and Processing a PUT Request, Restructuring for a Multiple Object Environment–Restructuring for a Multiple Object Environment, Routing to Static Files–Routing to Static Files, Processing a New Object Post–Processing a New Object Post, Working with the Widgets Index and Generating a Picklist–Working with the Widgets Index and Generating a Picklist, Showing an Individual Object and Confirming an Object Deletion–Showing an Individual Object and Confirming an Object Deletion, Providing an Update Form and Processing a PUT Request–Providing an Update Form and Processing a PUT Request, Using Socket.IO with Express–Using Socket.IO with Express

and Connect, A Closer Look at the Express/Connect Partnership–A Closer Look at the Express/Connect Partnership

app.js file, The app.js File in More Detail–The app.js File in More Detail

error handling in, Error Handling–Error Handling

installing, Express: Up and Running–Express: Up and Running

module for, Finding Modules

MVC structure with, Cue the MVC–Cue the MVC

routing, Routing–Routing and HTTP Verbs, Routing Path–Routing Path, Routing and HTTP Verbs–Routing and HTTP Verbs

and HTTP verbs, Routing and HTTP Verbs–Routing and HTTP Verbs

path, Routing Path–Routing Path

testing with cURL, Testing the Express Application with cURL–Testing the Express Application with cURL

using EJS template system with, Using a Template System (EJS) with Express–Providing an Update Form and Processing a PUT Request, Restructuring for a Multiple Object Environment–Restructuring for a Multiple Object Environment, Routing to Static Files–Routing to Static Files, Processing a New Object Post–Processing a New Object Post, Working with the Widgets Index and Generating a Picklist–Working with the Widgets Index and Generating a Picklist, Showing an Individual Object and Confirming an Object Deletion–Showing an Individual Object and Confirming an Object Deletion, Providing an Update Form and Processing a PUT Request–Providing an Update Form and Processing a PUT Request

displaying individual object, Showing an Individual Object and Confirming an Object Deletion–Showing an Individual Object and Confirming an Object Deletion

generating picklist, Working with the Widgets Index and Generating a Picklist–Working with the Widgets Index and Generating a Picklist

multiple object environment for, Restructuring for a Multiple Object Environment–Restructuring for a Multiple Object Environment

processing object post, Processing a New Object Post–Processing a New Object Post

processing PUT request, Providing an Update Form and Processing a PUT Request–Providing an Update Form and Processing a PUT Request

routing to static files, Routing to Static Files–Routing to Static Files

using Socket.IO with, Using Socket.IO with Express–Using Socket.IO with Express

extends keyword, Using block and extends to Modularize the View Templates

external modules, External Modules and the Node Package Manager–External Modules and the Node Package Manager

F

fail method, Unit Testing with Assert

favicon middleware module, Connect Basics, Connect Basics, Custom Connect Middleware, Custom Connect Middleware, Custom Connect Middleware, Custom Connect Middleware, The app.js File in More Detail, The app.js File in More Detail

Fedora system, Hello, World in Node

FFmpeg, Graphics and HTML5 Video

fibers, Asynchronous Patterns and Control Flow Modules

file servers, Building a Simple Static File Server from Scratch–Building a Simple Static File Server from Scratch

File System module, Reading a File Asynchronously, Events and EventEmitter

files, reading asynchronously, Reading a File Asynchronously–Reading a File Asynchronously

filter function, Async

filters for EJS template system, Using the EJS for Node Filters–Using the EJS for Node Filters

FIN (finish packet), Servers, Streams, and Sockets

find command, child_process.spawn

find method, Querying the Data, Querying the Data, Querying the Data

find options for MongoDB, Querying the Data–Querying the Data

findAndModify method, Using Updates, Upserts, and Find and Remove–Using Updates, Upserts, and Find and Remove

findAndRemove method, Using Updates, Upserts, and Find and Remove–Using Updates, Upserts, and Find and Remove

finding modules, Finding Modules–Finding Modules

findOne method, Querying the Data, Querying the Data, Querying the Data, Querying the Data, Querying the Data

finish packet (FIN), Servers, Streams, and Sockets

first filter, Using the EJS for Node Filters

flash method, The Local Passport Strategy, The Local Passport Strategy, The Local Passport Strategy

Flatiron framework, The Express Framework

for loop, Step

for...in statement, Adding a Stats Middleware to an Express Application

forEach method, Sequential Functionality, Nested Callbacks, and Exception Handling, Sequential Functionality, Nested Callbacks, and Exception Handling, Sequential Functionality, Nested Callbacks, and Exception Handling, Sequential Functionality, Nested Callbacks, and Exception Handling, Step, Async, Async

Forever iFrame, About That Client Code

Forever module, Safely Storing Passwords–Safely Storing Passwords, Keeping Your Application Alive with Forever–Keeping Your Application Alive with Forever, Keeping Your Application Alive with Forever, Keeping Your Application Alive with Forever, Keeping Your Application Alive with Forever

  • -exitcrash option for, Keeping Your Application Alive with Forever

options for, Safely Storing Passwords–Safely Storing Passwords

  • s option for, Keeping Your Application Alive with Forever
  • v option for, Keeping Your Application Alive with Forever

fork method, child_process.fork–child_process.fork, child_process.fork, child_process.fork, child_process.fork

fork, defined, Node, Git, and GitHub

format method, Domain Resolution and URL Processing

forward proxy, Proxies

frameworks, defined, The Express Framework

fs (File System) module, Reading a File Asynchronously

future, defined, Promises, No Promises, Callback Instead

G

  • g option, External Modules and the Node Package Manager

game leaderboard example, Building a Game Leaderboard–Building a Game Leaderboard

GD, Graphics and HTML5 Video

Geddy framework, The Express Framework

get method, Routing, Routing, Routing, Routing Path, Routing Path–Routing and HTTP Verbs, Cue the MVC, Using a Template System (EJS) with Express

GET verb, Routing, Routing, Routing, Routing, Routing and HTTP Verbs, Using a Template System (EJS) with Express, Using a Template System (EJS) with Express

Git, The Local Passport Strategy, Node, Git, and GitHub–Node, Git, and GitHub

GitHub, External Modules and the Node Package Manager, The Local Passport Strategy, Node, Git, and GitHub–Node, Git, and GitHub

global installation of modules, External Modules and the Node Package Manager

global namespace object, Multiline and More Complex JavaScript, Multiline and More Complex JavaScript, Multiline and More Complex JavaScript, Multiline and More Complex JavaScript, Globals: global, process, and Buffer–global

for modules, Multiline and More Complex JavaScript

in REPL, Multiline and More Complex JavaScript, Multiline and More Complex JavaScript, Multiline and More Complex JavaScript

  • -global option, External Modules and the Node Package Manager

globalAgent, HTTP

Google V8 JavaScript engine, Why Node?, Node.js: Up and Running

grep command, child_process.spawn

group object, Step, Step

H

handshake, Setting Up TSL/SSL

hash, Building a Game Leaderboard

hash method, Safely Storing Passwords

headers object, Hello, World from the Top

heapTotal property, process

heapUsed property, process

Hello, World example, Hello, World in Node–Hello, World in Node, Hello, World from the Top–Hello, World from the Top, Chat: The WebSockets “Hello, World”–Chat: The WebSockets “Hello, World”

explained, Hello, World from the Top–Hello, World from the Top

for WebSockets, Chat: The WebSockets “Hello, World”–Chat: The WebSockets “Hello, World”

Heroku, Heroku–Heroku

hgetall method, Building a Game Leaderboard, Building a Game Leaderboard, Building a Game Leaderboard, Building a Game Leaderboard, Building a Game Leaderboard, Adding a Stats Middleware to an Express Application, Adding a Stats Middleware to an Express Application

hincrby method, Adding a Stats Middleware to an Express Application, Adding a Stats Middleware to an Express Application, Adding a Stats Middleware to an Express Application

hmac method, Safely Storing Passwords

Holowaychuk, TJ, The app.js File in More Detail

host parameter, Getting Started with Node and Redis

hset method, Getting Started with Node and Redis, Getting Started with Node and Redis

HTML5, Properly Serving HTML5 Video with HTTP–Properly Serving HTML5 Video with HTTP, Creating and Streaming Canvas Content–Creating and Streaming Canvas Content

canvas content, Creating and Streaming Canvas Content–Creating and Streaming Canvas Content

serving HTML5 video, Properly Serving HTML5 Video with HTTP–Properly Serving HTML5 Video with HTTP

HTTP module, Custom REPL, HTTP–HTTP

HTTP verbs, Routing and HTTP Verbs–Routing and HTTP Verbs

http-proxy module, Proxies

HTTPS, encrypting data with, Working with HTTPS–Working with HTTPS

I

IDE (integrated development environment), Deploying to Windows Azure via Cloud9 IDE

iisnode, Partnering Node with WebMatrix on Windows 7

ImageMagick, Accessing ImageMagick from a Child Process–Accessing ImageMagick from a Child Process

img element, Building a Simple Static File Server from Scratch, Creating and Streaming Canvas Content

immediate flag, connect.logger

include directive, Using block and extends to Modularize the View Templates, Building a Game Leaderboard, Building a Game Leaderboard

incr method, Adding a Stats Middleware to an Express Application

indenting code, Node Style

index function, Routing, Routing

index.js file, Using a Template System (EJS) with Express

inherits method, The Utilities Module and Object Inheritance–The Utilities Module and Object Inheritance, Events and EventEmitter, Events and EventEmitter, Events and EventEmitter, Preparing Your Module for Publication

injection attacks, Protecting Applications and Preventing Attacks–Don’t Use eval

insert method, Adding Data to a Collection, Adding Data to a Collection, Updating the Database with Direct Queries, Updating the Database with Chained Methods, Updating the Database with Chained Methods, MySQL Transactions with mysql-queues

inspect method, The Utilities Module and Object Inheritance, The Utilities Module and Object Inheritance

install event, Writing That package.json File

installing, Node.js: Up and Running, Installing Node on Linux (Ubuntu)–Installing Node on Linux (Ubuntu), Installing Node on Linux (Ubuntu), Partnering Node with WebMatrix on Windows 7–Partnering Node with WebMatrix on Windows 7, Express: Up and Running–Express: Up and Running, Getting Started with Node and Redis–Getting Started with Node and Redis

development environment, Node.js: Up and Running, Installing Node on Linux (Ubuntu)–Installing Node on Linux (Ubuntu), Partnering Node with WebMatrix on Windows 7–Partnering Node with WebMatrix on Windows 7

on Linux (Ubuntu), Installing Node on Linux (Ubuntu)–Installing Node on Linux (Ubuntu)

on Mac, Node.js: Up and Running

on Windows 7, Partnering Node with WebMatrix on Windows 7–Partnering Node with WebMatrix on Windows 7

Express framework, Express: Up and Running–Express: Up and Running

libraries, Installing Node on Linux (Ubuntu)

Redis module, Getting Started with Node and Redis–Getting Started with Node and Redis

integrated development environment (IDE), Deploying to Windows Azure via Cloud9 IDE

IPC (interprocess communication), HTTP

isAuthenticated method, The Local Passport Strategy

isEqual method, Unit Testing with Assert

J

Jade file, Building a Game Leaderboard

Jade module, Finding Modules

Jade template system, The Jade Template System–Converting the edit and deletion forms, Taking the Nickel Tour of the Jade Syntax–Taking the Nickel Tour of the Jade Syntax, Using block and extends to Modularize the View Templates–Converting the edit and deletion forms

modularizing views in, Using block and extends to Modularize the View Templates–Converting the edit and deletion forms

syntax for, Taking the Nickel Tour of the Jade Syntax–Taking the Nickel Tour of the Jade Syntax

Janczuk, Tomasz, Partnering Node with WebMatrix on Windows 7

Jasmine framework, Jasmine–Jasmine

JavaScript as basis for Node, Not Your Ordinary JavaScript, Node.js: Up and Running

JavaScript Gateway Interface (JSGI), Middleware

journaling option, Querying the Data

Joyent SmartMachines, Joyent Development SmartMachines–Joyent Development SmartMachines

.js files for modules, Loading a Module with require and Default Paths

JSDOM module, Finding Modules

JSGI (JavaScript Gateway Interface), Middleware

.json files for modules, Loading a Module with require and Default Paths

K

keepGoing option, Adding Data to a Collection

keyboard shortcuts in REPL, Multiline and More Complex JavaScript

L

la option, External Modules and the Node Package Manager, External Modules and the Node Package Manager

last argument callbacks, Promises, No Promises, Callback Instead

.leave command, Streams, Pipes, and Readline

length parameter, Buffer

length property, Working with the Widgets Index and Generating a Picklist, Converting the main widgets display view

libraries, Installing Node on Linux (Ubuntu), Installing Node on Linux (Ubuntu), The Express Framework

defined, The Express Framework

installing, Installing Node on Linux (Ubuntu)

requirements, Installing Node on Linux (Ubuntu)

libssl-dev, Installing Node on Linux (Ubuntu)

limit option, and findOne method, Querying the Data

Linux, Installing Node on Linux (Ubuntu)–Installing Node on Linux (Ubuntu), Custom REPL

installing development environment on, Installing Node on Linux (Ubuntu)–Installing Node on Linux (Ubuntu)

making REPL executable, Custom REPL

list option, External Modules and the Node Package Manager

listen method, Hello, World in Node–Hello, World from the Top, Reading a File Asynchronously, Reading a File Asynchronously

listening event, Hello, World from the Top, Reading a File Asynchronously

ll option, External Modules and the Node Package Manager, External Modules and the Node Package Manager

load, Proxies, Load Testing with Nodeload–Load Testing with Nodeload

balancing using reverse proxy, Proxies

testing with Nodeload module, Load Testing with Nodeload–Load Testing with Nodeload

loading modules, Loading a Module with require and Default Paths–Loading a Module with require and Default Paths

local installation of modules, External Modules and the Node Package Manager

log method, Multiline and More Complex JavaScript, Custom REPL, global, global, UDP/Datagram Socket, UDP/Datagram Socket, Sequential Functionality, Nested Callbacks, and Exception Handling

log, changing colors in, Colors: Simple Is Best

logger middleware module, connect.logger–connect.logger, connect.parseCookie and connect.cookieSession, Custom Connect Middleware, The app.js File in More Detail, The app.js File in More Detail

lookup method, Domain Resolution and URL Processing

ls option, External Modules and the Node Package Manager

M

  • m flag, Node, Git, and GitHub

Mac, installing on, Node.js: Up and Running

main property, Packaging an Entire Directory

map function, Async

maxLength option, A Closer Look at the Express/Connect Partnership

maxObjects option, A Closer Look at the Express/Connect Partnership

maxSockets property, HTTP

McMahon, Caolan, Async

Memcached key/value store, Structured Data with Node and Redis

memoization, Async

memoryUsage method, process

Mercurial repositories, The Local Passport Strategy

message event, UDP/Datagram Socket

message queue, Creating a Message Queue, Creating a Message Queue–Creating a Message Queue

defined, Creating a Message Queue

example using Redis, Creating a Message Queue–Creating a Message Queue

methodOverride option, The app.js File in More Detail, The app.js File in More Detail, Routing and HTTP Verbs, Routing and HTTP Verbs

Microsoft Visual C++ 2010 Redistributable Package, Partnering Node with WebMatrix on Windows 7

Microsoft Web Platform Installer, Partnering Node with WebMatrix on Windows 7

middleware, Middleware–Custom Connect Middleware, Connect Basics–Connect Basics, connect.static–connect.static, connect.logger–connect.logger, connect.parseCookie and connect.cookieSession–connect.parseCookie and connect.cookieSession, connect.parseCookie and connect.cookieSession–connect.parseCookie and connect.cookieSession, Custom Connect Middleware–Custom Connect Middleware

cookieSession middleware module, connect.parseCookie and connect.cookieSession–connect.parseCookie and connect.cookieSession

creating custom middleware, Custom Connect Middleware–Custom Connect Middleware

logger middleware module, connect.logger–connect.logger

overview, Connect Basics–Connect Basics

parseCookie middleware module, connect.parseCookie and connect.cookieSession–connect.parseCookie and connect.cookieSession

static middleware module, connect.static–connect.static

Mime module, Finding Modules

MIME type, Building a Simple Static File Server from Scratch, Building a Simple Static File Server from Scratch

minimal static file server, Building a Simple Static File Server from Scratch–Building a Simple Static File Server from Scratch

mixin function, Underscore, Underscore

Mocha framework, Mocha–Mocha

Model-View-Controller (MVC) framework and Express, Node.js: Up and Running (see MVC (Model-View-Controller) framework)

modules, Hello, World from the Top, Multiline and More Complex JavaScript, Loading a Module with require and Default Paths–Loading a Module with require and Default Paths, External Modules and the Node Package Manager–External Modules and the Node Package Manager, External Modules and the Node Package Manager, External Modules and the Node Package Manager, External Modules and the Node Package Manager, Finding Modules–Finding Modules, Colors: Simple Is Best–Colors: Simple Is Best, Optimist: Another Short and Simple Module–Optimist: Another Short and Simple Module, Underscore–Underscore, Creating Your Own Custom Module–Publishing the Module, Packaging an Entire Directory–Packaging an Entire Directory, Preparing Your Module for Publication–Preparing Your Module for Publication, Publishing the Module–Publishing the Module

Colors module, Colors: Simple Is Best–Colors: Simple Is Best

custom, Creating Your Own Custom Module–Publishing the Module, Packaging an Entire Directory–Packaging an Entire Directory, Preparing Your Module for Publication–Preparing Your Module for Publication, Publishing the Module–Publishing the Module

package.json file for, Preparing Your Module for Publication–Preparing Your Module for Publication

packaging directory, Packaging an Entire Directory–Packaging an Entire Directory

publishing, Publishing the Module–Publishing the Module

defined, Hello, World from the Top

dependencies for, External Modules and the Node Package Manager

external, External Modules and the Node Package Manager–External Modules and the Node Package Manager

finding, Finding Modules–Finding Modules

global installation of, External Modules and the Node Package Manager

global namespace for, Multiline and More Complex JavaScript

loading with require statement, Loading a Module with require and Default Paths–Loading a Module with require and Default Paths

local installation of, External Modules and the Node Package Manager

Optimist module, Optimist: Another Short and Simple Module–Optimist: Another Short and Simple Module

Underscore module, Underscore–Underscore

MongoDB, The MongoDB Native Node.js Driver–Using Updates, Upserts, and Find and Remove, Getting Started with MongoDB–Getting Started with MongoDB, Defining, Creating, and Dropping a MongoDB Collection–Adding Data to a Collection, Adding Data to a Collection, Querying the Data–Querying the Data, Querying the Data–Querying the Data, Using Updates, Upserts, and Find and Remove–Using Updates, Upserts, and Find and Remove, Using Updates, Upserts, and Find and Remove–Using Updates, Upserts, and Find and Remove, Using Updates, Upserts, and Find and Remove–Using Updates, Upserts, and Find and Remove, Using Updates, Upserts, and Find and Remove–Using Updates, Upserts, and Find and Remove, Using Updates, Upserts, and Find and Remove–Using Updates, Upserts, and Find and Remove, Using Updates, Upserts, and Find and Remove–Using Updates, Upserts, and Find and Remove, Implementing a Widget Model with Mongoose–Adding the MongoDB Backend, Refactoring the Widget Factory–Refactoring the Widget Factory, Adding the MongoDB Backend–Adding the MongoDB Backend

and asynchronous functionality, Using Updates, Upserts, and Find and Remove–Using Updates, Upserts, and Find and Remove

data type mapping for, Adding Data to a Collection

find options for, Querying the Data–Querying the Data

Mongoose with, Implementing a Widget Model with Mongoose–Adding the MongoDB Backend, Refactoring the Widget Factory–Refactoring the Widget Factory, Adding the MongoDB Backend–Adding the MongoDB Backend

adding database connection, Adding the MongoDB Backend–Adding the MongoDB Backend

refactoring widget for, Refactoring the Widget Factory–Refactoring the Widget Factory

native driver for, The MongoDB Native Node.js Driver–Using Updates, Upserts, and Find and Remove, Getting Started with MongoDB–Getting Started with MongoDB, Defining, Creating, and Dropping a MongoDB Collection–Adding Data to a Collection, Querying the Data–Querying the Data, Using Updates, Upserts, and Find and Remove–Using Updates, Upserts, and Find and Remove, Using Updates, Upserts, and Find and Remove–Using Updates, Upserts, and Find and Remove, Using Updates, Upserts, and Find and Remove–Using Updates, Upserts, and Find and Remove, Using Updates, Upserts, and Find and Remove–Using Updates, Upserts, and Find and Remove

collections in, Defining, Creating, and Dropping a MongoDB Collection–Adding Data to a Collection

findAndModify method, Using Updates, Upserts, and Find and Remove–Using Updates, Upserts, and Find and Remove

findAndRemove method, Using Updates, Upserts, and Find and Remove–Using Updates, Upserts, and Find and Remove

overview, Getting Started with MongoDB–Getting Started with MongoDB

querying data, Querying the Data–Querying the Data

remove method, Using Updates, Upserts, and Find and Remove–Using Updates, Upserts, and Find and Remove

update method, Using Updates, Upserts, and Find and Remove–Using Updates, Upserts, and Find and Remove

update modifiers for, Using Updates, Upserts, and Find and Remove–Using Updates, Upserts, and Find and Remove

Mongoose, Implementing a Widget Model with Mongoose–Adding the MongoDB Backend, Refactoring the Widget Factory–Refactoring the Widget Factory, Adding the MongoDB Backend–Adding the MongoDB Backend

adding database connection, Adding the MongoDB Backend–Adding the MongoDB Backend

refactoring widget for, Refactoring the Widget Factory–Refactoring the Widget Factory

multi method, Adding a Stats Middleware to an Express Application, Adding a Stats Middleware to an Express Application

multi parameter, Using Updates, Upserts, and Find and Remove

multiline code in REPL, Multiline and More Complex JavaScript–Custom REPL

multipart/form-data content type, Creating a PDF uploader and dealing with graphics lag time

multiple object environment, Restructuring for a Multiple Object Environment–Restructuring for a Multiple Object Environment

multiple requests, and string values, Taking a Closer Look at Asynchronous Program Flow

MVC (Model-View-Controller) framework and Express, How to Best Use This Book, Cue the MVC–Cue the MVC

MX record, Domain Resolution and URL Processing

MySQL databases, Getting Started with db-mysql–Updating the Database with Chained Methods, Using Query String or Chained Methods–Using Query String or Chained Methods, Updating the Database with Direct Queries–Updating the Database with Direct Queries, Updating the Database with Chained Methods–Updating the Database with Chained Methods, Native JavaScript MySQL Access with node-mysql–MySQL Transactions with mysql-queues, Basic CRUD with node-mysql–Basic CRUD with node-mysql, MySQL Transactions with mysql-queues–MySQL Transactions with mysql-queues

db-mysql module, Getting Started with db-mysql–Updating the Database with Chained Methods, Using Query String or Chained Methods–Using Query String or Chained Methods, Updating the Database with Direct Queries–Updating the Database with Direct Queries, Updating the Database with Chained Methods–Updating the Database with Chained Methods

chained methods, Updating the Database with Chained Methods–Updating the Database with Chained Methods

direct queries, Updating the Database with Direct Queries–Updating the Database with Direct Queries

overview, Using Query String or Chained Methods–Using Query String or Chained Methods

node-mysql module, Native JavaScript MySQL Access with node-mysql–MySQL Transactions with mysql-queues, Basic CRUD with node-mysql–Basic CRUD with node-mysql, MySQL Transactions with mysql-queues–MySQL Transactions with mysql-queues

CRUD with, Basic CRUD with node-mysql–Basic CRUD with node-mysql

transactions with, MySQL Transactions with mysql-queues–MySQL Transactions with mysql-queues

mysql-queues module, MySQL Transactions with mysql-queues–MySQL Transactions with mysql-queues

mysql-series module, The Node Relational Database Bindings

N

name property, Packaging an Entire Directory

naming callback functions, Sequential Functionality, Nested Callbacks, and Exception Handling

nested callbacks, Sequential Functionality, Nested Callbacks, and Exception Handling–Sequential Functionality, Nested Callbacks, and Exception Handling, Sequential Functionality, Nested Callbacks, and Exception Handling, Defining, Creating, and Dropping a MongoDB Collection

Net module, TCP Sockets and Servers–TCP Sockets and Servers

next callback function, Custom Connect Middleware–Custom Connect Middleware

next command, The Node.js Debugger, The Node.js Debugger, The Node.js Debugger

next parameter, Error Handling

nextTick method, process, process, process, process, process, process, Asynchronous Patterns and Control Flow Modules

node command, Hello, World in Node

.node files for modules, Loading a Module with require and Default Paths

Node Inspector, Client-Side Debugging with Node Inspector–Client-Side Debugging with Node Inspector

Node Package Manager (npm), How to Best Use This Book

Node Style, Node Style–Node Style

Node Version Manager (Nvm), Updating Node

node-mysql module, Native JavaScript MySQL Access with node-mysql–MySQL Transactions with mysql-queues, Basic CRUD with node-mysql–Basic CRUD with node-mysql, MySQL Transactions with mysql-queues–MySQL Transactions with mysql-queues

CRUD with, Basic CRUD with node-mysql–Basic CRUD with node-mysql

transactions with, MySQL Transactions with mysql-queues–MySQL Transactions with mysql-queues

node-validator module, Scrub Your Data and Sanitize It with node-validator–Scrub Your Data and Sanitize It with node-validator

Nodejitsu, Nodejitsu–Nodejitsu

Nodeload module, Load Testing with Nodeload–Load Testing with Nodeload, Load Testing with Nodeload–Load Testing with Nodeload

flags for, Load Testing with Nodeload–Load Testing with Nodeload

load testing with, Load Testing with Nodeload–Load Testing with Nodeload

Nodemon module, Refreshing Code with Nodemon–Refreshing Code with Nodemon

Nodeunit module, Unit Testing with Nodeunit–Unit Testing with Nodeunit

NODE_ENV variable, The app.js File in More Detail

node_modules folder, Loading a Module with require and Default Paths

normalize method, Routing to Static Files

NoSQL databases, Structured Data with Node and Redis, Node and MongoDB: Document-Centric Data

npm (Node Package Manager), How to Best Use This Book, External Modules and the Node Package Manager

.npmignore list, Publishing the Module

NS record, Domain Resolution and URL Processing

Nvm (Node Version Manager), Updating Node

O

OAuth, Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification–Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification, The Twitter Passport Strategy (OAuth)–The Twitter Passport Strategy (OAuth)

object-relational mapping (ORM), The Node Relational Database Bindings

ODM (object-document mapping), Implementing a Widget Model with Mongoose

offset parameter, Buffer

on method, TCP Sockets and Servers, TCP Sockets and Servers, TCP Sockets and Servers, Events and EventEmitter, Events and EventEmitter, Events and EventEmitter, Events and EventEmitter, Events and EventEmitter

onclick event handler, Control Flow, Asynchronous Patterns, and Exception Handling, Control Flow, Asynchronous Patterns, and Exception Handling

open event, Building a Simple Static File Server from Scratch, Building a Simple Static File Server from Scratch, Building a Simple Static File Server from Scratch

open method, Learning the Basic Syntax

open text fields, avoiding, Do Use Checkboxes, Radio Buttons, and Drop-Down Selections–Do Use Checkboxes, Radio Buttons, and Drop-Down Selections

OpenFeint, Building a Game Leaderboard

OpenID, Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification–Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification

OpenSSL, Setting Up TSL/SSL

Optimist module, Finding Modules, Optimist: Another Short and Simple Module–Optimist: Another Short and Simple Module

ORM (object-relational mapping), The Node Relational Database Bindings

os module, Custom REPL

out command, The Node.js Debugger

output stream, Connect Basics

overhead of single thread process, Benefits of Node

P

package.json files, Preparing Your Module for Publication–Preparing Your Module for Publication, Preparing Your Module for Publication, Preparing Your Module for Publication, Writing That package.json File–Writing That package.json File

deploying to servers, Writing That package.json File–Writing That package.json File

for custom modules, Preparing Your Module for Publication–Preparing Your Module for Publication

generating, Preparing Your Module for Publication

required fields in, Preparing Your Module for Publication

packaging directory, Packaging an Entire Directory–Packaging an Entire Directory

parallel method, Async, Async, Async, Async, Building a Game Leaderboard

parse method, Domain Resolution and URL Processing, Don’t Use eval, Don’t Use eval

parseBody method, Creating a PDF uploader and dealing with graphics lag time

parseCookie middleware module, connect.parseCookie and connect.cookieSession–connect.parseCookie and connect.cookieSession

passphrase, Setting Up TSL/SSL

Passport module, Authentication/Authorization with Passport–The Twitter Passport Strategy (OAuth), Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification–Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification, Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification–Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification, The Local Passport Strategy–The Local Passport Strategy, The Twitter Passport Strategy (OAuth)–The Twitter Passport Strategy (OAuth)

storing locally with, The Local Passport Strategy–The Local Passport Strategy

using OAuth with, Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification–Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification, The Twitter Passport Strategy (OAuth)–The Twitter Passport Strategy (OAuth)

using OpenID with, Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification–Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification

passwords, encrypting, Safely Storing Passwords–Safely Storing Passwords

PATH environment variable, Installing Node on Linux (Ubuntu)

path routing in Express framework, Routing Path–Routing Path

pattern attribute, Routing and HTTP Verbs

PDF files, Creating and Working with PDFs–Creating PDFs with PDFKit, Taking page snapshots with wkhtmltopdf–Taking page snapshots with wkhtmltopdf, Accessing data about a PDF file with PDF Toolkit–Accessing data about a PDF file with PDF Toolkit, Creating a PDF uploader and dealing with graphics lag time–Creating a PDF uploader and dealing with graphics lag time, Creating PDFs with PDFKit–Creating PDFs with PDFKit

using PDF Toolkit, Accessing data about a PDF file with PDF Toolkit–Accessing data about a PDF file with PDF Toolkit, Creating a PDF uploader and dealing with graphics lag time–Creating a PDF uploader and dealing with graphics lag time, Creating PDFs with PDFKit–Creating PDFs with PDFKit

accessing data about file with, Accessing data about a PDF file with PDF Toolkit–Accessing data about a PDF file with PDF Toolkit

creating files with, Creating PDFs with PDFKit–Creating PDFs with PDFKit

creating page to upload files, Creating a PDF uploader and dealing with graphics lag time–Creating a PDF uploader and dealing with graphics lag time

wkhtmltopdf utility, Taking page snapshots with wkhtmltopdf–Taking page snapshots with wkhtmltopdf

PEM (privacy-enhanced mail) format, Setting Up TSL/SSL

performance, Benchmark Testing with ApacheBench–Benchmark Testing with ApacheBench, Load Testing with Nodeload–Load Testing with Nodeload, Improving Performance–Improving Performance

benchmark testing with ApacheBench module, Benchmark Testing with ApacheBench–Benchmark Testing with ApacheBench

improving, Improving Performance–Improving Performance

load testing with Nodeload module, Load Testing with Nodeload–Load Testing with Nodeload

picklist, Working with the Widgets Index and Generating a Picklist–Working with the Widgets Index and Generating a Picklist, Working with the Widgets Index and Generating a Picklist

defined, Working with the Widgets Index and Generating a Picklist

generating, Working with the Widgets Index and Generating a Picklist–Working with the Widgets Index and Generating a Picklist

pipe, Streams, Pipes, and Readline, Building a Simple Static File Server from Scratch, Building a Simple Static File Server from Scratch

defined, Streams, Pipes, and Readline

method, Building a Simple Static File Server from Scratch, Building a Simple Static File Server from Scratch

placeholders, Updating the Database with Direct Queries

platform method, process

Polaroid effect, Accessing ImageMagick from a Child Process

poolSize option, Getting Started with MongoDB

port parameter, Getting Started with Node and Redis

post method, Routing, Routing and HTTP Verbs

POST verb, Routing, Routing, Routing and HTTP Verbs

prefix configuration option, Installing Node on Linux (Ubuntu)

prefork MPM (prefork multiprocessing model), Asynchronous Functions and the Node Event Loop

preinstall event, Writing That package.json File

print method, Getting Started with Node and Redis, Getting Started with Node and Redis

privacy-enhanced mail (PEM) format, Setting Up TSL/SSL

private keys, Setting Up TSL/SSL

process method, process

process object, process–process

Procfile, Protecting Applications and Preventing Attacks

profile parameter, The Twitter Passport Strategy (OAuth)

program flow and asynchronous functionality, Taking a Closer Look at Asynchronous Program Flow–Taking a Closer Look at Asynchronous Program Flow

promises vs. callback functions, Promises, No Promises, Callback Instead–Promises, No Promises, Callback Instead

proxies, Proxies–Proxies, Proxies

public keys, Setting Up TSL/SSL

publish event, Writing That package.json File

pull request, Node, Git, and GitHub

put method, Cue the MVC

PUT verb, Routing, Routing and HTTP Verbs, Routing and HTTP Verbs, Routing and HTTP Verbs

PuTTY, Custom REPL

pwd command, child_process.spawn

pyramid of doom, Sequential Functionality, Nested Callbacks, and Exception Handling

Python, Installing Node on Linux (Ubuntu)

Q

qs variable, Multiline and More Complex JavaScript

query method, Getting Started with db-mysql, Native JavaScript MySQL Access with node-mysql, Native JavaScript MySQL Access with node-mysql

Query String module, Domain Resolution and URL Processing

querying in MongoDB, Querying the Data–Querying the Data

querystring object in REPL, Multiline and More Complex JavaScript, Multiline and More Complex JavaScript

quit method, Getting Started with Node and Redis

R

RailwayJS framework, Testing the Express Application with cURL

rainbow table, Safely Storing Passwords

Ranney, Matt, Structured Data with Node and Redis

RavenDB, Node and MongoDB: Document-Centric Data

read-eval-print loop (REPL), Node.js: Up and Running (see REPL (read-eval-print loop))

readFile method, Reading a File Asynchronously, Reading a File Asynchronously, Reading a File Asynchronously, Reading a File Asynchronously, Taking a Closer Look at Asynchronous Program Flow, Step–Async, Building a Simple Static File Server from Scratch, Building a Simple Static File Server from Scratch, Building a Simple Static File Server from Scratch, Building a Simple Static File Server from Scratch, Sandboxed Code

readFileSync function, HTTP

reading files asynchronously, Reading a File Asynchronously–Reading a File Asynchronously

Readline module, Streams, Pipes, and Readline

README file, Node, Git, and GitHub

ready event, Using Query String or Chained Methods, Using Query String or Chained Methods

reasonPhrase method, Hello, World from the Top

reddish-proxy, Proxies

redirect method, Routing to Static Files

Redis key/value store, Structured Data with Node and Redis

Redis module, Finding Modules, Adding a Stats Middleware to an Express Application

Redis support, Getting Started with Node and Redis–Getting Started with Node and Redis, Building a Game Leaderboard–Building a Game Leaderboard, Creating a Message Queue–Creating a Message Queue, Adding a Stats Middleware to an Express Application–Adding a Stats Middleware to an Express Application

game leaderboard example, Building a Game Leaderboard–Building a Game Leaderboard

installing module for, Getting Started with Node and Redis–Getting Started with Node and Redis

message queue example, Creating a Message Queue–Creating a Message Queue

stats middleware using, Adding a Stats Middleware to an Express Application–Adding a Stats Middleware to an Express Application

refactoring, Refactoring the Widget Factory

refreshing code changes, Refreshing Code with Nodemon–Refreshing Code with Nodemon

regular expressions in routes, Routers, Routing Path

relational database bindings, Getting Started with db-mysql–Updating the Database with Chained Methods, Using Query String or Chained Methods–Using Query String or Chained Methods, Updating the Database with Direct Queries–Updating the Database with Direct Queries, Updating the Database with Chained Methods–Updating the Database with Chained Methods, Native JavaScript MySQL Access with node-mysql–MySQL Transactions with mysql-queues, Basic CRUD with node-mysql–Basic CRUD with node-mysql, MySQL Transactions with mysql-queues–MySQL Transactions with mysql-queues, ORM Support with Sequelize–Overcoming Issues Related to Going from Relational to ORM, Defining a Model–Defining a Model, Using CRUD, ORM Style–Using CRUD, ORM Style, Adding Several Objects Easily–Adding Several Objects Easily, Overcoming Issues Related to Going from Relational to ORM–Overcoming Issues Related to Going from Relational to ORM

db-mysql module, Getting Started with db-mysql–Updating the Database with Chained Methods, Using Query String or Chained Methods–Using Query String or Chained Methods, Updating the Database with Direct Queries–Updating the Database with Direct Queries, Updating the Database with Chained Methods–Updating the Database with Chained Methods

chained methods, Updating the Database with Chained Methods–Updating the Database with Chained Methods

direct queries, Updating the Database with Direct Queries–Updating the Database with Direct Queries

overview, Using Query String or Chained Methods–Using Query String or Chained Methods

node-mysql module, Native JavaScript MySQL Access with node-mysql–MySQL Transactions with mysql-queues, Basic CRUD with node-mysql–Basic CRUD with node-mysql, MySQL Transactions with mysql-queues–MySQL Transactions with mysql-queues

CRUD with, Basic CRUD with node-mysql–Basic CRUD with node-mysql

transactions with, MySQL Transactions with mysql-queues–MySQL Transactions with mysql-queues

Sequelize module, ORM Support with Sequelize–Overcoming Issues Related to Going from Relational to ORM, Defining a Model–Defining a Model, Using CRUD, ORM Style–Using CRUD, ORM Style, Adding Several Objects Easily–Adding Several Objects Easily, Overcoming Issues Related to Going from Relational to ORM–Overcoming Issues Related to Going from Relational to ORM

adding several objects at once, Adding Several Objects Easily–Adding Several Objects Easily

CRUD with, Using CRUD, ORM Style–Using CRUD, ORM Style

defining model, Defining a Model–Defining a Model

issues with, Overcoming Issues Related to Going from Relational to ORM–Overcoming Issues Related to Going from Relational to ORM

remoteAddress property, TCP Sockets and Servers

remotePort property, TCP Sockets and Servers

remove method, Using Updates, Upserts, and Find and Remove–Using Updates, Upserts, and Find and Remove

remove option, Using Updates, Upserts, and Find and Remove

render method, Routing, Routing, Routing, Routing, Routing, Routing, Routing, Routing, Using EJS with Node, Using a Template System (EJS) with Express, Using a Template System (EJS) with Express, Using a Template System (EJS) with Express, Using a Template System (EJS) with Express, Using a Template System (EJS) with Express, Showing an Individual Object and Confirming an Object Deletion, Providing an Update Form and Processing a PUT Request, Adding a Stats Middleware to an Express Application

renderFile method, Using EJS with Node, Using EJS with Node

REPL (read-eval-print loop), REPL: First Looks and Undefined Expressions–REPL: First Looks and Undefined Expressions, REPL: First Looks and Undefined Expressions, REPL: First Looks and Undefined Expressions, REPL: First Looks and Undefined Expressions, Benefits of REPL: Getting a Closer Understanding of JavaScript Under the Hood–Benefits of REPL: Getting a Closer Understanding of JavaScript Under the Hood, Multiline and More Complex JavaScript–Custom REPL, Multiline and More Complex JavaScript, Multiline and More Complex JavaScript, Multiline and More Complex JavaScript, Multiline and More Complex JavaScript, Multiline and More Complex JavaScript, Multiline and More Complex JavaScript, Multiline and More Complex JavaScript, Multiline and More Complex JavaScript, Multiline and More Complex JavaScript, Multiline and More Complex JavaScript, Multiline and More Complex JavaScript, Multiline and More Complex JavaScript, Multiline and More Complex JavaScript, Multiline and More Complex JavaScript, Multiline and More Complex JavaScript, REPL Commands–REPL Commands, REPL Commands, REPL Commands, REPL Commands, REPL Commands, REPL Commands, REPL and rlwrap–REPL and rlwrap, REPL and rlwrap, Custom REPL–Custom REPL, Custom REPL, Custom REPL, Custom REPL, Custom REPL, Custom REPL, Custom REPL, Custom REPL, Custom REPL, Custom REPL, Custom REPL, Stuff Happens—Save Often–Stuff Happens—Save Often, Stuff Happens—Save Often, Stuff Happens—Save Often

prompt in, Custom REPL

arrow keys in, Multiline and More Complex JavaScript

autocomplete text in, Multiline and More Complex JavaScript

benefits of, Benefits of REPL: Getting a Closer Understanding of JavaScript Under the Hood–Benefits of REPL: Getting a Closer Understanding of JavaScript Under the Hood

.break command in, REPL Commands

.clear command in, REPL Commands, Custom REPL

command-line prompt for, REPL: First Looks and Undefined Expressions

commands for, REPL Commands–REPL Commands

{} (curly braces) in, Multiline and More Complex JavaScript

global object in, Multiline and More Complex JavaScript, Multiline and More Complex JavaScript, Multiline and More Complex JavaScript

http module in, Custom REPL

keyboard shortcuts in, Multiline and More Complex JavaScript

log command in, Custom REPL

log method in, Multiline and More Complex JavaScript

making executable in Linux, Custom REPL

multiline code in, Multiline and More Complex JavaScript–Custom REPL

os module in, Custom REPL

overview, REPL: First Looks and Undefined Expressions–REPL: First Looks and Undefined Expressions

process.stdin in, Custom REPL

qs variable in, Multiline and More Complex JavaScript

querystring object in, Multiline and More Complex JavaScript, Multiline and More Complex JavaScript

require statements in, Multiline and More Complex JavaScript

rlwrap utility in, REPL and rlwrap–REPL and rlwrap, REPL and rlwrap, Stuff Happens—Save Often, Stuff Happens—Save Often

.save command in, Multiline and More Complex JavaScript, REPL Commands, REPL Commands, REPL Commands

saving in, Stuff Happens—Save Often–Stuff Happens—Save Often

start method in, Custom REPL

stream option in, Custom REPL

using custom, Custom REPL–Custom REPL

util module in, Custom REPL

var keyword in, REPL: First Looks and Undefined Expressions, Multiline and More Complex JavaScript, Multiline and More Complex JavaScript

_ (underscore) in, REPL: First Looks and Undefined Expressions

repl object, Custom REPL

replace method, Sequential Functionality, Nested Callbacks, and Exception Handling

repository, Node, Git, and GitHub

Representational State Transfer (REST), The app.js File in More Detail

req parameter, Custom Connect Middleware

Request module, Finding Modules

request object, HTTP, HTTP, HTTP

request parameter, Error Handling

requestListener method, Hello, World from the Top, HTTP, HTTP

require statements, Multiline and More Complex JavaScript, Loading a Module with require and Default Paths–Loading a Module with require and Default Paths, Creating Your Own Custom Module, Incorporating Stylus for Simplified CSS

in REPL, Multiline and More Complex JavaScript

loading modules using, Loading a Module with require and Default Paths–Loading a Module with require and Default Paths, Creating Your Own Custom Module

section in file, Incorporating Stylus for Simplified CSS

required attribute, Routing and HTTP Verbs, Creating a PDF uploader and dealing with graphics lag time

requirements, Installing Node on Linux (Ubuntu), Installing Node on Linux (Ubuntu)

libraries, Installing Node on Linux (Ubuntu)

Python, Installing Node on Linux (Ubuntu)

res parameter, Custom Connect Middleware

resolve method, Domain Resolution and URL Processing, Loading a Module with require and Default Paths, Loading a Module with require and Default Paths

response headers, Hello, World from the Top

response parameter, Error Handling

REST (Representational State Transfer), The app.js File in More Detail

resume method, process

reverse method, Domain Resolution and URL Processing

reverse proxy, Proxies, Proxies

rewriting web requests, Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification

rlwrap utility, REPL and rlwrap–REPL and rlwrap, Stuff Happens—Save Often, Stuff Happens—Save Often, Streams, Pipes, and Readline, Streams, Pipes, and Readline

rollback method, MySQL Transactions with mysql-queues

router middleware module, The app.js File in More Detail, A Closer Look at the Express/Connect Partnership, Cue the MVC

routing, Routers–Routers, Routers, Routing–Routing and HTTP Verbs, Routing Path–Routing Path, Routing Path, Routing Path, Routing and HTTP Verbs–Routing and HTTP Verbs, Routing to Static Files–Routing to Static Files

  • (asterisk) in, Routing Path

in Express framework, Routing–Routing and HTTP Verbs, Routing Path–Routing Path, Routing and HTTP Verbs–Routing and HTTP Verbs

and HTTP verbs, Routing and HTTP Verbs–Routing and HTTP Verbs

path, Routing Path–Routing Path

regular expressions in, Routers, Routing Path

to static files, Routing to Static Files–Routing to Static Files

rpush method, Creating a Message Queue

Ruby on Rails, Cue the MVC

runInContext method, Sandboxed Code, Sandboxed Code

runInThisContext methods, Sandboxed Code

S

  • s option, Keeping Your Application Alive with Forever

sadd method, Adding a Stats Middleware to an Express Application

safe parameter, Using Updates, Upserts, and Find and Remove

salt, Safely Storing Passwords

sandboxing, Sandboxed Code–Sandboxed Code, Sandboxed Code

Sanderson, Steve, Partnering Node with WebMatrix on Windows 7

sanitizing data, Scrub Your Data and Sanitize It with node-validator–Scrub Your Data and Sanitize It with node-validator, Scrub Your Data and Sanitize It with node-validator, Scrub Your Data and Sanitize It with node-validator

sanitize method, Scrub Your Data and Sanitize It with node-validator, Scrub Your Data and Sanitize It with node-validator

with node-validator module, Scrub Your Data and Sanitize It with node-validator–Scrub Your Data and Sanitize It with node-validator

Sauce Labs, Selenium Testing with Soda

.save command, Multiline and More Complex JavaScript, REPL Commands, REPL Commands, REPL Commands

script element, About That Client Code

secure shell (SSH), Node.js: Up and Running (see SSH (secure shell))

Secure Sockets Layer (SSL), Setting Up TSL/SSL–Setting Up TSL/SSL

security, Encrypting Data–Safely Storing Passwords, Setting Up TSL/SSL–Setting Up TSL/SSL, Working with HTTPS–Working with HTTPS, Safely Storing Passwords–Safely Storing Passwords, Authentication/Authorization with Passport–The Twitter Passport Strategy (OAuth), Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification–Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification, Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification–Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification, The Local Passport Strategy–The Local Passport Strategy, The Twitter Passport Strategy (OAuth)–The Twitter Passport Strategy (OAuth), Protecting Applications and Preventing Attacks–Scrub Your Data and Sanitize It with node-validator, Don’t Use eval–Don’t Use eval, Do Use Checkboxes, Radio Buttons, and Drop-Down Selections–Do Use Checkboxes, Radio Buttons, and Drop-Down Selections, Scrub Your Data and Sanitize It with node-validator–Scrub Your Data and Sanitize It with node-validator, Sandboxed Code–Sandboxed Code

authentication/authorization with Passport module, Authentication/Authorization with Passport–The Twitter Passport Strategy (OAuth), Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification–Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification, Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification–Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification, The Local Passport Strategy–The Local Passport Strategy, The Twitter Passport Strategy (OAuth)–The Twitter Passport Strategy (OAuth)

locally stored, The Local Passport Strategy–The Local Passport Strategy

using OAuth, Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification–Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification, The Twitter Passport Strategy (OAuth)–The Twitter Passport Strategy (OAuth)

using OpenID, Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification–Authorization/Authentication Strategies: OAuth, OpenID, Username/Password Verification

encrypting data, Encrypting Data–Safely Storing Passwords, Setting Up TSL/SSL–Setting Up TSL/SSL, Working with HTTPS–Working with HTTPS, Safely Storing Passwords–Safely Storing Passwords

storing passwords, Safely Storing Passwords–Safely Storing Passwords

with HTTPS, Working with HTTPS–Working with HTTPS

with TLS/SSL, Setting Up TSL/SSL–Setting Up TSL/SSL

protecting against attacks, Protecting Applications and Preventing Attacks–Scrub Your Data and Sanitize It with node-validator, Don’t Use eval–Don’t Use eval, Do Use Checkboxes, Radio Buttons, and Drop-Down Selections–Do Use Checkboxes, Radio Buttons, and Drop-Down Selections, Scrub Your Data and Sanitize It with node-validator–Scrub Your Data and Sanitize It with node-validator

avoiding eval function, Don’t Use eval–Don’t Use eval

avoiding open text fields, Do Use Checkboxes, Radio Buttons, and Drop-Down Selections–Do Use Checkboxes, Radio Buttons, and Drop-Down Selections

sanitizing data with node-validator module, Scrub Your Data and Sanitize It with node-validator–Scrub Your Data and Sanitize It with node-validator

sandboxing code, Sandboxed Code–Sandboxed Code

Selenium, Selenium Testing with Soda

self-signed certificates, Setting Up TSL/SSL

semicolons, Node Style

send method, Routing Path, Routing Path, Routing Path, Showing an Individual Object and Confirming an Object Deletion, Chat: The WebSockets “Hello, World”

sendfile method, Routing to Static Files, Routing to Static Files

Sequelize module, ORM Support with Sequelize–Overcoming Issues Related to Going from Relational to ORM, Defining a Model–Defining a Model, Using CRUD, ORM Style–Using CRUD, ORM Style, Adding Several Objects Easily–Adding Several Objects Easily, Overcoming Issues Related to Going from Relational to ORM–Overcoming Issues Related to Going from Relational to ORM

adding several objects at once, Adding Several Objects Easily–Adding Several Objects Easily

CRUD with, Using CRUD, ORM Style–Using CRUD, ORM Style

defining model, Defining a Model–Defining a Model

issues with, Overcoming Issues Related to Going from Relational to ORM–Overcoming Issues Related to Going from Relational to ORM

sequence, Asynchronous Patterns and Control Flow Modules, Asynchronous Patterns and Control Flow Modules

sequential functionality, Sequential Functionality, Nested Callbacks, and Exception Handling–Sequential Functionality, Nested Callbacks, and Exception Handling

sequential programming, Sequential Functionality, Nested Callbacks, and Exception Handling

serial method, Async, Async, Async

serializeFunction parameter, Using Updates, Upserts, and Find and Remove

serializeUser method, The Local Passport Strategy, The Local Passport Strategy

series, Asynchronous Patterns and Control Flow Modules, Asynchronous Patterns and Control Flow Modules, Building a Game Leaderboard, Building a Game Leaderboard, Building a Game Leaderboard, Building a Game Leaderboard, Building a Game Leaderboard

defined, Asynchronous Patterns and Control Flow Modules, Asynchronous Patterns and Control Flow Modules

method, Building a Game Leaderboard, Building a Game Leaderboard, Building a Game Leaderboard, Building a Game Leaderboard, Building a Game Leaderboard

Server constructor, Getting Started with MongoDB

ServerRequest object, HTTP

ServerResponse object, Hello, World from the Top, HTTP

servers, Building a Simple Static File Server from Scratch–Building a Simple Static File Server from Scratch, Deploying Your Node Application to Your Server–Improving Performance, Writing That package.json File–Writing That package.json File, Keeping Your Application Alive with Forever–Keeping Your Application Alive with Forever, Using Node and Apache Together–Using Node and Apache Together, Improving Performance–Improving Performance

deploying to, Deploying Your Node Application to Your Server–Improving Performance, Writing That package.json File–Writing That package.json File, Keeping Your Application Alive with Forever–Keeping Your Application Alive with Forever, Using Node and Apache Together–Using Node and Apache Together, Improving Performance–Improving Performance

alongside another web server, Using Node and Apache Together–Using Node and Apache Together

improving performance of, Improving Performance–Improving Performance

package.json file, Writing That package.json File–Writing That package.json File

using Forever module, Keeping Your Application Alive with Forever–Keeping Your Application Alive with Forever

minimal static file server, Building a Simple Static File Server from Scratch–Building a Simple Static File Server from Scratch

session middleware module, The Local Passport Strategy

set method, The app.js File in More Detail, The app.js File in More Detail, Adding a Stats Middleware to an Express Application, Updating the Database with Chained Methods

setBreakpoint command, The Node.js Debugger

setEncoding method, Buffer, Buffer, TCP Sockets and Servers, TCP Sockets and Servers, Streams, Pipes, and Readline, child_process.spawn

setInterval function, The Timers: setTimeout, clearTimeout, setInterval, and clearInterval

setMaxListeners method, Events and EventEmitter

setTimeout function, Taking a Closer Look at Asynchronous Program Flow, process, process, process, The Timers: setTimeout, clearTimeout, setInterval, and clearInterval, The Timers: setTimeout, clearTimeout, setInterval, and clearInterval, The Timers: setTimeout, clearTimeout, setInterval, and clearInterval

sha1 algorithm, Safely Storing Passwords

shared hosting, Installing Node on Linux (Ubuntu)

showStack flag, Error Handling

sign method, Safely Storing Passwords

SimpleDB, Node and MongoDB: Document-Centric Data

single quotes, Node Style

single thread, Why Node?, Benefits of Node

for Node, Why Node?

overhead of, Benefits of Node

Socket.IO module, Finding Modules, An Introduction to Socket.IO–About That Client Code, Configuring Socket.IO–Configuring Socket.IO, Using Socket.IO with Express–Using Socket.IO with Express

and WebSockets, An Introduction to Socket.IO–About That Client Code

configuring, Configuring Socket.IO–Configuring Socket.IO

using with Express, Using Socket.IO with Express–Using Socket.IO with Express

sockets, Servers, Streams, and Sockets

Soda module, Selenium Testing with Soda–Selenium Testing with Soda

sorted set, Building a Game Leaderboard

spawn method, child_process.spawn–child_process.spawn, child_process.spawn

SSH (secure shell), Joyent Development SmartMachines, Node, Git, and GitHub

SSL (Secure Sockets Layer), Setting Up TSL/SSL–Setting Up TSL/SSL

stack property, Sequential Functionality, Nested Callbacks, and Exception Handling

Standard IO (STDIO), Globals: global, process, and Buffer

start event, Writing That package.json File

start method, Custom REPL

startnum/endnum values, Properly Serving HTML5 Video with HTTP

stat command, Sequential Functionality, Nested Callbacks, and Exception Handling

static files, Building a Simple Static File Server from Scratch–Building a Simple Static File Server from Scratch, Routing to Static Files–Routing to Static Files

routing to, Routing to Static Files–Routing to Static Files

server for, Building a Simple Static File Server from Scratch–Building a Simple Static File Server from Scratch

static middleware module, connect.static–connect.static, The app.js File in More Detail, The app.js File in More Detail

static middleware option, connect.static, connect.static, connect.static

staticCache middleware module, A Closer Look at the Express/Connect Partnership

stats method, Sequential Functionality, Nested Callbacks, and Exception Handling, Sequential Functionality, Nested Callbacks, and Exception Handling, Async, Async, Async

stats middleware module, Adding a Stats Middleware to an Express Application–Adding a Stats Middleware to an Express Application

stderr stream, process, process, child_process.spawn, child_process.spawn, child_process.spawn, Error Handling

stdin stream, process, process, process, process, process, UDP/Datagram Socket, UDP/Datagram Socket, Streams, Pipes, and Readline, Streams, Pipes, and Readline, child_process.spawn, child_process.spawn, Events and EventEmitter

STDIO (Standard IO), Globals: global, process, and Buffer

stdout stream, process, process, process, process, Streams, Pipes, and Readline, child_process.spawn, child_process.spawn, child_process.spawn, child_process.spawn, connect.logger

step command, The Node.js Debugger, The Node.js Debugger

Step module, Step–Step

Strata framework, Testing the Express Application with cURL

stream interface, Streams, Pipes, and Readline–Streams, Pipes, and Readline

stream option, Custom REPL

strict equality operator, Node Style

strictEqual method, Unit Testing with Assert, Unit Testing with Assert, Unit Testing with Assert

stringEqual method, Unit Testing with Assert

strings, encodings for, Buffer

.styl files, Incorporating Stylus for Simplified CSS

style tag, Building a Game Leaderboard

Stylus, Incorporating Stylus for Simplified CSS–Incorporating Stylus for Simplified CSS, Incorporating Stylus for Simplified CSS

in template systems, Incorporating Stylus for Simplified CSS–Incorporating Stylus for Simplified CSS

no dynamic CSS views in, Incorporating Stylus for Simplified CSS

Subversion, Node, Git, and GitHub–Node, Git, and GitHub

success event, Using Query String or Chained Methods, Using Query String or Chained Methods

sudo command, Installing Node on Linux (Ubuntu), Installing Node on Linux (Ubuntu)

superConstructor argument, The Utilities Module and Object Inheritance

superuser privileges, Installing Node on Linux (Ubuntu)

syntax for EJS template system, Learning the Basic Syntax–Learning the Basic Syntax

T

tail command, Creating a Message Queue

TCP (Transmission Control Protocol), Buffer, WebSockets and Socket.IO

template systems, The Embedded JavaScript (EJS) Template System–Providing an Update Form and Processing a PUT Request, Learning the Basic Syntax–Learning the Basic Syntax, Using EJS with Node–Using EJS with Node, Using the EJS for Node Filters–Using the EJS for Node Filters, Using a Template System (EJS) with Express–Providing an Update Form and Processing a PUT Request, The Jade Template System–Converting the edit and deletion forms, Taking the Nickel Tour of the Jade Syntax–Taking the Nickel Tour of the Jade Syntax, Using block and extends to Modularize the View Templates–Converting the edit and deletion forms, Incorporating Stylus for Simplified CSS–Incorporating Stylus for Simplified CSS

EJS (embedded JavaScript) template system, The Embedded JavaScript (EJS) Template System–Providing an Update Form and Processing a PUT Request, Learning the Basic Syntax–Learning the Basic Syntax, Using EJS with Node–Using EJS with Node, Using the EJS for Node Filters–Using the EJS for Node Filters, Using a Template System (EJS) with Express–Providing an Update Form and Processing a PUT Request

filters for, Using the EJS for Node Filters–Using the EJS for Node Filters

for Node, Using EJS with Node–Using EJS with Node

syntax for, Learning the Basic Syntax–Learning the Basic Syntax

using with Express, Using a Template System (EJS) with Express–Providing an Update Form and Processing a PUT Request

Jade template system, The Jade Template System–Converting the edit and deletion forms, Taking the Nickel Tour of the Jade Syntax–Taking the Nickel Tour of the Jade Syntax, Using block and extends to Modularize the View Templates–Converting the edit and deletion forms

modularizing views in, Using block and extends to Modularize the View Templates–Converting the edit and deletion forms

syntax for, Taking the Nickel Tour of the Jade Syntax–Taking the Nickel Tour of the Jade Syntax

Stylus in, Incorporating Stylus for Simplified CSS–Incorporating Stylus for Simplified CSS

test event, Writing That package.json File

testing, Building a Simple Static File Server from Scratch, Unit Testing–Vows, Unit Testing with Assert–Unit Testing with Assert, Unit Testing with Nodeunit–Unit Testing with Nodeunit, Mocha–Mocha, Jasmine–Jasmine, Vows–Vows, Acceptance Testing–Emulating a Browser with Tobi and Zombie, Selenium Testing with Soda–Selenium Testing with Soda, Emulating a Browser with Tobi and Zombie–Emulating a Browser with Tobi and Zombie, Emulating a Browser with Tobi and Zombie–Emulating a Browser with Tobi and Zombie, Performance Testing: Benchmarks and Load Tests–Load Testing with Nodeload, Benchmark Testing with ApacheBench–Benchmark Testing with ApacheBench, Load Testing with Nodeload–Load Testing with Nodeload

acceptance testing, Acceptance Testing–Emulating a Browser with Tobi and Zombie, Selenium Testing with Soda–Selenium Testing with Soda, Emulating a Browser with Tobi and Zombie–Emulating a Browser with Tobi and Zombie, Emulating a Browser with Tobi and Zombie–Emulating a Browser with Tobi and Zombie

with Soda module, Selenium Testing with Soda–Selenium Testing with Soda

with Tobi module, Emulating a Browser with Tobi and Zombie–Emulating a Browser with Tobi and Zombie

with Zombie module, Emulating a Browser with Tobi and Zombie–Emulating a Browser with Tobi and Zombie

in all browsers, Building a Simple Static File Server from Scratch

performance testing, Performance Testing: Benchmarks and Load Tests–Load Testing with Nodeload, Benchmark Testing with ApacheBench–Benchmark Testing with ApacheBench, Load Testing with Nodeload–Load Testing with Nodeload

benchmark testing with ApacheBench module, Benchmark Testing with ApacheBench–Benchmark Testing with ApacheBench

load testing with Nodeload module, Load Testing with Nodeload–Load Testing with Nodeload

unit testing, Unit Testing–Vows, Unit Testing with Assert–Unit Testing with Assert, Unit Testing with Nodeunit–Unit Testing with Nodeunit, Mocha–Mocha, Jasmine–Jasmine, Vows–Vows

with Assert module, Unit Testing with Assert–Unit Testing with Assert

with Jasmine framework, Jasmine–Jasmine

with Mocha framework, Mocha–Mocha

with Nodeunit module, Unit Testing with Nodeunit–Unit Testing with Nodeunit

with Vows framework, Vows–Vows

text/html content type, Building a Simple Static File Server from Scratch

third-party authentication/authorization, Authentication/Authorization with Passport

this context keyword, The Utilities Module and Object Inheritance, The Utilities Module and Object Inheritance, Step, Step, Step, Step, Step

time-consuming operations, Reading a File Asynchronously

timer functions, The Timers: setTimeout, clearTimeout, setInterval, and clearInterval–The Timers: setTimeout, clearTimeout, setInterval, and clearInterval

TLS (Transport Layer Security), Servers, Streams, and Sockets, Creating a PDF uploader and dealing with graphics lag time, Setting Up TSL/SSL–Setting Up TSL/SSL

Tobi module, Emulating a Browser with Tobi and Zombie–Emulating a Browser with Tobi and Zombie

token parameter, The Twitter Passport Strategy (OAuth), The Twitter Passport Strategy (OAuth), The Twitter Passport Strategy (OAuth)

tokenSecret parameter, The Twitter Passport Strategy (OAuth), The Twitter Passport Strategy (OAuth), The Twitter Passport Strategy (OAuth)

toString method, UDP/Datagram Socket

Tower.js framework, Testing the Express Application with cURL

transactions support, MySQL Transactions with mysql-queues–MySQL Transactions with mysql-queues

Transmission Control Protocol (TCP), Node.js: Up and Running (see TCP (Transmission Control Protocol))

Transport Layer Security (TLS), Node.js: Up and Running (see TLS (Transport Layer Security))

transports option, Configuring Socket.IO

Triple-DES encryption, Setting Up TSL/SSL

trusted authorities, Setting Up TSL/SSL

try blocks, Sequential Functionality, Nested Callbacks, and Exception Handling

Twitter, The Twitter Passport Strategy (OAuth)

type parameter, Routers

U

Ubuntu, Installing Node on Linux (Ubuntu)–Installing Node on Linux (Ubuntu)

UDP (User Datagram Protocol), Servers, Streams, and Sockets, UDP/Datagram Socket–UDP/Datagram Socket

Uglify-js module, Finding Modules

Underscore module, Finding Modules, Underscore–Underscore

unidirectional, WebSockets

unit testing, Unit Testing–Vows, Unit Testing with Assert–Unit Testing with Assert, Unit Testing with Nodeunit–Unit Testing with Nodeunit, Mocha–Mocha, Jasmine–Jasmine, Vows–Vows

with Assert module, Unit Testing with Assert–Unit Testing with Assert

with Jasmine framework, Jasmine–Jasmine

with Mocha framework, Mocha–Mocha

with Nodeunit module, Unit Testing with Nodeunit–Unit Testing with Nodeunit

with Vows framework, Vows–Vows

update event, Writing That package.json File

update method, Using Updates, Upserts, and Find and Remove–Using Updates, Upserts, and Find and Remove, Updating the Database with Direct Queries, Updating the Database with Chained Methods, Updating the Database with Chained Methods, Updating the Database with Chained Methods, Updating the Database with Chained Methods, MySQL Transactions with mysql-queues

update modifiers for MongoDB, Using Updates, Upserts, and Find and Remove–Using Updates, Upserts, and Find and Remove

upload files page, Creating a PDF uploader and dealing with graphics lag time–Creating a PDF uploader and dealing with graphics lag time

uppercase, use of, Node Style

upserts, Using Updates, Upserts, and Find and Remove, Using Updates, Upserts, and Find and Remove, Using Updates, Upserts, and Find and Remove

defined, Using Updates, Upserts, and Find and Remove

parameter, Using Updates, Upserts, and Find and Remove, Using Updates, Upserts, and Find and Remove

URL module, Domain Resolution and URL Processing

url property, Building a Simple Static File Server from Scratch

use method, Connect Basics, Connect Basics

useGlobal flag, global

User Datagram Protocol (UDP), Node.js: Up and Running (see UDP (User Datagram Protocol))

Utilities module, Custom REPL, The Utilities Module and Object Inheritance–The Utilities Module and Object Inheritance

V

  • v option, Keeping Your Application Alive with Forever

var keyword, Taking a Closer Look at Asynchronous Program Flow, Taking a Closer Look at Asynchronous Program Flow, Taking a Closer Look at Asynchronous Program Flow, Benefits of Node, Benefits of Node, REPL: First Looks and Undefined Expressions, Multiline and More Complex JavaScript, Multiline and More Complex JavaScript, Node Style, Node Style, Node Style

verify method, Safely Storing Passwords

version method, process

video element, Building a Simple Static File Server from Scratch, Properly Serving HTML5 Video with HTTP–Properly Serving HTML5 Video with HTTP

virtual private network (VPN), Amazon EC2

VOIP (Voice over Internet Protocol), UDP/Datagram Socket

Vows framework, Vows–Vows

VPN (virtual private network), Amazon EC2

W

W3C (World Wide Web Consortium), WebSockets

waterfall method, Asynchronous Patterns and Control Flow Modules, Async, Async, Async, Async, Async, Building a Game Leaderboard, Building a Game Leaderboard

WebDriver, Selenium Testing with Soda

WebGL, Graphics and HTML5 Video

WebSockets protocol, WebSockets–WebSockets, WebSockets, An Introduction to Socket.IO–About That Client Code, A Simple Communication Example–A Simple Communication Example, WebSockets in an Asynchronous World–WebSockets in an Asynchronous World, About That Client Code–About That Client Code, Chat: The WebSockets “Hello, World”–Chat: The WebSockets “Hello, World”

and Socket.IO, An Introduction to Socket.IO–About That Client Code

browser support for, WebSockets

client side requirements, About That Client Code–About That Client Code

Hello, World example, Chat: The WebSockets “Hello, World”–Chat: The WebSockets “Hello, World”

in asynchronous application, WebSockets in an Asynchronous World–WebSockets in an Asynchronous World

simple example using, A Simple Communication Example–A Simple Communication Example

where method, Updating the Database with Chained Methods

Widget Factory, The Twitter Passport Strategy (OAuth)

Windows 7, Partnering Node with WebMatrix on Windows 7–Partnering Node with WebMatrix on Windows 7, Running a Child Process Application in Windows–Running a Child Process Application in Windows

child processes in, Running a Child Process Application in Windows–Running a Child Process Application in Windows

installing development environment on, Partnering Node with WebMatrix on Windows 7–Partnering Node with WebMatrix on Windows 7

Windows Azure, Deploying to Windows Azure via Cloud9 IDE–Deploying to Windows Azure via Cloud9 IDE

wkhtmltopdf utility, Taking page snapshots with wkhtmltopdf–Taking page snapshots with wkhtmltopdf

worker MPM (prefork multiprocessing model), Asynchronous Functions and the Node Event Loop

World Wide Web Consortium (W3C), WebSockets

write method, Buffer, TCP Sockets and Servers, Routing, Routing Path

writeFile method, Step, Step, Async, Async, Async

writeHead method, Hello, World from the Top, Hello, World from the Top

Z

zero-sized chunk, HTTP

Zombie module, Emulating a Browser with Tobi and Zombie–Emulating a Browser with Tobi and Zombie

zrange method, Building a Game Leaderboard

About the Author

Shelley Powers has been working with, and writing about, web technologies--from the first release of JavaScript to the latest graphics and design tools--for more than 12 years. Her recent O'Reilly books have covered the semantic web, Ajax, JavaScript, and web graphics. She's an avid amateur photographer and web development aficionado, who enjoys applying her latest experiments on her many web sites.

Colophon

The animal on the cover of Learning Node is a hamster rat (Beamys). There are two species of hamster rats: the greater hamster rat (Beamys major) and the lesser hamster rat (Beamys hindei).

The hamster rat inhabits the African forests from Kenya to Tanzania. This large rodent prefers to make its home in moist environments: along riverbanks and in thickly-forested areas. It thrives in coastal or mountainous regions, although deforestation threatens its natural habitat. Hamster rats live in multichambered burrows and are excellent climbers.

This rodent has a very distinct appearance: it can be 7 to 12 inches long and weigh up to a third of a pound. It has a short head and gray fur overall, with a white belly and a mottled black and white tail. The hamster rat, like other rodents, has a variable diet; it possesses cheek pouches for food storage.

The cover image is from Shaw’s Zoology. The cover font is Adobe ITC Garamond. The text font is Linotype Birka; the heading font is Adobe Myriad Condensed; and the code font is LucasFont’s TheSansMonoCondensed.

Learning Node

Shelley Powers

Editor

Simon St. Laurent

Revision History
2012-08-24 First release

Copyright © 2012 Shelley Powers

O’Reilly books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles (http://my.safaribooksonline.com). For more information, contact our corporate/institutional sales department: 800-998-9938 or corporate@oreilly.com.

Nutshell Handbook, the Nutshell Handbook logo, and the O’Reilly logo are registered trademarks of O’Reilly Media, Inc. Learning Node, the image of a hamster rat, and related trade dress are trademarks of O’Reilly Media, Inc.

Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and O’Reilly Media, Inc., was aware of a trademark claim, the designations have been printed in caps or initial caps.

While every precaution has been taken in the preparation of this book, the publisher and authors assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein.

O’Reilly Media

1005 Gravenstein Highway North

Sebastopol, CA 95472

2012-09-10T11:59:09-07:00