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

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

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

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

Курс даст глубокое понимание устройства 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 руб.
27 300 руб.
Скидка 30% действует до 15 сентября
Оптимальный
  • Очное прохождение курса
  • Рабочее место за нашим ноутбуком (по желанию)
  • Учебные материалы
  • Онлайн-чат с преподавателем
  • Лицензионная копия программ JetBrains
  • Проверка домашних заданий и code-review
  • Help-day по средам
  • Гарантия трудоустройства (при освоении профессии)
  • 2 индивидуальных занятия с преподавателем
  • Дополнительные индивидуально подобранные задания
  • Возможность работать над личным проектом с помощью преподавателя
33 900 руб.
23 700 руб.
Скидка 30% действует до 15 сентября
Стартовый
  • Очное прохождение курса
  • Рабочее место за нашим ноутбуком (по желанию)
  • Учебные материалы
  • Онлайн-чат с преподавателем
  • Лицензионная копия программ JetBrains
  • Проверка домашних заданий и code-review
  • Help-day по средам
  • Гарантия трудоустройства (при освоении профессии)
  • 2 индивидуальных занятия с преподавателем
  • Дополнительные индивидуально подобранные задания
  • Возможность работать над личным проектом с помощью преподавателя
27 900 руб.
19 500 руб.
Скидка 30% действует до 15 сентября


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

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

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

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

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

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

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

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

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

Оплати весь курс целиком

Оплати стоимость курса целиком. Это дешевле.

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

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

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

Группа
Расписание
Время занятий
Вечерняя группа по будням
Начало с 10 сентября
Пн
Вт
Ср
Чт
Пт
Сб
Вс
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. Приходите! :)

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

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