Node.js training

First released in 2009, Node.js has completely revolutionized the perception of JavaScript and server-side software infrastructures. Being extremely performant, nice to use, and blessed with a thriving ecosystem and vigorous community, Node.js now boasts numerous top corporate users and large-scale actors along with impressive performance and lots of success stories.

  • ES2015+ (incl. ES0215 modules)
  • Heart of Node (event loop, streams…)
  • npm, modules and scripts
  • Express, middlewares and Pug
  • Passport.js
  • MongoDB & Mongoose
  • Web Sockets
  • Test-first development (TDD)
  • Isomorphic code
  • Deploying in-house & on PaaS

Goals

The Node.js training gives you all the keys to be off to a great start with Node.js by professionalizing and industrializing your JavaScript development practices. It empowers trainees to:

  • know how to install and upgrade Node.js and npm,
  • search for, install and upgrade Node modules,
  • work efficiently with Node thanks to a tooling that enables rapid development cycles,
  • elegantly manipulate complex asynchronous code, notably with the async module and promises,
  • know and leverage core modules built in Node,
  • understand and master pivotal aspects of Node such as events and streams,
  • structure their code using Node best practices, both for the server and client sides,
  • automatically test their code, both with unit and integration tests,
  • document their code in an immediately useful and practical way,
  • package their apps as publishable modules,
  • deal with common needs: web servers, templating, ODM, NoSQL, WebSockets…

Please note: the training’s source code is entirely in ES2015+.

As you can see, it’s not just a “simple” technical training, but truly a complete set of know-hows that not only gives you the keys to immediate productivity, but also equips you with the means to write maintainable, high-quality code that’s built to last.

Curriculum

  1. Day 1 — Up and running with Node, advanced JavaScript

    We discover Node, its direct use and module system, but also take the time to (re)discover advanced JavaScript features and code structuring approaches that let us maintain a high level of quality and readability in a massively asynchronous codebase.

    Hi Node!

    • Installation and upgrade methods
    • Node, a history in 5 minutes
    • My first program
    • Running a JS file
    • A richer example
    • Shebangs and “executable” files

    ES2015+

    • Quick history recap: ES3, ES5, ES2015, ES2016…
    • Native support on Node
    • Transpiling with Babel
    • Interactive experiments and deeper-learning resources
    • Object literals and class syntaxes
    • Destructuring
    • Rest et spread
    • Default values
    • Template strings
    • let and const
    • Arrow functions and preserved lexical resolution
    • ES2015 modules

    Node’s module system

    • Configurable modules
    • Deferred initialization
    • Built-in modules
    • Module loaders and alternative syntaxes
    • Module paths and the nitty-gritty about require

    Asynchronous programming

    • Callbacks
    • “Callback Hell” and “Pyramid of Doom”
    • Mitigating the issue using proper function declarations
    • Node-style callbacks
    • Complex callback combos with async.js
    • Promises: principles, examples and native support
    • “Promisified” classic async APIs
    • async / await
  2. Day 2 — The heart of Node

    Node is not just about Express-based web servers! This day explores the core modules, indispensible event and stream mechanisms, and the test-related ecosystem which we’ll use to industrialize our code and maintain its quality.

    npm

    • Module packaging
    • Searching for modules
    • Local installation vs. global installation
    • Production vs. development dependencies
    • The end of version conflicts
    • package.json details

    Some core modules

    • console
    • process and os
    • fs and path
    • util
    • Global objects
    • Quick overview of the other core modules

    Events

    • The events module
    • EventEmitter
    • Mixing event handling in existing code

    Streams and buffers

    • Stream types
    • Stream modes and mode switching
    • Buffers
    • Text encodings
    • Pipelining
    • Stream all the things!

    Testing and debugging

    • All about automated tests: unit tests, integration tests…
    • Assertion modules: assert and Chai
    • A rich test harness with Mocha
  3. Day 3 — An advanced web application

    As we finish exploring automated tests, we start developing a web app that’ll highlight a number of must-see technologies that are tightly related to the Node ecosystem.

    Testing and debugging

    • Mocking with SinonJS
    • Approaches for automating multi-browser testing
    • Debugging Node code with state-of-the-art tools

    Developing a web app with Node

    • App structure
    • Node’s built-in HTTP layer
    • Express and Connect: intro, installation and configuration
    • Our first page
    • Automatic reloading with nodemon
    • Templating with Pug (Jade)
    • Layouts
    • Mixins
    • Data models
    • MongoDB persistence with Mongoose
    • Authentication with Passport

    Leveraging ES0215+ modules in our browser code, too

    • Webpack
    • Sharing code between client-side and server-side
  4. Day 4 — More tools and deploying to production

    This 4th and final day finalizes the app’s development, talks about useful code documentation, reviews a number of well-known community modules and wraps up with demonstrations of deploying Node code on both in-house infrastructure and various PaaS solutions.

    Developing a web app with Node

    • Real-time client/server connections with Web Sockets

    Useful code documentation

    • Types of code documentation
    • Annotated sources
    • Groc

    A few must-see community modules

    • lodash
    • mkdirp
    • debug
    • event-stream
    • nconf
    • moment
    • request
    • colors
    • optimist et commander
    • eventemitter2

    Deploying Node code in production

    • 12 Factors
    • On my own server
    • On Heroku
    • On Azure
    • Monitoring with PM2
    • Monitoring with NewRelic

Next sessions

  • September 26–29, 2017 - Paris
  • November 21–24, 2017 - Paris

Pricing

