Ежедневно, с 8:30 до 22:30
Предзаказ
1428

JavaScript. Продвинутый уровень

Средняя оценка 5.0 из 5 на основании 1 голосов 5.0 (1)
0 0
0
450 ₽
2999 ₽
-85%
Кэшбэк: 5% (23 ₽)
Курс будет выдан в течение 1-3 часов после оплаты.
Категории:

Продолжите свой путь в мире разработки приложений с курсом «JavaScript Продвинутый уровень». Этот курс предназначен для тех, кто уже овладел основами JavaScript и хочет глубже погрузиться в продвинутые концепции и техники программирования на JavaScript.

Данный курс предлагает множество практических тестовых и классических программных задач, включая те, которые регулярно встречаются на собеседованиях в известных компаниях, таких как Google, Amazon, Apple, Twitter и Microsoft.

Чему вы научитесь:

  • Понимание основных принципов проектирования программного обеспечения.
  • Знание жизненного цикла программного обеспечения и способность разрабатывать программы, учитывая каждый этап этого цикла.
  • Навыки алгоритмизации, включая способы построения и анализа алгоритмов для решения разнообразных задач.
  • Умение разрабатывать и применять алгоритмы сортировки и поиска для эффективной обработки данных.
  • Глубокое понимание работы с объектами в JavaScript, включая создание, манипуляцию и управление свойствами и методами объектов.
  • Знание и практические навыки работы с прототипами объектов, позволяющие создавать иерархии прототипов.
  • Умение создавать и использовать классы, применять принципы объектно-ориентированного программирования и создавать объектные структуры.
  • Практические навыки продвинутой работы с функциями, включая создание и использование анонимных функций, асинхронных функций, замыканий и генераторов.
  • Понимание и применение различных структур данных, таких как массивы, списки, стеки, очереди, деревья и хэш-таблицы, для эффективного хранения и обработки данных.
  • Знание паттернов проектирования и способность выбирать и применять подходящие паттерны для улучшения структуры, расширяемости и поведения программ.
  • Навыки асинхронного программирования, включая использование обратных вызовов, обещаний, асинхронных функций и динамического импорта.
  • Умение работать с модулями в JavaScript, включая импорт и экспорт функций, классов и данных, а также использование инструментов сборки.

Модули курса

Введение.

В этом модуле вы познакомитесь со структурой курса, руководством по стилю написания кода на JavaScript, манифестом по изучению языка программирования JavaScript, инструментами для разработки.

Введение в программирование.

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

Принципы проектирования программного обеспечения.

Этот модуль поможет вам овладеть важными концепциями и принципами проектирования ПО. Вы познакомитесь с такими принципами, как YAGNI (You Aren’t Gonna Need It), KISS (Keep It Simple, Stupid), DRY (Don’t Repeat Yourself), SOLID (Принципы SOLID), BDUF (Big Design Up Front) и Occam’s Razor.

Жизненный цикл программного обеспечения.

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

Алгоритмизация.

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

Алгоритмы сортировки.

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

Алгоритмы поиска.

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

Объекты в JavaScript.

В этом модуле вы освоите объекты в JavaScript от основных концепций до продвинутых методов. Изучите запись и удаление элементов, работу с ключевым словом this, опциональную цепочку, глубокое копирование и деструктуризацию. Познакомьтесь с лаконичными свойствами и методами, дескрипторами свойств и свойствами доступа. Рассмотрите подтипы объектов, характеристики, мутации и их предотвращение.

Практика по работе с объектами.

Этот практически ориентированный модуль предоставит вам реальный опыт работы с объектами в JavaScript. Через серию задач вы примените знания, приобретенные в предыдущих модулях, для создания, манипулирования и управления объектами. Решая практические задачи, вы углубите свое понимание концепций объектов и приобретете навыки, необходимые для эффективной разработки приложений.

Прототипы объектов.

В этом модуле вы разберетесь в сути прототипов объектов в JavaScript. Изучите концепцию прототипного наследования и поймете, как оно обеспечивает экономию памяти и гибкость в разработке. Освоите динамическое обновление прототипов, научитесь создавать иерархии наследования и узнаете, как применять прототипы для достижения модульности.

Практика по работе с прототипами объектов.

