Browse Source

Загрузить файлы 'Лекции/Node.js'

u20kovalev_den 1 tháng trước cách đây
mục cha
commit
3466ecdd45

BIN
Лекции/Node.js/nodejs1.png


BIN
Лекции/Node.js/nodejs2.png


+ 26 - 0
Лекции/Node.js/Шайдуко_Node.js.md

@@ -0,0 +1,26 @@
+# Node.js как среда выполнения серверного JavaScript
+
+**Node.js — это среда выполнения JavaScript на сервере**, построенная на движке V8 от Google. Она позволяет использовать один язык программирования как для клиентской, так и для серверной части приложения, обеспечивая высокую производительность и масштабируемость благодаря **асинхронной событийно-ориентированной модели**.
+
+В основе Node.js лежит **однонитевой цикл событий (event loop)**, который управляет неблокирующими операциями ввода-вывода. Это позволяет обрабатывать тысячи соединений одновременно без создания множества потоков, что существенно снижает накладные расходы на контекстные переключения и улучшает производительность в I/O-интенсивных приложениях.
+
+![Alt](nodejs1.png)
+
+Node.js активно использует модульную архитектуру через систему **CommonJS** и **ES Modules**, что обеспечивает структурирование кода и повторное использование компонентов. Пакетный менеджер **npm** предоставляет богатую экосистему библиотек, упрощая интеграцию с базами данных, HTTP-серверами, инструментами тестирования и фреймворками, такими как **Express** и **Fastify**.
+
+Асинхронность в Node.js реализуется через **колбэки, промисы и async/await**, что позволяет писать читаемый код, минимизируя блокировки потока. Управление ошибками в асинхронных операциях является критическим аспектом разработки для обеспечения надёжности и устойчивости серверных приложений.
+
+## Таблица 1. Основные характеристики Node.js
+
+| Характеристика | Описание                            | Практическая ценность                                   |
+| -------------- | ----------------------------------- | ------------------------------------------------------- |
+| Event Loop     | Однонитевой цикл обработки событий  | Высокая производительность при большом числе соединений |
+| Асинхронность  | Неблокирующие операции ввода-вывода | Масштабируемость и отзывчивость сервиса                 |
+| Модули         | CommonJS и ES Modules               | Организация и повторное использование кода              |
+| npm            | Пакетный менеджер                   | Быстрая интеграция сторонних библиотек                  |
+
+Node.js также поддерживает работу с потоками данных через **Streams**, позволяя обрабатывать большие объёмы информации без загрузки всего файла в память. Это особенно важно для приложений с потоковой обработкой мультимедиа или интеграцией с внешними API.
+
+![Alt](nodejs2.png)
+
+Таким образом, **Node.js обеспечивает лёгкую, модульную и асинхронную платформу** для создания высокопроизводительных серверных приложений, способных обрабатывать большое количество одновременных соединений с минимальными накладными расходами.

+ 21 - 0
Лекции/Node.js/Шайдуко_Вопросы.md

@@ -0,0 +1,21 @@
+# Вопросы и ответы
+
+Что такое Node.js?
+
+Node.js — это серверная среда выполнения JavaScript с асинхронной событийно-ориентированной моделью.
+
+Как работает event loop в Node.js?
+
+Event loop управляет неблокирующими операциями ввода-вывода в одном потоке, обеспечивая масштабируемость.
+
+Какие механизмы асинхронности используются в Node.js?
+
+Асинхронность реализуется через колбэки, промисы и async/await.
+
+Зачем нужны модули и npm в Node.js?
+
+Модули и npm обеспечивают организацию кода и быструю интеграцию сторонних библиотек.
+
+Для чего применяются Streams в Node.js?
+
+Streams позволяют обрабатывать большие объёмы данных по частям, снижая нагрузку на память.