Index

A

-a (all) flag, Initializing a Git repository
Access tokens, Getting Your Twitter Credentials
accessibility issues, Structuring the Main Content
Active Record, Model-View-Controller
Add Your Comment prompt, The Structure
AJAX (Asynchronous JavaScript And XML)
AJAX requests on page loading, AJAXifying Our Tabs
basic example of, Accessing an External JSON File
benefits of, AJAX
overview of, Summary
alt attribute, Structuring the Main Content
Amazeriffic app example
adding interactivity to
creating tabbed interface, Adding Interactivity to Amazeriffic
manipulating content, Manipulating content
refactoring code, Refactoring the code using a function
retrieving project, Getting Started
structure/style for, The Structure and Style
tab content set up, Setting up the tab content
tab functionality, The Interactivity
adding tags feature to
adding a tags tab, Adding a Tags Tab
adding tags to new elements, Tags as Part of Our Input
building the UI, Building the UI
intermediate tags data structure, Creating an Intermediate Tags Data Structure
mapping functions to elements, The map Function
retrieving project, Adding a Tags Feature to Amazeriffic
adding user admin page, Adding a User Admin Page
adding users to
building user controller, Building the User Controller
building user model, Adding Users to Amazeriffic
improving controller actions, Improving Our ToDo Controller Actions
setting up routes, Setting Up Routes
creating a server for
building the server, Building the Server
directories set up, Creating a Server for Amazeriffic
Git repository initialization, Initializing a Git Repository
posting information to the server, Posting Information to the Server
running the server, Running the Server
creating splash page
identifying structure, Identifying Structure
implementing structure, Implementing the Structure with Our Workflow
structuring footer, Structuring the Footer
structuring main content, Structuring the Main Content
visualizing structure tree diagram, Visualizing Structure with a Tree
data storage for, Storing Amazeriffic ToDos
Frequently Asked Questions (FAQ) page
creating, Build the FAQ Page for Amazeriffic
styling, Style the FAQ Page for Amazeriffic
refactoring client code
AJAX requests on page loading, AJAXifying Our Tabs
generalizing meaningful concepts, Refactoring Our Client
handling AJAX errors, Handling AJAX Errors
removing compatibility hack, Ridding Ourselves of Hacks
refactoring server code
code organization, Refactoring Our Server
HTTP response codes, HTTP Response Codes
HTTP/CRUD/Controller mappings, HTTP Verbs, CRUD, and REST
model-view-controller design, Model-View-Controller
put/delete requests, Using jQuery for put and delete Requests
setting up routes by ID, Setting Up Routes by ID
removing ToDos from, Removing ToDos
styling splash page
adding/manipulating fonts, Adding and Manipulating Fonts
adjusting spacing, A Few More Modifications
creating columns, Creating the Columns
grid over content, The Grid
reset.css file creation, Styling Amazeriffic
retrieving project, Styling Amazeriffic
style.css file creation, Styling Amazeriffic
anchor (<a>) tag, Headings and Anchors and Lists, Oh My!
and (&&) operator, Selection
annotations
for CSS code, Comments
for HTML code, Comments
for JavaScript code, Comments
anonymous functions, Functions
app.js element, Hello, JavaScript!
appending vs. prepending elements, Adding elements to the DOM
application programming interfaces (APIs), Summary, Other APIs
arguments, Functions
arrays
adding elements to, Arrays
creating, Arrays
creating one long, Representing Playing Cards
dynamic sizing of, Arrays
forEach loops, Arrays
indexing into, Arrays
JSON arrays, A JSON Array
populating with objects, Representing Playing Cards
practice exercises using, Array Practice
setting individual elements, Arrays
assignment (=) statement, Selection, Using JSLint to Identify Potential Problems
asynchronous programming, Events and Asynchronicity

B

binding, Summary
block-style elements, Padding, Border, and Margin
border-radius value, The Style
borders, Padding, Border, and Margin
bullets, Headings and Anchors and Lists, Oh My!
button (<button>) tag, The Structure

C

