Skip to content

Commit 2fa340c

Browse files
authored
Create NodeJS-2025.md
1 parent 751e5ef commit 2fa340c

File tree

1 file changed

+125
-0
lines changed

1 file changed

+125
-0
lines changed

Courses/NodeJS-2025.md

Lines changed: 125 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
# Технологический стек Node.js в 2025
2+
3+
Что нужно знать на входе:
4+
- 🔗 [Синтаксис JavaScript без всяких триков](https://github.com/HowProgrammingWorks/Index/blob/master/Courses/Fundamentals.md)
5+
- 🔗 [Основы асинхронного программирования](https://github.com/HowProgrammingWorks/Index/blob/master/Courses/Asynchronous.md)
6+
- 💡 Уверенно владеть git, иметь github аккаунт
7+
- 💡 Желательно docker, иметь рабочую машину на linux или mac
8+
- 💡 Любая среда разработки, IDE или редактор
9+
10+
Ссылки на старый курс:
11+
- 🔗 [Структура со ссылками на видео и репозитории с примерами кода](NodeJS.md)
12+
- 🔗 [Для части лекций есть таймкоды и подробное оглавление](NodeJS-timecodes.md)
13+
14+
Чем этот курс не является: это не чтение документации, не курс по фреймворкам, не курс по Metarhia, не повторение старого курса, не лайвкодинг и не мастеркласс, не стрим. Новый курс - это максимально сконцентрированная информация и практические задачи по разработке на чистой ноде но с хорошей архитектурой и использованием всех современных возможностей Node.js
15+
16+
👉 Patreon: https://www.patreon.com/tshemsedinov
17+
👉 Видео обзор курса: https://youtu.be/moH8df67zAM
18+
👉 Вопросы на интервью: https://github.com/tshemsedinov/NodeJS-Interview-Questions
19+
20+
## Содержание
21+
22+
-[Введение в технологию 🚀](https://youtu.be/mRvzgBGLVyM)
23+
- 🧑‍💻 [HTTP сервер для статики](https://github.com/HowProgrammingWorks/NodeServer/tree/master/native-2022)
24+
- 🔗 [Таблица поддержки возможностей в версиях ноды](https://node.green/)
25+
- 🔗 [Автоматизация проверки безопасности кода](https://snyk.io/)
26+
- 🔗 [Встроенный в npm аудит безопасности](https://docs.npmjs.com/cli/v8/commands/npm-audit)
27+
- 🧩 [Сравнение кластеризации HTTP, TCP и UDP на процессах и потоках](https://youtu.be/dum4b4EZktY)
28+
- 🧩 [Стрим про асинхронность и фазы ивентлупа](https://youtu.be/ND5HNHicACI)
29+
- ⭐ Структура приложений: системы модульности, пакеты и зависимости
30+
- 💻 [Системы модульности, CommonJS, ESModules, реализация своей системы модульности](https://github.com/HowProgrammingWorks/Modularity)
31+
- 💻 [Пакеты и их загрузка в разных системах модульности](https://github.com/HowProgrammingWorks/Packages)
32+
- ⭐ Архитектура приложений: слои и внедрение зависимостей
33+
- 💻 [Пошаговый рефакторинг от мидлварей до слоеной архитектуры](https://github.com/HowProgrammingWorks/DDD)
34+
- 🧩 [Почему мидлвари это плохо](https://youtu.be/RS8x73z4csI)
35+
- ⭐ Layers and Low Coupling на примере конфига и транспорта
36+
- 💻 [Примеры кода "A", "B" и "C" к лекции](https://github.com/HowProgrammingWorks/DDD)
37+
- ⭐ Базы данных, модель, заголовки .d.ts и линтеры
38+
- ⭐ Криптография: crypto, хеширование паролей с солью, session token, UUID, случайные числа
39+
- 💻 Реализация `randomPrefetcher` из библиотеки `metautil`: https://github.com/metarhia/metautil/blob/v3.7.0/lib/crypto.js
40+
- 💻 Упрощенное хеширование: https://github.com/HowProgrammingWorks/DDD/blob/master/JavaScript/d-messenger/lib/common.js
41+
- 💻 Полноценное хеширование: https://github.com/metatech-university/NodeJS-Pure/blob/main/lib/common.js
42+
- 💻 Генерация UUID: https://nodejs.org/api/crypto.html#cryptorandomuuidoptions
43+
- 🔗 Документация по `node:crypto`: https://nodejs.org/api/crypto.html
44+
-[Применение Chat GPT в оптимизации JavaScript для Node.js](https://youtu.be/Ebrzqj8cGUY)
45+
- 💻 [Chunk encode/decode with typed arrays](https://github.com/HowProgrammingWorks/ChatGPT/tree/main/JavaScript/1-Chunk)
46+
- 💻 [Promise chain and async code optimization](https://github.com/HowProgrammingWorks/ChatGPT/tree/main/JavaScript/2-Promise)
47+
- 💻 [Crypto random prefetcher](https://github.com/HowProgrammingWorks/ChatGPT/tree/main/JavaScript/3-Prefetcher)
48+
- ⭐ Структура классов сервера и GoF паттерны в Node.js
49+
- ⭐ Подсистема `Authentication`
50+
- ⭐ Подсистема `Role Based Access Control`
51+
- Системы прав ACL, ABAC, RBAC, и проектирование нашей системы прав для курса
52+
- ⭐ Стримы Readable, Writable, Transform, открытый конструктор, буферизация, backpressure
53+
- 💻 Примеры кода: https://github.com/HowProgrammingWorks/Streams/tree/master/JavaScript
54+
- ⭐ Инфраструктура и инструментарий: тайпинги, тестирование, линтеры, CI/CD, встроенный testing framework
55+
- ⭐ Работа с ошибками и исключениями, `Graceful shutdown` в Node.js, `unhandled exceptions`, `async stack trace`
56+
- 💻 Async stack trace: https://github.com/HowProgrammingWorks/StackTrace/blob/master/JavaScript/6-pass-through.js
57+
- 💻 Graceful shutdown: https://github.com/HowProgrammingWorks/GracefulShutdown
58+
- ⭐ Асинхронное, реактивное и параллельное программирование
59+
- ✨ Обзор асинхронного программирования в Node.js: https://youtu.be/hY6Z6qNYzmc
60+
- 💻 Разные контракты: https://github.com/HowProgrammingWorks/AsynchronousProgramming
61+
- 💻 Таймеры: https://github.com/HowProgrammingWorks/Timers
62+
- 💻 EventEmitter: https://github.com/HowProgrammingWorks/EventEmitter
63+
- 💻 Промисы: https://github.com/HowProgrammingWorks/Promise
64+
- 💻 Async/await: https://github.com/HowProgrammingWorks/AsyncAwait
65+
- 💻 Асинхронные адаптеры: https://github.com/HowProgrammingWorks/AsyncAdapter
66+
- 💻 Асинхронные итераторы: https://github.com/HowProgrammingWorks/AsyncIterator
67+
- 💻 Thenable: https://github.com/HowProgrammingWorks/Thenable
68+
- 💻 Асинхронная очередь: https://github.com/HowProgrammingWorks/ConcurrentQueue
69+
- 💻 Паттерн открытый конструктор (Revealing Constructor): https://github.com/HowProgrammingWorks/RevealingConstructor
70+
- ⭐ Работа с файлами и файловыми потоками, наблюдение за файловой системой
71+
- ✨ Работа с файлами, буферами и файловыми потоками: https://youtu.be/eQGBS15vUac
72+
- 💻 Работа с файлами: https://github.com/HowProgrammingWorks/Files
73+
- 💻 Файловые потоки: https://github.com/HowProgrammingWorks/Streams
74+
- 💻 Буферы: https://github.com/HowProgrammingWorks/Buffers
75+
- 💻 Наблюдение за файлами: https://github.com/HowProgrammingWorks/FilesystemWatch
76+
- ⭐ Принципы `GRASP` и `SOLID` в `JavaScript` с адаптацией для Node.js
77+
- ✨ GRASP принципы с адаптацией для JavaScript и Node.js: https://youtu.be/ExauFjYV_lQ
78+
- 💻 Information Expert: https://github.com/HowProgrammingWorks/InformationExpert
79+
- 💻 Coupling and Cohesion: https://github.com/HowProgrammingWorks/CouplingCohesion
80+
- 💻 Pure Fabrication: https://github.com/HowProgrammingWorks/PureFabrication
81+
- 💻 Single responsibility: https://github.com/HowProgrammingWorks/SingleResponsibility
82+
- 💻 Liskov substitution: https://github.com/HowProgrammingWorks/LiskovSubstitution
83+
- 💻 IoC and DI: https://github.com/HowProgrammingWorks/InversionOfControl
84+
- ⭐ Вопросы безопасности: `DoS`, `XSS`, `Path traversal`, `CSRF`, `SQL`-инъекции
85+
- ✨ Безопасность приложений Node.js: https://youtu.be/Pdfo1G-gI6s
86+
- 🔗 Слайды: https://www.slideshare.net/tshemsedinov/nodejs-security-199004963
87+
- ⭐ C/C++ Addons, Node-API (n-api), WebAssembly: Rust, WAT, C++, AssemblyScript
88+
- 💻 N-API examples for C++ and Rust: https://github.com/HowProgrammingWorks/Node-API
89+
- 💻 WebAssembly for C++, Rust, WAT, and AssemblyScript https://github.com/HowProgrammingWorks/WebAssembly
90+
- 💻 In-place callback solution: https://github.com/tshemsedinov/wasm-import
91+
- ⭐ Трекинг асинхронных контекстов: AsyncLocalStorage, AsyncResource
92+
- 💻 Примеры использования AsyncLocalStorage и AsyncResource: https://github.com/HowProgrammingWorks/AsyncContextTracking
93+
- ⭐ Проектирование API и проверка контрактов в рантайме
94+
- ✨ Контрактное программирование: https://youtu.be/K5_kSUvbGEQ
95+
- 💻 Примеры кода: https://github.com/HowProgrammingWorks/Contract
96+
- ⭐ Вынесение подсистем как отдельных микросервисов
97+
-`Performance hooks`, телеметрия ресурсов и оптимизация: I/O bound, CPU bound, memory bound, профилирование
98+
-`Serverless` и облачные `FaaS` решения на базе Node.js
99+
- ✨ Serverless Clouds (FaaS) и изоляция контекстов запросов в Node.js: https://youtu.be/x-Rd6fPV6L8
100+
- 🔗 Слайды: https://www.slideshare.net/tshemsedinov/serverless-clouds-faas-and-request-context-isolation-in-nodejs
101+
- ⭐ Приложения, приближенные к реальному времени, Websocket, интерактивность и коллаборативные приложения
102+
- 💻 Серверная реализация
103+
- 💻 Клиентская реализация на C++ для Node.js 21
104+
- 💻 Интерактивность и коллоборативные приложения
105+
- ⭐ Распределенные системы, высоконагруженные системы, балансировка нагрузки, кластеризация и масштабирование, IP sticky
106+
- ✨ Доклад по высоконагруженным системам: https://youtu.be/7tfZDABPvVs
107+
- ✨ HTTP сервер на Node.js (routing, cluster, IP sticky): https://youtu.be/7Ufxj0oTaUo
108+
- 💻 Примеры серверов: https://github.com/HowProgrammingWorks/NodeServer
109+
- ⭐ Изоляция кода и данных в Node.js: `vm`, `v8`, защита `global`, контекстов, модулей и прототипов от патчинга
110+
- ⭐ Структура и архитектура проекта, слои, `DDD`, `Clean architecture`, связанность и связность кода, протекание абстракций
111+
- ⭐ Реализация HTTP Proxy
112+
- 📢 [Разбор примеров кода Timur Sevimli](https://youtu.be/4yF6hlxiIic)
113+
- 💻 Примеры кода из видео: https://github.com/HowProgrammingWorks/ProxyHTTP
114+
- ⭐ Сборка Node.js приложений в single executable
115+
- ⭐ Автоматическая перезагрузка процессов с --watch
116+
- ⭐ Обзор Web API портированнного в Node.js: Web Crypro, Web Streams, Intl
117+
- ⭐ Встроенная система Permissions для ограничения доступа к файловой системе, сети, другим API
118+
119+
План курса формируется. Тут появится еще много тем в ближайшее время.
120+
121+
# Доступ
122+
123+
🎫 Регистрация: Следите за новостями, когда откроется регистрация, на курс можно будет подписаться тут https://www.patreon.com/tshemsedinov
124+
125+
👉 Подписывайтесь на https://t.me/metarhia и https://www.youtube.com/@TimurShemsedinov чтобы следить за новостями.

0 commit comments

Comments
 (0)