Основи Linux
Командний рядок з нуля: файли, права, процеси, мережа, bash-скрипти і SSH — у терміналі навчальної Ubuntu.
Курс за підпискою
Від «пишу, що працює» до «розумію, чому працює»: сучасний JavaScript зсередини
Отримати доступ до курсу
Курс за підпискою · Навчання у власному темпі
Про курс
Курс для тих, хто вже знає основи JavaScript і хоче писати код, як професійні розробники. Ви розберетеся, як функції запам'ятовують своє оточення, як насправді влаштовані об'єкти й класи, чому this іноді «губиться», як ділити програму на модулі, будувати ліниві послідовності генераторами і, головне, як працює асинхронний JavaScript: цикл подій, мікро- й макрозадачі, Promise, async/await, паралельні запити, повтори, таймаути й обмеження конкурентності.
Аудиторія
Знаєте основи JavaScript
Розберетеся, як працюють замикання, прототипи, this і класи, — і розумітимете, чому ваш код працює.
Пишете асинхронний код
Навчитеся передбачати порядок виконання в циклі подій і писати надійні async-процеси з повторами й таймаутами.
Пройшли курс основ JavaScript
Продовжите з функцій вищого порядку, модулів ES і CommonJS, ітераторів і генераторів.
Курс спирається на знання, позначені нижче як обов’язкові.
Потрібно знати
Курс «Основи програмування на JavaScript» або рівноцінні знання — змінні, умови, цикли, функції, масиви, об'єкти, рядки, методи масивів і try/catch.
Якщо цих знань ще немає — пройдіть курси за порядком:
Результат
використовувати функції вищого порядку, замикання й каррінг-фабрики для повторно використовуваного коду
впевнено працювати з деструктуризацією, spread/rest, ?. і ??, копіюванням об'єктів
агрегувати дані через reduce, Object.groupBy, Map і Set
організовувати код у модулі ES і CommonJS
розуміти прототипи, this, класи, успадкування й приватні поля
будувати ієрархії власних помилок і ланцюжки причин
писати ітератори й генератори, зокрема ліниві й нескінченні
передбачати порядок виконання асинхронного коду й писати надійні async-процеси
Формат
35 практичних завдань з автоматичною перевіркою на прихованих тестах і 12 тестів на розуміння. Ви напишете конвеєр перетворень тексту, власні map/filter/reduce, мемоізацію з LRU-кешем, нормалізацію відповіді API, глибоке злиття налаштувань, аналітику продажів і журналів, справжні модулі ES і CommonJS, банківський рахунок з приватними полями, шину подій, ієрархію власних помилок, ліниві генератори, симулятор циклу подій, повтори з експоненційною затримкою, таймаути й пул з обмеженням конкурентності. Три завдання — налагодження чужого коду. Фінал — два проєкти: конвеєр обробки замовлень і асинхронний планувальник задач із залежностями.
21 урок з прикладами
35+ завдань з автоматичною перевіркою
12 тестів для самоперевірки
Онлайн на my.prog.academy, без встановлення програм
AI-помічник
На сторінках курсу, уроків і завдань є кнопка «Запитати AI». Помічник знає матеріали саме цього курсу й урок, на якому ви зараз, тому відповідає по темі й показує, у яких уроках про це йдеться.
Не зрозуміли урок з першого разу — попросіть пояснити простіше або дати ще один приклад.
Застрягли — підкаже, з чого почати, і допоможе знайти помилку у вашому рішенні. Готового рішення не дає.
Запитайте, де пояснювали поняття, — і отримаєте посилання на потрібні уроки курсу.
Уточнюйте без повторів: помічник пам’ятає розмову, а нещодавні розмови курсу зберігаються.
Входить у кожен тариф оплаченої підписки — Basic і Premium. У Premium ліміти використання AI-помічника вищі — ним можна користуватися активніше. Це помічник у навчанні, а не генератор готових відповідей: він пояснює й підказує, а завдання ви розв’язуєте самі.
Програма
12 модулів, 35+ практичних завдань з автоматичною перевіркою і 12 тестів. Відкрийте модуль, щоб побачити всі теми.
Функції першого класу, колбеки, функції вищого порядку, фабрики функцій, rest і spread, чисті функції.
Лексичне оточення, замикання, приватний стан, фабрики, once, memoize і типова пастка з var у циклі.
Деструктуризація об'єктів і масивів, spread/rest для даних, поверхневе й глибоке копіювання, оператори ?. і ??.
reduce для складних агрегацій, Object.groupBy, flatMap, Object.fromEntries, Map і Set.
Навіщо модулі, ES-модулі (import/export), CommonJS (require/module.exports), область видимості модуля й кешування.
Прототипний ланцюжок, Object.create, власні й успадковані властивості, функції-конструктори, правила this, call/apply/bind.
Синтаксис class, геттери й сеттери, статичні члени, приватні поля, extends і super, поліморфізм, композиція.
Власні класи помилок, ієрархії, instanceof у catch, повторне кидання, finally і ланцюжки причин (cause).
Протокол ітерації, Symbol.iterator, власні ітеровані об'єкти, генератори, ліниві й нескінченні послідовності.
Однопотоковість, стек викликів, цикл подій, мікро- й макрозадачі, стани Promise, then/catch/finally і ланцюжки.
async/await, try/catch з await, послідовне й паралельне виконання, Promise.all/allSettled/race/any, таймаути, повтори й обмеження конкурентності.
Як поєднати класи, помилки, колекції й асинхронність у надійний процес; два підсумкові проєкти.
Стек
Код пишете й запускаєте в браузері на платформі — встановлювати нічого не потрібно.
Доступ
Заповніть коротку форму на цій сторінці.
Після заявки перейдіть у Telegram-бот Prog Academy — він надішле подальші інструкції щодо доступу.
Уроки, практика й тести — на my.prog.academy, у зручному для вас темпі.
Контакт
Залиште контакти — надішлемо деталі доступу до курсу «Просунутий JavaScript: функції, об'єкти й асинхронність».
Командний рядок з нуля: файли, права, процеси, мережа, bash-скрипти і SSH — у терміналі навчальної Ubuntu.
Шлях запиту від URL до готової сторінки: DNS, TCP, TLS, HTTP, кеш, cookies, API і захист вебзастосунків.
Захист від сучасних атак для нетехнічних фахівців: фішинг, паролі й MFA, інциденти, дипфейки і безпечна робота з ШІ.
Залиште запитання — підкажемо, чи підходить вам курс і з чого краще почати.