caching, Redis
callbacks, Events and Asynchronicity, Generalizations
camelCase, Making the Enter key work as expected
cascading rules, Cascading Rules
Cascading Style Sheets (CSS)
basic example, Hello, CSS!
benefits of, Hello, CSS!
creating file for, Hello, CSS!
detailed rules for, Cascading Rules
fonts, Working with Fonts
function of, Hello, CSS!
further practice/reading, More Practice and Further Reading
identifying potential problems, Using CSS Lint to Identify Potential Problems
layouts with floats, Layouts with FloatsThe clear Property
overview of, Summary
padding, border and margin properties, Padding, Border, and Margin
resetting browser inconsistencies, Resetting Browser Inconsistencies
responsive design, The Grid, Responsiveness and Responsive Libraries
rulesets, Rulesets
selectors, Selectors
specifying colors in, Rulesets
troubleshooting, Interacting and Troubleshooting with the Chrome Developer Tools
cd (change directory) command, Changing directories
cf tool, Getting Your App Ready for Deployment
chaining, Dynamically manipulating the DOM
child elements, The Document Object Model and Trees
Chrome
Chrome Developer Tools, Interacting and Troubleshooting with the Chrome Developer Tools, Handling click events, Dynamically manipulating the DOM
Command/Ctrl-O (file open), Tags Versus Content
Command/Ctrl-R (refresh page), <p> Is for Paragraph
installation of, Installing Chrome
interaction with JSON objects in, JSON
JavaScript interpreter, Interacting with JavaScript in the Chrome JavaScript Console
overcoming security restrictions in, Overcoming Browser Security Restrictions
clear property, The clear Property
click events, Handling click events, The Interactivity
client-side technologies
client vs. server programs, Clients and Servers
CSS, Hello, CSS!Interacting and Troubleshooting with the Chrome Developer Tools
data from Twitter/Facebook/Flickr, Communication Between ComputersGetting Images from Flickr, Counting TweetsSetting Up a Client
HTML, Hello, HTML!Using HTML Validation to Identify Problems
JavaScript, The InteractivityRefactoring for simplicity, JavaScript GeneralizationsUsing JSLint to Identify Potential Problems, Hello, JavaScript Objects!Generalizations
jQuery, jQuery GeneralizationsEvents and Asynchronicity
Node.js, The ServerSetting Up a Client
skeleton client set up, Setting Up a Client
vs. server-side technologies, The Bridge
cloud computing, The Platform, Other Platforms
Cloud Foundry
account creation, Creating an Account
additional reading/practice, Cloud Foundry, Poker API
app deletion, Deleting Apps from Cloud Foundry
app deployment, Deploying Our App
app updates, Updating Your App
connecting to external dependencies, Dependencies and package.json
overview of, Summary
preparing for deployment, Getting Your App Ready for Deployment
status logs, Getting Information About Your Apps
using MongoDB with, Binding MongoDB to Your App
using Redis with, Binding Redis to Your App
code organization
controllers, Separating concerns: controllers
models, Code Organization
collections, MongoDB, Interacting with the MongoDB Command-Line Client
colorbox plug-in, jQuery Plug-ins
colors, specifying with CSS, Rulesets, The Style
columns, Layouts with Floats
Command/Ctrl-O (file open), Tags Versus Content
Command/Ctrl-R (refresh page), <p> Is for Paragraph
Command/Ctrl-Tab (switch active window), Generalizations
comment-input sections, The Structure, Clearing out the input box
comments
for CSS code, Comments
for HTML code, Comments
for JavaScript code, Comments
comparison (===) statement, Selection, Using JSLint to Identify Potential Problems
computer networking
applications involved, Practicalities
client vs. server programs, Clients and Servers
hosts and guests, Hosts and Guests
conditions, building complex, Selection
console global variable, Using JSLint to Identify Potential Problems
Consumer key/Consumer secret, Getting Your Twitter Credentials
Contact information, Structuring the Footer
Content Delivery Networks, Hello, JavaScript!
continuation condition, Iteration
core path module, Sending Your Client App
credentials
obtaining, Getting Your Twitter Credentials
safe storage of, Getting Your Twitter Credentials
cross-site scripting security, Overcoming Browser Security Restrictions
CRUD/HTTP/Controller mappings, HTTP Verbs, CRUD, and REST
CSS Lint, Using CSS Lint to Identify Potential Problems
CSS resets, Resetting Browser Inconsistencies

D

