Build a Network Application with Node
3.8 (4 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
91 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Build a Network Application with Node to your Wishlist.

Add to Wishlist

Build a Network Application with Node

Build, tune, and test a tangible NodeJS application from start to finish
3.8 (4 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
91 students enrolled
Created by Packt Publishing
Last updated 12/2014
Current price: $10 Original price: $85 Discount: 88% off
5 hours left at this price!
30-Day Money-Back Guarantee
  • 2 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Manage the Node process and spawn child processes
  • 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
View Curriculum
  • Experience with Node is not essential, but familiarity with JavaScript is highly recommended.
  • 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. It also covers a detailed explanation on performance optimization, code organization, process management, and automated testing.

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.

About the Author

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.

Who is the target audience?
  • If you wish to get up to speed with the basics of Node, harness the performance benefits of non-blocking IO, and build a complete app from start to finish, this course is for you.
Compare to Other Node.Js Courses
Curriculum For This Course
37 Lectures
Getting Started with Node
2 Lectures 05:29

Get a Node server running and import modules into your Node project.

Installing Node and Running a Server

The mechanics of a Node server may not be obvious at first. Get familiar with some essential techniques for running an HTTP server.

Deconstructing an HTTP Server
Node Modules
5 Lectures 14:05

Understand the composition of Node modules so that you can write your own.

The CommonJS Module Specifications

Get to know the different types of module files and the variety of ways in which modules can be imported.

Loading Modules

Modules often have dependencies. Use best practices to avoid conflicts.

Preview 01:38

npm offers a wealth of commands. Get familiar with a selection of the most useful ones.

Managing Packages with npm

The package descriptor serves many purposes. Learn the key settings to get the most out of your Node project.

Configuring and Publishing a Package
Understanding Events
4 Lectures 11:01

Node programs use the event loop to manage control flow. Learn how to use it to the maximum effect.

The Event Loop and NextTick()

Callbacks are everywhere in Node. Use them to advantage of event-driven I/O.

Preview 02:59

Node relies on many conventions to ensure predictability among modules. Learn how to avoid common pitfalls.

Callback Patterns

Many modules communicate through events. Generate and respond to the modules with EventEmitter.

Pub/Sub with EventEmitter
Working with File Streams
3 Lectures 11:10

Resolve paths and get information about system resources.

Preview 04:11

Read/write a file, all at once or in parts.

Reading and Writing Files

Take advantage of the stream design pattern to work with I/O.

Reading and Writing Streams
Running an HTTP Server
3 Lectures 11:15

Building a network application from scratch used to be unheard of. Now you can easily create a custom server with Node.

Building an HTTP Server

HTML responses are useless without images, CSS, and JavaScript. Serve static files for a richer web application.

Serving Static Files

Node is fast, but best practices can help minimize requests to the server and reduce data payload to the client.

Preview 03:24
The Connect Framework
3 Lectures 10:24

Negotiating the minutiae of HTTP can be time consuming. Speed up development by taking advantage of middleware.

Using HTTP Middleware

Serving static files is a common networking task. Use Connect's middleware components to handle uploads

Building a Static Server with Connect

Getting the most out of your server is critical. Connect offers some handy optimizations.

Tuning a Connect Server
The Express Framework
4 Lectures 15:35

Rather than reinventing the wheel, reuse the framework code.

Using a Web Application Framework

Data persistence is complex, but sessions provide a simple (yet limited) solution.

Storing Data in a Session

Apps aren't much of use if they can't receive user data. Store values from a submitted form into the session.

Building a Todo App with Express

Improve debugging by generating log files and capturing exceptions.

Generating Logs and Handling Errors
Using View Templates
3 Lectures 11:42

There are many template engines to choose from these days. Make an informed decision by understanding the key differences among them.

Choosing a Template Engine

The HTML markup should be separated from the rest of your app. Use templates to keep the presentation code in its proper place.

Rendering the View Templates

Complex apps often require a sophisticated presentation layer. Learn how to make your templates smarter and more reusable.

Advanced Templating Features
Data Storage
5 Lectures 21:24

Add highly scalable, long-term storage to your app with MongoDB.

Installing MongoDB and Mongoose

Keep your code clean by encapsulating the database connection logic.

Creating a Database Interface

Utilize Mongoose's data modeling environment to define models and enforce validation.

Defining a Model

Manage documents in a database with ease using Mongoose methods.

Preview 04:21

Complex data relationships are often necessary. Use subdocuments to define parent-child relationships between models.

Using Subdocuments
Using Socket.IO
3 Lectures 10:43

Users prefer apps that update content dynamically. Socket.IO provides a unified API for implementing real-time features in Node.

Real-Time Communication with Socket.IO

Users want to know when new content is available. A notification can prompt users to reload the page when the content is added.

Preview 03:57

Users would rather not click to see new data. Show updated content in real time with SocketIO.

Publishing Content Updates
1 More Section
About the Instructor
Packt Publishing
3.9 Average rating
8,229 Reviews
59,023 Students
687 Courses
Tech Knowledge in Motion

Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.

With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.

From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.

Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.