spinner-it

Курс JavaScript (продвинутый)

Старт обучения
Дату уточните у администрации
30 час. по 2-3 раза в неделю

Описание курса

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

В ходе обучения мы познакомимся с основоположными аспектами объектно-ориентированного программирования, работе с событиями, протоколом HTTP и прочими важными концепциями. Также будет очень много практики, а именно: разработка 8 приложений и решение задач, способствующих успешному прохождению собеседования.

После курса вы сможете:

  • Использовать прототипно-ориентированную модель программирования
  • Понимать логику работы клиент-серверной архитектуры в контексте написания реальных приложений
  • Управлять DOM через использование JavaScript
  • Работать с локальными хранилищами данных
Смотреть работы выпускников

Программа курса:


1. Прототипное наследование

  • Прототип объекта
  • Свойство prototype
  • Встроенные классы
  • Функция - конструктор
  • Наследование классов
  • Внутреннее устройство метода 'extend' и полифилл 'Object.create'
  • Функциональное наследование

2. ООП

  • Общая информация про ООП
  • Инкапсуляция
  • Полиморфизм
  • Наследование
  • Абстракция данных
  • Понятие 'класс'

3. Контекст вызова и замыкания

  • Работа с 'this' (4 способа использования)
  • Использование 'call', 'apply'
  • Работа с 'bind', карринг и полифилл
  • Дескрипторы, геттеры и сеттеры свойств
  • Шаблон проектирования 'Singletone' через замыкание
  • Сборщик мусора

4. Глобальный объект Window и работа с DOM

  • Общая информация про 'window', 'navigator', 'document', 'location', 'history'
  • Навигация по DOM элементам
  • Свойства узлов
  • Добавление и удаление узлов
  • Работа со стилями
  • Работа с координатами

5. События

  • Введение в браузерные события
  • Порядок обработки событий (Event Loop)
  • Асинхронные события
  • Работа с SetTimeout/ SetInterval
  • Всплытие и перехват
  • Делегирование событий
  • События с использованием мыши, клавиатуры и прокрутка
  • Загрузка документа

6. Работа с системой контроля версий


7. Формирование страницы в браузере

  • Формирование DOM пошагово
  • Формирование Render Tree
  • Порядок формирования CSSOM
  • Оптимизация, минификация, работа с Http Cache.

8. Способы хранения данных в браузере

  • Cookies
  • Localstorage/Sessionstorage
  • IndexedDB
  • Manifest
  • ServiceWorker
  • Progressive Web Application

9. HTTP

  • Введение в Http протокол
  • Преимущества и недостатки протокола
  • Работа с AJAX
  • Общая информация про RESTful API
  • JSON
  • CORS
  • Работа с WebSocket
  • Протокол JSONP

Минимальные требования:

  • Наличие собственного ноутбука для занятий в аудиториях
  • Знание основ HTML
  • Знание основ JavaScript

Для прохождения курса вам понадобится:

 

1. Google Chrome — браузер, в котором мы будем работать в течение курса. Скачать можно здесь

 

2. Visual Studio Code — интегрированная среда разработки для удобной работы над кодом. Скачать можно по ссылке

 

3. GitHub. Ресурс, на котором удобно хранить код, работая над ним, размещать примеры своих проектов. Здесь же будут находиться ваши домашние работы и материалы уроков. Регистрация по ссылке

 

4. Git. Программа позволяет хранить ваш код локально и на сайте, а также управлять им. Регистрация по ссылке

 

Дополнительно:

 

1. Google Translator. Поможет быстро перевести нужный текст. Скачать можно по ссылке

 

2. FreeCodeCamp. Здесь найдете дополнительные задачи для лучшего усвоения материала уроков. Регистрация по ссылке

 

3. CodeWars. На сайте найдете задачи по JS и другим языкам — отличный сервис для прокачки навыков. Чтобы зарегистрироваться, нужно решить задачу


Лекторы:

1. Егор Маркевич (JavaScript Developer)

 

2. Иван Ничепорук (Software Engineer)


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