В этом модуле вы активно примените знания о прототипах объектов в практике. Через ряд задач и проектных сценариев вы научитесь создавать, наследовать и модифицировать прототипы для эффективной разработки JavaScript-приложений.

Классы.

В этом модуле вы освоите концепцию классов в JavaScript. Изучите определение, инициализацию и создание экземпляров класса. Погрузитесь в работу со свойствами, включая частные и статические варианты. Освоите создание методов, включая частные и статические, а также использование геттеров и сеттеров. Узнаете, как работать с наследованием, обеспечивая эффективную организацию кода.

Практика по работе с классами.

В этом модуле вы примените знания о классах в практике. Через ряд задач вы научитесь создавать классы, инициализировать экземпляры, определять свойства и методы.

Объектно-ориентированное программирование.

В этом модуле вы погрузитесь в основы объектно-ориентированного программирования (ООП). Вы изучите суть ООП и его преимущества, а также научитесь применять ключевые концепции: инкапсуляцию, наследование, полиморфизм и абстракцию. Разберетесь, как организовать код в объектно-ориентированной парадигме.

Продвинутая работа с функциями.

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

Практика по работе с функциями.

В этом модуле вы на практике примените полученные теоретические знания по продвинутой работе с функциями в JavaScript.

Введение в структуры данных.

В этом модуле вы познакомитесь с основами структур данных. Узнаете, что такое структуры данных и почему они играют ключевую роль в разработке программ. Разберетесь, какие выгоды приносит знание структур данных и как они способствуют эффективному управлению и организации информации в ваших приложениях.

Структуры данных.

В этом модуле вы погрузитесь в мир основных структур данных. Изучите массивы, множества, списки, стеки, очереди, деревья и хэш-таблицы. Разберетесь, как эффективно организовать и управлять данными, получите навыки выбора и применения подходящей структуры данных в разнообразных сценариях.

Практика по работе со структурами данных.

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

Введение в паттерны проектирования.

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

Порождающие паттерны проектирования.

В этом модуле вы получите понимание порождающих паттернов проектирования. Изучите паттерны «Одиночка», «Фабрика», «Строитель» и «Прототип».

Структурные паттерны проектирования.

В этом модуле вы углубитесь в изучение структурных паттернов проектирования. Рассмотрите паттерны «Адаптер», «Фасад», «Декоратор», «Мост», «Компоновщик», «Заместитель» и «Легковес».

Поведенческие паттерны проектирования.

В этом модуле вы углубитесь в изучение поведенческих паттернов проектирования. Изучите паттерны «Наблюдатель», «Стратегия», «Состояние», «Цепочка обязанностей», «Команда», «Итератор», «Посредник» и «Снимок». Вы поймете, как эти паттерны помогают организовать взаимодействие и поведение объектов в приложениях.

Асинхронное программирование.

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

Модули.

В этом модуле вы углубитесь в концепцию модульности в JavaScript. Изучите сущность модулей и их важность для организации кода. Рассмотрите CommonJS и ECMAScript модули, понимание хранения состояния, изоляции и независимости. Освоите отложенную инициализацию, правила экспорта и импорта, включая импорт по умолчанию и динамический импорт. Вы познакомитесь с инструментами сборки и методами оптимизации модульной структуры.

Заключение.

В заключение курса JavaScript Продвинутый уровень, вы получите фундаментальные знания и навыки, необходимые для разработки программного обеспечения на языке программирования JavaScript.

Основные цели курса:

  • Задумывая этот курс, я стремился создать не просто учебный материал, а настоящий путеводитель, который поможет вам не только овладеть продвинутыми концепциями языка программирования JavaScript, но и почувствовать уверенность в написании кода, применяя различные концепции в решении задач.
  • Курс предоставляет обширный набор практических заданий, которые помогут вам закрепить полученные теоретические знания. Вы научитесь не только анализировать задачи, но и находить эффективные решения, что способствует развитию вашей уверенности в программировании на JavaScript.
  • Моя цель — показать вам множество областей, в которых JavaScript является ключевым инструментом. Будь то веб-разработка, создание приложений, игр, визуализация данных или другие области, вы поймете, как эффективно использовать язык программирования JavaScript для достижения разнообразных целей.
  • Освоив продвинутые концепции языка программирования JavaScript, позволит вам успешно решать сложные задачи по используя объектно-ориентированное программирование, асинхронное программирование, современные фреймворки и библиотеки.
  • В процессе разработки этого курса, я опирался на свой многолетний опыт в веб разработке и официальную ECMAScript Language Specification, что позволило мне создать курс, соответствующий самым современным стандартам и требованиям индустрии.

