The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

24.04.2018 22:25  Выпуск серверной JavaScript-платформы Node.js 10 и пакетного менеджера NPM 6

Анонсирован релиз Node.js 10.0.0, платформы для выполнения высокопроизводительных сетевых приложений на языке JavaScript. Node.js 10.0 относится к веткам с длительным сроком поддержки, но данный статус будет присвоен только в октябре, после проведения стабилизации. Обновления для LTS-веток выпускаются в течение 4 лет. Поддержка прошлой LTS-ветки Node.js 8.0 продлится до 2021 года, а позапрошлой LTS-ветки 6.0 до 2020 года. Поддержка промежуточной ветки Node.js 9.0 будет прекращена в июле 2018 года.

Среди улучшений в Node.js 10.0:

  • Обновление движка V8 до версии 6.6. В новой версии отмечается оптимизация производительности асинхронных операций, функций promises/async, методов работы с массивами и строками (Array.prototype.*, String.prototype.indexOf ). Более чем в 10 раз увеличена производительность операции Array#reduce для массивов с большим числом пустот или значений с плавающей запятой. Производительность оператора instanceof возросла в 3.6 раза. Устранены некоторые узкие места с производительностью Function.prototype.bind. WeakMap и WeakSet. Сокращено потребления памяти в движке V8. До осенней стабилизации Node.js 10 запланирован переход на V8 версии 6.7;
  • Переход на использование OpenSSL 1.1.0, что позволило обеспечить поддержку потокового шифра ChaCha20 и алгоритма аутентификации сообщений (MAC) Poly1305. В дальнейшем до осенней стабилизации Node.js 10 запланирован переход на ветку OpenSSL 1.1.1 для обеспечения поддержки TLS 1.3;
  • Продолжен перевод проекта на новую систему обработки ошибок, в которой каждой проблеме присвоен свой уникальный код ошибки, что позволит организовать автоматизированный разбор проблем без привязки к тексту сообщения об ошибке и выпускать обновления текстов ошибок не дожидаясь следующего значительного релиза;
  • Стабилизирован и переведён в категорию официально поддерживаемых новый API Node.js (N-API), который предоставляет средства для создания нативных дополнений к Node.js, не привязанных к JavaScript runtime и рассматриваемых как часть Node.js. N-API позволяет без перекомпиляции использовать существующее дополнение с новыми версиями Node.js и с разными JavaScript-движками (V8 и Chakra-Core);
  • Расширены средства диагностики и отладки. Добавлены новые события трассировки для точного измерения времени выполнения кода, позволяющие выявлять узкие места и провалы в производительности в пользовательском коде. В API также добавлена возможность включения и выключения трассировки во время выполнения программы;
  • Добавлен экспериментальный API fs/promises, предоставляющий вариант функций "fs", реализованный при помощи механизма promise и демонстрирующий более высокую эффективность;
  • Обеспечена поддержка новых возможностей языка JavaScript. Function.prototype.toString() теперь возвращает строку с кодом функции, полостью совпадающую с тем, как функция задана в исходных текстах (все отступы и даже комментарии сохраняются);
  • Добавлены дополнительные изменения для противодействия атакам по сторонним каналам и добавлена защита от обращения к памяти вне границ области, отведённой для WebAssembly, а также доступной через массивы и строки JavaScript.

Одновременно объявлено о выходе пакетного менеджера NPM 6, в котором отмечено существенное увеличение производительности - некоторые операции стали выполняться до 17 раз быстрее. В 2-3 раза ускорено выполнение команды "npm ci". Добавлена возможность настройки webhook (уведомления об изменении пакетов) непосредственно из CLI. Реализовано автоматическое разрешение конфликтов с файлами блокировки (lockfile) и упрощено создание повторяемых сборок.

