Certificate Authentication

Node.js Advanced Certificate for GABRIELA DAN

Add to LinkedIn

Certificate ID: 
741579
Authentication Code: 
47d20
Certified Person Name: 
GABRIELA DAN
Trainer Name: 
Marcin Kieruzel
Duration Days: 
4
Duration Hours: 
28
Course Name: 
Node.js Advanced
Course Date: 
2023-10-30 10:00 to 2023-11-02 17:00
Course Outline: 

Introduction

  • Node.js internals: Node.js runtime, V8 engine, libuv library.
  • Node.js module system.
  • Processes, Threads and the Thread Pool.
  • Events and Event-Driven Architecture.
  • Advantages and disadvantages of using Node.js compared to other technologies.

Architecture

  • Architectural patterns in Node.js.
  • Using TypeScript to write Node.js applications.
  • Frameworks in Node.js: Express.js, Koa.js, Nest.js, etc.
  • Using design patterns with examples: factory, builder, decorator, strategy, etc.
  • Middlewares.

Node.js APIs

  • RESTful API design principles.
  • API versioning.
  • Best practices for WEB APIs in Node.js.

Asynchronous programming

  • Event loop.
  • Callbacks, promises, async/await.
  • Streams and buffers for handling large amounts of data.
  • How to use Node.js Workers for computationally intensive workload.

Performance

  • Performance optimization techniques (data caching, load balancing, etc).
  • Using debugging techniques to resolve performance issues and memory leaks.

Security

  • Authentication, secure communications, secure coding practices (preventing web application vulnerabilities like SQL injection)
  • Security testing with tools like Burp, OWASP ZAP.

Scalability

  • Building scalable applications with Node.js (horizontally duplication, building microservices).
  • Microservices in Node.js: decomposing a monolithic application into microservices, inter-service communication, etc.
  • Using message brokers like Kafka, RabbitMQ, ActiveMQ to handle messaging between different components of the system.
  • Developing real-time collaborative (and scalable) applications with WebSockets and Redis. Publish/subscribe pattern.

Database

  • Advanced database techniques: indexing, improving performance in queries (ex: pagination) using ORMs (like Sequelize): seeds, migrations, complex joins, n+1 problem.

Testing

  • Testing RESTful APIs in Node.js.

Monitoring

  • Profiling techniques.
  • Monitoring / metrics.

Deployment

  • Continuous integration and deployment.