Обмежений доступ для гостей

Вам доступно 3 уроки з цього курсу безкоштовно.

  • Коментарі доступні тільки авторизованим користувачам
  • Прогрес зберігається тільки 0:00
🔒
КурсиBackend розробка / Повний курс Node.js

Повний курс Node.js

Вигляд:

Модуль 1. Вступ до Node.js

1

Що таке Node.js?

Знайомство з Node.js та його можливостями.

2

Встановлення Node.js

Інсталяція Node.js та npm.

3

Перша програма

Hello World в Node.js.

4

Node.js REPL

Інтерактивне середовище Node.js.

5

Налагодження коду

Debug в Node.js та Chrome DevTools.

Модуль 2. Основи Node.js

6

Глобальні об

__dirname, __filename, global.

7

Модуль process

Інформація про процес та середовище.

8

Модуль os

Інформація про операційну систему.

9

Таймери

setTimeout, setInterval, setImmediate.

10

Консольний вивід

console.log, console.error, console.table.

11

Аргументи командного рядка

process.argv та yargs.

12

Змінні середовища

process.env та dotenv.

13

Практика: CLI утиліта

Створення командного інструменту.

Модуль 3. Модульна система

14

CommonJS модулі

require() та module.exports.

15

Експорт модулів

module.exports vs exports.

16

ES модулі

import/export в Node.js.

17

Вбудовані модулі

Огляд core модулів Node.js.

18

Резолюція модулів

Як Node.js шукає модулі.

19

Циклічні залежності

Проблеми та рішення.

20

Практика: структура проекту

Організація модульного коду.

Модуль 4. NPM та пакети

21

Що таке NPM?

Node Package Manager та реєстр пакетів.

22

package.json

Конфігурація проекту.

23

Встановлення пакетів

npm install, --save, --save-dev.

24

Версіонування

Semver та версії пакетів.

25

npm scripts

Автоматизація задач.

26

package-lock.json

Фіксація залежностей.

27

Публікація пакетів

Створення та публікація npm пакету.

Модуль 5. Файлова система

28

Синхронне читання

readFileSync та його використання.

29

Асинхронне читання

readFile з callbacks.

30

Запис у файли

writeFile та appendFile.

31

Робота з директоріями

mkdir, readdir, rmdir.

32

Спостереження за файлами

fs.watch та chokidar.

33

fs/promises API

Промісифікований fs модуль.

34

Модуль path

Робота зі шляхами файлів.

35

Практика: файловий менеджер

CLI для роботи з файлами.

Модуль 6. Буфери та потоки

36

Буфери (Buffers)

Робота з бінарними даними.

37

Кодування даних

UTF-8, Base64, Hex.

38

Readable Streams

Потоки для читання.

39

Writable Streams

Потоки для запису.

40

Duplex та Transform

Двонаправлені потоки.

41

Pipe та pipeline

З'єднання потоків.

42

Великі файли

Обробка великих файлів потоками.

43

Практика: обробка логів

Потокова обробка log-файлів.

Модуль 7. Події та EventEmitter

44

Модель подій

Event-driven архітектура Node.js.

45

EventEmitter клас

Створення емітерів подій.

46

on, once, emit

Основні методи EventEmitter.

47

Обробка помилок

error подія та обробка.

48

Власні події

Створення кастомних подій.

49

Практика: система сповіщень

Event-based notification system.

Модуль 8. Асинхронне програмування

50

Callbacks

Callback-функції та їх використання.

51

Callback Hell

Проблема вкладених callbacks.

52

Promises

Основи Promise в Node.js.

53

Promise API

all, race, allSettled, any.

54

async/await

Сучасний синтаксис асинхронності.

55

Обробка помилок

try/catch та .catch().

56

Паралельне виконання

Конкурентність в Node.js.

57

Практика: асинхронні операції

Комплексна робота з async.

Модуль 9. HTTP модуль

58

HTTP сервер

Створення базового HTTP сервера.

59

Обробка запитів

Request об'єкт та його властивості.

60

Маршрутизація

Routing без фреймворків.

61

Відповіді сервера

Response headers та body.

62

Статичні файли

Serve static files.

63

Query параметри

Парсинг URL та query string.

64

POST запити

Обробка POST даних.

65

Практика: REST сервер

API без фреймворків.

Модуль 10. Express.js основи

66

Встановлення Express

Налаштування Express проекту.

67

Перший сервер

Hello World з Express.

68

Маршрути (Routes)

GET, POST, PUT, DELETE.

69

Параметри маршрутів

Route params та wildcards.

70

Query strings

req.query обробка.

71

Тіло запиту

body-parser та express.json().

72

Статичні файли

express.static middleware.

73

Шаблонізатори

EJS, Pug, Handlebars.

74

Router модуль

Модульна організація routes.

75

Практика: блог

Express додаток з views.

Модуль 11. Middleware

76

Що таке Middleware?

Концепція middleware в Express.

77

Вбудовані middleware

express.json(), express.urlencoded().

78

Сторонні middleware

cors, morgan, helmet.

79

