Write Node.js Apps that Won't Fall Over

Node.js is becoming ever more popular, but as a developer you know there’s a huge difference between doing a few tutorials, and writing code ready for traffic. So are you ready to make your Node.js apps tough enough for real-world use? Want to take your Node.js skills to the next level?

Benjamin Lupton has been creating production Node.js applications for his consultancy and community Bevry for over 3 years now. He is also author of the popular open-source projects History.js and DocPad used by companies like Adobe, Microsoft, and Basecamp.

Ben has that magic and rare combination of a phenomenal depth of knowledge, coupled with an ability to just get stuff done. Hands down the best Javascript developer I've ever worked with, and whenever I have a tricky project that others would pass as impossible, I reach for his phone number first.

— Andrew Jessup, Product Manager at Google

In this one-day workshop, Benjamin will teach you how to write robust Node.js code and boost one of your most critical skills, debugging. The workshop’s three key lessons are:

  1. How to debug node.js applications systematically and efficiently,
  2. How to prevent common errors from bringing your system down,
  3. How to recover from errors gracefully, when they do occur.

The workshop will also cover general best practices for building production-ready Node.js code - from someone who has done it and enjoys teaching it.

Ben was very patient to explain specific concepts using clear analogies and diagrams that helped me to understand JavaScript-specific concepts such as asynchronicity. He is a great instructor and mentor, and he speaks about technical concepts in a way that anyone can understand.

— Eden Full, Founder at SunSaluter

Identify Errors, Debug Them, Fix Them

What do you do when you are developing and something goes wrong? How do you deal with that uncaught exception? Will you debug with console.log, stack traces, or use step-by-step interactive debugging?

  • Learn the different types of exceptions you'll encounter everyday in Node.js work, from unexpected logic errors to unexpected background errors,
  • Learn how to best identify what went wrong, why it went wrong, and how to fix it.

Safely Handle Uncaught Exceptions through Good Design

How do you correctly throw and recover from errors such that your Node.js application always stays in an expected state?

Do you ignore errors and have your entire application crash or restart when one is encountered? Do you output what went wrong, and continue on as usual in an unknown state risking unknown problems? Or do you safely throw and handle errors in a way that they never escalate further than needed?

  • Learn the different ways to safely "throw" Node.js errors, when to use them, how to use them, as well as ways to safely "handle" errors so that you can recover from them appropriately.
  • Learn general best practices about Node.js code structure, application design, and flow control to best compartmentalize its execution such that if an error does occur, you can collapse it accordingly, without it escalating and bringing your app down.
  • Learn proven design principles: how to structure and execute your application in an intuitive, easy to follow, but robust way.

Clean code, with robust flow, lets your application go!

Tickets

Register interest

Additional Information

Requisites

We will supply the instructor and the materials. Materials will be licensed to you under the Creative Commons Share-Alike Non-Commercial License.

You will supply the location, the students, the internet connection, the projector, and ensure each student has a computer.

The training will run from 10am to 5pm. The instructor will arrive earlier to setup.

Student computers must have Node.js already installed and working prior to the training. Perferably via these installation instructions. This will take 5 minutes per computer to an hour depending on development environment. If this is an issue, Koding can be used to obtain a virtual node.js development environment suitable for the training. This will take 5 minutes per student.

A minor background in Node.js is preferred. If completely new to Node.js, working through the Learn You Node! Node School Course beforehand will be sufficient. This will take about 2 hours to a day per student depending on skill level.

Booking

Enquiries can be made any time by emailing events@bevry.me or or calling +61 2 8006 2364.

Once the checkout has completed, we'll contact you to find a mutually viable date and finalise the details.

If no agreement is found within a week of payment, the booking becomes void. Cancellations are also possible up until 2 weeks before the training. Cancelled and voided bookings will have the full amount refunded minus a 20% administration fee.

You can also pay via Direct Debit instead of using this online form to avoid unnecessary payment processing fees. To do so, pay directly into one of our bank accounts and email the receipt to events@bevry.me. Once the payment has been received on our end, we will proceed with the booking like normal.

Course Materials

Course materials can be found at: https://github.com/bevry/nodefailsafe