Для кого этот курс:

  • IT-специалисты
  • Frontend разработчики
  • Backend разработчики
  • Разработчики игр
  • Мобильным разработчики
  • Тестировщики
Характеристики
Наличие Предзаказ Тип Видео Размещение на сайте 19.08.2023 Артикул 1428

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

1) Введение

  • О Курсе
  • Как успешно решать задачи на программирование?
  • Руководство по стилю написания кода на JavaScript
  • Манифест по изучению языка программирования JavaScript
  • Установка Node.js
  • Установка VSCode

2) Основы программирования

  • Роль языка программирования в создании программного обеспечения
  • Программирование – это не только знание языка программирования
  • Важность развития логического мышления для программиста
  • Качества хорошего разработчика
  • Как не стать code monkey программистом
  • Улучшайте свои фундаментальные знания!
  • Важность теории и практики при изучении программирования.
  • Технический долг

3) Принципы проектирования программного обеспечения

  • Проектирование ПО
  • YAGNI
  • KISS
  • DRY
  • SOLID
  • BDUF
  • Occam's Razor

4) Жизненный цикл программного обеспечения

  • Стадии разработки ПО
  • Анализ и планирование
  • Проектирование
  • Реализация
  • Тестирование и отладка
  • Развертывание и сопровождение

5) Алгоритмизация

  • Думай алгоритмически!
  • Что такое алгоритм?
  • Свойства алгоритмов
  • Виды алгоритмов
  • Схемы алгоритмов
  • Псевдокод алгоритмов
  • Оценка сложности алгоритмов
  • Машина Поста
  • Машина Тьюринга
  • Динамическое программирование

6) Алгоритмы сортировки

  • Пузырьковая сортировка
  • Шейкерная сортировка
  • Сортировка выбором
  • Сортировка вставками
  • Сортировка слиянием
  • Быстрая сортировка

7) Алгоритмы поиска

  • Линейный поиск
  • Бинарный поиск

8) Объекты в JavaScript

  • Основы объектов
  • Объявление переменных объектов
  • Точечная запись
  • Внутренние пространства имён
  • Скобочная запись
  • Запись элементов
  • Удаление элементов
  • Ключевое слово this
  • Опциональная цепочка
  • Распространение
  • Глубокое копирование
  • Деструктуризация
  • Динамическое определение свойств и значений
  • Лаконичные свойства и методы
  • Дескрипторы свойств
  • Свойства доступа
  • Подтипы объектов
  • Характеристики объектов
  • Мутация объектов
  • Опасность мутации объектов
  • Примитивные типы данных иммутабельные
  • Предотвращение мутации объектов

9) Практика по работе с объектами

  • Часть 1 ( ★☆☆ )
  • Часть 2 ( ★★☆ )
  • Часть 3 ( ★★★ )

10) Прототипы объектов

  • Что такое прототипы объектов ?
  • Прототипное наследование
  • Экономия памяти
  • Динамическое обновление
  • Иерархия наследования
  • Гибкость и модульность

11) Практика по работе с прототипами объектов

  • Часть 1 ( ★☆☆ )
  • Часть 2 ( ★★☆ )

12) Классы

  • Что такое Классы?
  • Определение и инициализация
  • Инстанс класса
  • Свойства
  • Частные свойства
  • Статические свойства
  • Частные статические свойства
  • Методы
  • Частные методы
  • Статические методы
  • Геттеры и сеттеры
  • Наследование
  • Проверка типа объекта

13) Практика по работе с классами

  • Часть 1 ( ★★☆ )
  • Часть 2 ( ★★★ )

14) Объектно-ориентированное программирование

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

15) Продвинутая работа с функциями

  • Объект функции
  • Остаточные параметры
  • Динамическое создание функций
  • Методы для работы с функциями
  • Расширение прототипа функций
  • Функции планирования вызовов
  • Рекурсивные функции
  • Колбэк функции
  • IIFE функции
  • Замыкания
  • Генераторы
  • Мемоизация

16) Практика по работе с функциями

  • Часть 1 ( ★☆☆ )

