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

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

Отправлено opennews , 23-Апр-19 22:10 
Доступен (https://nodejs.org/en/blog/release/v12.0.0/) релиз Node.js 12.0.0 (https://nodejs.org), платформы для выполнения высокопроизводительных сетевых приложений на языке JavaScript. Node.js 12.0 относится к веткам с длительным сроком поддержки, но данный статус будет присвоен только в октябре, после проведения стабилизации. Обновления для LTS-веток выпускаются в течение 3 лет. Поддержка прошлой LTS-ветки Node.js 10.0 продлится (https://nodejs.org/en/about/releases/) до апреля 2021 года, а позапрошлой LTS-ветки 8.0 до января 2020 года. Поддержка промежуточной ветки Node.js 11.0 будет прекращена в июне 2019 года. Время жизни LTS-ветки 6.0 завершится 30 апреля.


Из улучшений в Node.js 12.0 отмечается обновление движка V8 до версии 7.4, проведение чистки от устаревших API,  поддержка TLS 1.3 в модуле tls и отключение по умолчанию  TLS 1.0/1.1, усиление защиты и проверок размера выделяемой памяти в классе Buffer (https://nodejs.org/api/buffer.html), усиление проверок аргументов в модулях child_process, fs и assert, удаление устаревших обработчиков в модуле crypto, перевод модуля http на парсер  llhttp (https://github.com/nodejs/llhttp), перевод lib на использование стиля ECMAScript 6 при наследовании классов.


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


Содержание

Сообщения в этом обсуждении
"Выпуск серверной JavaScript-платформы Node.js 12.0"
Отправлено Мр.Троллоло , 23-Апр-19 22:10 
> платформы для выполнения высокопроизводительных сетевых приложений на языке JavaScript

Это юниксвей? Кто подскажет?


"Выпуск серверной JavaScript-платформы Node.js 12.0"
Отправлено Аноним , 23-Апр-19 23:52 
Думаю, в контексте юниксвейности можно рассматривать эту хрень как ещё один интерпретатор ещё одного динамического языка. Чем это глобально отличается от Питона там или Руби? Если Питон или Руби юниксвейны, то и этот тоже, думаю... Если же существует какая-то глубинная разница и кто-то её  пояснит, то я буду весьма благодарен.

"Выпуск серверной JavaScript-платформы Node.js 12.0"
Отправлено Аноним , 24-Апр-19 10:21 
Основная фишка это ставка на асинхронность чего в Python завезли сравнительно недавно и реализовано это крайне костыльно. Пока там в Python все будут переписывать в Node уже все готово и работает.

"Выпуск серверной JavaScript-платформы Node.js 12.0"
Отправлено _hide_ , 24-Апр-19 10:31 
Асинхронность без мультипоточности?

"Выпуск серверной JavaScript-платформы Node.js 12.0"
Отправлено Аноним , 24-Апр-19 13:05 
Один работник почты обслуживающий 3 очереди :)

"Выпуск серверной JavaScript-платформы Node.js 12.0"
Отправлено Аноним , 24-Апр-19 23:36 
Там пул потоков для ввода/вывода, но он скрыт за eventloop-ом.

"Выпуск серверной JavaScript-платформы Node.js 12.0"
Отправлено _hide_ , 07-Окт-19 09:51 
> Там пул потоков для ввода/вывода, но он скрыт за eventloop-ом.

Понятно, это не один работник почты на 3 окна, а 3 работника в одном окошке :-)


"Выпуск серверной JavaScript-платформы Node.js 12.0"
Отправлено Andrey Mitrofanov , 24-Апр-19 13:12 
>Если Питон или Руби юниксвейны, то и этот тоже,
> думаю...

Постой.  Прекрати повторять это слово

#>юниксвейны,

и немедленно дай нам определение.

А то от повторений и повторений, и повторений... во рту образуется

вкус слова "пустобрёх".

Пойду хлебну чего, освежусь, пока ты раздупляться буш.


"Выпуск серверной JavaScript-платформы Node.js 12.0"
Отправлено Аноним , 24-Апр-19 00:13 
Под юниксвеем обычно имеют ввиду поведение утилит, а это, как вы верно процитировали — платформа.

"Выпуск серверной JavaScript-платформы Node.js 12.0"
Отправлено Аноним , 24-Апр-19 00:51 
это казахстан