data modeling, Modeling Data with Mongoose
databases
additional reading/practice, Other Database References
benefits of, The Data Store
MongoDB, MongoDBStoring Amazeriffic ToDos
NoSQL vs. SQL, NoSQL Versus SQL
overview of, Summary
Redis, RedisUsing mget to Get Multiple Values
descendants, The Document Object Model and Trees, Inheritance
development environment, building with Vagrant, Setting Up Your Environment
development workflow
applications involved, Practicalities
basic pattern for app building, Generalizations
further practice/reading, MemorizationGitHub
HTML documents, Generalizations
jQuery project setup, Setting Up a Project
overview of, Summary
text editors, Text EditorsSublime Text Basics
version control systems, Version ControlSaving versus committing
virtual machines and, Hosts and Guests
web browsers, Browsers
directories
basics of, Unix Command-Line Basics
changing, Changing directories
creating, Creating directories
cross-platform directory paths, Sending Your Client App
current vs. parent, Initializing a Git repository
determining working directory, Where am I?
displaying hidden files in, Initializing a Git repository
listing contents of current, Where am I?
moving back one, Changing directories
visualizing with tree diagrams, Filesystems and trees
Document Object Model (DOM)
adding elements to, DOM Manipulation
basics of, The Document Object Model and Trees
removing elements from, Removing elements from the DOM
dot (.) operator, Generalizations
double-click (dblclick) event, Events and Asynchronicity
DRY (Don’t Repeat Yourself) principle, Refactoring for simplicity
duplicated code, removing, Refactoring for simplicity, Generalizing Our Tweet Counter Code

E

EJS (EmbeddedJS), Views Using EJS and Jade
elements
adding class attributes to, Classes
adding to the DOM, DOM Manipulation
block-style, Padding, Border, and Margin
child elements, The Document Object Model and Trees
definition of, The Document Object Model and Trees
dynamic manipulation of, Dynamically manipulating the DOM
first-child elements, More Complex Selectors
inline display of, Padding, Border, and Margin
parent elements, The Document Object Model and Trees
prepending vs. appending, Adding elements to the DOM
removing from the DOM, Removing elements from the DOM
styling with pseudoclasses, Pseudoclasses
stylistic elements, Identifying Structure
void elements, Structuring the Main Content
else statements, Selection
Emacs text editor, Emacs and Vim
Enter key action, Making the Enter key work as expected
Enter vs. Shift-Enter keys, Interacting with JavaScript in the Chrome JavaScript Console
environment variable, Getting Your App Ready for Deployment
errors
during Express module installation, Installing Express with NPM
HTTP response codes, HTTP Response Codes
identifying pre-install, Setting up a test bed
identifying with Chrome Developer Tools, Interacting and Troubleshooting with the Chrome Developer Tools, Dynamically manipulating the DOM
identifying with CSS Lint, Using CSS Lint to Identify Potential Problems
identifying with HTML validation, Using HTML Validation to Identify Problems
identifying with JSHint, JSHint and CSS Lint via NPM
identifying with JSLint, Using JSLint to Identify Potential Problems
invalid ID, Setting Up Routes by ID
null value, Generalizations
even value, The Style
event listeners, Handling click events, Making the Enter key work as expected
event-driven programming, Events and Asynchronicity
exploratory coding, Version Control
Express module
API creation with, Poker API
converting JSON into JavaScript object, Posting Information to the Server
Express server creation, Our First Express Server
importing into, Importing Our Module Into Express
installation of, Installing Express with NPM
overview of, Summary
sending information, Sending Your Client App
specifying in Cloud Foundry, Dependencies and package.json

F

fadeIn method, Fading in our new comment
fadeOut method, Removing elements from the DOM
falsy values, Initializing the Counts from the Redis Store
files
accessing external JSON, Accessing an External JSON File
app.js file, Hello, JavaScript!
associating external, Hello, JavaScript!
creating new, Determining the status of our repository, Implementing the Structure with Our Workflow
defining JSON objects in external, JSON
displaying hidden, Initializing a Git repository
leaving out of GIT repository, Getting Your Twitter Credentials
loading time required, Hello, JavaScript!
overcoming access restriction, Overcoming Browser Security Restrictions
saving vs. committing, Saving versus committing
style.css file, Hello, CSS!
transferring between computers, Clients and Servers
filesystem
filename requirements, Sublime Text Basics, Sending Your Client App, Deploying Our App
tree diagram mental model, Filesystems and trees
Unix commands for, Unix Command-Line Basics, Summary
find function, Models
first-child elements, More Complex Selectors
first-class functions, Functions
500 response code, HTTP Response Codes
fixed-width design, The Grid
FizzBuzz problem, FizzBuzz
Flickr
getting images from, Getting Images from Flickr
slideshow, Flickr Slideshow
float property, Layouts with FloatsThe clear Property
fonts, Working with Fonts
footer (<footer>) tag, Implementing the Structure with Our Workflow
for loops, Iteration
forEach loops, Arrays
404 error code, HTTP Response Codes
Frequently Asked Questions (FAQ) page, Build the FAQ Page for Amazeriffic
FTP (File Transfer Protocol), Clients and Servers
function calls, chaining of, Dynamically manipulating the DOM
functions
attached to jQuery objects, Generalizations
first class, Functions
inputs/outputs, Functions
scheduling of, Events and Asynchronicity, Using the setInterval function to schedule tasks
testing pre-install, Setting up a test bed

