[Purpleschool] JavaScript Advanced. Тариф Без наставника (Антон Ларичев) Продвинутый курс по JavaScript с погружением в ООП, асинхронность, Event Loop, модульность, структуры данных и сборку Этот курс является вторым курсом по JavaScript, который рассматривает уже продвинутые концепции и детально погружается в устройство JS. От вас нужно только базовое знание основ JS и HTML и CSS для финального проекта. Этот курс сфокусирован на том, чтобы донести продвинутые концепции языка, а так же подвести вас к использованию фреймворков, таких, как React, Vue и Angular с пониманием, что происходит под капотом. Ведь все эти знания мы применим на финальном проекте – библиотеки книг. Мы сделаем полноценное SPA приложение с компонентной структурой, реактивностью и сборщиком. В процессе мы даже сделаем свой mini framework с использованием ООП. Вы научитесь Работать с Map и Set, WeekMap и WeekSet Работать с числами, Math и BigInt Работать с интернационализацией чисел и дат через Intl API Работать с таймерами и интервалами Понимать принципы ООП Использовать prototype и ES6 классы Понимать и применять SOLID Писать асинхронный JavaScript Делать запросы на сервер и понимать принцип их работы Понимать как работает Event Loop Создавать и обрабатывать Promise Понимать устройство DOM и его работу Обрабатывать Event и понимать концепции захвата и всплытия Создавать модульные приложения на commonjs и es6 Работать с NPM Настраивать сборку проекта Требования Минимальные требования для прохождения курса: Базовое знание основ JavaScript;Будет плюсом знание HTML и CSS; Спойлер: План курса: Введение Продвинутый JavaScript Как устроен курс Обзор проекта Обзор курсов Курс с наставником. С наставником Настройка окружения Настройка окружения Установка NodeJS Настройки VSCode Настройка проекта Работа с git и GitHub. С наставником Работа с наставником. С наставником Работа с gitflow. С наставником Как передавать на код ревью. С наставником Maps и Sets Структура Set Sets Структура Map Основы работы с Map Быстрое создание Map Итерация по Map Упражнение - swap ключей и значений WeakMap WeakSet Тест - Maps и Sets Домашнее задание - Maps и Sets. С наставником Расчёты и math Конвертация и проверка чисел Библиотека Math Округление Упражнение - Функция случайного числа Оператор остатка от деления Разделитель чисел Работа с BigInt Интернационализация чисел Упражнение - Конвертер валют Тест - Расчёты и math Домашнее задание - Расчёты и math. С наставником Даты и время Создание дат Операции с датами Сравнение дат Упражнение - Проверка на день рождения Интернационализация дат Тест - Даты и время Домашнее задание - Даты и время. С наставником Код ревью домашних заданий. С наставником Таймеры Создание таймеров Таймеры и Event Loop Точность таймеров Работа с интервалами Упражнение - Таймер пиццы Тест - Таймеры Домашнее задание - Таймеры. С наставником Объектно-ориентированное программирование Что такое ООП Реализация ООП в JS Оператор new Prototype Упражнение - Корзина товаров Цепочки prototype Тест - ООП Домашнее задание - ООП. С наставником Классы Классы Setters и getters Static Приватные методы и свойства Упражнение - класс пользователя Object.create Тест - Классы Домашнее задание - Классы. С наставником Код ревью домашних заданий. С наставником Принципы ООП в классах Абстракция и инкапсуляция Наследование Наследование в ES6 Override методов Упражнение - Удар по орку Полиморфизм Паттерн Builder и chaining Тест - Принципы ООП в классах Домашнее задание - Принципы ООП в классах. С наставником SOLID О SOLID Принцип единой ответственности Принцип открытости и закрытости Принцип подстановки Барбары Лисков Принцип разделения интерфейса Принцип инверсии зависимостей Тест - SOLID Домашнее задание - SOLID. С наставником Асинхронный JavaScript Асинхронный код в JS Запросы на сервер Пример работы с Insomnia JSON Получение данных Упражнение - Расчёт цены Проблемы callback Тест - Асинхронный JavaScript Домашнее задание - Асинхронный JavaScript. С наставником Код ревью домашних заданий. С наставником Promises Promises и fetch Обработка promises Цепочка promise Обработка reject Finally Упражнение - Select выбора категорий Ручное создание ошибок Упражнение - Функция запросов Тест - Promises Домашнее задание - Promises. С наставником Event Loop Как работает асинхронность Пример работы Event Loop Создание простого Promise Статические методы Promise Упражнение - создание fetch Тест - Event Loop Домашнее задание - Event Loop. С наставником Современный Асинхронный JavaScript Async await Try catch Упражнение - Мой город Асинхронные методы Последовательность выполнения Параллельное выполнение Другие комбинации Promise Все возможности fetch Упражнение - Генератор активностей Тест - Современный Асинхронный JavaScript Домашнее задание - Современный Асинхронный JavaScript. С наставником Код ревью домашних заданий. С наставником Продвинутый DOM и Events Как работает DOM Работа с элементами Визуальное положение элементов Типы событий и обработчики Всплытие событий Пример всплытия событий Делегирование событий Перемещение по DOM Жизненный цикл событий DOM Упражнение - Поиск по списку Загрузка скриптов defer и async Тест - Продвинутый DOM и Events Домашнее задание - Продвинутый DOM и Events. С наставником Модульность Модули в JavaScript IIFE в модулях Модули commonjs ES6 модули Await на верхнем уровне Процесс сборки Тест - Модульность Домашнее задание - Модульность. С наставником Работа с NPM Обзор NPM Авторизация и профиль Разбор package json Управление зависимостями Тест - Работа с NPM Домашнее задание - Работа с NPM. С наставником Код ревью домашних заданий. С наставником Проект - Библиотека книг Обзор проекта Настройка проекта Конфигурация сборщика View страниц и роутинг State и реактивности Первый компонент Вёрстка шапки Компонент поиска Поиск книг Упражнение - Состояние загрузки Вёрстка карточки Упражнение - Добавление в избранное Упражнение - Избранное Развитие проекта Заключение Сессия 1 на 1 с наставником. С наставником Куда двигаться дальше? Спойлер: Содержание складчины (файлы и папки) 01 Введение 01 Продвинутый JavaScript.mp4 [26m 340k 435] 02 Как устроен курс.mp4 [63m 813k 341] 03 Обзор проекта.mp4 [29m 741k 397] 04 Обзор курсов.mp4 [37m 491k 5] Макет проекта BookApp.fig [11m 904k 269] ссылка.txt [92] Репозиторий ссылка.txt [52] 8-javascript-advanced-1-master .eslintrc.json [250] .gitignore [19] index.html [742] package.json [748] package-lock.json [87k 248] rollup.config.js [224] dist app.js [29k 900] bundle.css [2k 225] src app.js [580] common div-component.js [119] view.js [197] components card card.css [941] card.js [1k 671] card-list card-list.css [204] card-list.js [684] header header.css [509] header.js [779] search search.css [568] search.js [1k 32] views favorites favorites.js [963] main main.js [1k 766] static favorites.svg [326] favorites-white.svg [308] global.css [165] logo.svg [1k 342] search.svg [764] search-white.svg [772] 02 Настройка окружения 01 Настройка окружения.mp4 [39m 843k 570] 02 Установка NodeJS.mp4 [36m 397k 274] 03 Настройки VSCode.mp4 [47m 503k 511] 04 Настройка проекта.mp4 [11m 800k 492] ссылки.txt [69] Проект на GitHub 8-javascript-advanced-1-master.zip [47k 909] ссылки.txt [52] Шрифт iA-Fonts-master.zip [7m 613k 659] ссылка.txt [33] 03 Maps и Sets 01 Структура Set.mp4 [4m 920k 503] 02 Sets.mp4 [35m 248k 724] 03 Структура Map.mp4 [21m 538k 801] 04 Основы работы с Map.mp4 [28m 298k 235] 05 Быстрое создание Map.mp4 [13m 599k 161] 06 Итерация по Map.mp4 [12m 469k 464] 07 Упражнение - swap ключей и значений.mp4 [9m 329k 426] 08 WeakMap.mp4 [26m 839k 381] 09 WeakSet.mp4 [7m 309k 828] 04 Расчёты и math 01 Конвертация и проверка чисел.mp4 [38m 369k 896] 02 Библиотека Math.mp4 [21m 695k 2] 03 Округление.mp4 [14m 466k 573] 04 Упражнение - Функция случайного числа.mp4 [10m 456k 805] 05 Оператор остатка от деления.mp4 [9m 343k 523] 06 Разделитель чисел.mp4 [12m 507k 389] 07 Работа с BigInt.mp4 [28m 926k 916] 08 Интернационализация чисел.mp4 [23m 449k 433] 09 Упражнение - Конвертер валют.mp4 [25m 78k 118] 05 Даты и время 01 Создание дат.mp4 [43m 94k 162] 02 Операции с датами.mp4 [14m 742k 929] 03 Сравнение дат.mp4 [10m 64k 659] 04 Упражнение - Проверка на день рождения.mp4 [11m 963k 254] 05 Интернационализация дат.mp4 [19m 665k 640] 06 Таймеры 01 Создание таймеров.mp4 [16m 747k 863] 02 Таймеры и Event Loop.mp4 [13m 236k 763] 03 Точность таймеров.mp4 [12m 365k 153] 04 Работа с интервалами.mp4 [10m 591k 767] 05 Упражнение - Таймер пиццы.mp4 [20m 55k 389] 07 Объектно ориентированное программирование 01 Что такое ООП.mp4 [36m 845k 773] 02 Реализация ООП в JS.mp4 [14m 225k 232] 03 Реализация ООП в JS.mp4 [21m 993k 75] 04 Prototype.mp4 [37m 852k 330] 05 Упражнение - Корзина товаров.mp4 [28m 283k 918] 06 Цепочки prototype.mp4 [32m 110k 772] 08 Классы 01 Классы.mp4 [27m 673k 426] 02 Setters и getters.mp4 [33m 817k 129] 03 Static.mp4 [15m 284k 692] 04 Приватные методы и свойства.mp4 [19m 295k 228] 05 Упражнение - класс пользователя.mp4 [34m 754k 468] 06 Object.create.mp4 [19m 887k 828] 09 Принципы ООП в классах 01 Абстракция и инкапсуляция.mp4 [22m 374k 812] 02 Наследование.mp4 [35m 639k 6] 03 Наследование в ES6.mp4 [22m 571k 830] 04 Override методов.mp4 [17m 864k 404] 05 Упражнение - Удар по орку.mp4 [28m 593k 739] 06 Полиморфизм.mp4 [21m 240k 230] 07 Паттерн Builder и chaining.mp4 [21m 127k 773] 10 О SOLID 01 Принцип единой ответственности.mp4 [13m 411k 200] 02 Принцип открытости и закрытости.mp4 [17m 236k 504] 03 Принцип подстановки Барбары Лисков.mp4 [12m 808k 325] 04 Принцип разделения интерфейса.mp4 [12m 125k 362] 05 Принцип инверсии зависимостей.mp4 [14m 847k 394] 11 Асинхронный JavaScript 01 Асинхронный код в JS.mp4 [16m 392k 465] 02 Запросы на сервер.mp4 [58m 617k 677] 03 Пример работы с Insomnia.mp4 [31m 672k 582] 04 JSON.mp4 [10m 447k 997] 05 Получение данных.mp4 [22m 867k 983] 06 Упражнение - Расчёт цены.mp4 [14m 36k 0] 07 Проблемы callback.mp4 [17m 350k 446] 12 Promises 01 Promises и fetch.mp4 [11m 525k 768] 02 Обработка promises.mp4 [18m 191k 903] 03 Цепочка promise.mp4 [17m 454k 678] 04 Обработка reject.mp4 [24m 455k 898] 05 Finally.mp4 [9m 283k 128] 06 Упражнение - Select выбора категорий.mp4 [19m 908k 695] 07 Ручное создание ошибок.mp4 [20m 847k 686] 08 Упражнение - Функция запросов.mp4 [20m 528k 973] 13 Event Loop 01 Event Loop.mp4 [21m 856k 502] 02 Пример работы Event Loop.mp4 [15m 298k 732] 03 Создание простого Promise.mp4 [22m 500k 418] 04 Статические методы Promise.mp4 [17m 52k 168] 05 Упражнение - создание fetch.mp4 [25m 905k 458] 14 Современный Асинхронный JavaScript 01 Async await.mp4 [23m 285k 790] 02 Try catch.mp4 [27m 785k 369] 03 Упражнение - Мой город.mp4 [32m 590k 90] 04 Асинхронные методы.mp4 [8m 279k 639] 05 Последовательность выполнения.mp4 [19m 495k 681] 06 Параллельное выполнение.mp4 [39m 523k 726] 07 Другие комбинации Promise.mp4 [22m 956k 335] 08 Все возможности fetch.mp4 [14m 353k 928] 09 Упражнение - Генератор активностей.mp4 [38m 211k 728] 15 Продвинутый DOM и Events 01 Как работает DOM.mp4 [23m 333k 805] 02 Работа с элементами.mp4 [32m 410k 894] 03 Визуальное положение элементов.mp4 [30m 983k 648] 04 Типы событий и обработчики.mp4 [41m 34k 427] 05 Всплытие событий.mp4 [16m 493k 483] 06 Пример всплытия событий.mp4 [37m 760k 797] 07 Делегирование событий.mp4 [22m 583k 8] 08 Перемещение по DOM.mp4 [29m 467k 315] 09 Жизненный цикл событий DOM.mp4 [13m 218k 794] 10 Упражнение - Поиск по списку.mp4 [18m 422k 152] 11 Загрузка скриптов defer и async.mp4 [30m 420k 405] 16 Модульность 01 Модули в JavaScript.mp4 [18m 266k 155] 02 IIFE в модулях.mp4 [19m 596k 716] 03 Модули commonjs.mp4 [12m 906k 167] 04 ES6 модули.mp4 [25m 302k 48] 05 Await на верхнем уровне.mp4 [13m 42k 135] 06 Процесс сборки.mp4 [28m 436k 573] 17 Работа с NPM 01 Обзор NPM.mp4 [22m 551k 492] 02 Авторизация и профиль.mp4 [13m 895k 947] 03 Разбор package json.mp4 [19m 827k 352] 04 Управление зависимостями.mp4 [77m 744k 18] 18 Проект - Библиотека книг 01 Обзор проекта.mp4 [36m 171k 21] 02 Настройка проекта.mp4 [20m 201k 607] 03 Конфигурация сборщика.mp4 [39m 563k 196] 04 View страниц и роутинг.mp4 [46m 218k 657] 05 State и реактивности.mp4 [68m 562k 791] 06 Первый компонент.mp4 [51m 205k 446] 07 Вёрстка шапки.mp4 [59m 760k 278] 08 Компонент поиска.mp4 [77m 887k 112] 09 Поиск книг.mp4 [45m 291k 533] 10 Упражнение - Состояние загрузки.mp4 [46m 576k 512] 11 Вёрстка карточки.mp4 [132m 528k 382] 12 Упражнение - Добавление в избранное.mp4 [35m 366k 172] 13 Упражнение - Избранное.mp4 [40m 7k 654] 14 Развитие проекта.mp4 [24m 714k 432] Ссылка на макет в Figma.txt [92] 19 Завершение. Куда двигаться дальше 19 Завершение. Куда двигаться дальше.mp4 [24m 59k 762] Объем: 3,1Гб.