URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 105248
[ Назад ]

Исходное сообщение
"Выпуск серверной JavaScript-платформы Node.js 5.0"

Отправлено opennews , 30-Окт-15 13:49 
Состоялся (https://nodejs.org/en/blog/release/v5.0.0/) релиз Node.js 5.0 (https://nodejs.or), новой стабильной ветки  платформы для выполнения высокопроизводительных сетевых приложений на языке JavaScript. Ветка 5.0 включает порцию новых возможностей и будет развиваться параллельно c веткой Node.js 4.x, которая отнесена к категории стабильных LTS-выпусков с длительным сроком поддержки (30 месяцев). Время поддержки Node.js 5.x составит 8 месяцев. В дальнейшем, в апреле 2016 года планируется выпустить Node.js 6.0, который получит статус LTS.

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


Из новшеств Node.js 5.0 можно отметить переход на новый выпуск движка V8 4.6.85.25, что требует пересборки установленных сторонних дополнений. Пакетный менеджер npm обновлён до выпуска 3.3.6 (https://github.com/npm/npm/releases/tag/v3.3.6). Внесены нарушающие совместимость изменения в объекты buffer (удалены типы кодировок 'raw' и 'raws') и console (изменён формат вывода console.time), прекращена поддержка вызовов fs.readFile(), fs.read(), require.paths, util.p(), util.inherits() и require.registerExtension(), ужесточены требования к именам методов и заголовков HTTP, прекращена поддержка модуля _linklist. В модуль tls добавлена поддержка ALPN, минимальный размер ключа DH для tls.connect() увеличен до 1024 бит. Добавлена возможность передачи файловых дескрипторов в вызовы fs.readFile*(), fs.writeFile*() и fs.appendFile*().

Платформа Node.js может быть использована как для серверного сопровождения работы Web-приложений, так и для создания обычных клиентских и серверных сетевых программ. Для расширения функциональности приложений для Node.js подготовлена большая коллекция модулей (https://github.com/ry/node/wiki/modules), в которой можно найти модули с  реализацией  серверов и клиентов HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, модули для интеграции с различными web-фреймворками, обработчики WebSocket и Ajax, коннекторы к СУБД (MySQL, PostgreSQL, SQLite, MongoDB), шаблонизаторы, CSS-движки, реализации криптоалгоритмов и систем авторизации (OAuth), XML-парсеры.

Для обеспечения обработки большого числа параллельных запросов Node.js задействует асинхронную модель запуска кода, основанную на обработке событий в неблокирующем режиме и определении callback-обработчиков. В качестве способов мультиплексирования соединений поддерживаются такие методы, как epoll, kqueue, /dev/poll и select. Для мультиплексирования соединений используется библиотека libuv (https://github.com/joyent/libuv/), которая является надстройкой над libev (http://software.schmorp.de/pkg/libev.html) в системах Unix и над IOCP в Windows. Для создания пула потоков (thread pool) задействована библиотека libeio (http://software.schmorp.de/pkg/libeio.html), для выполнения DNS-запросов в неблокирующем режиме интегрирован c-ares (http://c-ares.haxx.se/). Все системные вызовы, вызывающие блокирование, выполняются внутри пула потоков и затем, как и обработчики сигналов, передают результат своей работы обратно через неименованный канал (pipe). Выполнение JavaScript-кода обеспечивается через задействование разработанного компанией Google движка V8 (http://code.google.com/p/v8/).  


По своей сути Node.js похож на фреймворки Perl AnyEvent (http://search.cpan.org/dist/AnyEvent/), Ruby Event Machine (http://rubyeventmachine.com/), Python Twisted (http://twistedmatrix.com/) и реализацию (http://wiki.tcl.tk/1527) событий в Tcl, но цикл обработки событий (event loop) в Node.js скрыт от разработчика и напоминает обработку событий в web-приложении, работающем в браузере. При написании приложений для node.js необходимо учитывать специфику событийно-ориентированного программирования, например, вместо выполнения "var result = db.query("select..");" с ожиданием завершения работы и последующей обработкой результатов, в Node.js использует принцип асинхронного выполнения, т.е. код трансформируется в "db.query("select..", function (result) {обработка результата});", при котором управление мгновенно перейдёт к дальнейшему коду, а результат запроса будет обработан по мере поступления данных. Ни одна функция в Node.js не должна напрямую выполнять операции ввода/вывода - для получения данных с диска, от другого процесса или из сети требуется установка callback-обработчика.


URL: https://nodejs.org/en/blog/release/v5.0.0/
Новость: http://www.opennet.ru/opennews/art.shtml?num=43221


Содержание

Сообщения в этом обсуждении
"Выпуск серверной JavaScript-платформы Node.js 5.0"
Отправлено Casm , 30-Окт-15 14:46 
> прекращена поддержка вызовов fs.readFile(), fs.read()

В change log не нашёл такого  - https://github.com/nodejs/node/blob/v5.0.0/CHANGELOG.md

Да и в документации метод
остался - https://nodejs.org/api/fs.html#fs_fs_readfile_file_options_c...


"Выпуск серверной JavaScript-платформы Node.js 5.0"
Отправлено Аноним , 30-Окт-15 14:47 
⅔ новости — пояснение, что такое нодежээс. Как будто автору за количество символов платят.

"Выпуск серверной JavaScript-платформы Node.js 5.0"
Отправлено Аноним , 30-Окт-15 15:31 
Мой друг так и не понял, зачем же нужен этот node.js?

"Выпуск серверной JavaScript-платформы Node.js 5.0"
Отправлено Аноним , 30-Окт-15 15:59 
Зачем ты тревожишь своих умственно отсталых друзей всякими глупостями?

"Выпуск серверной JavaScript-платформы Node.js 5.0"
Отправлено th3m3 , 30-Окт-15 19:35 
node.js - нужен для того, что бы везде использовать JS в вебе. На клиенте и на сервере.
Да, больше ненужны все разработки на php, ruby, python и т.д.
Теперь хватит JS для всего.

"Выпуск серверной JavaScript-платформы Node.js 5.0"
Отправлено Аноним , 30-Окт-15 23:25 
не понятно, ты просто нуб или троль обычкновенный? :)

"Выпуск серверной JavaScript-платформы Node.js 5.0"
Отправлено th3m3 , 31-Окт-15 11:48 
Давай, расскажи мне, что php рулит)

"Выпуск серверной JavaScript-платформы Node.js 5.0"
Отправлено Ананимаз , 03-Ноя-15 11:56 
Дык ООП даже уровня похапе в JS еще не завезли. О чем говорить-то?

"Выпуск серверной JavaScript-платформы Node.js 5.0"
Отправлено th3m3 , 31-Окт-15 11:52 
Уже IBM сделала платформу NodeJS стандартом корпоративной разработки. Но Анонимусы будут и дальше бугуртить от JS.

"Выпуск серверной JavaScript-платформы Node.js 5.0"
Отправлено Аноним , 06-Ноя-15 22:46 
ну у меня на работе вполне нормально работает проект на ноджсе который на 4 серверах обрабатывает по 10 тысяч http запросов в секунду со всякими обращениями к базам и логикой

"Выпуск серверной JavaScript-платформы Node.js 5.0"
Отправлено Owlet , 12-Ноя-15 17:38 
Я примерно то же на питоне видел, и что?

"Выпуск серверной JavaScript-платформы Node.js 5.0"
Отправлено MPEG LA , 30-Окт-15 17:18 
>подготовлена большая коллекция модулей,

This page is deprecated.


"Выпуск серверной JavaScript-платформы Node.js 5.0"
Отправлено dr , 31-Окт-15 02:26 
Добро пожаловать в callback-ад 5.0 ;)

"Выпуск серверной JavaScript-платформы Node.js 5.0"
Отправлено Аноним , 31-Окт-15 12:10 
Используйте промисы и будет вам счастье.

"Выпуск серверной JavaScript-платформы Node.js 5.0"
Отправлено Аноним , 31-Окт-15 16:03 
тогда уж async/await. Промисы сами по себе не избавляют от коллбеков.

"Выпуск серверной JavaScript-платформы Node.js 5.0"
Отправлено Аноним , 31-Окт-15 23:40 
async/await (кстати, это сахар к промисам) пока еще не включили в апстрим V8 и, соответственно, Node.js

"Выпуск серверной JavaScript-платформы Node.js 5.0"
Отправлено анонимоус7657 , 31-Окт-15 11:34 
Кто-нибудь знаком тут Tcl? Прокементируйте пожалуйста, разве все что связанно с событиями не умеет Tcl?

"Выпуск серверной JavaScript-платформы Node.js 5.0"
Отправлено й , 02-Ноя-15 16:48 
> разве все что связанно с событиями не умеет Tcl?

1. в tcl есть event loop. вот только найти живой многопоточный сервер на tcl -- задача не из лёгких.

2. к tcl есть биндинги из других языков (да хоть из той же node.js).


"Выпуск серверной JavaScript-платформы Node.js 5.0"
Отправлено й , 02-Ноя-15 16:54 
а вообще, если вы спрашивали, имеет ли смысл учить tcl как современный язык для многопоточных приложений -- наверное, не имеет. erlang и то более актуален.

"Выпуск серверной JavaScript-платформы Node.js 5.0"
Отправлено Аноним , 04-Ноя-15 00:24 
NodeJS - потрясающе надежная и производительная система. Один сервер с nodejs легко обрабатывает сотню тысяч коннектов и более. Для сравнения, для j2ee две тысячи соединений это уже многовато.

"Выпуск серверной JavaScript-платформы Node.js 5.0"
Отправлено й , 08-Ноя-15 14:30 
я не знаю, где вы такие j2ee берёте. да и вообще толстый комментарий