G

get command, Interacting with the Redis Command-Line Client, Initializing the Counts from the Redis Store
getJSON function, The getJSON Function
Git
-m (message) flag, Our first commits!
branching, More About Git
commands, Summary
configuring, Configuring Git for the first time
git add command, Our first commits!
Git Bash terminal simulator, Unix Command-Line Basics
git commit command, Our first commits!
git log command, Viewing the history of our repo
git status command, Determining the status of our repository
GitHub, GitHub
in development process, Practicalities
installation of, Installing Git
leaving files out of respository, Getting Your Twitter Credentials
parent vs. child commits, Saving versus committing
repository history, Viewing the history of our repo
repository initialization, Initializing a Git repository
repository status, Determining the status of our repository
saving vs. committing, Saving versus committing
Unix command-line basics, Unix Command-Line Basics
global functions
console global function, Using JSLint to Identify Potential Problems
main global function, Hello, JavaScript!
parseInt global function, Initializing the Counts from the Redis Store
Google Chrome (see Chrome)
Google Fonts, Working with Fonts
Google’s Gmail web app, AJAX
Graphical User Interface (GUI) editors, Text Editors
grid-type layout, Layouts with Floats, The Grid
guest machines, Hosts and Guests

H

header (<header>) tag, Implementing the Structure with Our Workflow
heading (<h1>) tag, Headings and Anchors and Lists, Oh My!
Heroku, Other Platforms
hide method, Fading in our new comment
hierarchical systems
Document Object Model, The Document Object Model and Trees
DOM tree diagram mental models, The Document Object Model and Trees
HTML tags, Generalizations
tree diagram mental models, Filesystems and trees
host machines, Hosts and Guests
hover pseudoclass, Pseudoclasses, A better clicking experience
href attribute, Headings and Anchors and Lists, Oh My!
HTML (HyperText Markup Language)
anchor (<a>) tag, Headings and Anchors and Lists, Oh My!
annotating code, Comments
button (<button>) tag, The Structure
DOM hierarchical structure, The Document Object Model and Trees
footer (<footer>) tag, Implementing the Structure with Our Workflow
further practice/reading, More Practice and Further Reading
header (<header>) tag, Implementing the Structure with Our Workflow
heading (<h1>) tag, Headings and Anchors and Lists, Oh My!
href attribute, Headings and Anchors and Lists, Oh My!
image (<img>) tag, Structuring the Main Content, Getting Images from Flickr
indentation as a visual cue, Generalizations
input (<input>) tag, The Structure
link (<link>) tag, Hello, CSS!, Hello, JavaScript!
list items (<li>) tag, Headings and Anchors and Lists, Oh My!
list of tags, Summary
main (<main>) tag, Implementing the Structure with Our Workflow
navigation (<nav>) tag, Implementing the Structure with Our Workflow
normal text in, Generalizations
ordered lists (<ol>) tag, Headings and Anchors and Lists, Oh My!
overview, Summary
paragraph (<p>) tag, <p> Is for Paragraph
script (<script>) tag, Hello, JavaScript!
span (<span>) tag, The Document Object Model and Trees
specifying visual element structure with, Hello, HTML!
tags vs. content in, Tags Versus Content
unordered lists (<ul>) tag, Headings and Anchors and Lists, Oh My!
validation programs, Using HTML Validation to Identify Problems
void elements, Structuring the Main Content
HTML5 conformance checker, Using HTML Validation to Identify Problems
HTTP (Hypertext Transfer Protocol)
basics of, Clients and Servers, Hello, HTTP!
HTTP/CRUD/Controller mappings, HTTP Verbs, CRUD, and REST
posting data to the server, Posting Information to the Server
response codes, HTTP Response Codes
human-readable code (see comments)
hypertext, Headings and Anchors and Lists, Oh My!

I

