Навык приходит с практикой

Меньше сомнений.
Больше кода.

Задачи на конкретные навыки.
Пиши решение, проверяй примеры, получай XP.

Статус
JavaScript

Как выполняется JavaScript

Отделяйте возможности языка от API браузера и Node.js.

Не начата
+50 XP
JavaScript

Значения и переменные

Различайте const и let, работайте с числами и шаблонными строками.

Не начата
+50 XP
JavaScript

Числа, операторы и точность

Освойте арифметику, преобразования, NaN и расчёты в целых копейках.

Не начата
+50 XP
JavaScript

Строки и Unicode

Научитесь преобразовывать текст, учитывать Unicode и не изменять исходные строки.

Не начата
+50 XP
JavaScript

Условия и сравнения

Стройте ветвления и различайте строгое равенство и приведение типов.

Не начата
+50 XP
JavaScript

Циклы и перебор данных

Стройте завершающиеся циклы и выбирайте правильный способ перебора.

Не начата
+50 XP
JavaScript

Функции и область видимости

Передавайте аргументы, возвращайте значения и используйте замыкания.

Не начата
+50 XP
JavaScript

Массивы и преобразования

Используйте map, filter и reduce для обработки коллекций.

Не начата
+50 XP
JavaScript

Объекты и деструктуризация

Читайте свойства, копируйте объекты и применяйте optional chaining.

Не начата
+50 XP
JavaScript

Map и Set

Убирайте дубликаты и разделяйте код на модули с явными зависимостями.

Не начата
+50 XP
JavaScript

Замыкания и this

Разберите лексическое окружение, независимые замыкания и привязку this.

Не начата
+50 XP
JavaScript

Прототипы и классы

Поймите прототипную цепочку, методы классов и границы инкапсуляции.

Не начата
+50 XP
JavaScriptNode.js

Модули и организация проекта

Освойте import/export, CommonJS, разрешение путей и публичные границы модулей.

Не начата
+50 XP
JavaScript

Ошибки и надёжный JSON

Обрабатывайте исключения и отделяйте некорректные данные от корректных.

Не начата
+50 XP
JavaScript

Промисы и async/await

Пишите асинхронные функции и запускайте независимые операции вместе.

Не начата
+50 XP
JavaScript

Event loop и конкурентность

Проследите стек вызовов, задачи, микрозадачи и порядок асинхронных действий.

Не начата
+50 XP
JavaScriptNode.js

DOM и построение интерфейса

Стройте DOM-деревья, безопасно вставляйте текст и обновляйте интерфейс.

Не начата
+50 XP
JavaScript

События и формы

Обрабатывайте события, формы и делегирование без дублирования обработчиков.

Не начата
+50 XP
JavaScript

Fetch, HTTP и отмена запросов

Разделяйте сетевой сбой, HTTP-ошибку, разбор ответа и отмену операции.

Не начата
+50 XP
JavaScript

Хранение состояния в браузере

Храните и восстанавливайте состояние с версией формата и обработкой повреждённых данных.

Не начата
+50 XP
JavaScript

Даты и регулярные выражения

Работайте с датами, часовыми поясами и проверяйте строки регулярными выражениями.

Не начата
+50 XP
JavaScript

Тестирование и итоговый проект

Пишите проверки поведения, различайте уровни тестов и соберите итоговый проект.

Не начата
+50 XP
TypeScript

Типы и вывод TypeScript

Добавляйте статические контракты без потери вывода типов.

Не начата
+50 XP
TypeScript

Union и сужение типов

Обрабатывайте несколько типов безопасными ветвлениями.

Не начата
+50 XP
TypeScript

Интерфейсы и optional-свойства

Описывайте форму объектов и значения по умолчанию.

Не начата
+50 XP
TypeScript

Типизация функций

Опишите параметры, результаты, callbacks и допустимые формы вызова.

Не начата
+50 XP
TypeScript

Массивы, кортежи и литералы

Различайте произвольный массив, кортеж, readonly и литеральные ограничения.

Не начата
+50 XP
TypeScript

Обобщённые функции

Сохраняйте связь между типом входа и результата.

Не начата
+50 XP
TypeScript

keyof и индексный доступ

Свяжите ключ объекта с типом его значения без потери информации.

Не начата
+50 XP
TypeScript

Utility types и неизменяемость

Используйте Pick, Omit, Partial и Record на границах данных.

Не начата
+50 XP
TypeScript

Mapped и conditional types

Стройте связанные типы с mapped, conditional, infer и шаблонными литералами.

