UA / EN
Освіта

Каталог вибіркових навчальних дисциплін


Інтернет-програмування Node.JS (заг)

Кафедра, яка викладає навчальну дисципліну:
Кафедра комп'ютерних наук
Короткий опис навчальної дисципліни

Під час вивчення курсу  NodeJS Ви навчитесь створювати веб-додатки засобами NodeJS та суміжних технологій: фреймворки Express, Mocha, бібліотеки Mongoose, Socket.io, Handlebars. Отримаєте знання про асинхронну однопоточну модель архітектури платморми, розробку, тестування та розгортання веб-додатків. Курс орієнтований на студентів, що володіють базовими знаннями мови JavaScript.

Цілі та задачі навчальної дисципліни

Мета вивчення дисципліни – засвоєння студентами теоретичних знань про платформу NodeJS, концепцію асинхронної моделі платформи, принципи побудови додатків з сервісно-орієнтованою архітектурою, набути практичних навичок розробки, тестування та розгортання веб-додатків засобами NodeJS та суміжних технологій.

Завданнями вивчення курсу Node.js є:

  • Знайомство та загальне розуміння платформи NodeJS;
  • Огляд матеріалу курсу, навчального плану та матеріалів, опис тем, обгрунтування їх доцільності, визначення цілей навчання та структури курсу;
  • Сформувати концептуальне розуміння NodeJS: основні поняття, керована подіями архітектура, неблокуюча модель введення-виведення та середовище виконання JavaScript.
  • Зрозуміти, як Node.js забезпечує виконання JavaScript на стороні сервера, і його переваги для створення масштабованих програм.
  • Закріпити знання на практиці: кодування, виконання проектів, що мають вирішальне значення для застосування теоретичних знань і отримання практичного досвіду роботи з Node.js.
  • Ознайомлення і дослідження модулів та фреймворків, які використовуються в розробці Node.js: http, fs, path, а також такі фреймворки, як Express.js, Mongoose, Socket.io.
  • Створення реальних веб-застосунків за допомогою Node.js: створення веб-сервера, розробка RESTful API, інтеграція з базами даних, такими як MongoDB.
  • Ознайомлення з можливостями підключення і взаємодій з базами даних, дослідження і розуміння виконання CRUD-операцій засобами MongoDB.
  • Обробка помилок і відлагодження: отримання знань про ефективні методи обробки помилок і відлагодження в Node.js: як обробляти виключення, використовувати бібліотеки журналів та інструменти відлагодження для виявлення та вирішення проблем в застосунках.
  • Використання сучасних методів та механізмів для безпеки та автентифікації.
  • Знайомство з практиками тестування та розгортання: дослідження фреймворків Mocha та Jest для написання модульних тестів. Отримання уявлень про стратегії розгортання та інструменти, такі як Docker або хмарні платформи, такі як AWS або Heroku для розгортання застосунків в робочих режимах.
  • Формування навичок неперервного навчання, участь у форумах, знайомство з блогами та ресурсами спільноти Node.js, щоб бути в курсі нових функцій, найкращих практик і нових тенденцій.
Результати навчання

Студент отримує теоретичні знання та практичні навички з розробки, тестування та розгортання веб-застосунків з на платформі NodeJS з використанням сучасних модулів та фреймворків (Express, HBS, Mongoose, JWT, Socket.io, Mocha) менеджера npm, шаблонів проектування, засобів безпеки та швидкодії.

Перелік тем

Тема 1. Огляд платформи NodeJS: концепція, можливості, подійно-орієнтовна модель;

Тема 2. Робота з модулями NodeJS: fs, os, lodash, path, yargs та інші. Створення власних модулів;
Тема 3. Основні можливості фреймворку Express для створення серверних NodeJS-застосунків;
Тема 4. Робота з БД MongoDB. Бібліотека Mongoose: розробка моделей даних, проектування зв’язків між колекціями даних, методи виконання запитів, розробка REST API;
Тема 5. Механізми автентифікації та авторизації;
Тема 6. Протокол Websocket. Бібліотека Socket.io;
Тема 7. Розробка функціональних тестів на фреймворку Mocha;

Тема 8. Розгортання веб-застосунків на хмарних платформах в робочому режимі.

Система оцінювання

За курс студент отримує максимальну оцінку -- 100 балів. З них 80 балів за практичні роботи, 10 балів за тест і 10 балів за активність та виконання завдань на лекціях.

Форма контролю
залік