if statements, Squashing a bug, Selection
if-else-if pattern, Selection
images
image (<img>) tag, Structuring the Main Content, Getting Images from Flickr
retrieving from Flickr, Getting Images from Flickr
slideshows, Flickr Slideshow
images subdirectory, Setting Up a Project, Poker API
in-memory data stores, Redis
incr command, Interacting with the Redis Command-Line Client, Interacting with Redis in Our Code
indexOf function, My solution, Using the indexOf function to find words
inheritance, Inheritance
initialization statement, Iteration
inline elements, Padding, Border, and Margin
input (<input>) tag, The Structure
Integrated Development Environments (IDEs), Text Editors
interactive apps
basic structure for, The Structure
click events, Handling click events
creating skeleton structure for, Our First Interactive App
dynamic DOM manipulation, Dynamically manipulating the DOM
Enter key action, Making the Enter key work as expected
fade-in feature, Fading in our new comment
hover display, A better clicking experience
if statements, Squashing a bug
input boxes, The Structure, Clearing out the input box
refactoring, Fading in our new comment
style for, The Style
is function, Manipulating content
iteration, Iteration

J

Jade, Views Using EJS and Jade
JavaScript
arrays in, Arrays, Array Practice
basic example, Hello, JavaScript!
Chrome Javascript console, Interacting with JavaScript in the Chrome JavaScript Console
converting strings into objects in, JSON
disabling problematic aspects of, Hello, JavaScript!
functions in, Functions
identifying potential problems in, Using JSLint to Identify Potential Problems, JSHint and CSS Lint via NPM
iteration in, Iteration
main global function, Hello, JavaScript!
objects, Hello, JavaScript Objects!Generalizations, Posting Information to the Server
overview of, Summary, Summary
reference books for programmers, Other JavaScript References
scoping rules in, A JSON Array
script (<script>) tags, Hello, JavaScript!
selection in, Selection
variables and types in, Variables and Types
javascripts subdirectory, Setting Up a Project
jQuery
asynchronous programming in, Events and Asynchronicity
basic offerings in, jQuery Generalizations
chaining feature in, Dynamically manipulating the DOM
comment types, Comments
creating interactive apps with, Our First Interactive AppRefactoring for simplicity
DOM manipulation, DOM Manipulation
empty function, Removing elements from the DOM
external storage of, Hello, JavaScript!
fade-in feature in, Fading in our new comment
further practice/reading, jQuery Plug-ins
getJSON function, The getJSON Function
is function, Manipulating content
overview of, Summary
parent function, Manipulating content
plug-ins for, jQuery Plug-ins
project set up in, Setting Up a Project
put/delete requests with, Using jQuery for put and delete Requests
selectors, Selectors, jQuery Selectors
JSHint, JSHint and CSS Lint via NPM
JSLint, Using JSLint to Identify Potential Problems
JSON (JavaScript Object Notation)
accessing objects in external files, Accessing an External JSON File
arrays in, A JSON Array
benefits of, So What?
converting to JavaScript objects, Posting Information to the Server
creating objects in external files, JSON
creating objects in internal files, JSON
further practice/reading, Object Practice
getJSON function, The getJSON Function
overview of, Summary
single vs. double quotes in, JSON
JSONP (JSON-with-padding), Other APIs

K

key-value storage format, Redis
keyboard shortcuts
Command/Ctrl-O (file open), Tags Versus Content
Command/Ctrl-R (refresh page), <p> Is for Paragraph
Command/Ctrl-Tab (switch active window), Generalizations
keyCodes, Making the Enter key work as expected
keypress events, Making the Enter key work as expected

L

left alignment, Layouts with Floats
light bulb image, Structuring the Main Content
links
changing color of, Pseudoclasses
changing color of visited, Pseudoclasses
hover display, Pseudoclasses, A better clicking experience
link (<link>) tag, Hello, CSS!, Hello, JavaScript!
navigation tag for, Implementing the Structure with Our Workflow
temporary placeholder for, Implementing the Structure with Our Workflow
Linux
built-in SSH client, Connecting to Your Virtual Machine with SSH
Git installation, Installing Git
global package installation in, JSHint and CSS Lint via NPM
Terminal program, Unix Command-Line Basics
lists
adding bullets to, Headings and Anchors and Lists, Oh My!
list items (<li>) tag, Headings and Anchors and Lists, Oh My!
logs, Getting Information About Your Apps
loop body, Iteration
looping structure, Iteration
lorem ipsum text, <p> Is for Paragraph
ls (list the contents of the current directory) command, Where am I?
ls (List the Contents of the Current Directory) command, Initializing a Git repository

M