В репозитории организована проверка пакетов на наличие известных уязвимостей - при установке пакетов, содержащих неисправленные уязвимости, пользователю теперь выводится специальное предупреждение. Для проведения анализа на наличие уязвимостей в уже установленных пакетах и связанных с ними зависимостях добавлена новая команда "npm audit". Более наглядно предоставлена информация о целостности метаданных, что упрощает выявление вредоносных модификаций или повреждений в пакетах.

  1. Главная ссылка к новости (https://medium.com/@nodejs/the...)
  2. OpenNews: Выпуск серверной JavaScript-платформы Node.js 9.0
  3. OpenNews: Представлен Ayo, очередной форк проекта Node.js
  4. OpenNews: Уязвимость в Node.js, которая может привести к отказу в обслуживании
  5. OpenNews: Выпуск серверной JavaScript-платформы Node.js 8.0
  6. OpenNews: Критическая проблема в NPM 5.7, приводящая к смене прав доступа на системные каталоги
Лицензия: CC-BY
Тип: Программы
Ключевые слова: npm, node.js, javascript
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, ВебОрангутан (?), 22:48, 24/04/2018 [ответить] [показать ветку] [···]    [к модератору]
  • +1 +/
    Молодцы! Уважаем!
     
     
  • 2.2, Anonim (??), 23:32, 24/04/2018 [^] [ответить]    [к модератору]
  • +7 +/
    Кто молодцы, кого уважаем и причем тут высокая производительность?
     
     
  • 3.3, Аноним (-), 23:42, 24/04/2018 [^] [ответить]    [к модератору]
  • +3 +/
    Тут как в действенных* шампунях против перхоти.

    * по сравнению со своей предыдущей разработкой.

     
  • 1.4, KroTozeR (ok), 23:51, 24/04/2018 [ответить] [показать ветку] [···]     [к модератору]
  • –1 +/
    Когда-то, году в 2006-ом, я друзьям и коллегам рассказывал о концепции распреде... весь текст скрыт [показать]
     
     
  • 2.5, Аноним (-), 23:56, 24/04/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    Только Особенно в этом преуспели майнеры. Остальным нафиг не упало.
     
     
  • 3.7, KroTozeR (ok), 00:05, 25/04/2018 [^] [ответить]     [к модератору]  
  • –1 +/
    Там главная пользовательская killer-фича была в таких моментах приложение не ну... весь текст скрыт [показать]
     
     
  • 4.25, Anonymoustus (ok), 08:45, 25/04/2018 [^] [ответить]     [к модератору]  
  • +5 +/
    Спасибо, не надо А то программистов начнут калечить и убивать прямо на улицах ... весь текст скрыт [показать]
     
     
  • 5.33, KroTozeR (ok), 09:14, 25/04/2018 [^] [ответить]     [к модератору]  
  • +/
    Тогда это не выглядело настолько критичным Достаточно вспомнить, что тогда и Ja... весь текст скрыт [показать]
     
     
  • 6.46, _hide_ (ok), 10:53, 25/04/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    Вам бы перед этим посмотреть хотя бы на концепцию OpenOffice (подозреваю, что тогда ещё StarOffice). UNO делает всё, что Вам нужно.
     
  • 2.6, Аноним (6), 00:02, 25/04/2018 [^] [ответить]    [к модератору]  
  • +3 +/
    Ради таких коментариев в том числе и хожу на данный ресурс :)
     
     
  • 3.8, KroTozeR (ok), 00:11, 25/04/2018 [^] [ответить]     [к модератору]  
  • +/
    Дык, сейчас это 8212 дело прошлого Оно ни на что не влияет, если только двое... весь текст скрыт [показать]
     
  • 2.9, Алконим (?), 00:13, 25/04/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    Клиентская сторона не может полностью доверенной.
     
     
  • 3.11, KroTozeR (ok), 00:47, 25/04/2018 [^] [ответить]     [к модератору]  
  • +/
    Так она и не была полностью доверенной для локальной ОС Там даже взаимодействие... весь текст скрыт [показать]
     
     
  • 4.27, Anonymoustus (ok), 08:53, 25/04/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    https en wikipedia org wiki Spotlight_ 28software 29 А вообще это называют inc... весь текст скрыт [показать]
     
     
  • 5.34, KroTozeR (ok), 09:16, 25/04/2018 [^] [ответить]     [к модератору]  
  • +/
    Ну, что ж теперь-то судить Сейчас проекта в открытом виде не существует За ссы... весь текст скрыт [показать]
     
  • 2.21, Аноним (-), 08:09, 25/04/2018 [^] [ответить]     [к модератору]  
  • –1 +/
    не льсти себе, там и виртуальная машина не очень единая, и разница для стороны, ... весь текст скрыт [показать]
     
     
  • 3.28, Anonymoustus (ok), 08:58, 25/04/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    Вероятно, парни работали над повторным изобретением идеи мейнфрейма. :)
     
     
  • 4.30, KroTozeR (ok), 09:07, 25/04/2018 [^] [ответить]     [к модератору]  
  • +/
    Кстати, на мейнфрейм оглядка была, да Но цели были слегка иные Вряд ли у мейнф... весь текст скрыт [показать]
     
     
  • 5.42, Anonymoustus (ok), 10:12, 25/04/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    В мейнфрейме может быть, условно говоря, 171 всё 187 что угодно Мейнфрейм... весь текст скрыт [показать]
     
  • 3.29, KroTozeR (ok), 09:03, 25/04/2018 [^] [ответить]     [к модератору]  
  • +/
    Эх, любителей выдавать своё мнение за истину на Опене и Лоре развелось тучами Д... весь текст скрыт [показать]
     
  • 2.24, Anonymoustus (ok), 08:44, 25/04/2018 [^] [ответить]     [к модератору]  
  • +2 +/
    Это вам в IBM с такими идеями надо было Правда они уже давно их реализовали ... весь текст скрыт [показать]
     
     
  • 3.31, KroTozeR (ok), 09:11, 25/04/2018 [^] [ответить]     [к модератору]  
  • +/
    Идея не моя, а двух программеров из Новосибирска Вполне возможно, что что-то ре... весь текст скрыт [показать]
     
     
  • 4.47, Аноним (-), 12:11, 25/04/2018 [^] [ответить]     [к модератору]  
  • +/
    Сестра, два клозапина этому наполеону ... весь текст скрыт [показать]
     
     
  • 5.48, KroTozeR (ok), 12:27, 25/04/2018 [^] [ответить]     [к модератору]  
  • +/
    Не хочешь, не верь Тебя кто заставляет, что ли И клозапин свой забери обратно ... весь текст скрыт [показать]
     
  • 4.54, anonymous (??), 13:18, 25/04/2018 [^] [ответить]    [к модератору]  
  • +/
    >Тогда Гугл ещё располагался в Москве в т.н. "розовом здании" с небольшим садом в ограде.

    Ору)))

     
     
  • 5.55, KroTozeR (ok), 13:54, 25/04/2018 [^] [ответить]    [к модератору]  
  • +/
    Ори дальше.
     
  • 2.35, КО (?), 09:19, 25/04/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    Судя по датам, как раз совпадает с первой версией GWT. Там как раз этот подход и реализован. Хочешь код на клиенте выполняешь, хочешь на сервере. :)
     
     
  • 3.37, KroTozeR (ok), 09:32, 25/04/2018 [^] [ответить]     [к модератору]  
  • +/
    Наблюдение интересное, но чтобы разработать подобное, нужен был хотя бы год на р... весь текст скрыт [показать]
     
  • 2.36, Аноним (-), 09:23, 25/04/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    gt оверквотинг удален Так эта JEE ... весь текст скрыт [показать]
     
     
  • 3.38, KroTozeR (ok), 09:36, 25/04/2018 [^] [ответить]     [к модератору]  
  • +/
    Тоже много общего Но там был свой сетевой протокол, аудиоподсистема, механика 3... весь текст скрыт [показать]
     
  • 2.39, YetAnotherOnanym (ok), 09:42, 25/04/2018 [^] [ответить]     [к модератору]  
  • +/
    Емнип, Джо Андерсон сотоварищи из Эрикссон уже написали такое, только оно не в б... весь текст скрыт [показать]
     
     
  • 3.41, KroTozeR (ok), 09:52, 25/04/2018 [^] [ответить]     [к модератору]  
  • +/
    Конкретно то решение было написано на C и C , представляло собой связку ядра и ... весь текст скрыт [показать]
     
  • 2.57, Аноним (-), 17:46, 25/04/2018 [^] [ответить]    [к модератору]  
  • –1 +/
    >Приложение может исполняться на сервере, но его оконный интерфейс отображается на клиенте

    Вау, они изобрели X11

     
     
  • 3.60, KroTozeR (ok), 07:58, 26/04/2018 [^] [ответить]     [к модератору]  
  • +/
    Влом уже морально распинаться Особенно перед такими яслями , выдёргивающими ... весь текст скрыт [показать]
     
  • 1.12, Аноним (-), 02:06, 25/04/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • –3 +/
    Когда уже сделают node как зависимость для приложений.. чтоб они не тащили браузер с собой, а только подтягивали
     
     
  • 2.13, th3m3 (ok), 02:17, 25/04/2018 [^] [ответить]    [к модератору]  
  • +2 +/
    Если я правильно тебя понял, то ты путаешь Electron с Node.js. В Ноде нет никакого браузера, там только движок V8.
     
  • 2.14, Аноним (-), 02:30, 25/04/2018 [^] [ответить]    [к модератору]  
  • –1 +/
    Нода - фактически просто скриптовый язык, который можно использовать в разных случаях жизни, хоть сисадминство, хоть сервера (в принципе, как и остальные подобные языки).
     
  • 1.20, Илья (??), 07:49, 25/04/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    В ноде мне не нравится, что npm-пакеты при установке с опцией "-g" по умолчанию требуют прав суперпользователя.
    Учитывая, что база npm - это та еще помойка, хотелось бы, чтобы пакеты ставились в папку пользователя.
    Да, это можно настроить, но почему так сделано - непонятно.
     
     
  • 2.22, Аноним (-), 08:12, 25/04/2018 [^] [ответить]     [к модератору]  
  • +/
    предложи получше способ установки пакета в систему, не используя специальных при... весь текст скрыт [показать]
     
     
  • 3.40, YetAnotherOnanym (ok), 09:49, 25/04/2018 [^] [ответить]    [к модератору]  
  • +/
    > предложи получше способ установки пакета в систему, не используя специальных привелегий?

    "--prefix dirname" ?


     
     
  • 4.58, Аноним (-), 17:50, 25/04/2018 [^] [ответить]    [к модератору]  
  • +/
    Это у вас теперь называется "в систему"? Лучше бы ты про докер сказал.
     
  • 3.65, Вы забыли заполнить поле Name (?), 22:26, 26/04/2018 [^] [ответить]    [к модератору]  
  • +/
    > предложи получше способ установки пакета в систему, не используя специальных привелегий?

    echo 'prefix = ~/.node' >> ~/.npmrc

    После этого npm i -g будет ставить в ~/.node

     
  • 2.23, ffsdmad (ok), 08:16, 25/04/2018 [^] [ответить]    [к модератору]  
  • +2 +/
    попробуй без опции -g (--global) ставить  
     
     
  • 3.50, Аноним (-), 12:43, 25/04/2018 [^] [ответить]     [к модератору]  
  • +/
    Нет, вы не поняли В вашем случае пакет с зависимостями установится в node_mod... весь текст скрыт [показать]
     
     
  • 4.51, Илья (??), 12:46, 25/04/2018 [^] [ответить]    [к модератору]  
  • +/
    https://github.com/nodeschool/discussions/wiki/In
    stalling-global-node-modules-(Linux-and-Mac)

    Извините, кажется, опеннет обрезает ссылки

     
  • 2.32, Аноним (-), 09:11, 25/04/2018 [^] [ответить]    [к модератору]  
  • +/
    После включения в современные версии npm команды npx, надобность в глобальных пакетах вообще отпала. Не могу представить себе  ни одной причины, по которой еще нужно использовать глобальные пакеты.
     
     
  • 3.43, ВебЗоопарк (?), 10:24, 25/04/2018 [^] [ответить]     [к модератору]  
  • +/
    Ну да, ну да В документации черным по еблому INSTALL npm install -g npx... весь текст скрыт [показать]
     
  • 3.64, Вы забыли заполнить поле Name (?), 22:23, 26/04/2018 [^] [ответить]    [к модератору]  
  • +/
    > Не могу представить себе  ни одной причины, по
    > которой еще нужно использовать глобальные пакеты.

    Для уязвимостей самое то.

     
  • 2.44, Аноним (-), 10:43, 25/04/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    Так надо Node ставить из NVM, а не репозитория, тогда и global пакеты будет храниться в юзерспейсе, как и сама Node.
     
  • 1.45, Аноним (-), 10:46, 25/04/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    NPM 6 войдет в состав Node только к версии 10.1, не раньше.
     
  • 1.49, Аноним (-), 12:35, 25/04/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    В июне выйдет обновление с V8 6.7 (насчет 6.8 команда не уверена, что имеет смысл тратить время на починку ABI V8 к версии 6.6).
     
  • 1.52, anonymous (??), 13:04, 25/04/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    эта та байда с псевдо асинхронным callback hell про которую ее создатель сказал что ее нужно похоронить и писать на golang?
     
     
  • 2.56, Аноним (-), 16:13, 25/04/2018 [^] [ответить]    [к модератору]  
  • +/
    "Вспомнити", ты ли это?
     
  • 2.63, Вы забыли заполнить поле Name (?), 22:22, 26/04/2018 [^] [ответить]    [к модератору]  
  • +/
    > эта та байда с псевдо асинхронным callback hell про которую ее создатель
    > сказал что ее нужно похоронить и писать на golang?

    Можно ссылку?

     
     
  • 3.67, Вы забыли заполнить поле Name (?), 22:34, 26/04/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    https://www.mappingthejourney.com/single-post/2017/08/31/episode-8-interview-w
     
     
  • 4.69, eeee (?), 01:06, 01/05/2018 [^] [ответить]    [к модератору]  
  • +/
    годно
     
  • 1.53, anonymous (??), 13:07, 25/04/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    >"каждой проблеме присвоен свой уникальный код ошибки"

    это просто мега LOL

     
  • 1.59, Вареник (?), 23:43, 25/04/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Релиз выходит за полгода до начала стабилизации???
     
     
  • 2.61, Аноним (-), 10:08, 26/04/2018 [^] [ответить]    [к модератору]  
  • +/
    Да, целых полгода на полировку и стабилизацию. А что в этом плохого?
     
     
  • 3.62, Вы забыли заполнить поле Name (?), 22:19, 26/04/2018 [^] [ответить]    [к модератору]  
  • +2 +/
    Рискну предположить, что аноним выше говорит, что это не релиз, а бета (или альфа) раз он еще не готов. Но видимо, в мире js заведено по-другому, чтобы веб-(животные, любящие бананы и лазить по деревьям) не боялись "полировать" и стабилизировать.
     
     
  • 4.68, Илья (??), 10:27, 30/04/2018 [^] [ответить]    [к модератору]  
  • +/
    https://github.com/nodejs/Release#release-schedule

    Вот план релизов ноды. Перед тем как оскорблять людей, ознакомьтесь в следующий раз.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor