O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Learning Path: npm start - Your Guide to Node.js

Video Description

Quickly get up and running with full-stack JS

In Detail

From running your first node application to debugging and publishing your very own npm modules, this Learning Path is a complete introduction to the node.js ecosystem. With additional coverage of MongoDB and Express included, you’ll have all the skills and expertise you need to build your very own bespoke web applications.

Prerequisites: Prior experience with JavaScript

Resources: Code downloads and errata:

  • Build a Network application with Node

  • Web Development with Node.JS and MongoDB

  • Learning Express Web Application Development

  • PATH PRODUCTS

    This path navigates across the following products (in sequential order):

  • Build a Network application with Node (2h 20m)

  • Web Development with Node.JS and MongoDB (3h 54m)

  • Learning Express Web Application Development (2h 27m)

  • Photo Credit: ©iStockphoto.com/Easyturn

    Table of Contents

    1. Chapter 1: Build a Network application with Node
      1. Installing Node and Running a Server 00:03:12
      2. Deconstructing an HTTP Server 00:02:18
      3. The CommonJS Module Specifications 00:03:02
      4. Loading Modules 00:04:14
      5. Managing Module Dependencies 00:01:38
      6. Managing Packages with npm 00:01:59
      7. Configuring and Publishing a Package 00:03:14
      8. The Event Loop and NextTick() 00:02:33
      9. Asynchronous Programming and Nonblocking I/O 00:02:59
      10. Callback Patterns 00:03:02
      11. Pub/Sub with EventEmitter 00:02:30
      12. Managing the File System 00:04:11
      13. Reading and Writing Files 00:03:55
      14. Reading and Writing Streams 00:03:05
      15. Building an HTTP Server 00:04:01
      16. Serving Static Files 00:03:51
      17. Performance Tuning 00:03:25
      18. Using HTTP Middleware 00:04:16
      19. Building a Static Server with Connect 00:03:35
      20. Tuning a Connect Server 00:02:35
      21. Using a Web Application Framework 00:04:57
      22. Storing Data in a Session 00:03:37
      23. Building a Todo App with Express 00:02:24
      24. Generating Logs and Handling Errors 00:04:39
      25. Choosing a Template Engine 00:03:23
      26. Rendering the View Templates 00:04:03
      27. Advanced Templating Features 00:04:17
      28. Installing MongoDB and Mongoose 00:04:25
      29. Creating a Database Interface 00:03:48
      30. Defining a Model 00:04:16
      31. Performing CRUD Operations 00:04:22
      32. Using Subdocuments 00:04:34
      33. Real-Time Communication with Socket.IO 00:03:07
      34. Pushing Notifications 00:03:58
      35. Publishing Content Updates 00:03:39
      36. Installing a Test Framework 00:04:57
      37. Writing Integration Tests 00:04:56
    2. Chapter 2 : Web Development with Node.JS and MongoDB
      1. The Course Overview 00:03:29
      2. Node.js Basics 00:04:14
      3. Blocking Versus Non-blocking Code 00:06:14
      4. Setting Up Your Environment 00:05:43
      5. Hello Workout 00:09:11
      6. CommonJS 00:03:49
      7. Npm 00:07:18
      8. The Event Loop 00:08:14
      9. Working with Streams 00:06:03
      10. Working with Files 00:05:17
      11. Express.js Basics 00:04:40
      12. MVC 00:05:29
      13. Routing 00:04:13
      14. Scaffolding an App 00:07:34
      15. Templating with Handlebars 00:05:32
      16. MongoDB Basics 00:05:45
      17. NoSQL 00:03:49
      18. Schema and Data Types 00:06:09
      19. CRUD 00:06:08
      20. Integrating with Node.js 00:04:44
      21. Mongoose 00:07:47
      22. RESTful APIs 00:07:19
      23. Serving APIs 00:05:52
      24. Consuming on the Server-side 00:06:34
      25. Consuming on the Client-side 00:05:13
      26. CRUD Through REST 00:05:52
      27. Unit Testing and TDD 00:06:43
      28. Mocha and Chai 00:05:53
      29. Spying and Stubbing 00:04:58
      30. Mocking with Sinon.JS 00:05:21
      31. Running with Karma 00:05:48
      32. Dependencies and SemVer 00:05:08
      33. package.json 00:05:26
      34. Publishing to npm 00:04:18
      35. Heroku Basics 00:05:07
      36. Deploying on Heroku 00:05:33
      37. Optimizing Page Performance 00:06:43
      38. Isomorphic JavaScript 00:05:04
      39. Bundling with Webpack 00:04:39
      40. Finishing the App 00:05:34
      41. Final Remarks 00:06:08
    3. Chapter 3 : Learning Express Web Application Development
      1. Installing Express.js and Command-line Tools 00:04:19
      2. A Special Note for Windows Users 00:00:51
      3. Bootstrapping Your First App 00:03:17
      4. What Just Happened? 00:01:22
      5. Structure of an Express.js App 00:05:32
      6. Introducing the Jade Template Engine 00:07:13
      7. Introducing Stylus 00:03:00
      8. Bootstrap with Jade and Stylus 00:03:41
      9. Public and Static Files 00:02:38
      10. Other Templating Options 00:04:15
      11. Planning the Structure of Our Application 00:03:38
      12. Installing the Necessary Modules 00:03:17
      13. Creating Our Endpoints 00:06:26
      14. Creating Our Application’s User Interface 00:04:34
      15. Understanding Logic-less Templates 00:01:25
      16. Displaying Dynamic Data with Jade 00:07:19
      17. Why Automate Tests? 00:02:58
      18. Micro Testing/Unit Testing Versus Full Stack Testing 00:04:52
      19. Setting Up Test Tools 00:06:15
      20. Server-side JS Testing Versus Client-side JS Testing 00:04:08
      21. Installing and Configuring MongoDB 00:01:55
      22. Wiring Up Mongoose.js 00:02:24
      23. Creating Our Models 00:01:55
      24. Differences between MongoDB and a Relational Database 00:03:43
      25. Collecting Data 00:06:29
      26. Adding Passport.js Authentication 00:08:03
      27. Understanding Sessions 00:02:52
      28. Using Facebook or Twitter for Authentication 00:06:53
      29. Deploying Your Application 00:06:43
      30. Deploying Your App to the Cloud via Heroku 00:06:52
      31. Considerations for Deploying Your App to Traditional Servers 00:07:58
      32. Custom Modules 00:01:45
      33. Opinionated MVC Framework – Sails.js 00:01:38
      34. Popular Blogging Tool – Ghost 00:01:52
      35. Client-side MVC Tools 00:01:39
      36. Socket.io for WebSocket Connections 00:03:00
      37. Wrap-up 00:01:05