node.js учебные пособия

Содержание
  1. Введение в Node.js Это учебное пособие по Node.js от w3resource. Вы узнаете о том, что такое Node.js, истории, возможностях, о том, как установить Node в Windows и Linux, а затем подробно обсудите каждый из модулей API Node.js. К концу этого руководства вы сможете самостоятельно разрабатывать и развертывать приложения Node.js. Что такое Node.js Node.js — это фреймворк для разработки высокомасштабируемые приложения, которые могут эффективно обрабатывать десятки тысяч одновременных клиентских подключений. Он предназначен для простого создания масштабируемых сетевых программ. Таким образом, его можно использовать для разработки веб-приложений, отвечающих за высокий трафик. Node.js основан на движке JavaScript V8. История На европейской выставке JSConf 2009 Райан Даль представил проект, над которым он работал. Целью проекта было создание инфраструктуры для простого создания масштабируемых сетевых приложений. Платформа, которую он использовал, — V8JavaScript Engine. Рейн сначала попробовал C, а затем язык программирования Lua, прежде чем использовать JavaScript. для этого проекта. В отличие от других реализаций Server-SideJavaScript (например, Jaxer), Райан использовал модель программирования, управляемую событиями (мы скоро увидим, что это такое). Проект назывался Node.js и широко известен как Node. Проект получил огромную признательность сразу после демонстрации и с тех пор не оглядывался назад. Он обеспечивает как экспоненциальный рост, так и принятие за короткий промежуток времени. Основная концепция Управляемый событиями/Асинхронный по потоку В отличие от традиционных серверных программ (таких как PHP, Java), каждое клиентское соединение создает поток ОС (наименьшую единицу обработки, запланированную операционной системой), который занимает около 2 МБ памяти. Итак, если вы используете систему, скажем, с 4 ГБ ОЗУ, максимальное количество возможных одновременных подключений составляет 2000 (т. Е. 4000/2). Чтобы поддерживать большее количество одновременных подключений, вам необходимо увеличить объем оперативной памяти или количество систем. Это увеличивает стоимость. Технически это также становится утомительным, поскольку, если вы используете несколько систем для запуска приложения, общие ресурсы должны совместно использоваться всеми системами. Вместо этого Node использует программирование, управляемое событиями. Каждое соединение использует память для быстрой сортировки, когда запрашивается соединение. Узел использует вызовы callbacks (ссылка на исполняемый код или часть исполняемого кода), чтобы информировать ОС о том, что запрашивается новое соединение. В остальное время он не мешает ОС. Таким образом, использование памяти намного эффективнее, чем модель на основе потоков. Нет блокировок по тупикам Когда два или более процесса (экземпляр выполняемой компьютерной программы ) используют один и тот же ресурс, один должен быть заблокирован, чтобы выделить ресурс (например, память) другому. Это может привести либо к ситуации, когда каждый из них ждет, пока другой освободит ресурс (т. Е. Тупиковая блокировка), либо вам нужно написать высокоэффективный код для управления этим.. Он не выполняет (почти) никаких операций ввода-вывода напрямую. Итак, замков нет. Это упрощает написание кодов для Node. Цикл событий как языковая конструкция, чем библиотека На дизайн Node повлияли Twisted of Python и Машина событий Ruby. Но в отличие от них, Node не использует Event Loop (это программный шаблон, который упрощает неблокирующий ввод-вывод) в качестве библиотеки. Это очень важная часть самого языка. И нет вызова для запуска и завершения цикла событий. Использование Node.js в реальном мире Несмотря на то, что он довольно молодой, Node.js уже используется множество организаций, проектов и приложений. Следующий список указывает, для каких приложений используется узел: HTTP Proxy IRC Bot/Chat /Обмен сообщениями Веб-сервис (данные) анализ в реальном времени (данные, электронная почта) Клиент другого веб-сервис (например, клиент Twitter) сотрудничество в реальном времени Журнал и мониторинг журналов Веб-программное обеспечение для удовлетворения конкретных требований клиента (например, книга бронирования для рестораторов, журнал оценок). Сервер приложений Преимущества использования Node. js Управляемый событиями и неблокирующий, поэтому обрабатывает одновременное соединение эффективнее, чем его аналоги. Хорошо иметь общий язык как на клиенте, так и на сервере. Лучше, если он используется с базами данных, такими как MongoDb, тогда это 100% JavaScript, от базы данных к серверу к клиенту. Чистый, функциональный API. Недостатки использования Node.js Sin ce Node очень молодой, многие драйверы баз данных (требуемые для подключения к базам данных) и модули (для добавления определенных функций) нестабильны. Он по-прежнему нестабилен на платформе Windows. Но у Node очень активное и отзывчивое сообщество, и мы надеемся, что в ближайшем будущем эти проблемы будут устранены.
  2. Что такое Node.js
  3. История
  4. Основная концепция
  5. Управляемый событиями/Асинхронный по потоку
  6. Нет блокировок по тупикам
  7. Цикл событий как языковая конструкция, чем библиотека
  8. Использование Node.js в реальном мире
  9. Преимущества использования Node. js
  10. Недостатки использования Node.js

