Node.js for JavaScript Developers Training Course

Primary tabs

Course CodeCourse Code

nodejsdev

Duration Duration

21 hours (usually 3 days including breaks)

Requirements Requirements

Students taking this course should have JavaScript programming experience.

Overview Overview

Overview

Node.js is a platform for easily building fast, scalable network applications. Learn how to use the event-driven, non-blocking I/O model to build data-intensive real-time applications that run across distributed devices. We will explore the design choices that make Node.js unique, how this changes the way applications are built and how systems of applications work most effectively in this model. Learn how to create modular code that’s robust, expressive and clear. Understand when to use callbacks, event emitters and streams. Use streams to easily manipulate data that would be impossible to fit in application memory. Gain confidence in handling errors effectively to ensure runtime reliability. The course has extensive lab exercises to reinforce the concepts and techniques covered.

Objectives

On completion of this course, students will be able to:

  • Clearly understand the platform design choices that led to Node.js choosing an event loop and what this means for applications built on that foundation.
  • Understand the unique trade-offs present in event-driven programming.
  • Create Node.js modules and express code modularity in an application.
  • Understand the core flow control patterns in Node.js and know when it is appropriate to use callbacks, event emitters or streams.
  • Create and manipulate buffers efficiently.
  • Understand how to manage error state and know when a process should exit due to an error.
  • Build network applications with Node.js.

Course OutlineCourse Outline

Intro to Node.js

  • RAM vs. I/O latency
  • Blocking vs. Non-Blocking
  • Event-driven Programming
  • Event Loop
  • Blocking The Event Loop
  • Node.js Philosophy

Node.js Platform Setup

  • Download and Install
  • Node REPL
  • First Hello World

Modules and npm

  • Anatomy of a module
  • Private code
  • Accessing and using modules
  • npm commands
  • package.json

The Callback Pattern

  • What are callbacks
  • Callback-last
  • Error-first

Events

  • When to use Event Emitters
  • Binding Functions to Events
  • Event Requests
  • Event Listening

Error Handling

  • Callbacks: Error-first
  • Errors in Event Emitters
  • Uncaught Exceptions
  • Using Domains

Buffers

  • Why Buffers exist
  • Creating Buffers
  • Reading and Writing Buffers
  • Manipulating Buffers

Streams

  • What are streams
  • Read and Write Stream API
  • Flow Control
  • Piping
  • Duplex Stream
  • Transform Stream

Express.js

  • Intro and Installing Express.js
  • Building a Hello Express application
  • Creating routes
  • Rendering Layouts
  • Using templates
  • Adding partials
  • Using locals and conditional templates
  • Modularizing routes

Socket.io

  • Listening for
  • Broadcasting
  • Answering questions

Connecting to Databases

  • No SQL and Document Stores
  • Relational DBs
  • Configuration and platform setup
  • CRUD Operations

TestimonialsTestimonials

all the in code examples

The code exercises were good and engaging.

Hands-on. Lots of help. Lots of space for asking questions and getting answers.

Abdul Zaheer

Examples were relateable

Yongching Tee

I felt it was the right mix of lecture and practical application.

David Jaggie

I liked that through this training Joey was able to cover different levels of knowledge and he made this course very interesting and understandable for the beginners and for more experienced developers.

Tetyana Myronova - SSENSE

Joey was great and really adapted the training to our needs and the skill level of the audience.

Alain Lormil - SSENSE

The slides provided by NobleProg gave a good outline of the sections to cover in my personal exploration of the subject.

Joe Flynn - Deloitte Digital

Bookings, Prices and EnquiriesBookings, Prices and Enquiries

Guaranteed to run even with a single delegate!
Private Classroom
 
Private Classroom
Participants are from one organisation only. No external participants are allowed. Usually customised to a specific group, course topics are agreed between the client and the trainer.
Private Remote
From £3300
Private Remote
The instructor and the participants are in two different physical locations and communicate via the Internet. More Information

The more delegates, the greater the savings per delegate. Table reflects price per delegate and is used for illustration purposes only, actual prices may differ.

Number of Delegates Private Remote
1 £3300
2 £2325
3 £2000
4 £1838
Public Classroom
From £3750
(92)
Public Classroom
Participants from multiple organisations. Topics usually cannot be customised

The more delegates, the greater the savings per delegate. Table reflects price per delegate and is used for illustration purposes only, actual prices may differ.

Number of Delegates Public Classroom
1 £3750
2 £2575
3 £2183
4 £1988
Cannot find a suitable date? Choose Your Course Date >>
Too expensive? Suggest your price

Related Categories

Related Courses


Upcoming Courses

VenueCourse DateCourse Price [Remote / Classroom]
NewcastleTue, 2017-11-07 09:30£3300 / £3900
EdinburghWed, 2017-11-08 09:30£3300 / £4950
Leicester - St. Georges HouseWed, 2017-11-08 09:30£3300 / £4050
York - Priory Street Centre Wed, 2017-11-08 09:30£3300 / £3750
PortsmouthMon, 2017-11-13 09:30£3300 / £3750

Course Discounts

Course Discounts Newsletter

We respect the privacy of your email address. We will not pass on or sell your address to others.
You can always change your preferences or unsubscribe completely.

Some of our clients