матеріал буде включати відеозапис занять, клон Гіт-репозиторію з прикладами розбираються на курсі, а також задачник і клон Гіт-репозиторію з завданнями і тестами до них.
програма
Цей онлайн-курс присвячений професійній Node.JS-розробці.
В результаті курсу ви не тільки в деталях розберетеся з тим, як працює Node.JS, але і створите повноцінний сервер для SPA, написаного на React.
У процесі розробки ми подивимося на наступні речі:
програма
Цей онлайн-курс присвячений професійній Node.JS-розробці.
В результаті курсу ви не тільки в деталях розберетеся з тим, як працює Node.JS, але і створите повноцінний сервер для SPA, написаного на React.
У процесі розробки ми подивимося на наступні речі:
- аутентифікація та авторизація (у тому числі через соціальні мережі)
- реєстрація (з підтвердженням email)
- використання бази даних
- технологія Websockets для інтерактивності
- конфігурування, логування
- unit, а також функціональне і E2E тестування
ви будете отримувати інформацію, писати код, показувати його викладачеві, отримувати зворотний зв'язок і поради, і потім рухатися далі.
Ми будемо використовувати сучасні практики розробки, а не ті, які, хоч і широко представлені в Інтернеті, але давно застаріли.
Ви отримаєте комплексне розуміння, як будувати архітектуру для Node.JS, які завдання і як вирішувати.
Курс можна умовно розділити на три частини.- Node.JS, головні" будівельні блоки " розробника.
- Розробка веб-сервісів на сучасних технологіях і фреймворках.
- Архітектура складних додатків, організація проекту.
перша частина курсу
- фундаментальний Node.JS
Тут ми вивчимо особливості роботи Node.JS, його найважливіші модулі і прийоми розробки.- Налаштування оточення, редактори коду, інструменти для розробки і налагодження.
- модулі: організація програми.
- вбудовані модулі http, path, fs, events та інші.
- життя і смерть Node.JS-процесу, важливі особливості роботи Event Loop.
- Потоки в Node.JS, часті помилки при роботі з ними.
- Сервер на Node.JS
Створимо веб-сервер на Node.JS, а також розберемося з асинхронністю.- Створення чат-сервера на Node.JS, часті помилки.
- особливості обробки користувацьких запитів в контексті Event Loop.
- асинхронний код
Вивчимо способи роботи з асинхронним кодом, що роблять його простим і зручним.- Промисы (promises)
- Async/Await їх особливості в Node.JS.
- тестування
Тут ми вивчимо основні прийоми тестування коду.- Бібліотеки та фреймворки для тестування: mocha, assert, sinon, nock та інші
- принципи та приклади unit-тестів
- особливості та приклади функціональних і E2E тестів
- Інші види тестування: навантажувальні, інтеграційні та інші
Друга частина курсу
- сучасний веб-сервіс
- Фреймворк Koa.JS: основи, роутинг.
- конфігурація через модуль config.
- Koa.JS: структура middleware, готові middleware - які зовнішні модулі для чого використовувати.
- робота з базою даних
Ми будемо використовувати MongoDB, однак досліджувані принципи застосовні до інших баз, зокрема MySQL, PostgreSQL, Redis і т. п.- База MongoDB, її особливості.
- Об'єктно-орієнтована робота з MongoDB через Mongoose.
- повна картина роботи з базою: запити, схеми, валідація, плагіни і middleware.
- Авторизація з Passport.JS
- модель користувача, реєстрація.
- сесії з Node.JS.
- Passport.JS: серіалізація, стратегії, авторизація.
- CSRF-захист від злому для форм і AJAX.
- Socket.IO
- Вебсокеты.
- обмін повідомленнями за допомогою Socket.IO.
- інтеграція Socket.IO з Koa.JS, авторизацією та іншими сервісами.
При бажанні можна дописати до нього нові сервіси, існуюча архітектура дозволяє це.
Третя частина курсу
- Архітектура проекту
В середньому Node.JS - це сотні файлів. Це нормально, і навіть цілком зручно, якщо їх правильно організувати.- Архітектура HMVC для Koa.JS.
- логування
- процес релізу програми
- шлях від Git репозиторію до сервера
- хмарні CI/CD (Travis)
- хмарні SaaS платформи (Heroku)
- Деплой тестового додатка
https://privatelink.de/?https://learn.javascript.ru/courses/nodejs