"Выпуск серверной JavaScript-платформы Node.js 12.0"
Отправлено Аноня , 24-Апр-19 06:06 
Шутку не понял, но посмеялся. Спасибо

"Выпуск серверной JavaScript-платформы Node.js 12.0"
Отправлено Онаним , 24-Апр-19 10:21 
https://www.youtube.com/watch?v=63Lf3KpIIGM

"Выпуск серверной JavaScript-платформы Node.js 12.0"
Отправлено Аноним , 24-Апр-19 04:26 
Надо было написать "низкопроизводительных" и все были бы согласны.

"Выпуск серверной JavaScript-платформы Node.js 12.0"
Отправлено Аноним , 24-Апр-19 10:22 
А чего это так?

"Выпуск серверной JavaScript-платформы Node.js 12.0"
Отправлено InuYasha , 24-Апр-19 13:03 
наверное, потому что интерпретатор.

"Выпуск серверной JavaScript-платформы Node.js 12.0"
Отправлено Junior frontend developer , 25-Окт-19 00:44 
Самый быстрый интерпретатор из популярных языков. Плюс хорошая ассинхронность позволяет тягаться и не только с интерпретируемыми языками.

"Выпуск серверной JavaScript-платформы Node.js 12.0"
Отправлено Ilya Indigo , 24-Апр-19 09:36 
Представьте, Вы делаете сайт, который в реальном времени занимается обработкой спросов и предложений.
Например система транспортной логистики, в которой одни компании выкладывают грузы, которые нужно перевести из А в Б, а другие компании выкладывают услуги по перевозке и свободные в данный момент, транспортные средства, находящиеся надалеко от А и способные довести их до Б.
И при этом нужно чтобы сразу после добавления груза иди свободного транспортного средства менеджер транспортной компании увидел груз и/или машину, обговорил условия и договорился с ними обоими.
Каждый раз перезагружать страницы с кучей фильтров не вариант! Менеджер должен получать мгновенно информацию об этом, а также получать личные сообщения, ответы на вопросы в предложении и прочее!
Так вот, помимо задачи основного сайта, выполненной на PHP, задачу по обеспечению этой итеративности основанной на SSE или WebSockets возлагается на ноду.
При этом если упадёт нода, а она может упасть, так как нагрузка на него гораздо выше, чем на основной PHP, или закончится свободные соединения, то основной функционал сайта продолжит работать и быстро отзываться.
А также требования для обычного сайта (низкое время выполнения и большое кол-во запросов), прямо противоположно трбованию сервера для работы с SSE и WebSocets (долгое время выполнения, ограниченное кол-во подключений).
Так что в таком случае нода это самый что не на есть unixway!

P.S. Максим, благодарю за вынос "правка" в основной вид! :-)


"Выпуск серверной JavaScript-платформы Node.js 12.0"
Отправлено Аноним , 24-Апр-19 10:31 
Смешали говна и мух.

> При этом если упадёт нода, а она может упасть, так как нагрузка на него гораздо выше или закончится свободные соединения

Это ошибка проектирования системы. Причем тут Node.js? Сокеты могут закончиться в любом другом решении.

О падениях на нагрузке в 10k - 100k соединений не заметил. Опять прикрываете собственные ошики проектирования поди?


> ... на основной PHP ...
> А также требования для обычного сайта (низкое время выполнения и большое кол-во запросов)

Как внезапно сайт на PHP выдает низкое время выполнения и большое количество запросов.
Чувствую фундаментальное Ваше непонимание принципов работы.


> Так что в таком случае нода это самый что не на есть unixway!

А это вообще причем тут? Примеры выше относилсь к плохому проектированию и каким-то попыткам сделать отказоустойчивость (покрыть риск отказа системы), а unixway вообще не об этом.



"Выпуск серверной JavaScript-платформы Node.js 12.0"
Отправлено Ilya Indigo , 24-Апр-19 11:11 
> Смешали говна и мух.

Говно с мухами именно Вы подвезли!

> Это ошибка проектирования системы.

Конечно, отсутствие ляма рублей на хороший сервер - ошибка проектирования системы!

> О падениях на нагрузке в 10k - 100k соединений не заметил.

Нагрузка бывает совершенно разной и просто кол-во соединений ничего не говорит!

