Профессиональный JavaScript для frontend-разработчиков глубокий практический курс без воды

Глубокое погружение в JavaScript. Только для опытных разработчиков, которые хотят хорошо понимать язык, уметь обходить подводные камни. В ходе курса мы напишем собственный реактивный микрофреймворк.
Оффлайн обучение в центре Санкт-Петербурга!

Курс входит в состав профессии Frontend-разработчик.
64
ак. часа
8-10
человек в группе
16
занятий
2 ноября
старт группы
Запишитесь на курс сейчас –
первое занятие уже 2 ноября

Ключевые темы курса

Курс даст глубокое понимание устройства JS, даст ответы на вопросы «как оно работает», «зачем оно нужно», «как правильно использовать».

Теория:

  • Стандарт ECMAScript 8
  • Основы TypeScript
  • Особенности системы типов данных
  • Symbol
  • Прототипы, наследование
  • Особенности ES6-классов
  • Внутренности объектов: defineProperty, freeze
  • Прокси
  • Массивы, objects like arrays, типизированные массивы
  • Итераторы и генераторы
  • Map, WeakMap, Set, WeakSet
  • Функции, замыкания, модули
  • Event Loop, микротаски, особенности выполнения асинхронного кода
  • Промисы (подробно разбираем внутреннее устройство)
  • Async / await
  • Кастомные элементы и Shadow DOM
  • Профилировка и оптимизация кода
  • Node.js и разработка CLI tools
  • Паттерны проектирования: Middleware, Observer, Decorator
Практика:

  • REST API и GraphQL
  • Самостоятельная настройка Gulp, Babel и Webpack
  • Unit-тестирование
  • Разработка компонентов на Vanilla JS
  • Публикация NPM-пакетов
  • Разработка реактивного микрофреймворка
Сертификат
По итогам ты получишь яркий сертификат!
Маленькие группы
В одной группе не больше 10-ти человек (чаще 7-8), преподаватель уделяет внимание каждому!
Спокойный темп занятий
Материал выдаётся дозировано, программа курса позволяет заниматься в комфортном режиме.
Повторное прохождение бесплатно
Не поняли сложную тему или пропустили урок? Не беда, пройдите бесплатно с другой группой!
Отработка материала
На занятиях очень много практики, в том числе самостоятельных работ.
Дополнительные материалы
После каждого занятия вы получите комплект дополнительных материалов для изучения.
Поддержка вне занятий
В онлайн-чате вы всегда можете задать вопрос и получить поддержку даже вне стен учебного центра.

Кому подойдёт этот курс

  • Junior и Middle JavaScript-разработчикам, которые хотят получить экспертные знания JS
  • Веб-разработчикам, которые хотят разрабатывать Back-end на Node.js
  • Выпускникам нашего курса JavaScript и frontend-разработка

Кому этот курс не подходит

Курс не подойдёт, если ты:

  • Новичок в веб-разработке или вообще не знаком с JavaScript.
  • Хорошо знаешь ES6+, промисы, async / await, сборку с gulp / webpack / babel.
Для желающих освоить разработку веб-приложений у нас есть курс по Vue.js

Подробная программа курса

Для каждого урока есть список теоретических тем и практических упражнений, а также итоги занятия.
Модуль 1

ООП в JavaScript

Занятие 1. Система типов данных

Обсуждаем проблемы типов данных в JS и ключевые концепции

  • Проблемы типизации: null, NaN, undefined
  • Symbol
  • Оператор typeof
  • Хоистинг
  • Нюансы работы в строгом режиме (use strict)
  • Функции и замыкания
  • Контекст, [[scope]], область видимости
  • Замыкания в циклах
  • var vs let vs const

Занятие 2. Функции

Понимаем функции, контекст

  • Объект arguments
  • Оператор rest
  • Значения аргументов по умолчанию (ES5 vs ES6)
  • Функции и функциональные выражения
  • Функции высшего порядка
  • Деструктуризация аргументов
  • Декораторы
  • Мемоизация
  • IIFE
  • Стрелочные функции

 

Занятие 3. Объекты и прототипы

Изучаем внутреннее устройство объектов в JS

  • Цепочки прототипов
  • Механизм наследования
  • Расширение стандартных объектов
  • Цикл for in
  • __proto__
  • Метод hasOwnProperty
  • Object.create
  • Функции-конструкторы
  • Оператор new
  • Построение цепочек прототипов в функциональном стиле
  • Чему равен this?
  • Косвенный вызов функций
  • Подводные камни в instanceof

Занятие 4. Устройство реактивных систем

Разбираем возможности JS по созданию реактивных систем

  • Метод Object.defineProperty
  • Сеттеры и геттеры
  • Прокси-объекты
  • Разработка реактивной модели

Занятие 5. Классы ES2015

