Содержание курса
1. Вступление и базовая диагностика
3 урока
24
8
0м
0
Открытый
1.1
Что должен знать Middle-разработчик
↗
14
4
-
0
Открытый
1.2
Самодиагностика (тест + задачки)
↗
8
3
-
0
Закрытый
1.3
Как работать с GitHub, Node, DevTools
↗
2
1
-
0
2. Углубление в Core JavaScript (Объекты, Контекст, Функции)
6 уроков
15
8
0м
0
Закрытый
2.1
Объекты и ссылки: тонкости сравнения и мутаций
↗
2
1
-
0
Закрытый
2.2
Контекст выполнения (this) и его привязка (bind, call, apply)
↗
1
1
-
0
Закрытый
2.3
Функции: декларации, выражения, IIFE
↗
1
1
-
0
Закрытый
2.4
Замыкания и лексическое окружение
↗
1
1
-
0
Закрытый
2.5
Hoisting: переменные и функции
↗
1
1
-
0
Открытый
2.6
Практика: реализация функции once, memoize, debounce
↗
9
3
-
0
3. Асинхронность и Event Loop
6 уроков
15
8
0м
0
Закрытый
3.1
Синхронный и асинхронный JS
↗
2
1
-
0
Открытый
3.2
Event Loop, Call Stack, Microtasks/Macrotasks
↗
7
3
-
0
Закрытый
3.3
Промисы: создание, цепочки, catch, finally
↗
2
1
-
0
Закрытый
3.4
Async/Await: синтаксис, обработка ошибок
↗
2
1
-
0
Закрытый
3.5
Параллельные запросы: Promise.all, Promise.race
↗
1
1
-
0
Закрытый
3.6
Практика: симуляция API, цепочки промисов, UI блокировки
↗
1
1
-
0
4. Работа с API и сетью
5 уроков
12
7
0м
0
Открытый
4.1
HTTP-протокол: методы, коды, заголовки
↗
7
3
-
0
Закрытый
4.2
fetch, axios, формы и отправка данных
↗
1
1
-
0
Закрытый
4.3
Отмена запросов с AbortController
↗
1
1
-
0
Закрытый
4.4
Кеширование и стратегия повторов
↗
1
1
-
0
Закрытый
4.5
WebSockets и EventSource (введение)
↗
2
1
-
0
5. Структуры данных и алгоритмы
6 уроков
7
6
0м
0
Закрытый
5.1
Сложность алгоритмов: Big-O
↗
1
1
-
0
Закрытый
5.2
Массивы и методы (reduce, flatMap, sort)
↗
1
1
-
0
Закрытый
5.3
Объекты, Map, Set, WeakMap
↗
1
1
-
0
Закрытый
5.4
Очередь, стек, связный список (на JS)
↗
2
1
-
0
Закрытый
5.5
Поиск, фильтрация, сортировка
↗
1
1
-
0
Закрытый
5.6
Практика: задачи Leetcode-like на JS
↗
1
1
-
0
6. ООП в JavaScript
5 уроков
5
5
0м
0
Закрытый
6.1
Прототипное наследование
↗
1
1
-
0
Закрытый
6.2
Классы: constructor, extends, super
↗
1
1
-
0
Закрытый
6.3
Инкапсуляция: символы, приватные поля
↗
1
1
-
0
Закрытый
6.4
Композиция против наследования
↗
1
1
-
0
Закрытый
6.5
SOLID-принципы в JS
↗
1
1
-
0
7. Функциональное программирование
4 урока
4
4
0м
0
Закрытый
7.1
Чистые функции и иммутабельность
↗
1
1
-
0
Закрытый
7.2
Каррирование, композиция
↗
1
1
-
0
Закрытый
7.3
Паттерны map, filter, reduce на практике
↗
1
1
-
0
Закрытый
7.4
Lodash / Ramda: краткий обзор
↗
1
1
-
0
8. Модули и сборщики
5 уроков
1
0
0м
0
Закрытый
8.1
ESM и CommonJS
↗
1
0
-
0
Закрытый
8.2
Сборка с Webpack
↗
0
0
-
0
Закрытый
8.3
Babel, транспиляция, полифиллы
↗
0
0
-
0
Закрытый
8.4
NPM скрипты и package.json
↗
0
0
-
0
Закрытый
8.5
Разделение кода (Code Splitting)
↗
0
0
-
0
9. Тестирование
5 уроков
4
2
0м
0
Закрытый
9.1
Введение в тестирование
↗
1
1
-
0
Закрытый
9.2
Jest / Vitest / Testing Library
↗
1
1
-
0
Закрытый
9.3
Мока/Чай/Синай
↗
1
0
-
0
Закрытый
9.4
Покрытие кода, snapshot-тесты
↗
1
0
-
0
Закрытый
9.5
TDD (Test Driven Development)
↗
0
0
-
0
10. Паттерны проектирования
4 урока
0
0
0м
0
Закрытый
10.1
Модуль, Фабрика, Синглтон
↗
0
0
-
0
Закрытый
10.2
Паттерны публикации/подписки
↗
0
0
-
0
Закрытый
10.3
Стратегия, Команда, Декоратор
↗
0
0
-
0
Закрытый
10.4
Паттерны фронтенда (MVC, MVVM, Observer)
↗
0
0
-
0
11. Архитектура JS-приложений
4 урока
0
0
0м
0
Закрытый
11.1
Файл-структура проектов
↗
0
0
-
0
Закрытый
11.2
Чистая архитектура и слои
↗
0
0
-
0
Закрытый
11.3
Обработка ошибок и логирование
↗
0
0
-
0
Закрытый
11.4
Работа с глобальным состоянием (вне Redux)
↗
0
0
-
0
12. Безопасность во фронтенде
4 урока
0
0
0м
0
Закрытый
12.1
XSS, CSRF, CORS — теория
↗
0
0
-
0
Закрытый
12.2
Безопасная работа с API
↗
0
0
-
0
Закрытый
12.3
Sanitization и Content Security Policy
↗
0
0
-
0
Закрытый
12.4
Безопасное хранение токенов
↗
0
0
-
0
13. Инструменты разработчика
4 урока
1
0
0м
0
Закрытый
13.1
ESLint и Prettier
↗
0
0
-
0
Закрытый
13.2
Husky, Lint-staged, Git hooks
↗
1
0
-
0
Закрытый
13.3
Source maps, DevTools
↗
0
0
-
0
Закрытый
13.4
Профилирование производительности
↗
0
0
-
0
14. Работа с формами и валидацией
3 урока
0
0
0м
0
Закрытый
14.1
Валидация: ручная и библиотечная (Yup)
↗
0
0
-
0
Закрытый
14.2
Сложные формы: вложенные поля, динамика
↗
0
0
-
0
Закрытый
14.3
UX паттерны для форм
↗
0
0
-
0
15. Навигация и роутинг
3 урока
1
0
0м
0
Закрытый
15.1
history.pushState, location.hash
↗
1
0
-
0
Закрытый
15.2
Создание своего Router-а на JS
↗
0
0
-
0
Закрытый
15.3
Основы SPA-навигации
↗
0
0
-
0
16. TypeScript для JS-разработчиков
3 урока
3
0
0м
0
Закрытый
16.1
Типы, интерфейсы, функции
↗
1
0
-
0
Закрытый
16.2
Работа с DOM и API в TS
↗
1
0
-
0
Закрытый
16.3
Конфигурация и миграция с JS
↗
1
0
-
0