Интенсивный онлайн‑курс
Профессиональный JavaScript,
уровень 2

18 февраля — 21 апреля 2019

Записаться на курс
Профессиональный JavaScript, уровень 2

HTML Academy — стандарт в обучении фронтендеров. Наша задача — готовить полноценных и востребованных специалистов, готовых работать в веб-индустрии.

Как проходит онлайн‑курс

Начальный уровень: средний

Курс предназначен для тех, кто прошёл «Профессиональный JavaScript, уровень 1», или для разработчиков, желающих поднять свои навыки.

Даты интенсива

Интенсив длится девять недель, c 18 февраля по 21 апреля. Каждую неделю проходят две живые лекции, после которых надо выполнять практические задания и работать с наставником.
Программа интенсива

Живые лекции

Живые лекции проходят по понедельникам и четвергам с 19:00 до 21:00 по московскому времени. Преподаватель рассказывает лекцию, а студенты задают вопросы.

Записи лекций

Каждая живая лекция записывается, а записи публикуются на следующий день. Поэтому интенсив можно проходить из любой точки Земли.

Практика

После лекций нужно выполнять практические задания — проходить интерактивные курсы и программировать части учебных проектов. В этом вам будет помогать ваш наставник.

Личный наставник

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

Защита проекта

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

Что даёт курс

После прохождения курса вы будете уверенно создавать современные веб-приложения, а также сможете попробовать себя в качестве наставника на наших курсах.

Информация о средних зарплатах получена на основе исследования SuperJob.

Программа

Внимание! Программа может изменяться и дополняться.

Раздел 1

ECMAScript

Рассмотрим схему работы на интенсиве и узнаем, какие инструменты нам понадобятся. Познакомимся с последними версиями стандартом ECMAScript, разберём какие проблемы он решает и чем отличается от ECMAScript 5.

Организационные вопросы.

  • Обзор проектов.
  • Схема работы на интенсиве.

Новые возможности ECMAScript.

  • Область видимости.
  • Операторы let и const.
  • Строки-шаблоны.
  • Стрелочные функции.
  • Параметры функций по умолчанию.
  • Оператор spread и rest.
  • Деструктуризация.
Практика

Практика

  • Создание репозитория, форк, клонирование.
  • Знакомство с проектом.
Раздел 2

Инфраструктура проектов

Познакомимся с инфраструктурой проектов. Научимся устанавливать и управлять пакетами. Разберёмся со сборщиками модулей: зачем они нужны, как они работают и как их подключить в проект.

Структура JavaScript-проекта

  • Описание проекта.
  • node.js, файл package.json, package-lock.json.
  • Управление проектом, npm.
  • npm-сценарии.
  • Запуск установленных исполняемых модулей.
  • Обновление версий пакетов.
  • Установка зависимостей.
  • Сборка приложения при помощи webpack.
  • Карты кода (source map).
  • Travis.
Практика

Практика

  • Настройка инфраструктуры для работы на интенсиве.
Раздел 3

Модули

Познакомимся с понятием модульности и рассмотрим как устроены модули в последних версиях стандарта ECMAScript.

  • Как работают модули в ES20xx.
  • Циклические зависимости.

Проверка качества кода.

Практика

Практика

  • Подключение в сборку загрузчика модулей.
  • Разделение проекта на модули.
Раздел 4

Тестирование

Узнаем что такое тестирование и как оно помогает в написании хорошего кода. Разберёмся с методиками тестирования: TLD, TDD и BDD. Рассмотрим инструменты для тестирования кода и попробуем их подключить в проект.

Виды тестов.

  • Unit-тесты.
  • Интеграционные тесты.
  • Функциональные тесты.

Инфраструктура для написания тестов.

  • Инструментарий для тестирования (Karma, Mocha).
  • Способы проверить код.
Практика

Практика

  • Написание тестов для уже существующего кода.
  • Разработка новых функций с помощью подхода TDD.
Раздел 5

Введение в объекты

Познакомимся с объектами в JavaScript. Научимся создавать, копировать и применять объекты для решения практических задач. Поговорим про типизацию и разберёмся с магическим контекстом.

Объекты JavaScript.

  • Функции и объекты.
  • Способы создания объектов.
  • Свойства и методы.
  • Динамические имена свойств.
  • Геттеры и сеттеры.
  • Копирование объектов.
  • Конфигурирование объектов.
  • Proxy.

Иммутабельность.

Новые коллекции.

  • Map.
  • Set.
  • WeakMap.
  • WeakSet.