Особенности описания прототипов через классы

  • Классы и наследование
  • Приватные члены
  • Статические свойства и методы
  • super
  • Исключения
  • Объект Error
  • Оператор try catch

Занятие 6. Массивы, итераторы и генераторы

Разбираем устройство массивов, итераторов и генераторов

  • Объекты, подобные массивам (псевдомассивы)
  • Итераторы
  • Symbol.iterator
  • Генераторы
  • Map, WeakMap, Set, WeakSet
  • spread для массивов
  • Одалживание метода
  • Типизированные массивы
  • Устройство массивов в движке V8

 

Занятие 7. Шаблоны проектирования в JavaScript

Знакомимся с популярными шаблонами проектирования в JS

  • Observer
  • Event Channel
  • Middleware
  • Factory
  • Decorator
Модуль 2

Node, NPM, Webpack

Занятие 8. NPM и Node.js

Устройство и принципы работы NPM, package.json и основы Node.js

  • Основы Node.js
  • Модули и особенности работы require
  • Структура пакетов в NPM
  • Глобальные пакеты и NPX
  • Публикация собственных пакетов
  • Приватные пакеты

Занятие 9. CLI Tools

Разработка CLI приложений

  • Работа с аргументами командной строки
  • Диалог с пользователем
  • Переменные окружения
  • Практика по разработке CLI

Занятие 10. Gulp, webpack, babel

Применяем инструментарий для транспиляции и сборки скриптов

 

  • Менеджер задач Gulp
  • Модули ES6 import / export
  • Сборка бандлов с Webpack
  • Webpack Merge
  • Загрузчики и плагины для Webpack
  • HTML Webpack Plugin
  • Webpack Dev Server
  • Транспиляция скриптов с babel
  • Core.js
  • eslint
Модуль 3

Асинхронный код

Занятие 11. Event Loop и callback

Устройство Event Loop в V8 и Node

  • Event Loop
  • Микротаски
  • SetTimeout и SetImmediate
  • Очередь коллбеков
  • Управление последовательным и параллельным исполнением коллбэков
  • Хвостовая рекурсия

Занятие 12. Промисы

Учимся управлять асинхронным кодом с помощью промисов

  • Работа с асинхронным кодом
  • Callback-hell
  • Создание промисов
  • Внутреннее устройство промисов
  • Обработка ошибок
  • Цепочки промисов
  • Последовательное исполнение промисов
  • Promise.all
  • Лимитированное параллельное исполнение промисов

Занятие 13. async / await

Используем async / await для упрощения работы с промисами

  • Внутреннее устройство async \ await
  • Имитация async \ await с помощью генераторов
  • Обработка ошибок
  • Параллельное и последовательное исполнение кода
Модуль 4

Практика

Занятие 14. REST API, GraphQL и AJAX

Изучаем взаимодействие с бэкендом по REST, GraphQL и RPC

  • AJAX
  • Протокол HTTP
  • Типы запросов: GET, POST, PUT, DELETE
  • RPC
  • REST
  • GraphQL
  • xmlHttpRequest
  • Fetch
  • Axios
  • CORS
  • Postman

Занятие 15. Unit-тестирование

Пишем модульные тесты и осваиваем E2E-тестирование

  • Основы модульного тестирования
  • Принципы тестирования Front-end приложений
  • Библиотека Mocha.js
  • Библиотека Chai.js
  • E2E тестирование

Занятие 16. TypeScript

Знакомство с языком TypeScript

  • Строгая статическая типизация
  • Интерфейсы
  • Пространства имён и модули
  • Приёмы разработки с TypeScript
  • tsconfig.json
Подробный план занятия
/home/student/module_1/lesson_1>
  • Проблемы типизации: null, NaN, undefined
  • Symbol
  • Оператор typeof
  • Хоистинг
  • Нюансы работы в строгом режиме (use strict)
  • Функции и замыкания
  • Контекст, [[scope]], область видимости
  • Замыкания в циклах
  • var vs let vs const

Сколько стоит прохождение курса?

Максимальный
  • Очное прохождение курса
  • Рабочее место за нашим ноутбуком (по желанию)
  • Учебные материалы
  • Онлайн-чат с преподавателем
  • Лицензионная копия программ JetBrains
  • Проверка домашних заданий и code-review
  • Help-day по средам
  • Гарантия трудоустройства (при освоении профессии)
  • 2 индивидуальных занятия с преподавателем
  • Дополнительные индивидуально подобранные задания
  • Возможность работать над личным проектом с помощью преподавателя
39 000 руб.
Стоимость за весь курс
Оптимальный
  • Очное прохождение курса
  • Рабочее место за нашим ноутбуком (по желанию)
  • Учебные материалы
  • Онлайн-чат с преподавателем
  • Лицензионная копия программ JetBrains
  • Проверка домашних заданий и code-review
  • Help-day по средам
  • Гарантия трудоустройства (при освоении профессии)
  • 2 индивидуальных занятия с преподавателем
  • Дополнительные индивидуально подобранные задания
  • Возможность работать над личным проектом с помощью преподавателя