-m (message) flag, Our first commits!
Mac OS
file access in Chrome, Overcoming Browser Security Restrictions
MacOS
built-in SSH client, Connecting to Your Virtual Machine with SSH
Git installation, Installing Git
global package installation in, JSHint and CSS Lint via NPM
Terminal program, Unix Command-Line Basics
main (<main>) tag, Implementing the Structure with Our Workflow
main global function, Hello, JavaScript!
maintainable web applications, Summary
map data structures, Generalizing Our Tweet Counter Code, NoSQL Versus SQL
map function, The map Function
margins, Padding, Border, and Margin
markup validation, Using HTML Validation to Identify Problems
(see also errors)
max-width property, The Grid
media queries, Responsiveness and Responsive Libraries
memorization
tasks for development workflow, Memorization
tasks for JavaScript/jQuery, Memorization
tasks for splash page creation, Memorization
tasks for splash page styling, Memorization
mental models
client-server model, Clients and Servers
DOM tree diagrams, The Document Object Model and Trees
filesystem tree diagrams, Filesystems and trees
hosts and guests, Hosts and Guests
HTML tree diagrams, Tree Diagrams
metadata, Tags Versus Content
mget function, Using mget to Get Multiple Values
Microsoft’s Windows Azure, Other Platforms
min-width (minimum-width) property, The Grid
mkdir (make directory) command, Creating directories
Model-View-Controller design pattern, Refactoring Our Server, Model-View-Controller, Summary
modules, Modules and Express, Modularizing Our Tweet Counter
MongoDB
accessing databases in, Interacting with the MongoDB Command-Line Client
additional reading/practice, Interacting with the MongoDB Command-Line Client
benefits of, MongoDB
command-line interaction, Interacting with the MongoDB Command-Line Client
JSON storage format of, MongoDB
modeling data with Mongoose, Modeling Data with Mongoose, Summary
overview of, Summary
removing elements from collections in, Interacting with the MongoDB Command-Line Client
retrieving documents in, Interacting with the MongoDB Command-Line Client
saving multiple documents, Interacting with the MongoDB Command-Line Client
saving objects to collections in, Interacting with the MongoDB Command-Line Client
storage organization in, Interacting with the MongoDB Command-Line Client
switching databases in, Interacting with the MongoDB Command-Line Client
using with Cloud Foundry, Binding MongoDB to Your App

N

NaN (Not a Number) value, Initializing the Counts from the Redis Store
navigation (<nav>) tag, Implementing the Structure with Our Workflow
Node.js
benefits of, Modules and Express
communicating with Redis, Installing the Redis Module via a package.json File
development environment for, Setting Up Your EnvironmentHello, Node.js!
Express module, Modules and ExpressGeneralizations
further practice/reading, Installing Node.js Locally
http module, Modules and Express
NPM (Node Package Manager), Modules and Express, Summary, Installing the Redis Module via a package.json File
overview of, Summary
socket.io module, AJAXifying Our Tabs
Nodejitsu, Other Platforms
nonrelational database format, NoSQL Versus SQL
NoSQL data stores, NoSQL Versus SQL
not (!) operator, Selection
nth-child pseudoclass, The Style
null value, Generalizations
numeric bullets, Headings and Anchors and Lists, Oh My!

O

object-oriented programming, Hello, JavaScript Objects!, Summary
objects
adding variables to, Generalizations
benefits of, Generalizations
changing variables in, Representing Playing Cards
creation of, Representing Playing Cards
empty objects, Representing Playing Cards, Generalizations
further practice/reading, Object Practice
JSON arrays of, A JSON Array
null value for, Generalizations
object literals, Generalizations, JSON
placeholders for, Generalizations
representing documents as, Modeling Data with Mongoose
with functions attached, Generalizations
odd value, The Style
on pattern processing, Events and Asynchronicity
or (||) operator, Selection, Initializing the Counts from the Redis Store
ordered lists (<ol>) tag, Headings and Anchors and Lists, Oh My!
out-of-scope variables, A JSON Array
overflow property, Layouts with Floats

P

padding, Padding, Border, and Margin, Layouts with Floats
page layout
border property, Padding, Border, and Margin
creating complicated, Layouts with Floats
fonts, Working with Fonts
margin property, Padding, Border, and Margin
padding property, Padding, Border, and Margin
responsive design, The Grid, Responsiveness and Responsive Libraries
sidebars, Layouts with Floats
two-column grids, Layouts with Floats
paragraph (<p>) tag, <p> Is for Paragraph
parameters, Functions
parent elements, The Document Object Model and Trees
parent function, Manipulating content
parseInt global function, Initializing the Counts from the Redis Store
path module, Sending Your Client App
photo gallery, jQuery Plug-ins
photo-sharing services (see Flickr)
Platforms-as-a-Service (PaaS), The Platform, Summary
plug-ins, jQuery Plug-ins
plus character, The Structure
Poker API
creating, Representing Playing Cards, Poker API
data storage for, Poker API
deploying on Cloud Foundry, Poker API
hands in, Object Practice
posting, Posting Information to the Server
prepending vs. appending elements, Adding elements to the DOM
process.env variable, Binding Redis to Your App
Project Euler, Project Euler
properties, Rulesets, Inheritance
pseudoclasses, Pseudoclasses, The Style
push function, Arrays
push subcommand, Deploying Our App
PuTTY SSH client, Connecting to Your Virtual Machine with SSH
pwd (print working directory) command, Where am I?

