This is an intensive hands-on training course aimed at seasoned Node developers.
The purpose of the course is to instill a deeper understanding of the language and best practices. At the end of it, you will feel confident that you are developing applications efficiently and optimally – using appropriate language, tools, tests and techniques.
Delegates will be introduced to the theory and spend most of the time practicing it using specially developed hands-on abs.
​​​​​​
- Recap of Intro and basics
- The basics of Javascript syntax and semantics. We can keep this very short
assuming everyone is geting it.
- Advanced javascript
- Advanced/newer Javascript features such as Generators, just enough as
needed for the rest of the course
- Functional techniques
- Map, Reduce and using first class functions. We'll talk a bit about what a
closure is and what that means for your Javascript code.
- Async techniques
- Basic async development programming techniques in Javasscript
- Promises
- The hows and whys of promises
- Async await
- How to take what you know about promises and apply to the new async...await
synctax
- Javascript tooling
- Prettier, linters, flow. Tooling available to make Javascript development
better
- The event loop
- How it works and how interact with it. Difference between setTimeout,
setImmediate and process.nextTick etc
- The Node module system
- What you need to know to understand what happens when you use require
- Node Events
- How and when to use the EventEmitter and what its design decisions (eg
async dispatch) mean for you
- Node Streams
- Why they're there and what to use them for
- Error handling in node
- Handling errors in synchronous, callback based and promise based code and
how to make it all work together.
- Debugging with external debuggers
- How to connect an external debugger and when it's useful
- Node Performance
- Basics of writing fast Javascript code
- Running a profiler
- Tour of testing libraries
- A quick tour thorugh what's available
- Testing techniques
- How to write tests for Node applications and what's different from other
languages
- Isolation between tests
- Keeping your tests from messing with each other
- Testing async functions
- The various techniques for testing async code. We'll cover both async tests
and mocking of the async primitives to test async code with sync tests.
- Mocking in javascript
- How to mock the components of your application and libraries for isolated
testing without it being a total pain and without it leaking between tests
Optional Extras (1-2 days)
Advanced streams
- Readers and Writers
- Implementing custom transforms
- Back pressure, what it is, why it's important and how to communicate it
- Stream based programming
ES6 and beyond
Advanced profiling and performance
- Using the various profilers available in node
- Interpreting their output
- Performance bottlenecks in node
- Advanced techniques writing faster code
Receive Tech Updates directly to your inbox
CONTACT
+44 (0)20 8446 7555
enquiries@jbinternational.co.uk
Corporate Policies Terms & Conditions
JB International Training Ltd - Company number 08458005
Registered address Wohl Enterprise Hub 2B Redbourne Avenue London N3 2BS
POPULAR
AI & ML training course React training course
Threat modelling training course Python for data analysts training course
Power BI training course Machine Learning training course
Spring Boot Microservices training course Terraform training course