Node.js Advanced Certificate for GABRIELA DAN
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:
30 October 2023 10:00 to 2 November 2023 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.