R

radix parameter, Initializing the Counts from the Redis Store
real-time updates, AJAXifying Our Tabs
Redis
additional reading/practice, Interacting with the Redis Command-Line Client
clearing data store, Interacting with Redis in Our Code
command-line client interaction, Interacting with the Redis Command-Line Client
handling asynchronous get function, Initializing the Counts from the Redis Store
installing, Installing the Redis Module via a package.json File
interacting with via code, Interacting with Redis in Our Code
key-value format of, Redis
obtaining multiple values, Using mget to Get Multiple Values
overview of, Summary
using with Cloud Foundry, Binding Redis to Your App
redundancy, in data storage, NoSQL Versus SQL
refactoring, Dynamically manipulating the DOM, Fading in our new comment, Refactoring the code using a function
refactoring client code
AJAX requests on page loading, AJAXifying Our Tabs
generalizing meaningful concepts, Refactoring Our Client
handling AJAX errors, Handling AJAX Errors
removing compatibility hack, Ridding Ourselves of Hacks
refactoring server code
code organization, Refactoring Our Server
HTTP response codes, HTTP Response Codes
HTTP/CRUD/Controller mappings, HTTP Verbs, CRUD, and REST
model-view-controller design, Model-View-Controller
put/delete requests, Using jQuery for put and delete Requests
setting up routes by ID, Setting Up Routes by ID
relational database format, NoSQL Versus SQL
require statement, Modules and Express
response codes, HTTP Response Codes
responsive design, The Grid, Responsiveness and Responsive Libraries
RESTful (Representational State Transfer) APIs, HTTP Verbs, CRUD, and REST, Summary
return values, Functions
right alignment, Layouts with Floats
rounded corners, The Style
routes/behaviors, Setting Up Routes
Ruby on Rails, Ruby on Rails
RubyGems package manager, Getting Your App Ready for Deployment
rulesets, Rulesets

S

schemas, Models
scoping rules, A JSON Array
script (<script>) tags, Hello, JavaScript!
security issues
credential storage, Getting Your Twitter Credentials
file access, Overcoming Browser Security Restrictions
selectors
basics of, Rulesets
cascading rules, Cascading Rules
class attributes, Classes
for complex DOMs, More Complex Selectors
inheritance, Inheritance
jQuery selectors, Selectors, Manipulating content
practice file for, CSS Selectors Practice
pseudoclasses, Pseudoclasses
type selector, Selectors
universal selector, The clear Property
server-side technologies
databases, The Data StoreOther Database References
vs. client-side technologies, The Bridge
servers
bridging communication with clients, Generalizations
communication with clients, The Bridge
creating HTTP servers, Hello, HTTP!
event-driven, The Server
Express server creation, Our First Express Server
server vs. client programs, Clients and Servers
text editors for remote, Emacs and Vim
set command, Interacting with the Redis Command-Line Client
setInterval function, Using the setInterval function to schedule tasks
setTimeout function, Events and Asynchronicity
Shift-Enter vs. Enter keys, Interacting with JavaScript in the Chrome JavaScript Console
shortcuts (see keyboard shortcuts)
sidebars, Layouts with Floats
sitemaps, Structuring the Footer
slideDown function, Events and Asynchronicity
slideUp method, Removing elements from the DOM
socket.io module, AJAXifying Our Tabs
SQL (Structured Query Language), NoSQL Versus SQL
SSH (Secure Shell/Secure Socket Shell), Connecting to Your Virtual Machine with SSH, Practicalities
status logs, Getting Information About Your Apps
streaming, What’s Happening Here?
strict mode, Hello, JavaScript!
stringify function, JSON
strings
converting to objects, JSON
splitting into arrays, Tags as Part of Our Input
style.css file, Hello, CSS!
stylesheets (see Cascading Style Sheets (CSS))
stylesheets subdirectory, Setting Up a Project
stylistic elements, Identifying Structure
Sublime Text
advanced features, Sublime Text
basic operation of, Sublime Text Basics
installation of, Installing Sublime Text
Open dialog box, Determining the status of our repository
subtrees, Adding elements to the DOM

