LINUX.ORG.RU

Выпущена Node.js 5.7.0

 


1

1

23 февраля тихо и незаметно вышла версия 5.7.0 популярного рантайма javascript, основанного на v8.

Основные изменения:

  • Buffer.fill() теперь поддерживает параметр encoding;
  • spawn() и spawnProcess() теперь поддерживают параметр shell;
  • vm.Script: новые опции конструктора produceCachedData и cachedData;
  • улучшения производительности в process.nextTick(), модулях path, querystring и streams.

Кроме того, для всех веток Node.js в начале февраля были выпущены важные обновления безопасности, устраняющие уязвимости CVE-2016-2086 и CVE-2016-2216, которые релиз 5.7.0 также включает.

>>> Подробности

Deleted

Проверено: Klymedy ()
Последнее исправление: Klymedy (всего исправлений: 6)

Ответ на: комментарий от Vit

Это ж скрытая реклама производителей препаратов для профилактики разрыва пукана.

Могу сделать тебе скидку.

Debasher ★★★★★
()
Ответ на: комментарий от anonymous

Сам язык только не очень. Почему бы сразу брейнфаку не учить?

navrocky
()

Взлетел только за счет армии обезьян из фронтенда, которые не знают ничего кроме js. Веб - открытая платформа, говорили они.

entefeed ☆☆☆
()

Надо признать, что JS всем плох, кроме двух вещей.

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

А среди плюсов ноды, замечу, приличная поддержка WS и асинхронность работы.

AVL2 ★★★★★
()
Ответ на: комментарий от Esteban_Garcia

глупо использовать платформы аля electron или nwjs для этих целей. они для иного нужны.

просто ммммаксимум глупо. неудивительно почему js не воспринимают всерьез.

anonymous
()

Уже несколько раз подряд повторяется одна и та же история: есть какой-нибуть качественный, покрытый тестами, проект на Rails с красивыми лаконичным кодом, с красивыми классами в отдельных папочках и с продуманной организацией кода, с использованием всех мыслимых best practices, с месяцами усилий, прилагаемых, чтобы код был читабелен и расширяем. И вот в один прекрасный день кто-то решает запилить туда новую фичу на Backbonejs или сразу на Marionette потому что «это перспективная платформа и как раз есть модуль такой для ноды!!!» и начинает напихивать в проект десятки файлов с каким-то сраным говном, с нечитабельными «модулями», с уродскими «шаблонами», с каким-то жалким подобием «обьектов» и это дерьмо день ото дня становится все более тяжелым, неповоротливым, плохо тестируется и глючит, ломается в одном месте, когда добавил что-то в другом. Фича, сделанная «по-модному», реализуется в 5 раз дольше, чем сделанная без этого говна, но зато она «как рассказывали на это европейской конфе, это же перспективно йопт»

Я высказался, спасибо за внимание.

Alve ★★★★★
()
Ответ на: комментарий от Alve

Не оттого уж ли это, что для добавления фичи в «качественный, покрытый тестами, проект на Rails с красивыми лаконичным кодом, с красивыми классами в отдельных папочках и с продуманной организацией кода, с использованием всех мыслимых best practices, с месяцами усилий, прилагаемых, чтобы код был читабелен и расширяем» потребуется ещё пара лет усилий, продумывания организации кода, использования best practices и два чемодана с японскими йенами? Иначе я просто не понимаю финансовой выгоды от описанных выше ужасов.

wrong_number
()
Ответ на: комментарий от wrong_number

«Стильно, модно, молодёжно»

anonymous
()

не нужно.

90% всего веба написано на по-ха-пе четвертой версии.

Без фрейморков. Без классов. Без функций.

EnterpriseMobility
()

Выпущена Node.js 5.7.0

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

WARNING ★★★★
()
Ответ на: комментарий от Alve

Это все частные случаи, тут вместо ruby и js можно поставить любой яп и суть не поменяется.

TDrive ★★★★★
()
Ответ на: комментарий от Debasher

Обычный алгоритм:
1. Иди туда.
2. Сделай это.
....
всё такое.

Потом обмажешься колбэками, промисами и т.п.

