Node.js: JavaScript на сервері
Node.js -- середовище виконання JavaScript на сервері, побудоване на рушії V8 від Google Chrome. Асинхронна, подієва архітектура робить Node.js ідеальним для I/O-інтенсивних додатків: API, real-time чати, стрімінг. npm (Node Package Manager) -- найбільший реєстр пакетів у світі з понад 2 мільйонами бібліотек. Node.js дозволяє використовувати JavaScript для фронтенду та бекенду одночасно (full-stack JavaScript).
Core модулі
- fs -- файлова система
- http -- HTTP-сервер
- path -- шляхи до файлів
- events -- EventEmitter
Фреймворки
- Express -- мінімалістичний
- Fastify -- швидкий
- NestJS -- корпоративний
- Hono -- ультралегкий
Інструменти
- npm / pnpm -- пакетний менеджер
- nodemon -- авторестарт
- dotenv -- змінні оточення
- PM2 -- процес-менеджер
Express, middleware та REST API
Express створює HTTP-сервер з маршрутизацією (GET, POST, PUT, DELETE) та middleware -- функціями, що обробляють запит послідовно. Middleware виконують автентифікацію, логування, обробку помилок, парсинг JSON (express.json()). REST API повертає дані у форматі JSON зі статус-кодами: 200 (OK), 201 (Created), 400 (Bad Request), 401 (Unauthorized), 404 (Not Found), 500 (Server Error). Маршрути організуються через Router для модульності.
Бази даних, JWT та деплой
MongoDB (Mongoose ORM) -- NoSQL, гнучка схема, JSON-документи. PostgreSQL (Prisma, Sequelize) -- реляційна, ACID-транзакції. JWT (JSON Web Token) -- стандарт автентифікації для API: токен містить payload з даними користувача, підписаний секретним ключем. bcrypt хешує паролі. CORS дозволяє запити з інших доменів. Деплой: Docker-контейнер → хмара (AWS, Railway, Render). Environment variables (.env) зберігають секрети (API-ключі, DB credentials).
Про тест
Тест «Node.js та Backend» містить 20 питань про event loop, Express, middleware, REST API, npm, MongoDB, PostgreSQL, JWT, CORS та деплой.