Your needPer trainee
1 to 2 trainees€2,000 net
3 to 5 trainees€1,800 net
6+ trainees€1,600 net
Loyalty discount€1,700 net
Request a training agreement now!

Intended audience and pre-requisites

A minimal knowledge of JavaScript is mandatory, even if advanced aspects are reviewed in-depth on the first day; any front web dev already using JavaScript on a daily basis, even if it’s mostly through jQuery still, is likely comfortable enough.

This is particularly true since February 2016, as the entirely overhauled curriculum relies exclusively on ES2015+, which most trainees have not yet taken the time to master: the first day therefore explores this topic in detail, bringing the entire session up to speed.

However, trainees might want to “study up” ahead of time to make learning all of this easier once attending the training proper. Future trainees will likely benefit from browsing this list of quality contents Christophe compiled; an ES2015-specific list is also available.

This preparation is also quite desirable for back-end developers who have never worked with JavaScript.

Deliverables

When the training starts, trainees receive all the related slides and supporting material in a web-based format, so they can easily follow along.

Once the training is done, they also get an extremely content-rich debrief e-mail, a reference archive with all finalized codebases (fully annotated and tested), all related slides and various complementary resources.

Logistics

The training takes place in a private, commodious, well-lit, air-conditioned room with great functionality and ample comfort. All our venues are easily accessible by public transit and wheelchair-accessible.

Located in Paris, near Nation, they can be reached through no less than 5 subway lines, 1 RER line and 5 bus lines:

  • Subway Line 2 Philippe-Auguste or Alexandre Dumas
  • Subway Line 9 Charonne or Rue des Boulets
  • Subway Line 8 Faidherbe-Chaligny
  • Subway Line 1 Line 6 RER Line A Nation
  • Bus Line 26 Line 57 Line 86 Nation
  • Bus Line 56 Charonne-Voltaire or Boulets-Montreuil
  • Bus Line 76 Charonne-Philippe-Auguste
Delicious Insights

83 avenue Philippe-Auguste
75011 Paris

See on Google Maps

You can also find a number of parking areas nearby.

  • Every trainee brings their own laptop or workstation.
  • Internet access is provided through a broadband connection. Training rooms offer a Wi-Fi access and, for the oddball situation, a wire-based Ethernet infrastructure.
  • Not living in the Paris area and looking for lodging? Why not go with Airbnb? They even have a business offering.
  • Node.js trainings require a few ahead-of-time setups on your machine: find all the necessary instructions for OSX, Linux and Windows here.

  • Training sessions range from 4 to 10 trainees.

Typical daily schedules for the training, for a daily total of 7 hours hence a total of 28hr of training, are:

  • 9h15Welcome, breakfast (hot and cold beverages, French pastries)
  • 9h30Training starts
  • 12h30Lunch (included)
  • 13h45Training resumes
  • 16h15Break
  • 16h30Training resumes
  • 18hDay close

You can find all the details and modalities of registration, payment, cancellation and refunding in our Terms of Sale, along with our Conduct Policy.


Our main venue, for multi-client trainings (click to zoom):

Trainer

Christophe Porteneuve

Christophe Porteneuve

Christophe has been doing professional web work since 1995. He co-created Europe’s first production JSP portal in 1999, moving to J2EE before going with Ruby, Rails and finally Node.js.

A best-selling author of“Bien développer pour le Web 2.0” (“Best practices for modern web development”) at Eyrolles, he also wrote the reference book “Prototype and script.aculo.us” at Pragmatic Programmers, articles in various online magazines (most notably the widely-acclaimed A List Apart), and speaks at a number of conferences big and small.

In France, Christophe enjoys a solid reputation of expertise in the areas of front-end web dev (most notably JavaScript), Node.js, Git and Rails.

Christophe is the founder and CTO of Delicious Insights.

Testimonials

  • Amazing training. The trainer’s ability to track down the origin of a bug near-instantly is quite mind-blowing! Every course item is taught with brio. […] Writing a whole app from scratch, just like the 360° JS training course, feels fantastic.

  • An excellent, crystal-clear, precise and most useful training course. The pace is quite strong, so you must hang on a bit as we go through a large number of concepts, but the trainer is really good at imparting his knowledge and efficiently teaching all this.

    The cost/quality ratio is a real steal, even as a freelancer (with no financial incentive or tax break of any kind).

    A truly pleasant experience, with lots of laughs, much food for thought and great lunches! You come out of this confident and reassured, eager to put all your newfound skills intro practice. I know this sounds very much like a marketing pitch, but I can’t recommend this training enough 😊

    Julien Pouillard Effigie Créations
  • This training is truly great and ahead of the competition. The trainer has outstanding teaching skills, and the pace is perfect. I recommended this class a lot around me already.

  • You don’t just walk out of this with a better understanding of Node.js, but also a clearer view of the tooling and real-world production use around it. Factor in the great location (Paris 11st), a lovely venue and an excellent trainer, and you’ll have the perfect blend for a content-rich training you won’t regret.

  • Boosted my learning curve by taking me to many places I hadn’t ventured in yet… Node.js runs impeccably… This is just the beginning of the journey… The ecosystem is amazing… All my expectations were met… Node.js is definitely the next big technological leap!

  • A very promising tech… Great technical quality… Fantastic modules… Very beneficial to any web project… All the pieces finally click into place… The training is very thorough and made sense of everything… Discovering Node is truly an energy boost to me as a developer…

  • An efficient and relevant Node.js training, I came out feeling I had made a leap towards tomorrow’s technologies.

  • I heartily recommend this training. But don’t go there unprepared: you’ll get a truckload of knowledge. Great content, outstanding trainer, an an environment honed for efficient learning.