Я не говорю, что это плохо, я говорю, что нельзя использовать для таких задач javascript. Не потому, что невозможно, а потому, что извращение.

Shadow ★★★★★
()
Ответ на: комментарий от Igron

Паскаль и JS - перпендикулярные концепции. Как с одного на другое переползать?

Shadow ★★★★★
()
Ответ на: комментарий от Shadow

Монго - я вообще не понимаю, в чем ее смысл
А все тащат
Вот как мне кажется, SQL пока самый наилучший вариант

mystery ★★
()
Ответ на: комментарий от Igron

Для обучения есть питон, а паскакаль с васиком засунь себе поглубже.

anonymous
()
Ответ на: комментарий от mystery

ибо node.js очень хороша в многопоточности

OMG! Вы бы хотя бы прочитали как работает NodeJS для начала. В NodeJS на все про все 1 поток!

abc
()
Ответ на: комментарий от Shadow

Про монго не надо, она мало от ФС отличается.

На самом деле ФС во многих ситуациях сливает тупейшим однофайловым «базам» (например, locate, хотя никто его обычно не называет NoSQL-базой), чисто за счет количества системных вызовов при обращении к записям.

annulen ★★★★★
()
Ответ на: комментарий от annulen

Поэтому и был придуман Redis - я думаю, что это лучшая база по сравнению с тем, что активно пихают в наше время
Так то понятно, что ынтырпрайз дальше сидит на оракле/postgres

mystery ★★
()
Ответ на: комментарий от Esteban_Garcia

Какая есть альтернатива у Electron?

От этого говна мой проц загружен на 100%. На этом вашем электроне написаны клиенты Slack и Gitter. Но это все просто ужасно тормозит.

abc
()
Ответ на: комментарий от mystery

У редиски есть два важных недостатка: 1) все данные постоянно должны находиться в памяти; 2) общение с сервером происходит посредством текстового протокола

ынтырпрайз дальше сидит на оракле/postgres

Причем тут тырпрайз? Если данные структурированные и их объем у тебя не как у Гугля, то SQL - лучший выбор в большинстве ситуаций.

annulen ★★★★★
()
Ответ на: комментарий от mystery

Монго - я вообще не понимаю, в чем ее смысл

Ну во-первых вертикальное масштабирование. GridFS. да файлики удобнее хранить там, а не на файловой системе. Потому что это так же будет скейлиться. А так подумай как быстро у тебя можно сдить около 30 Гб мелких файлов на другой сервер ? Обычная ФС очень долго делает чтение списка файлов. Тут GridFS спасение.

abc
()
Ответ на: комментарий от abc

От этого говна мой проц загружен на 100%.

О, значит альтернативы Electron - Java и Valgrind :)

annulen ★★★★★
()
Ответ на: комментарий от AVL2

Надо признать, что JS всем плох, кроме двух вещей.
Первое, это полноценный ЯП, куда серьезней, чем вшивая сишечка или улучшеный цпп.

Поправил, не благодари:
9007199254740992===9007199254740992+1

FeyFre ★★★★
()
Ответ на: комментарий от FeyFre
➜  /tmp cat a.c
main(){ 
if(9223372036854775807>9223372036854775807+1)
 puts("C is a good language");}
➜  /tmp gcc a.c
➜  /tmp ./a.out 
C is a good language
//JS
9223372036854775807>9223372036854775807+1
false
userd
()
Ответ на: комментарий от userd

To be fair

Python 3.5.1 .....
>>> print(9223372036854775807>9223372036854775807+1);
False
Prelude> 9223372036854775807>9223372036854775807+1
False

Много интересных выводов множно сделать, например.

anonymous
()
Ответ на: комментарий от anonymous

А вот например языки, вызывающие истерики и анальную боль у хипсторов честно предупреждают:

t.pas(2,31) Warning: Comparison might be always true due to range of constant and expression
anonymous
()
Ответ на: комментарий от Deleted

все так, но зачем?

Ну я, например, уже 10 лет пишу сайты на Java, в том числе на Spring. Объясни мне хотя бы одну причину, по которой я буду использовать любую другую технологию для написания своего интернет-магазина?