Контекст.

  • Контекст.
  • Потеря и привязка контекста (apply, bind, call).
  • Контекст стрелочных функций.

Компонентный подход.

  • Объектно-ориентированное программирование.
  • Какие проблемы решает.
  • Особенности ООП в JavaScript.
  • Классы, типы в JavaScript.
  • Инкапсуляция.
  • Интерфейсы.
Практика

Практика

  • Обновление кода с учётом новых знаний об объектах.
  • Применение объектно-ориентированного подхода.
Раздел 6

ООП

Продолжаем знакомиться с ООП в JavaScript. Разберём три столпа ООП (инкапсуляция, полиморфизм, наследование). Попрактикуемся в написании компонент многоразового использования.

ООП.

  • Полиморфизм.
  • Наследование и цепочка прототипов.
  • Практика решения задачи.

Связывание компонент.

Практика

Практика

  • Углубление в ООП. Применение на практике инкапсуляции, наследования и полиморфизма.
  • Рефакторинг модулей.
Раздел 7

Работа с сетью

Узнаем как работает протокол HTTP, что такое REST и REST API. Разберёмся с объектом Promise и узнаем как он помогает отправлять и обрабатывать HTTP-запросы. Разберём, как проектировать интерфейсы, в которых есть асинхронный код так, чтобы пользователю было удобно.

Протокол HTTP.

REST.

Fetch API.

Промисы.

  • Функции обратного вызова (callback).
  • Ад из функций обратного вызова и как его избежать.
  • Promise.

Offline.

Практика

Практика

  • Получение данных для отрисовки приложения с внешнего сервера.
  • Отправка данных на внешний сервер.
  • Offline-режим.
Раздел 8

Делегирование. Работа с событиями

Подробней поговорим про событийную модель в JavaScript. Вспомним и закрепим на практике делегирование. Познакомимся с кастомными событиями и научимся применять мощнейший инструмент для манипуляции со строками — регулярные выражения.

События в JavaScript.

  • Асинхронность. Event loop и все-все.
  • Делегирование.
  • Кастомные события.

Локальные хранилища.

  • cookies.
  • local storage.
  • session storage.
  • indexedDB.

Регулярные выражения.

  • Регулярные выражения.
  • Шаблоны.
  • Метасимволы.
  • Группировки.
  • Поиск и замена в тексте.

Drag and Drop.

Практика

Практика

  • Составление регулярных выражений для сложной фильтрации.
  • Подключение IndexedDB для хранения данных на клиенте.
  • Добавление в проект поддеркжи Drag&drop.
Раздел 9

Библиотеки

Зададим направление для дальнейшего совершенствования навыков программирования. Расскажем какие библиотеки бывают, как их выбирать и когда использовать. На практике рассмотрим наиболее популярные библиотеки для JavaScript.

  • Библиотеки.
  • Как работают библиотеки.
  • Чем библиотеки отличаются от фреймворков.
  • Как выбрать хорошую библиотеку.

Популярные библиотеки.

Практика

Практика

  • Упрощение кода. Подключение готовых библиотек.
Раздел 10

Финал

Подводим итоги интенсива. Что делать дальше.

Сертификат

После курса вы получите сертификат.

Сертификат интенсива «Профессиональный Javascript, уровень 2»

Об Академии

6лет на рынке обучения
67интенсивов проведено
6 984студента закончили курсы

Главная цель интенсивных курсов — готовить профессионалов для IT-индустрии.

Поэтому обучение на интенсивах максимально приближено к рабочему процессу в компаниях: разработка проектов ведётся в Гитхабе, а роль старшего разработчика берёт на себя наставник. Во время курса ученики создают учебный проект и защищают его по критериям качества, которые были составлены совместно с сообществом разработчиков и считаются актуальными на рынке.

18 февраля — 21 апреля 2019

Зарегистрироваться и оплатить
курс «JavaScript, уровень 2»

5 часов работы с личным наставником.

18 февраля — 21 апреля 2019

Зарегистрироваться и оплатить
курс «JavaScript, уровень 2»

Места пока есть

23 500до 20 декабря21 500

Нажимая «Оплатить», вы даёте своё согласие на обработку персональных данных в соответствии с «Политикой конфиденциальности» и соглашаетесь с «Условиями предоставления услуг».

Заполните, пожалуйста, ваши имя и электронную почту для регистрации.

После оплаты курса вам придёт письмо с инструкциями и ссылкой для доступа в интерфейс участника интенсива.

  • У нас есть образовательная лицензия
  • Выдаем сертификаты
  • Можно сделать налоговый вычет
  • Доступ к платным интерактивным курсам на время интенсива