- 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
asyncmodule 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,
- produce modern APIs, both as REST and GraphQL
- Secure their code by following state-of-the-art practices
Please note: the training’s source code is entirely in ES2017+.
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.
Getting your bearings
- Installation and upgrade methods
- Node, a history in 5 minutes
- My first program
- Running a JS file
- A richer example
- Shebangs and “executable” files
Node’s module system
- Configurable modules
- Deferred initialization
- Built-in modules
- Module loaders and alternative syntaxes
- Module paths and the nitty-gritty about
- With Visual Studio Code
- With Google Chrome
- A few words on WebStorm et al.
- Debugging when using nodemon
- All about automated tests: unit tests, integration tests…
- A rich test harness with Jest
- Rich assertions with Chai
- Mocking methods, objects and modules
- Module packaging
- Searching for modules
- Local installation vs. global installation
- Production vs. development dependencies
- The end of version conflicts
Some core modules
- Global objects
- Quick overview of the other core modules
- Mixing event handling in existing code
- “Callback Hell” and “Pyramid of Doom”
- Mitigating the issue using proper function declarations
- Node-style callbacks
- Complex callback combos with
- Promises: principles, examples and native support
- “Promisified” classic async APIs
Streams and buffers
- Stream types
- Stream modes and mode switching
- Text encodings
- Stream all the things!
Key security best practices
- Updating Node itself; regular vs. LTS releases
- Deprecating risky APIs
npm audit fix
- Node Security Project
- Node Certified Modules
- Automatic vulnerability auditing on GitHub
- Install scripts
- Managing credentials and secrets
- Choosing your crypto algorithms wisely
- General data storage principles
- Third-party attack foiling services
Modern data storage with MongoDB
- About NoSQL
- Intro to MongoDB
- A few words on CouchDB, ElasticSearch, Firebase…
- MongoDB’s native API
- Getting comfier with Mongoose
- A quick tour of GUIs (e.g. dbKoda, Robo 3T, Compass)
Developing a REST API
- REST principles
- Content variation
- Testing a REST API
- Bare Express?
- A few words on Feathers, Fastify, Loopback…
Developing a GraphQL API
- A whirlwind tour of GraphQL
- Designing a useful schema
- Auditing performance
- Testing a GraphQL API
- Just GraphQL.js?!
- Apollo 2
- A few words on Prisma et Relay
Securing an API
- Request / Query validation
- Rate limiting: REST and GraphQL variations
- Authentication: tokens or sessions?
- About JWT…
- 2FA / MFA
Deploying an API server
- Manually on infrastructure
- On PaaS: Heroku, Azure, GCP, Now
Microservices, Serverless and FaaS
- Microservices / functions principles
- Connectin pooling, message queues, and other concerns
- Deploying on FaaS: Azure, GCP, AWS Lambda
- A few words on Arc, Micro, Seneca, Moleculer…
- 18—21 May 2021 100% remote
Request a training contract 18—21 May 2021 100% remote
(Unless otherwise stated, every session has 4+ seats still available, and is in French; you can naturally book custom dates for your company using the link further below.)
|You register||Per 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|
Need an in-house / custom training?
For a bespoke training, tailored to your needs, either at your office, in ours or remotely, please describe your context and needs using the following link.
Usually, the core training cost for doing this training in-house, which is a flat fee for up to 10 trainees, is €14,000 net. For international sessions with fewer trainees, we can trim that down: talk to us!Request my in-house / custom training
Intended audience and pre-requisites
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.
Unless otherwise specified, predefined-dates, multi-client sessions are held in French, so attendees should be reasonably fluent. You are naturally welcome to book custom dates for your company using the link above.
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.
- Sessions run 7hr a day, or 4hr12 a half-day, adding up to 14hr, 21hr or 28hr.
- Full days run from 9:30 to 12:30 and 14:00 to 18:00, half-days run from 13:48 to 18:00.
- (For or U.S. friends, that's 9:30a-12:30p / 2p-6p and 1:38p-6p Paris time, respectively.)
- For custom dates booked specifically by your company, the schedule can be adjusted to better suit your needs. In particular, we can use half-days locked on reasonable hours in your timezone, e.g. 9a-12:30p EST or 8a-11:30a PST.
- Every trainee uses their own laptop or workstation.
- Training sessions range from 3 to 10 trainees.
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.
Christophe is the founder and CTO of Delicious Insights.
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 😊
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.