>> ... на основной PHP ...
>> А также требования для обычного сайта (низкое время выполнения и большое кол-во запросов)
> Как внезапно сайт на PHP выдает низкое время выполнения и большое количество

Вы вообще читать умеете или только срать!?
Не выдаёт, а настраивается веб сервер для оптимальной работы!


"Выпуск серверной JavaScript-платформы Node.js 12.0"
Отправлено Аноним , 24-Апр-19 13:07 
Зачем перегружать сайт, php отлично умеет всё то что вы делаете на backend-е в Node.js

"Выпуск серверной JavaScript-платформы Node.js 12.0"
Отправлено Ilya Indigo , 24-Апр-19 13:40 
> Зачем перегружать сайт, php отлично умеет всё то что вы делаете на
> backend-е в Node.js

Вы предлагаете через AJAX каждые 5 сек бомбить обновлениями?
Максимум через Comet (Long piling) каждые 100 сек посылать запросы?

Я, собственно, так сейчас и буду делать, через Comet. Но я понимаю, что это решение не для большой нагрузки. Будут куча ошибок, типа сервер ответ послал, а клиент его уже не ждёт (перещёл на другую страницу или ущёл) прищёл, а главное, из-за этих соединений начнёт тормозить сайт, то есть время отклика всего сайта.

Я пытался SSE реализовать на том же сайте, но понял это тупик, сайт себя вёл непредсказуемо, то тупил не переходя по ссылке и даже ребут апача выполнялся долго, как-будто он ожидал таймаута. (возможно из-за HTTP 2.0)
https://ru.stackoverflow.com/questions/967446/server-sent-ev...

И для оптимизации нужно повышать максимальное время выполнение скрипта, но я не хочу чтобы оно было более 120 сек, так как для сайта без Comet надёжнее когда оно маленькое, возможно вообще 30 сек ограничить.

Есть способы организовать SSE и Web Sockets на PHP, но это в любом случае будет отдельный хост или даже сервер. А нода, насколько я понимаю что это, она изначально разрабатывалась именно для этих целей.


"Выпуск серверной JavaScript-платформы Node.js 12.0"
Отправлено GentooBoy , 25-Апр-19 00:58 
У вас http2 и вы говорите про Comet, да ладно? Посмотрите как сделаны современные веб чатики. Если есть что то на ноде то менять конечно не стоит, но если нет то посмотрите в сторону phoenix liveview.

У ноды есть свои проблемы, для какихто чатботов или другой маленькой функциональности я обеими руками за ноду, но что то сложное лучше уж искать другое решение, go,elixir (только к вашей задаче если я правильно понял что нужно) например. Тут проблема в том что кажеться что легко найти программиста под ноду но это увы не так


"Выпуск серверной JavaScript-платформы Node.js 12.0"
Отправлено Ilya Indigo , 25-Апр-19 10:54 
> Посмотрите как сделаны современные веб чатики.

У меня нет доступа к коду vk.com

> посмотрите в сторону phoenix liveview.

Благодарю!
https://dockyard.com/blog/2018/12/12/phoenix-liveview-intera...
https://elixirschool.com/blog/phoenix-live-view
Просмотрев бегло английские ссылки, понял только что оно реализовано через Web Sockets, и использует что-то под названием - elixir, о чём я впервые слышу.
Дойду до реализации итерактивности ознакомлюсь с ним поближе!



"Выпуск серверной JavaScript-платформы Node.js 12.0"
Отправлено Аноним , 25-Апр-19 12:06 
> что-то под названием - elixir

Язык, приложения на котором выполняются в виртуальной машине Erlang (EVM), более приятный на вкус и на ощупь, чем сам Эрланг. Эликсир относительно Эрланга - это примерно как Котлин, Груви, Скала и прочие - относительно Жабы.


"Выпуск серверной JavaScript-платформы Node.js 12.0"
Отправлено Junior frontend developer , 25-Окт-19 19:37 
Вопрос скорее наоборот. Зачем добавлять пхп к проекту на JS (а он будет неизбежно), если можно обойтись одним JS и иметь общую кодобазу.

"Выпуск серверной JavaScript-платформы Node.js 12.0"
Отправлено Аноним , 25-Апр-19 10:38 
> помимо задачи основного сайта, выполненной на PHP, задачу по обеспечению этой итеративности основанной на SSE или WebSockets возлагается на ноду