17) Введение в структуры данных

  • Что такое структуры данных?
  • Зачем знать структуры данных?

18) Структуры данных

  • Массив
  • Множество
  • Список
  • Стек
  • Очередь
  • Дерево
  • Хэш-таблица

19) Практика по работе со структурами данных

  • Часть 1 ( ★☆☆ )
  • Часть 2 ( ★☆☆ )
  • Часть 3 ( ★☆☆ )
  • Часть 4 ( ★☆☆ )
  • Часть 5 ( ★★☆ )
  • Часть 6 ( ★★☆ )

20) Введение в паттерны проектирования

  • Что такое паттерн проектирования?
  • История паттернов проектирования
  • Зачем знать паттерны проектирования?
  • Классификация паттернов проектирования

21) Порождающие паттерны проектирования

  • Одиночка
  • Фабрика
  • Строитель
  • Прототип

22) Структурные паттерны проектирования

  • Адаптер
  • Фасад
  • Декоратор
  • Мост
  • Компоновщик
  • Заместитель
  • Легковес

23) Поведенческие паттерны проектирования

  • Наблюдатель
  • Стратегия
  • Состояние
  • Цепочка обязанностей
  • Команда
  • Итератор
  • Посредник
  • Снимок

24) Асинхронное программирование

  • Введение в асинхронное программирование
  • Синхронный код и его проблемы
  • Стек вызовов
  • Цикл событий
  • Обратные вызовы
  • Обещания
  • Асинхронные функции

25) Модули

  • Что такое модуль?
  • CommonJS модули
  • ECMAScript модули
  • Хранение состояния
  • Изоляция и независимость
  • Отложенная инициализация
  • Экспорт до объявления
  • Экспорт отдельно от объявления
  • Импорт *
  • Импорт as
  • Экспорт as
  • Экспорт по умолчанию
  • Реэкспорт
  • Динамические импорт
  • Инструменты сборки

26) Заключение

  • Итоги курса

Об авторах

Фото: Сергей Романенко
0.0
Сергей Романенко
Инженер-программист с 17-летним опытом, автор проекта IT Guru на Stepik. Курсы по JavaScript для начинающих и опытных программистов.

Отзывы и комментарии

Отзывов ещё нет, будьте первыми

Написать отзыв
Нажимая "Отправить" Вы соглашаетесь с правилами публикации и даёте согласие на обработку персональных данных. Администрация не несёт ответственности за содержание отзывов.

Похожие товары:

Постер товара: JavaScript. Базовый уровень
Скидка 82%
Предзаказ
Средняя оценка 0.0 из 5 на основании 0 голосов
JavaScript. Базовый уровень
Основы JavaScript
Постер товара: Современный JavaScript: от новичка до профессионала
Скидка 76%
Предзаказ
Средняя оценка 0.0 из 5 на основании 0 голосов
Современный JavaScript: от новичка до профессионала
JavaScript
Постер товара: JavaScript. Профессиональная разработка веб-интерфейсов
Скидка 87%
Предзаказ
Средняя оценка 5.0 из 5 на основании 1 голосов
JavaScript. Профессиональная разработка веб-интерфейсов
JavaScript
Постер товара: JavaScript Advanced - продвинутые концепции языка и ООП
Скидка 75%
Предзаказ
Средняя оценка 0.0 из 5 на основании 0 голосов
JavaScript Advanced - продвинутые концепции языка и ООП
Продвинутый JavaScript
Постер товара: JavaScript v.2.0
Скидка 85%
Предзаказ
Средняя оценка 0.0 из 5 на основании 0 голосов
JavaScript v.2.0
JavaScript
Постер товара: Полный курс по Javascript (включает 80 задач)
Скидка 78%
Предзаказ
Средняя оценка 0.0 из 5 на основании 0 голосов
Полный курс по Javascript (включает 80 задач)
JavaScript
Постер товара: JavaScript. Стань Senior Frontend разработчиком
Скидка 85%
Предзаказ
Средняя оценка 0.0 из 5 на основании 0 голосов
JavaScript. Стань Senior Frontend разработчиком
JavaScript
Постер товара: Подготовительный курс по JavaScript разработке
Скидка 94%
Предзаказ
Средняя оценка 5.0 из 5 на основании 1 голосов
Подготовительный курс по JavaScript разработке
Основы JavaScript