T

tags, Tags Versus Content
templating engines, Views Using EJS and Jade
terminal editors, Text Editors
(see also Emacs; Vim)
terminal simulators, Unix Command-Line Basics
text editors
efficiency of, Text Editors
for remote servers, Emacs and Vim
GUI vs. terminal, Text Editors
in development process, Practicalities
Sublime advanced features, Sublime Text
Sublime basics, Sublime Text Basics
Sublime installation, Installing Sublime Text
to-do list, Adding Interactivity to Amazeriffic, Adding a Tags Feature to Amazeriffic
tree diagrams
DOM, The Document Object Model and Trees
filestytem, Filesystems and trees
HTML documents, Tree Diagrams
truthy values, Using JSLint to Identify Potential Problems
Twitter
client set up, Setting Up a Client
connecting to, Connecting to the Twitter API
finding words with indexOf function, Using the indexOf function to find words
generalizing tweet counter code, Generalizing Our Tweet Counter Code
getting credentials, Getting Your Twitter Credentials
modularizing tweet counter, Modularizing Our Tweet Counter
scheduling tasks, Using the setInterval function to schedule tasks
storing tweet counts, Storing Counts
streaming information from, What’s Happening Here?
200 response code, HTTP Response Codes
type selector, Selectors

U

universal selector, The clear Property
Unix
command line, Unix Command Line
command-line basics, Unix Command-Line Basics
filesytem commands, Summary
unordered lists (<ul>) tag, Headings and Anchors and Lists, Oh My!
update statement, Iteration
urlencoded plug-in, Posting Information to the Server
use command, Interacting with the MongoDB Command-Line Client
user interfaces, Hello, HTML!

V

Vagrant
benefits of, Setting Up Your Environment
building virtual machines with, Building Your Virtual Machine
in development process, Practicalities
installation of, Installing VirtualBox and Vagrant
overview of, Summary
val method, Clearing out the input box
validation programs, Using HTML Validation to Identify Problems, JSHint and CSS Lint via NPM
(see also errors)
variables
$ character for jQuery objects, Dynamically manipulating the DOM
adding to objects, Generalizations
collections of, Hello, JavaScript Objects!
declaring with var keyword, Using JSLint to Identify Potential Problems
environment variable, Getting Your App Ready for Deployment
function variables, Generalizations
out-of-scope variables, A JSON Array
possible data types in, Variables and Types
process.env variable, Binding Redis to Your App
vboxheadless warning, Building Your Virtual Machine
version control systems
definition of, Version Control
exploratory coding, Version Control
Git commits, Our first commits!
Git configuration, Configuring Git for the first time
Git installation, Installing Git
Git repository history, Viewing the history of our repo
Git repository initialization, Initializing a Git repository
Git repository status, Determining the status of our repository
in development process, Practicalities
saving vs. committing changes, Saving versus committing
Unix command-line basics, Unix Command-Line Basics
Vim text editor, Our first commits!, Emacs and Vim
virtual machines
benefits of, Hosts and Guests
building, Building Your Virtual Machine
connecting to with SSH, Connecting to Your Virtual Machine with SSH
definition of, Setting Up Your Environment
exiting, Hello, Node.js!
hosting of, Hosts and Guests
removing, Hello, Node.js!
VirtualBox
installation of, Installing VirtualBox and Vagrant
Node Package Manager and, Installing Express with NPM
overview of, Summary
visited pseudoclass, Pseudoclasses
void elements, Structuring the Main Content

W

web application development
additional resources, Where to Go for Help
code repository for, Learning with This Book
code used in, General Comments on Code
prerequisites to learning, Is This Book for You?
teaching, Teaching with This Book
technology choices, Technology Choices
web browsers
as developer tools, Browsers, Practicalities
overcoming security restrictions in, Overcoming Browser Security Restrictions
removing inconsistencies in, Resetting Browser Inconsistencies
top-down page display in, Hello, JavaScript!
web fonts, Working with Fonts
Windows
file access in Chrome, Overcoming Browser Security Restrictions
Git Bash terminal simulator, Unix Command-Line Basics
global package installation in, JSHint and CSS Lint via NPM
manual SSH installation, Connecting to Your Virtual Machine with SSH
Windows Azure, Other Platforms
workflow (see development workflow)