Введение в Node.js

Это учебное пособие по Node.js от w3resource. Вы узнаете о том, что такое Node.js, истории, возможностях, о том, как установить Node в Windows и Linux, а затем подробно обсудите каждый из модулей API Node.js. К концу этого руководства вы сможете самостоятельно разрабатывать и развертывать приложения Node.js.

Что такое Node.js

Node.js — это фреймворк для разработки высокомасштабируемые приложения, которые могут эффективно обрабатывать десятки тысяч одновременных клиентских подключений.

Он предназначен для простого создания масштабируемых сетевых программ. Таким образом, его можно использовать для разработки веб-приложений, отвечающих за высокий трафик.

Node.js основан на движке JavaScript V8.

История

На европейской выставке JSConf 2009 Райан Даль представил проект, над которым он работал. Целью проекта было создание инфраструктуры для простого создания масштабируемых сетевых приложений. Платформа, которую он использовал, — V8JavaScript Engine. Рейн сначала попробовал C, а затем язык программирования Lua, прежде чем использовать JavaScript. для этого проекта. В отличие от других реализаций Server-SideJavaScript (например, Jaxer), Райан использовал модель программирования, управляемую событиями (мы скоро увидим, что это такое). Проект назывался Node.js и широко известен как Node.

Проект получил огромную признательность сразу после демонстрации и с тех пор не оглядывался назад. Он обеспечивает как экспоненциальный рост, так и принятие за короткий промежуток времени.

Основная концепция

Управляемый событиями/Асинхронный по потоку

В отличие от традиционных серверных программ (таких как PHP, Java), каждое клиентское соединение создает поток ОС (наименьшую единицу обработки, запланированную операционной системой), который занимает около 2 МБ памяти. Итак, если вы используете систему, скажем, с 4 ГБ ОЗУ, максимальное количество возможных одновременных подключений составляет 2000 (т. Е. 4000/2). Чтобы поддерживать большее количество одновременных подключений, вам необходимо увеличить объем оперативной памяти или количество систем. Это увеличивает стоимость. Технически это также становится утомительным, поскольку, если вы используете несколько систем для запуска приложения, общие ресурсы должны совместно использоваться всеми системами.

Вместо этого Node использует программирование, управляемое событиями. Каждое соединение использует память для быстрой сортировки, когда запрашивается соединение. Узел использует вызовы callbacks (ссылка на исполняемый код или часть исполняемого кода), чтобы информировать ОС о том, что запрашивается новое соединение. В остальное время он не мешает ОС. Таким образом, использование памяти намного эффективнее, чем модель на основе потоков.

Нет блокировок по тупикам

Когда два или более процесса (экземпляр выполняемой компьютерной программы ) используют один и тот же ресурс, один должен быть заблокирован, чтобы выделить ресурс (например, память) другому. Это может привести либо к ситуации, когда каждый из них ждет, пока другой освободит ресурс (т. Е. Тупиковая блокировка), либо вам нужно написать высокоэффективный код для управления этим.. Он не выполняет (почти) никаких операций ввода-вывода напрямую. Итак, замков нет. Это упрощает написание кодов для Node.

Цикл событий как языковая конструкция, чем библиотека

На дизайн Node повлияли Twisted of Python и Машина событий Ruby. Но в отличие от них, Node не использует Event Loop (это программный шаблон, который упрощает неблокирующий ввод-вывод) в качестве библиотеки. Это очень важная часть самого языка. И нет вызова для запуска и завершения цикла событий.

Использование Node.js в реальном мире

Несмотря на то, что он довольно молодой, Node.js уже используется множество организаций, проектов и приложений. Следующий список указывает, для каких приложений используется узел:

  • HTTP Proxy
  • IRC Bot/Chat /Обмен сообщениями
  • Веб-сервис (данные)
  • анализ в реальном времени (данные, электронная почта)
  • Клиент другого веб-сервис (например, клиент Twitter)
  • сотрудничество в реальном времени
  • Журнал и мониторинг журналов
  • Веб-программное обеспечение для удовлетворения конкретных требований клиента (например, книга бронирования для рестораторов, журнал оценок).
  • Сервер приложений

Преимущества использования Node. js

  • Управляемый событиями и неблокирующий, поэтому обрабатывает одновременное соединение эффективнее, чем его аналоги.
  • Хорошо иметь общий язык как на клиенте, так и на сервере.
  • Лучше, если он используется с базами данных, такими как MongoDb, тогда это 100% JavaScript, от базы данных к серверу к клиенту.
  • Чистый, функциональный API.

Недостатки использования Node.js

Sin ce Node очень молодой, многие драйверы баз данных (требуемые для подключения к базам данных) и модули (для добавления определенных функций) нестабильны. Он по-прежнему нестабилен на платформе Windows. Но у Node очень активное и отзывчивое сообщество, и мы надеемся, что в ближайшем будущем эти проблемы будут устранены.

Оцените статью
nanomode.ru
Добавить комментарий