Video Details

ISBN 139781782168270

Course Length2 hours and 20 minutes

Video Description

Node.js is a platform built on Chrome's JavaScript runtime for building fast, scalable network applications easily. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive, real-time applications that run across distributed devices.

This video course is a step-by-step guide for creating a high performance server in JavaScript. The course begins with installing Node, to understanding modules and file streams, and setting up a server. The course also teaches you different web application frameworks and explores advanced features such as web sockets and key-value stores.

This comprehensive video tutorial will take you from a beginner-level programmer and teach you everything you need to know to get productive with Node. Fundamental concepts are illustrated with brief examples and many sample projects that help grasp the complex functionality in an easy manner.

With a primer on modules and npm, you'll understand how to work with building blocks of Node and publish your own creations. Accelerated development with frameworks like Express will make your app more responsive with caching and real-time communication.

This course is an indispensible guide to building a Node app, whether from the ground up or with the help of higher-level frameworks.

Style and Approach

Packt video courses are designed to cover the breadth of the topic in short, hands-on, task-based videos. Each course is divided into short manageable sections, so you can watch the whole thing or jump to the bit you need. The focus is on practical instructions and screencasts showing you how to get the job done.

This video course covers the fundamentals while teaching you the practical applications of these concepts to build a network app, use high-level frameworks, and test the app.

Table of Contents

Getting Started with Node

Installing Node and Running a Server

Deconstructing an HTTP Server

Node Modules

The CommonJS Module Specifications

Loading Modules

Managing Module Dependencies

Managing Packages with npm

Configuring and Publishing a Package

Understanding Events

The Event Loop and NextTick()

Asynchronous Programming and Nonblocking I/O

Callback Patterns

Pub/Sub with EventEmitter

Working with File Streams

Managing the File System

Reading and Writing Files

Reading and Writing Streams

Running an HTTP Server

Building an HTTP Server

Serving Static Files

Performance Tuning

The Connect Framework

Using HTTP Middleware

Building a Static Server with Connect

Tuning a Connect Server

The Express Framework

Using a Web Application Framework

Storing Data in a Session

Building a Todo App with Express

Generating Logs and Handling Errors

Using View Templates

Choosing a Template Engine

Rendering the View Templates

Advanced Templating Features

Data Storage

Installing MongoDB and Mongoose

Creating a Database Interface

Defining a Model

Performing CRUD Operations

Using Subdocuments

Using Socket.IO

Real-Time Communication with Socket.IO

Pushing Notifications

Publishing Content Updates

Automated Testing

Installing a Test Framework

Writing Integration Tests

What You Will Learn

Configure and publish a Node package

Handle data flows with Node's new Stream2 API

Build and optimize a static web server

Reuse more code with Connect middleware components

Implement an app using a higher level framework like Express

Create, read, update, and delete documents in a MongoDB collection

Transmit data over web sockets in real time with Socket.IO

Authors

Joe Stanco

Joe Stanco (@JoeStanco) is a frontend developer living in NYC. His fascination with code started with the Tandy “Trash 80” PC—a present for his seventh birthday. He has been programming in JavaScript for 15 years. A versatile developer, he has cultivated expertise in UI design as well as proficiency in backend languages such as Ruby, PHP, and Perl. He holds a BA from Bard College and a certificate in Software Development from Columbia University. Joe currently oversees a team at BuzzFeed tasked with implementing R&D projects and innovative partner integrations for clients like GE and Pepsi. He has worked at a variety of startups throughout his career, including Animoto, ASMALLWORLD, Vonage, and Travelocity. In his free time, he teaches 4th graders how to build robots with Lego Mindstorms for NY Cares. He is also an avid supporter of LISA (Leaders in Software and Art), a digital art salon founded in 2009. Many thanks to Aaron Heckmann from 10gen for his invaluable feedback on the MongoDB section.

Alerts & Offers

Series & Level

We understand your time is important. Uniquely amongst the major publishers, we seek to develop and publish the broadest range of learning and information products on each technology. Every Packt product delivers a specific learning pathway, broadly defined by the Series type. This structured approach enables you to select the pathway which best suits your knowledge level, learning style and task objectives.

Learning

As a new user, these step-by-step tutorial guides will give you all the practical skills necessary to become competent and efficient.

Beginner's Guide

Friendly, informal tutorials that provide a practical introduction using examples, activities, and challenges.

Essentials

Fast paced, concentrated introductions showing the quickest way to put the tool to work in the real world.

Cookbook

A collection of practical self-contained recipes that all users of the technology will find useful for building more powerful and reliable systems.

Blueprints

Guides you through the most common types of project you'll encounter, giving you end-to-end guidance on how to build your specific solution quickly and reliably.

Mastering

Take your skills to the next level with advanced tutorials that will give you confidence to master the tool's most powerful features.

Starting

Accessible to readers adopting the topic, these titles get you into the tool or technology so that you can become an effective user.

Progressing

Building on core skills you already have, these titles share solutions and expertise so you become a highly productive power user.