гм... решение, конечно, имеющее право на существование, но как-то это противоестественно выглядит - пришивать курице коровье вымя. Что помешало сделать статическую часть сайта на ноде или реалтаймовую часть на пыхе?
Кстати, "итеративность" здесь в чём? В алгоритме подбора пары груза/рейс?


"Выпуск серверной JavaScript-платформы Node.js 12.0"
Отправлено Ilya Indigo , 25-Апр-19 11:03 
>> помимо задачи основного сайта, выполненной на PHP, задачу по обеспечению этой итеративности основанной на SSE или WebSockets возлагается на ноду
> гм... решение, конечно, имеющее право на существование, но как-то это противоестественно
> выглядит - пришивать курице коровье вымя. Что помешало сделать статическую часть

Я уже начал сомневаться, что мне нужна именно нода для этого, но в любом случае Web Sockets реализовываются на чём-то отдельно от основного сайта. Ноду я подумал взять так как ничего другого не знаю что было бы сделано именно для организации реалтайма для web.

> сайта на ноде или реалтаймовую часть на пыхе?

Это маразм! Инструменты предназначенные для противоположного.

> Кстати, "итеративность" здесь в чём? В алгоритме подбора пары груза/рейс?

Интерактивностью я обзываю реалтаймовасть, что не верно с моей стороны.
Нужно чтобы сообщения, комментарии, уведомления, новые грузы и транспорт появлялись сравнительно сразу (не дольше чем через 5 сек) без перезагрузки страницы.

P.S. Если я в новости про ноду получаю рекомендации не использовать ноду, для того, для чего мне казалось она и предназначена, то это, видимо, тоже что-то значит. :-)


"Выпуск серверной JavaScript-платформы Node.js 12.0"
Отправлено Аноним , 25-Апр-19 12:01 
> Web Sockets реализовываются на чём-то отдельно от основного сайта

Ну, если у вас такая своеобразная диверсификация - использование двух разных технологий (пых и нода) сделано для устойчивости к сбоям (в случае краша одного второе продолжает жить) - в принципе, можно и так...
> Интерактивностью я обзываю реалтаймовасть

А, так это была просто опечатка - не "итеративность" (метод последовательных приближений), а "интерактивность".


"Выпуск серверной JavaScript-платформы Node.js 12.0"
Отправлено Аноним , 26-Апр-19 04:42 
Если-бы вместо слова nodejs было сказано, что-то вроде "шина", "amqp", "rpc" - сошел бы за середнячка, а так - в сад.

nodejs это вечная жопоболь с:

1.  Кучей пакетов с блокирующими зависимости.
2. Отвратительная поддержка проектов - ибо школьники.
3. Непонятные и непрогнозируемые утечки, зомби и т.д.
4. Ну и самое глвное - сами ноджыэсники


"Выпуск серверной JavaScript-платформы Node.js 12.0"
Отправлено Ilya Indigo , 26-Апр-19 09:00 
> nodejs это вечная жопоболь с:
> 1.  Кучей пакетов с блокирующими зависимости.
> 2. Отвратительная поддержка проектов - ибо школьники.
> 3. Непонятные и непрогнозируемые утечки, зомби и т.д.
> 4. Ну и самое глвное - сами ноджыэсники

Я с Вами согласен, пол год работал над CRM-кой на Ангуляре и зарёкся больше никогда с этим говном не работать.

Но там он использовался через *опоу, там нужно было приложение на Qt, но поскольку старший руко*оп не бум-бум в C++, нам приходилось переписывал с делфи на Ангуляр, при этом виртуалке с XP и проектом хватало 256МБ и он летал там, а этому ...цензура... на ангуляре было и 5 Гиг мало, оператива расходовалась как не в себя, при этом жутко и долго тормозил.
Я свалил оттуда через пол года от такого мусора.

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


"Выпуск серверной JavaScript-платформы Node.js 12.0"
Отправлено Andrey Mitrofanov , 24-Апр-19 10:36 
> Это юниксвей? Кто подскажет?

Да, ты должен в юниксвей!111

"" * Economy and elegance of design due to size constraints ("salvation through suffering"). ""
--https://en.wikipedia.org/wiki/Unix_philosophy


"Выпуск серверной JavaScript-платформы Node.js 12.0"
Отправлено Аноним , 24-Апр-19 00:17 
> это юниксгей? кто подскажет?