33 900 руб.
Стоимость за весь курс
Стартовый
  • Очное прохождение курса
  • Рабочее место за нашим ноутбуком (по желанию)
  • Учебные материалы
  • Онлайн-чат с преподавателем
  • Лицензионная копия программ JetBrains
  • Проверка домашних заданий и code-review
  • Help-day по средам
  • Гарантия трудоустройства (при освоении профессии)
  • 2 индивидуальных занятия с преподавателем
  • Дополнительные индивидуально подобранные задания
  • Возможность работать над личным проектом с помощью преподавателя
27 900 руб.
Стоимость за весь курс


* Во все тарифы включена услуга «помощь с трудоустройством выпускников»:
  • Помощь с написанием резюме
  • Тестовое собеседование
  • Помощь в поиске вакансии
Мы помогаем с поиском работы
Организуем стажировки
Делимся лайфхаками по прохождению собеседований

Получи персональную скидку!

Узнай окончательную стоимость с учётом персональных скидок

Запишись на курс заранее

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

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

Сделай пост в ВК или в Instagram о том, что идёшь к нам на курсы.

Вместе дешевле! Приходи с друзьями

Приходи на курс с другом или родственником — каждый получит скидку.

Забронируй несколько курсов

На каждый последующий курс предоставляется накопительная скидка!
Оставь заявку, чтобы получить персональную скидку на курс.
Узнай окончательную стоимость с учётом персональной скидки

Расписание занятий

Группа
Расписание
Время занятий
Вечерняя группа по выходным
Начало с 2 ноября
Пн
Вт
Ср
Чт
Пт
Сб
Вс
19:00 — 22:00
Интересует другое расписание?
Узнайте о новых группах и индивидуальных занятиях у администратора по телефону 8 (812) 914-88-40.

Преподаватели

Мы трепетно относимся к нашим преподавателям, приглашаем вести занятия только опытных специалистов-практиков, тренируем и обучаем их, чтобы гарантировать высокое и стабильное качество подачи материала.
Юрий Горин
Юрий Горин
Fullstack Web Developer с 10-летним опытом по профессии, преподаватель с 5-летним стажем, методист

Уже 5 лет мне удаётся совмещать работу программистом с успешной преподавательской деятельностью. За эти годы я обучил и выпустил более 400 человек, многие из которых успешно смогли реализовать себя в IT-индустрии.

В учебном центре «Дверь в АйТи» я занимаюсь разработкой учебных программ, подготовкой преподавателей, а также сам веду занятия, при этом продолжаю работать по специальности.

Основной стек технологий:

  • Node.js / express.js
  • PHP 7+ / Laravel / MySQL
  • JavaScript / ES6+ / Vue.js
  • CSS / SCSS / BEM

На занятиях я всегда стараюсь донести актуальные технологии и знания, но при этом сделать материал простым, понятным и доступным.

https://vk.com/id2005521
Юрий Горин
Роман Ермилов
Team lead front-end developer в компании GrowFood. Опыт разработки коммерческих веб-приложений 10 лет

Разрабатывал ERP систему для завода компании luxottica. Самые известные бренды компании Ray-Ban, Prada, Persol и Oakley. Разрабатывал front-end для международной компании по производству солнечных батарей нового поколения Neosun Energy.

С нуля делал полностью автоматизированные сервисы по аналитике и продаже лайков в Instagram. Очень много закрытых соглашением о неразглашении коммерческих проектов, о которых хочется, но невозможно рассказать (для заказчиков из ОАЭ, России и США)

С 2016 года работаю Team lead front-end developer в компании GrowFood.

Также занимаюсь организацией и проведением мастер-классов по front-end разработке, где мы со студентами погружаемся в профессию и начинаем верстать и разрабатывать приложения с нуля.

Основной стек технологий:

  • JavaScript
  • Vue.js
  • Webpack
  • HTML & CSS
  • SCSS
https://vk.com/ermilov.roman

Спросите преподавателя!

Задайте вопрос преподавателю совершенно бесплатно

Консультация может быть вам полезна, если:

  • Вы уже знаете часть материала и не уверены, подходит ли вам курс
  • Вы не уверены, что у вас хватит базовых знаний для прохождения курса
  • Вы уже изучали что-то самостоятельно, но у вас возникли сложности
Заявка на консультацию
Оставьте заявку на консультацию с преподавателем по телефону или лично в учебном центре

Отзывы наших учеников