Не начата
+50 XP
TypeScript

unknown и runtime-проверки

Проверяйте неизвестные данные до использования.

Не начата
+50 XP
TypeScript

Классы и структурная совместимость

Сравните контракты экземпляров, implements, модификаторы доступа и runtime-поля.

Не начата
+50 XP
TypeScriptNode.js

Модули, tsconfig и сборка

Настройте strict-проверку, модули, декларации и разделение типов и значений.

Не начата
+50 XP
ExpressNode.js

Node.js, HTTP и первый сервер

Разберите HTTP-запрос и ответ и создайте Express-приложение без смешивания с запуском порта.

Не начата
+50 XP
ExpressNode.js

Маршруты Express

Создайте HTTP-маршрут и верните JSON-ответ.

Не начата
+50 XP
ExpressNode.js

Порядок middleware

Подготовьте данные перед обработчиком и передайте управление.

Не начата
+50 XP
ExpressNode.js

Router и параметры

Собирайте маршруты в модули и валидируйте параметры пути.

Не начата
+50 XP
ExpressNode.js

Query, пагинация и фильтры

Проверяйте query-параметры как недоверенные данные и стройте предсказуемую пагинацию.

Не начата
+50 XP
ExpressNode.js

Валидация HTTP-ввода

Проверяйте req.body и возвращайте корректные статусы.

Не начата
+50 XP
ExpressNode.js

REST и CRUD-ресурсы

Согласуйте методы HTTP, статусы, идентификаторы и жизненный цикл REST-ресурса.

Не начата
+50 XP
ExpressNode.js

Обработка ошибок Express

Направляйте ошибки в централизованный обработчик.

Не начата
+50 XP
ExpressNode.js

Асинхронные обработчики Express 5

Используйте Promise-ошибки Express 5 и корректно связывайте асинхронную работу с запросом.

Не начата
+50 XP
ExpressNode.js

Слои и зависимости API

Отделите HTTP, сценарий и хранилище; передавайте зависимости явно.

Не начата
+50 XP
ExpressNode.js

Сессии, права и безопасный ввод

Разделите идентификацию, проверку прав, ограничения ввода и защиту cookie-запросов.

Не начата
+50 XP
ExpressNode.js

Интеграционные тесты API

Проверяйте HTTP-контракт Supertest, изоляцию состояния и отрицательные сценарии.

Не начата
+50 XP
NestJSNode.js

CLI и первый проект NestJS

Создайте проект CLI и проследите запуск Nest-приложения до HTTP-ответа.

Не начата
+50 XP
NestJSNode.js

Модули NestJS

Собирайте возможности приложения в связанные feature-модули.

Не начата
+50 XP
NestJSNode.js

Dependency Injection

Заменяйте конкретные реализации через токены провайдеров.

Не начата
+50 XP
NestJSNode.js

Контроллеры и сервисы

Разделяйте HTTP-представление и сценарии приложения.

Не начата
+50 XP
NestJSNode.js

DTO и ValidationPipe

Проверяйте входные DTO во время исполнения.

Не начата
+50 XP
NestJSNode.js

Преобразование параметров и pipes

Преобразуйте и проверяйте параметры до вызова сценария.

Не начата
+50 XP
NestJSNode.js

Guards и авторизация

Проверяйте права до выполнения обработчика.

Не начата
+50 XP
NestJSNode.js

Метаданные и свои декораторы

Свяжите метаданные маршрута с Reflector и проверкой доступа.

Не начата
+50 XP
NestJSNode.js

Interceptors и RxJS

Оборачивайте обработку запроса и преобразуйте Observable результата.

Не начата
+50 XP
NestJSNode.js

Исключения и filters

Преобразуйте исключения в единый безопасный HTTP-контракт.

Не начата
+50 XP
NestJSNode.js

Конфигурация и окружения

Проверяйте конфигурацию при запуске и внедряйте типизированные настройки.

Не начата
+50 XP
NestJSNode.js

Репозитории, БД и транзакции

Разделите сценарии и хранилище, изучите транзакции и конфликты конкурентных записей.

Не начата
+50 XP
NestJSNode.js

Тесты и подмена зависимостей

Собирайте TestingModule и заменяйте реальные зависимости контролируемыми doubles.

Не начата
+50 XP
NestJSNode.js

Порядок обработки и завершение

Проследите порядок обработки запроса и корректно освобождайте ресурсы приложения.

Не начата
+50 XP

Музыка: Reverie — Scott Buckley · CC BY 4.0