10 курсов от СЕО «Хекслет» по JavaScript для опытных разработчиков
Глава школы программирования «Хекслет» Кирилл Мокевнин опубликовал в Twitter тред с подборкой полезных курсов по JavaScript для опытных разработчиков. Рассказываем, кому и зачем они пригодятся.
Трек «Тестирование в JS»
Трек — это набор курсов по определенной теме для повышения квалификации и развития инженерного мышления. Треки подходят как для разработчиков с опытом, так и для новичков в качестве задания «со звёздочкой».
На занятиях вы изучите основы автоматизированного тестирования, познакомитесь с подходами и принципами написания тестов, напишете свои первые юнит и функциональные тесты, освоите работу с асинхронным кодом, таймерами и ошибками, а также настроите непрерывную интеграцию и измерите покрытие кода тестами.
Трек «СИКП на JS»
В основе трека лежит книга Харольда Абельсона и Джеральда Сассмана «Структура и интерпретация компьютерных программ», выпущенная издательством Массачусетского технологического института в далеком 1985 году. Программа включает 47 текстовых уроков, 70 упражнений в тренажере и 240 проверочных тестов.
Курс «JS: Разработка абстракций для асинхронности»
Асинхронное программирование — особенно на колбеках — это целое искусство. Но для упрощения кодинга существуют специальные библиотеки с полезными функциями — их вы сможете освоить в процессе работы над собственной абстракцией.
Курс «JS: Объектно-ориентированный дизайн»
На этом курсе вы рассмотрите базовые принципы дизайна ОО-кода и познакомитесь с популярными ООП-библиотеками. Кроме того, вы узнаете, как правильно писать и структурировать код в классовых языках, конфигурировать его в зависимости от задачи, а также создавать удобные интерфейсы объектов для своей предметной области.
Курс «JS: Полиморфизм»
Полиморфизм (подтипов) — главная отличительная черта современного ООП. Он помогает значительно уменьшить количество условных конструкций и сделать код расширяемым. Это большая и глубокая тема, требующая серьезной подготовки. Например, нужно разобраться в шаблонах проектирования и принципах SOLID, которые пригодятся каждому JavaScript-разработчику. Вы научитесь понимать разницу между разными видами полиморфизма, а также распознавать и применять шаблоны проектирования, такие как стратегия, фабрика, состояние, декоратор и нулл-объект.
Курс «JS: Погружаясь в классы»
Наследование — одна из самых сложных концепций в объектно-ориентированном программировании. Это не только новые синтаксические конструкции, но и особый способ структурирования кода. Говоря о наследовании, нужно понимать его ограничения и применять принцип там, где он наиболее уместен. Курс также разбирает абстрактные классы, принцип подстановки Лисков, паттерн «шаблонный метод» и многое другое.
Курс «JS: Обработка ошибок»
Этот курс посвящён обработке ошибок в программах на JavaScript. Рассматриваются такие темы, как коды возврата и исключения. В течение курса идёт работа над собственной файловой системой в памяти.
Курс «JS: Архитектура фронтенда»
Несмотря на обилие различных фреймворков и способов разработки фронтенд приложений, существуют фундаментальные принципы, которые используются повсеместно и практически не меняются. Они касаются разбиения приложения на слои (например, MVC), выделения состояния и его организации, работы с текстами, контроля данных форм. Этот курс рассказывает о том, как строить архитектуру приложения без привязки к конкретным решениям и их особенностям.
На курсе вы научитесь, создавать модульные и легко расширяемые фронтенд-приложения, правильно разделять их на слои и структурировать, а еще использовать теорию автоматов для описания происходящих в коде процессов.
Курс «JS: Прототипы»
Этот курс посвящён реализации объектно-ориентированного программирования в JavaScript — прототипам. Он включает 10 уроков (видео и/или текст), 10 упражнений в тренажере и 35 проверочных тестов.
Курс «JS: Предметно-ориентированное проектирование»
Курс посвящен процессу создания программных абстракций — моделей предметных областей. На примере онлайн-системы для продажи билетов в кинотеатр вы рассмотрите выделение правильных сущностей и нахождение связей между ними, а также инверсии контроля, принципе инверсии зависимостей и конечных автоматах. А также научитесь использовать ПО-дизайн в своей повседневной практике и правильно строить архитектуру сложных бизнес-приложений, разделяя код на слои в соответствии с шаблоном Service Layer.
Читать на dev.by