Legioner ★★★★★
()
Последнее исправление: Legioner (всего исправлений: 1)
Ответ на: комментарий от mystery

ибо node.js очень хороша в многопоточности

Во-первых, не в многопоточности, а в асинхронности (потому и милионы коннектов). Во-вторых, не node.js, а libuv. В-третьих, сам js-код, файловые операции и DNS через тредпул (в libuv не осилили запихнуть файловый IO в select)

Ну а главная претензия к node - нет вменяемого низкоуровнего C API. Во что довольно быстро упираешься на чем-то сколько-нибудь серьезном

makoven ★★★★★
()
Ответ на: комментарий от Alve

И вот в один прекрасный день кто-то решает запилить туда новую фичу на Backbonejs или сразу на Marionette

Backbone, Marionette

Как там в 2001? :) Сегодняшние хипстеры засыпая шепчут React Redux

makoven ★★★★★
()
Ответ на: комментарий от userd

И что этим доказали? Только что не граммотный Сишник(если вообще сишник).
Во-первых, мы говорим о равенстве «===»
Во-вторых, тебя компилятор предупредил «warning: integer overflow in expression [-Woverflow]»
В-третьих, что сам написал, то и получил. Правильно писать «9223372036854775807ULL == 9223372036854775807ULL + 1ULL».

FeyFre ★★★★
()
Ответ на: комментарий от Legioner

Вопрос в том, что за сайты ты пишешь. Я прекрасно понимаю что это один из вариантов, но я привел пример решения элементарной задачки - небольшого магазинчика, лично я считаю что эта задача не стоит того чтоб арендовать/поднимать хостинг для Java и фиг с ним с хостингом, но если тебе понадобится привлечь людей в команду - это тупо обойдется тебе дороже. Потому и вопрос, зачем? Если ты хочешь ездить на работу, ты ведь не покупаешь для этого самолет или фуру, можно, но зачем? Мне кажется нужно выбирать инструмент под задачу.

Deleted
()
Ответ на: комментарий от Shadow

Я не говорю, что это плохо, я говорю, что нельзя использовать для таких задач javascript. Не потому, что невозможно, а потому, что извращение.

Когда внезапно на любой платформе (Akka, Vertx, Go) тебе нужно в асинхронную сеть - ты тоже обмазываешься фьючерами, промисами, и прочим. Это не проблема ноды, ты либо жрешь треды как не в себя и делаешь хоумпагу где тебе плевать и все синхронно, либо пишешь как большие дяди и привыкаешь к асинхронности.

umren ★★★★★
()
Ответ на: комментарий от Legioner

я буду использовать любую другую технологию для написания своего интернет-магазина?

у тебя не будет интернет магазина :)

umren ★★★★★
()
Ответ на: комментарий от annulen

Кстати, гуглил python fastest key-value. Пишут, быстрее всего таблица постгреса.

Shadow ★★★★★
()
Ответ на: комментарий от umren

Мне менее чем в половине случаев нужно в асинхронную сеть. Просто в яваскриптике в остальных случаев без промисов тоже никак. И это маразм.

Shadow ★★★★★
()
Ответ на: комментарий от anonymous

Ну с читами и ЖС крутой язык:

bigInt("9223372036854775807").lesser(bigInt("9223372036854775807").plus(1))
true
anonymous
()
Ответ на: комментарий от umren

Когда внезапно на любой платформе (Akka, Vertx, Go) тебе нужно в асинхронную сеть

Далеко не всегда ведь нужно. Во многих случаях на ресепшене асинхронный nginx, для БД какой-нибудь молниеносный redis/leveldb. В таких условиях несколько блокирующих воркеров достаточно даже для высоких нагрузок. В ноде такое не напишешь. Точнее напишешь, но оно внутре будет плодить треды и асинхронные очереди на пустом месте, что error-prone и почти не отлаживамемо

makoven ★★★★★
()
Последнее исправление: makoven (всего исправлений: 2)
Ответ на: комментарий от Shadow

Нода не серебрянная пуля, я бы сказал что ее лучший юзкейс это какие-нибудь API которые всегда упираются в сетевой IO. В остальных случаях есть инструменты получше. На ноде не надо писать сайтов и интернет магазинов.

umren ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.