Хочу отметить доступность, с которой подается материал
Содержательно, а что самое главное, так это актуальность информации. Также хочу отметить доступность, с которой подается материал — каждый пункт объясняется и резюмируется, поэтому если что-то было не понятно — будет вкратце обговорено еще раз.

Скажу честно, было сложновато учиться из-за работы и тотальной нехватки времени. Много практических заданий, помогающих закрепить и понять материал.
Общение в онлайн-чате и дополнительный материал сильно помогают. В общем — всё отлично!
Клим Бочарников
Хочу поблагодарить за грамотную и последовательную подачу информации
Курс действительно очень полезный, поскольку рассматриваются актуальные и наиболее широко используемые в данный момент приемы верстки, принципы работы с макетами, а также возможные проблемы и способы и решения.

Лично от себя хочу поблагодарить Юрия за грамотную и последовательную подачу информации, умение передать суть того или иного приема или метода, а также за постоянную обратную связь и грамотно подобранные домашние задания, позволяющие на практике самостоятельно отработать и закрепить полученные знания.
Артем Прокопенко
Курс у меня совпал со стажировкой-работой на должности frontend разработчика в своей компании
Впечатления от курса самые прекрасные) Очень важно, когда преподаватель, по-настоящему, хочет научить, всегда готов помочь, делится теоретическими знаниями и практическим опытом, проверенными в собственной работе.

Так как данный курс у меня совпал со стажировкой-работой на должности frontend разработчика в своей компании, кое что сразу смотрела и применяла в работе на практике, кое-что сравнивала, домашние, к сожалению, делать не успевала…((
С нетерпением жду углубленных курсов по JS и PHP, надеюсь будет и по Seo.
Юлия Ичетовкина
Проба реальных проектов создает в голове целостную картину всей разработки
Проходя этот курс я уже работал в этой сфере и могу с уверенностью сказать, конкретно этот курс оказался очень информативным и полезным, он поднимает уровень на новую ступень именно профессиональной верстки. А проба реальных проектов (пусть и учебных, но всё же реальных) создает в голове целостную картину всей разработки. Каждое занятие новый интересный материал, курс пролетел очень быстро!!!
Я обязательно продолжу обучение!
Юрий, огромное спасибо!
Любомир Долгополов

Ответы на частые вопросы

Кто ведёт занятия? Что у вас за преподаватели?

Все наши преподаватели — практикующие специалисты: программисты, веб-разработчики, дизайнеры. Они — профессионалы своего дела, которые готовы поделиться своим опытом и знаниями с начинающими специалистами.

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

Возможны ли индивидуальные занятия по курсу?

Да, у нас есть индивидуальные занятия. Как правило, при общении один на один с преподавателем можно освоить материал гораздо быстрее и эффективнее, чем в группе.

Ты можешь пройти индивидуально как весь курс целиком, так и отдельные интересующие темы.

Узнать подробности об индивидуальных занятиях можно у наших администраторов по телефону 8 (812) 914-88-40.

Что делать, если мне не понравилось у вас?

Если вам что-то не понравилось, обязательно сообщите нашему администратору. Мы будем очень расстроены, но постараемся решить возникшие разногласия. В крайнем случае — вернём деньги согласно условиям договора.

Хватит ли заявленного времени в программе для освоения материала?

Да, программы курсов спланированы и отработаны, поэтому вы точно успеете освоить весь заявленный план курса. Главное: слушайте преподавателя, старайтесь выполнять все домашние работы и изучать дополнительный материал.

Ну, а если что-то вдруг пойдёт не так — мы предлагаем бесплатное повторное прохождение курса.

У вас нет нужного мне курса...

Если нужного вам курса сейчас нет в нашем каталоге, это ещё не означает, что мы не можем вам дать нужные навыки и знания.

Свяжитесь с нашим администратором — мы вместе что-нибудь придумаем.

Мне попадалась реклама более дешевых курсов...

Возможно где-то и дешевле, но у нас вы получите гораздо больше:

  • Занятия ведут опытные преподаватели-практики;
  • Программы курсов всё время обновляются, чтобы соответствовать требованиям работодателей;
  • Вы получаете финансовую гарантию трудоустройства, которая прописана в договоре;
  • Мы помогаем с трудоустройством не на словах, а на деле: с поиском вакансий, с написанием резюме, с подготовкой к собеседованиям;
  • У вас есть возможность безлимитно пожизненно пользоваться консультациями преподавателей в рамках help day (на тарифах Максимальный и Оптимальный).
А можно скидку?

Можно, выбирайте из действующих акций и специальных предложений.

Какой график работы в учебном центре?

Мы работаем семь дней в неделю. По будням — с 13:15 до 22:15, а по выходным с 9:30 до 22:30. Приходите! :)

Будет ли сертификат по окончании курса?

Разумеется, каждый ученик, освоивший всю программу курса, получит красивый сертификат, который с гордостью можно приложить к своему резюме :)