Власні middleware

Створення custom middleware.

80

Error middleware

Централізована обробка помилок.

81

Auth middleware

Middleware для авторизації.

82

Практика: логування

Request logging middleware.

Модуль 12. REST API

83

Принципи REST

RESTful архітектура.

84

CRUD операції

Create, Read, Update, Delete.

85

HTTP методи

GET, POST, PUT, PATCH, DELETE.

86

Статус коди

HTTP status codes.

87

Структура відповідей

JSON response format.

88

Версіонування API

API versioning strategies.

89

Swagger документація

OpenAPI та swagger-ui.

90

Валідація Joi

Валідація вхідних даних.

91

Пагінація

Pagination та filtering.

92

Практика: TODO API

Повний REST API.

Модуль 13. Аутентифікація

93

Сесії та cookies

Session-based authentication.

94

JWT токени

JSON Web Tokens.

95

Passport.js

Authentication middleware.

96

Локальна стратегія

passport-local.

97

OAuth 2.0

Google та GitHub auth.

98

Refresh токени

Access та refresh tokens.

99

Захист маршрутів

Protected routes.

100

Практика: auth система

Повна система авторизації.

Модуль 14. MongoDB

101

Вступ до MongoDB

NoSQL бази даних.

102

Встановлення MongoDB

Локально та MongoDB Atlas.

103

Підключення

mongodb driver та connection string.

104

Mongoose ODM

Object Document Mapping.

105

Схеми та моделі

Schema та Model в Mongoose.

106

CRUD операції

create, find, update, delete.

107

Валідація

Schema validation.

108

Зв

References та populate.

109

Індекси

MongoDB indexes.

110

Агрегації

Aggregation pipeline.

111

Практика: блог API

API з MongoDB.

Модуль 15. PostgreSQL

112

Вступ до PostgreSQL

Реляційні бази даних.

113

pg модуль

node-postgres driver.

114

Підключення

Connection та Pool.

115

SQL запити

SELECT, INSERT, UPDATE, DELETE.

116

Параметризовані запити

Prepared statements.

117

Транзакції

BEGIN, COMMIT, ROLLBACK.

118

Sequelize ORM

Object Relational Mapping.

119

Міграції

Database migrations.

120

Практика: users API

API з PostgreSQL.

Модуль 16. Тестування

121

Вступ до тестування

Види тестів та TDD.

122

Jest framework

Налаштування Jest.

123

Unit тести

Тестування функцій.

124

Assertions

expect та matchers.

125

Mocking

jest.mock та jest.fn().

126

Supertest

Тестування HTTP API.

127

Coverage

Code coverage reports.

128

Практика: тести API

Повне покриття тестами.

Модуль 17. Безпека

129

OWASP Top 10

Основні вразливості.

130

SQL Injection

Захист від SQL ін'єкцій.

131

XSS атаки

Cross-Site Scripting.

132

CSRF захист

Cross-Site Request Forgery.

133

Rate Limiting

express-rate-limit.

134

Helmet.js

Security headers.

135

Хешування паролів

bcrypt та argon2.

136

Практика: security audit

Аудит безпеки додатку.

Модуль 18. Продуктивність

137

Профілювання

Node.js profiler.

138

Кешування

In-memory caching.

139

Redis

Redis для кешування.

140

Cluster модуль

Multi-process Node.js.

141

Worker Threads

CPU-intensive tasks.

142

Memory leaks

Виявлення витоків пам'яті.

143

Практика: оптимізація

Оптимізація Node.js API.

Модуль 19. WebSockets

144

Що таке WebSockets?

Real-time комунікація.

145

Socket.io

Бібліотека Socket.io.

146

Rooms та namespaces

Групування з'єднань.

147

Broadcasting

Broadcast повідомлення.

148

Socket auth

Авторизація в сокетах.

149

Практика: чат

Real-time чат додаток.

Модуль 20. Деплой

150

Production готовність

Підготовка до деплою.

151

Docker основи

Контейнеризація Node.js.

152

Docker Compose

Multi-container apps.

153

CI/CD

GitHub Actions pipeline.

156

Практика: деплой

Деплой на VPS.

Модуль 21. Мікросервіси

157

Архітектура

Microservices vs Monolith.

158

Комунікація

HTTP та gRPC.

159

Message Queue

RabbitMQ та Redis Pub/Sub.

160

API Gateway

Gateway pattern.

161

Service Discovery

Consul та etcd.

162

Практика: мікросервіси

Мікросервісний проект.

Модуль 22. GraphQL

163

Вступ до GraphQL

GraphQL vs REST.

164

Схема та типи

Type definitions.

165

Queries та Resolvers

Читання даних.

166

Mutations

Зміна даних.

167

Практика: GraphQL API

GraphQL сервер.

168

Що ми вивчили

Повний GraphQL API.

Модуль 23. Практичні проекти

169

Кар'єра та розвиток

Production-ready REST API.

170

Фінальний проект та наступні кроки

WebSocket чат додаток.

Коментарі

💬

Коментарі доступні тільки для авторизованих користувачів