это тормозное рукожопоподелие... [anything] лучше...


"Выпуск серверной JavaScript-платформы Node.js 12.0"
Отправлено Аноним , 24-Апр-19 06:25 
Интерестно: многие языки программирования, в том числе и интерпритируемые могут подключаться как библиотеки, а не кто не пытался создать "универсальный, самый-самый..." язык/интерпритатор/компилятор, в котором бы просто были бы собранны всевозможные библиотеки/языки? Т.е. в коде пиши любой оператор от любого языка, а компилятор/интерпритатор синхронизирует "окружение" всех библиотек/диалектов, соответствие объектов, переменных и прочего...

"Выпуск серверной JavaScript-платформы Node.js 12.0"
Отправлено Alex , 24-Апр-19 06:31 
GraalVM туда идёт

"Выпуск серверной JavaScript-платформы Node.js 12.0"
Отправлено Аноним , 24-Апр-19 11:52 
Java нинче платная - не нужно...

"Выпуск серверной JavaScript-платформы Node.js 12.0"
Отправлено Аноним , 25-Апр-19 10:41 
Универсальный самый-самый язык попытались сделать в Министерстве обороны США. Назвали Адой. Получилось так себе.

"Выпуск серверной JavaScript-платформы Node.js 12.0"
Отправлено Ан , 24-Апр-19 06:53 
Похоже не терпелось новость выложить, что даже забыл описать больше половины изменений? Читайте актуальный обзор релиза здесь: https://medium.com/@nodejs/introducing-node-js-12-76c41...

"Выпуск серверной JavaScript-платформы Node.js 12.0"
Отправлено Аноним , 24-Апр-19 07:49 
Пост на medium.com вышел позднее, чем анонс https://nodejs.org/en/blog/release/v12.0.0/, в котором  про многие изменения ничего не сказано.

"Выпуск серверной JavaScript-платформы Node.js 12.0"
Отправлено Аноним , 24-Апр-19 08:19 
уже дополнили.

"Выпуск серверной JavaScript-платформы Node.js 12.0"
Отправлено IronMan , 24-Апр-19 09:13 
>Enterprise Linux 7

Кто такой, чем знаменит?
Чем-то напомнило "на Mac и PC".


"Выпуск серверной JavaScript-платформы Node.js 12.0"
Отправлено Аноним , 24-Апр-19 10:34 
el7 это кодовое название для CentOS и Red Hat вместе взятых.
Знаменит ущербной системой пакетов и поддержкой пакетов от сотворения Linux.
В целом есть еще коммерческая поддержка, но по факут бесполезность чуть более чем полностью.

"Выпуск серверной JavaScript-платформы Node.js 12.0"
Отправлено IronMan , 24-Апр-19 14:44 
> el7 это кодовое название для CentOS и Red Hat вместе взятых.
> Знаменит ущербной системой пакетов и поддержкой пакетов от сотворения Linux.
> В целом есть еще коммерческая поддержка, но по факут бесполезность чуть более
> чем полностью.

То есть по сути это версии RHEL? А Oracle linux, например, сюда относится? А SUSE уже не ынтерпрайз?


"Выпуск серверной JavaScript-платформы Node.js 12.0"
Отправлено Бенчмарки , 24-Апр-19 10:56 
Какая новость без бенчмарков?
https://imgur.com/a/GCi1owx
Что мы видим? Увеличение производительности в среднем на 2 процента.
нот бед

"Выпуск серверной JavaScript-платформы Node.js 12.0"
Отправлено Анон Анонов , 24-Апр-19 17:57 
Херню померил. Это за пределы погрешности не выходит.

"Выпуск серверной JavaScript-платформы Node.js 12.0"
Отправлено НяшМяш , 29-Апр-19 13:15 
Facepalm.jpg. Ты так еще С99 с С++17 потестируй. Тебе же явно в анонсе написали, где увеличение производительности. Напиши код с асинкавейтами, с парсингом utf-8 в потоке и тогда сравнивай. Можешь качнуть вот эту репу https://github.com/YodaCoders/http-libraries-perf-test и протестить 8 vs 10 vs 12. На моём корыте 10 нода процентов на 30 быстрее 8 была в этом "бенчмарке".

"Выпуск серверной JavaScript-платформы Node.js 12.0"
Отправлено хотел спросить , 25-Апр-19 04:28 
не нужно!