-
За 2 місяці навчання на курсі ви:
- опануєте асинхронне програмування
- підвищите продуктивність серверних застосунків
- практикуватимете техніки для безперебійної інтеграції фронтенд- і бекенд-частин на JavaScript
- будуватимете масштабовані застосунки, які витримуватимуть велике навантаження
- вивчите ключові бібліотеки та фреймворки Node.js, як-от Express.js -
В результаті розробите власний застосунок, який зможете додати до свого профілю на GitHub.
ДО ПРОГРАМИ КУРСУ ВХОДЯТЬ:
-
КОМПЛЕКСНА РОБОТА З NODE.JS Протягом курсу ви повністю опануєте Node.js — від знайомства з базовим функціоналом до роботи з фреймворками, серверами та сучасними інструментами.
-
BEST PRACTICES На курсі опануємо найкращі практики розробки на Node.js: приділимо час асинхронному програмуванню, роботі з базами даних та убезпеченню інфраструктури.
-
КУРСОВИЙ ПРОЄКТ Наприкінці курсу презентуєте курсовий проєкт — розробите власний застосунок, який згодом зможете додати до свого профілю на GitHub.
-
БОНУСНИЙ БЛОК Для студентів, які ще не працювали з JavaScript або хочуть освіжити знання цієї мови, ми додали до курсу бонусний блок з основами JS, що складається з 4 занять.
ЛЕКТОР:
Сергій
Ващенко
- Software Designer
- 7+ років досвіду в наданні розробки у сфері Frontend/Backend
- успішно впровадив зміни з використанням Scrum Framework у технологічному стеку, що охоплює Angular, Node.js, Python, GoLang
- має досвід роботи з Highload-проєктами, працював у монолітних та мікросервісних продуктах з використанням Go, .NET, NodeJS
- писав та оптимізував важкий SQL- та NoSQL-код
- має сертифікації Stanford, CISCO, Linux, AWS
ПРОГРАМА
-
00
Бонусний блок. JavaScript
Результати: зрозумієте, як JavaScript працює в браузері за допомогою рушія V8. Дізнаєтеся про типи даних у JavaScript, навчитеся використовувати цикли та конструкції керування потоком. Зможете виконувати обробку помилок, застосовувати різні типи функцій, працювати з Event Loop, Microtasks, Macrotasks та Call Stack.
- Знайомство з JavaScript. Part 1
- Знайомство з JavaScript. Part 2
- Асинхронність. Part 1
- Асинхронність. Part 2
-
01
Знайомство з Node.js
- дізнаєтеся про основні переваги Node.js
- зможете встановлювати й налаштовувати робоче середовище Node.js за допомогою JetBrains WebStorm
- вмітимете за допомогою лінтерів JSLint та ESLint покращити якість коду
- зможете вмотивовано обрати фреймворк для роботи з урахуванням переваг та особливостей застосування кожного
-
02
Робота з фреймворком Express.js
- дізнаєтеся про особливості застосування фреймворку Express.js, його обмеження та переваги
- зможете використовувати на практиці один з найпопулярніших фреймворків для Node.js
- дізнаєтеся, як створювати базову структуру застосунків, користуючись цим фреймворком
-
03
Робота з фреймворком NestJS
- зрозумієте особливості застосування фреймворку Nest.js, його обмеження та переваги
- навчитеся використовувати на практиці один з найпопулярніших фреймворків для Node.js
-
04
Огляд middleware
- зрозумієте особливості middleware, включно з їхнім призначенням, функціональністю та ключовими перевагами в забезпеченні міжпроцесної взаємодії
- навчитеся розпізнавати й уникати bad practices у middleware
- дізнаєтеся про приклади middleware antipatterns та зрозумієте, як їх уникати
- ознайомитеся з патернами й принципами у контексті middleware, що дає змогу створювати більш структуровані та підтримувані програми
-
05
Підсумкове заняття: middleware best practices
- дізнаєтеся best practices для middleware
- ознайомитеся з лайфхаками з використання middleware
-
06
Знайомство із серверами
- дізнаєтеся, як створювати сервери в Node.js з використанням Express
- навчитеся реалізовувати обробку різних типів HTTP-запитів
- дізнаєтеся, як реалізовувати маршрутизацію запитів в Express
- зрозумієте базові принципи архітектури застосунків на Node.js
- навчитеся використовувати Nodemon для автоматизації перезапуску сервера
-
07
Взаємодія з реляційними базами даних (MySQL і PostgreSQL)
- дізнаєтеся відмінність між SQL та NoSQL базами даних
- навчитеся працювати з основними SQL-запитами
- засвоїте концепції первинного ключа (Primary Key), зовнішнього ключа (Foreign Key) та унікального ідентифікатора (Unique Key)
- дізнаєтеся, як застосовувати принципи нормалізації даних у базах даних
-
08
Огляд TypeORM
- зрозумієте основні концепції та можливості TypeORM, включно з його ключовими функціями та архітектурними особливостями
- навчитеся використовувати TypeORM на практиці для створення та керування базами даних у застосунках на Node.js, включно з операціями CRUD
- дізнаєтеся про основні переваги та можливі недоліки TypeORM
-
09
Взаємодія з нереляційними базами даних (MongoDB, Redis, Cassandra)
- дізнаєтеся, як користуватися MongoDB для Node.js
- навчитеся застосовувати Redis для Node.js
- зможете працювати з mongoose
-
10
Робота з базами даних: best VS bad practices
- дізнаєтеся про best practices для роботи з базами даних, ознайомитеся з лайфхаками з використання
-
11
Реактивне програмування: WebSocket, модуль FS та Selenium
- зрозумієте, що таке реактивне програмування та його особливості
- дізнаєтеся, як працює Websocket, та навчитеся використовувати його на практиці
- ознайомитеся з роботою FS module
- зрозумієте, як працює автоматизація та тестування з Selenium
- навчитеся працювати з RxJS на практиці, знаєте переваги та особливості застосування
- дізнаєтеся, як керувати подіями EventEmitter
-
12
Асинхронність
- зрозумієте, що таке асинхронність, коли можна використовувати асинхронний підхід
- дізнаєтеся, як керувати подіями Event Emitter
- дізнаєтеся про best і bad practices в асинхронному програмуванні
-
13
Підсумкове заняття: асинхронність — best practices
- дізнаєтеся best practices для роботи з асинхронністю, ознайомитеся з лайфхаками з використання
-
14
Логування й тестування
- навчитеся розрізняти типи тестування
- дізнаєтеся про принципи TDD та BDD
- почуєте best and bad practices у тестуванні та логуванні
- навчитеся інтегрувати ці підходи на практиці
-
15
Безпека в серверному програмуванні
- дізнаєтеся про принципи безпеки в серверному програмуванні
- дізнаєтеся, що таке JWT, особливості застосування та його функціонал
- навчитеся користуватися на практиці JWT
- дізнаєтеся, як забезпечити авторизацію та аутентифікацію користувача
- опануєте принципи захисту sensitive data
-
16
Розміщення та розгортання програми
- дізнаєтеся про структуру типового GitHub pipeline
- розрізнятимете методи релізу ПЗ
- навчитеся створювати бренчі й тестувати в enviroment Node.js
- дізнаєтеся, як правильно розгортати програму в Docker
-
17
Підсумок курсу
- навчитеся писати ефективний та оптимізований код
- зрозумієте принципи CI/CD
-
18
Підготовка до технічної співбесіди
- зрозумієте основні запитання та структуру співбесіди
- навчитеся виконувати типові live-завдання на кшталт LeetCode Easy Level
-
19
Захист курсових робіт
Зареєструватися