Technology stack Node.js (Patreon, 2022-2023)
Please rate the course
Source:
Category:
Language:
Russian
Duration:
207:09:58
Number of lessons:
147
Added date:
21/06/2024
Rating:
0.0
Course short description
Volume of material: 20 hours of lectures, weekly 2 hours of seminars throughout the year, repositories with code examples. What this course is not: this is not reading documentation, not a course on frameworks, not a course on Metarhia, not a repetition of an old course, not livecoding or a masterclass, not a stream. The new course is the most concentrated information and practical tasks on developing on a pure node but with good architecture and using all the modern features of Node.js
Contents:
- Node.js Introduction to the technology, overview of the API, basic ideas: how memory, cpu, I/O are saved
- CJS (CommonJS) and ESM module systems (ECMAScrip modules), features in Node.js, dependencies and npm packages
- Asynchronous programming: event loop, async hooks, race condition, callbacks, async/await, thenable, promises
- Parallel programming: threads, semaphore, mutex, spin locks, Atomics, SharedArrayBuffer, Web Locks API
- Reactive programming: Observer, EventEmitter, RxJS, asynchronous and concurrent queues, async collectors
- Isolation code and data in Node.js: vm, v8, protection of global, contexts, modules and prototypes from patching
- Working with files: fs, Buffer, Stream, pipe, backpressure, Web streams API, file monitoring system
- Structure and architecture of the project, layers, DDD, Clean architecture, coherence and coherence of code, flow of abstractions
- GRASP and SOLID principles in JavaScript with adaptation for Node.js, IoC (inversion management) and DI (dependency injection)
- Network protocols: HTTP(S), HTTP2, TCP, UDP, TLS, Websocket, SSE, HTTP/3 (QUIC)
- Interaction principles systems: REST, RPC, Pipeline, Event-bus, Event-broker, client-server, peer-to-peer
- API based on transport-agnostic and framework-agnostic principles, contracts, implementation of sessions and authentication services
- Applications close to real time, interactivity and collaborative applications on websockets
- Common patterns and antipatterns in applications on Node.js
- Distributed systems, high-load systems, load balancing, clustering and scaling, IP sticky
- Security issues: DoS, XSS, Path traversal, CSRF, SQL injections
- Working with databases, data access layer, structure description data, data access, postgres, redis, in-memory
- Comparison of approaches domain in the middle, ORM, active record, repository, data mapper, data schemas, query builder
- Leaks memory and resources, quantitative assessment of reliability, stability, availability, flexibility, quality
- Infrastructure and tools: logging, testing, linters, debugging, CI/CD, built-in testing framework
- Performance hooks , resource telemetry and optimization: I/O bound, CPU bound, memory bound, profiling
- Graceful shutdown in Node.js, working with errors and exceptions, unhandled exceptions, stack trace
- Built-in cryptography in Node.js (openssl), addons, plugins, Node-API (formerly N-API), WASI (Webassembly)
- Serverless and cloud FaaS solutions based on Node.js
- < li>Practical use of introspection, reflection and scaffolding