Robot
Складчик
- #1
[НТМL Academy] JavaScript. Профессиональная разработка веб-интерфейсов. Октябрь 2023
- Ссылка на картинку
На этом курсе вы научитесь делать настоящие проекты, такие же по уровню сложности, как в индустрии.
И будете делать их правильно, чтобы после обучения выдавать результат высокого уровня, за который компании готовы платить.
Программа:
Раздел 1
Знакомство c JavaScript
Рассмотрим схему работы на курсе, какие инструменты понадобятся, и как их настроить. Разберём, что представляет собой язык JavaScript, причём здесь спецификация ECMAScript и браузер.
Как проходит курс. Организационные вопросы.
Основные возможности JavaScript
Начнём изучать основные конструкции JavaScript, особенно пристально — функции. Разберём нюансы объявления переменных. Познакомимся с инструментами разработчика.
Переменные.
Приведение типов.
Функции.
Подвешивание (hoisting) переменных и функций.
Знакомство с DevTools (инструментами разработчика).
Практика
Объекты и массивы
Раздел без лайва
Вы самостоятельно познакомитесь со сложными типами данных: массивами и объектами. Научитесь создавать их и управлять ими.
Сложные типы данных.
Массивы.
Колбэки (функции обратного вызова).
Практика
Встроенные объекты и функции
Рассмотрим существующие в самом языке JavaScript объекты и функции. Затронем контекст выполнения this. Запустим и отладим код в консоли инструментов разработчика.
Деструктуризация.
spread-синтаксис.
Встроенные объекты и их методы.
Встроенные в JavaScript функции.
Контекст функций.
Практика
Организация кода
Разберём понятие областей видимости. Обсудим принцип DRY (не повторяйся) и как им пользоваться для того, чтобы писать меньше кода, и при этом делать больше. Узнаем, что такое модули и как «бить» код на них; что такое точка входа.
Области видимости.
Практика
DOM и события
Раздел без лайва
Вы самостоятельно познакомитесь с объектной моделью документа (англ. Document Object Model или DOM). Рассмотрите, как описывать реакции на действия пользователя: ввод текста, нажатие на определённые элементы, прокрутку и прочее.
DOM-дерево.
События на странице.
Манипуляции с DOM
Попробуем создавать, удалять, перемещать и управлять DOM-элементами. С помощью шаблонов отрисуем данные, созданные ранее.
Управление DOM-деревом.
Работа с событиями
Обработаем взаимодействие с пользователем, чтобы страница реагировала на ввод текста в формы, нажатие на определённые элементы, прокрутку и прочее. Рассмотрим, как сделать это взаимодействие доступным.
События.
Валидация форм.
DevTools: возможности Elements (инспектора) для работы с DOM и событиями.
Практика
Внешние API и сторонние библиотеки
Рассмотрим, как не «писать свой велосипед», а переиспользовать чужой опыт и код. Познакомимся с понятием программного интерфейса (англ. Application Programming Interface или API), рассмотрим API сторонних JavaScript-библиотек и JavaScript API картографических сервисов. Кратко рассмотрим API, которые предоставляет разработчикам браузер.
Понятие API.
Картографические сервисы и их JavaScript API.
Практика
Сеть
Раздел без лайва
Вы самостоятельно рассмотрите протокол HTTP, формат данных JSON. Рассмотрите, как меняется взаимодействие пользователя с сайтом при работе с сетью, что может пойти не так.
Протокол HTTP и форматы данных.
Раздел 11
Асинхронность. Работа с сетью
Разберём понятие асинхронности и способы её достижения с помощью промисов (англ. Promise, обещание). Познакомимся с технологиями, которые позволяют делать запросы к серверу из браузера. Рассмотрим, как на практике обработать ошибки при работе с сетью, если что-то пошло не так.
Асинхронность.
Практика
Обратная связь и оптимизация
Оптимизируем работу с данными и событиями на нашем сайте. Реализуем понятную и приятную пользователю обратную связь интерфейса.
Продвинутая работа с массивами.
И будете делать их правильно, чтобы после обучения выдавать результат высокого уровня, за который компании готовы платить.
Программа:
Раздел 1
Знакомство c JavaScript
Рассмотрим схему работы на курсе, какие инструменты понадобятся, и как их настроить. Разберём, что представляет собой язык JavaScript, причём здесь спецификация ECMAScript и браузер.
Как проходит курс. Организационные вопросы.
- Схема работы на курсе.
- Обзор проектов.
- Критерии качества.
- Спецификация ECMAScript.
- Что даёт JavaScript'у браузер.
- Базовый синтаксис: круглые и фигурные скобки, операторы, зарезервированные слова, комментарии.
- Основные строительные блоки — переменные и функции.
- Примитивы и сложные типы данных.
- Редакторы кода.
- Линтеры.
- Сервер для разработки.
- Настройка рабочих инструментов.
- Создание репозитория, форк, клонирование.
- Создание ветки, коммита, синхронизация репозиториев.
- Создание пулреквеста на Гитхабе.
- Тренажёры.
Основные возможности JavaScript
Начнём изучать основные конструкции JavaScript, особенно пристально — функции. Разберём нюансы объявления переменных. Познакомимся с инструментами разработчика.
Переменные.
- Области видимости.
- Тернарный оператор.
- Оператор множественного выбора switch.
Приведение типов.
Функции.
- Стрелочные функции.
- Параметры функций по умолчанию.
Подвешивание (hoisting) переменных и функций.
Знакомство с DevTools (инструментами разработчика).
Практика
- Работа с техзаданием: превращение требований в код.
- Написание вспомогательных функций.
- Тренажёры.
Объекты и массивы
Раздел без лайва
Вы самостоятельно познакомитесь со сложными типами данных: массивами и объектами. Научитесь создавать их и управлять ими.
Сложные типы данных.
Массивы.
- Основные методы массивов.
Колбэки (функции обратного вызова).
Практика
- Тренажёры.
Встроенные объекты и функции
Рассмотрим существующие в самом языке JavaScript объекты и функции. Затронем контекст выполнения this. Запустим и отладим код в консоли инструментов разработчика.
Деструктуризация.
spread-синтаксис.
Встроенные объекты и их методы.
- String.
- Number.
- Boolean.
- Date.
- Math.
Встроенные в JavaScript функции.
Контекст функций.
- Ключевое слово this.
- Потеря окружения.
Практика
- Разработка структур данных проекта.
- Генерация временных данных для разработки проекта.
Организация кода
Разберём понятие областей видимости. Обсудим принцип DRY (не повторяйся) и как им пользоваться для того, чтобы писать меньше кода, и при этом делать больше. Узнаем, что такое модули и как «бить» код на них; что такое точка входа.
Области видимости.
- Глобальная область видимости window.
- Замыкания.
- Повторное использование кода, принцип DRY.
- Понятие модуля.
- Точка входа.
- Модули ECMAScript, синтаксис import и export.
Практика
- Разделение кода на модули.
- Соблюдение принципа DRY и выделение повторяющихся частей кода в функции.
- Перенос функций, повторяющихся в разных файлах, в отдельные модули.
DOM и события
Раздел без лайва
Вы самостоятельно познакомитесь с объектной моделью документа (англ. Document Object Model или DOM). Рассмотрите, как описывать реакции на действия пользователя: ввод текста, нажатие на определённые элементы, прокрутку и прочее.
DOM-дерево.
- document — корень всего.
- Структура DOM-дерева.
- Поиск элементов на странице.
- Управление атрибутами элементов.
События на странице.
- Обработчики событий.
- Тренажёры.
Манипуляции с DOM
Попробуем создавать, удалять, перемещать и управлять DOM-элементами. С помощью шаблонов отрисуем данные, созданные ранее.
Управление DOM-деревом.
- Управление атрибутами DOM-элементов.
- Перемещение элементов в DOM-дереве.
- Создание DOM-объектов.
- Управление разметкой: append, prepend, insertAdjacentHTML, innerHTML, textContent.
- Строковая шаблонизация (шаблонные строки).
- Специальный тег <template>.
- Генерация DOM-элементов по шаблону и наполнение их данными.
- Тренажёры.
Работа с событиями
Обработаем взаимодействие с пользователем, чтобы страница реагировала на ввод текста в формы, нажатие на определённые элементы, прокрутку и прочее. Рассмотрим, как сделать это взаимодействие доступным.
События.
- Объект Event, управление событиями: preventDefault и stopPropagation.
- Фазы событий и делегирование.
- Клавиатурные события и доступность.
Валидация форм.
- Pristine — библиотека для валидации форм.
DevTools: возможности Elements (инспектора) для работы с DOM и событиями.
Практика
- Обработка пользовательской реакции.
- Работа с доступностью.
- Валидация форм.
- Тренажёры.
Внешние API и сторонние библиотеки
Рассмотрим, как не «писать свой велосипед», а переиспользовать чужой опыт и код. Познакомимся с понятием программного интерфейса (англ. Application Programming Interface или API), рассмотрим API сторонних JavaScript-библиотек и JavaScript API картографических сервисов. Кратко рассмотрим API, которые предоставляет разработчикам браузер.
Понятие API.
Картографические сервисы и их JavaScript API.
- OpenStreetMap.
- Leaflet.
- Зачем нужны библиотеки.
- Как подключить в проект.
- noUiSlider.
Практика
- Использование в проекте API карт.
- Подключение в проект сторонних библиотек.
Сеть
Раздел без лайва
Вы самостоятельно рассмотрите протокол HTTP, формат данных JSON. Рассмотрите, как меняется взаимодействие пользователя с сайтом при работе с сетью, что может пойти не так.
Протокол HTTP и форматы данных.
- JSON.
- try...catch.
Раздел 11
Асинхронность. Работа с сетью
Разберём понятие асинхронности и способы её достижения с помощью промисов (англ. Promise, обещание). Познакомимся с технологиями, которые позволяют делать запросы к серверу из браузера. Рассмотрим, как на практике обработать ошибки при работе с сетью, если что-то пошло не так.
Асинхронность.
- setTimeout и setInterval.
- Promise.
- fetch для обращения к серверу.
- Обработка ошибок в запросах.
Практика
- Загрузка данных для шаблонов из интернета.
- Добавление реакции на ошибки загрузки.
Обратная связь и оптимизация
Оптимизируем работу с данными и событиями на нашем сайте. Реализуем понятную и приятную пользователю обратную связь интерфейса.
Продвинутая работа с массивами.
- Сортировка.
- Фильтрация.
- Пропуск кадров — тротлинг (throttle).
- Устранение дребезга — дебаунс (debounce).
- URL.createObjectURL().
- FileReader.
Зарегистрируйтесь
, чтобы посмотреть скрытый авторский контент.