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

Исходное сообщение
"Доступна JavaScript-платформа Node.js 22.0.0"

Отправлено opennews , 25-Апр-24 10:30 
Состоялся релиз Node.js 22.0, платформы для выполнения  сетевых приложений на языке JavaScript. Node.js 22.0 отнесён к веткам с длительным сроком поддержки, но данный статус будет присвоен только в октябре, после проведения стабилизации. Поддержка Node.js 22.x будет осуществляться до 30 апреля 2027 года. Сопровождение прошлой LTS-ветки Node.js 20.x продлится до апреля 2026 года, а позапрошлой LTS-ветки 18.x до апреля 2025 года. Сопровождение  промежуточной ветки Node.js 21.x будет прекращено 1 июня 2024 года...

Подробнее: https://www.opennet.dev/opennews/art.shtml?num=61067


Содержание

Сообщения в этом обсуждении
"Доступна JavaScript-платформа Node.js 22.0.0"
Отправлено Аноним , 25-Апр-24 10:30 
Это уже легаси. Deno же есть.

"Доступна JavaScript-платформа Node.js 22.0.0"
Отправлено Максимка , 25-Апр-24 10:37 
Deno - не нужен
Потому что нет совместимости с нодой

Bun интересный эксперимент

однако для прода Node.js будет стандартным решением ибо давно обкатано


"Доступна JavaScript-платформа Node.js 22.0.0"
Отправлено Аноним , 25-Апр-24 10:50 
Дено бай дизайн неюзабельная штука даже если его использовать самостоятельно. А не как совместимость.

"Доступна JavaScript-платформа Node.js 22.0.0"
Отправлено Аноним , 25-Апр-24 10:45 
Только нет ниодного реального человека который бы в реальности использовал дено вместо ноды.

"Доступна JavaScript-платформа Node.js 22.0.0"
Отправлено Аноним , 25-Апр-24 11:35 
Когда появляется новый язык/рантайм/whatever, я всегда проверяю одну вещь: позволяет ли этот язык работать с файлами, название которых не является валидной UTF-строкой. Так вот: Node.js -- позволяет, имя файла может быть буфером. Питон -- позволяет, имя файла может быть буфером. А вот дено -- сюрприз! -- нет. В дено имя файла -- это либо строка, либо URL. Это означает, что:

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

Дено -- это детский рантайм, который и для одноразовых скриптов-то еле годится.


"Доступна JavaScript-платформа Node.js 22.0.0"
Отправлено Аноним , 25-Апр-24 13:16 
Ок, допустим новый язык позволяет работать с файлами, к-е на являются валидной UTF-строкой. Но больше этот ЯП ничего не умеет, только вот работать с такими файлами и всё... Норм язык?

"Доступна JavaScript-платформа Node.js 22.0.0"
Отправлено Аноним , 25-Апр-24 13:23 
Если этот язык планирует расширять остальную часть своей стд-либы -- да. А если аффтар не догадывается о существовании такого концепта, как OsString, то его стд-либа навсегда останется плюшевой.

"Доступна JavaScript-платформа Node.js 22.0.0"
Отправлено ляляля , 25-Апр-24 15:25 
> Но больше этот ЯП ничего не умеет, только вот работать с такими файлами и всё... Норм язык?

Этот вопрос можно более глобально экстраполировать: в вин11 ввели рекламу в "Пуске", которую можно выключить -- нужно срочно брать норм дистрибутив, и натягивать функции, которых не хватает, зато без потенциальной рекламы, стать мастером настройки сети (но не порезать телеметрию).


"Доступна JavaScript-платформа Node.js 22.0.0"
Отправлено Аноним , 25-Апр-24 15:22 
А что значит "имя файла может быть буфером"?

"Доступна JavaScript-платформа Node.js 22.0.0"
Отправлено Аноним , 25-Апр-24 15:25 
Да черт его поймет что этот ноуджыэсник имеет ввиду

"Доступна JavaScript-платформа Node.js 22.0.0"
Отправлено ляляля , 25-Апр-24 15:26 
это значит широкие возможности, т.е. еще большее поле для уязвимостей

"Доступна JavaScript-платформа Node.js 22.0.0"
Отправлено Аноним , 25-Апр-24 15:38 
> А что значит "имя файла может быть буфером"?

Привет, недавно в айти? Имя файла -- это бинарные данные. В си это массив char, в питоне это массив byte, а в GLib различают name и display name -- реальное имя файла и имя файла, показываемое пользователю в гуе, например "???.pdf (некорректная кодировка)". В плюшевых языках/рантаймах аффтары норовят ее сделать строкой или даже урлом. Это значит, что если ты задумаешь написать на таких языках файловый менеджер, то он тебе покажет, что такая-то папка пустая, хотя там можешь быть куча файлов с невалидной UTF-строкой в названии.


"Доступна JavaScript-платформа Node.js 22.0.0"
Отправлено Аноним , 25-Апр-24 15:52 
> Привет, недавно в айти?

Привет. Нет, я давно в айти. А ты недавно? По чем щас курсы скиллбокса?

> Имя файла -- это бинарные данные

Все в компухтере - бинарные данные. И имя файла, и PNG, и MP4.

> задумаешь написать на таких языках файловый менеджер, то он тебе покажет, что такая-то папка пустая, хотя там можешь быть куча файлов с невалидной UTF-строкой в названии

Ты точно недаво в айти, если не знаешь как это обойти


"Доступна JavaScript-платформа Node.js 22.0.0"
Отправлено Аноним , 25-Апр-24 16:09 
> По чем щас курсы скиллбокса?

Не знаю, узнавай у скиллбокса. Отпишись, как пройдешь!

> Все в компухтере - бинарные данные. И имя файла, и PNG, и MP4.

Ага, но с точки зрения плюшевых рантаймов (в том числе дено), имя файла -- это не просто бинарные данные, а бинарные данные, обязательно являющиеся валидной UTF16-последовательностью. То, что далеко не все файловые системы это форсируют, тебе не известно. То, что по I/O тебе могут прийти любые последовательности символов (а readdir -- это тоже I/O) -- тебе тоже не известно. Обязательно отпишись, рассказывают ли про это в скиллбоксе! Или можешь сам мне лично сказать, когда будешь пробивать мне товары на кассе в пятерочке.


"Доступна JavaScript-платформа Node.js 22.0.0"
Отправлено Аноним , 25-Апр-24 16:25 
Клован, у нас в Кипре нет пятерочек :) Но есть Alphamega, это примерно то же самое, но врядли ты там окажешься даже в качестве покупателя, тем более я там не работаю.

> То, что по I/O тебе могут прийти любые последовательности символов (а readdir -- это тоже I/O) -- тебе тоже не известно

Ахахахаха. Уважаемый кассир пятерочки, я работаю в железячной компании и пишу кастомную ФС для ядра, а не надрачиваю на какие-то deno, python'ы и нодыжыэсы :)


"Доступна JavaScript-платформа Node.js 22.0.0"
Отправлено Аноним , 25-Апр-24 16:39 
> у нас в Кипре нет пятерочек

Это не беда, ты всегда можешь устроиться работать в аналогичную сеть магазинов. Годик-два поработаешь -- и накопишь на скиллбокс!

> пишу кастомную ФС для ядра

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

> не надрачиваю на какие-то deno, python'ы и нодыжыэсы

Ну не все сразу. Сегодня пишешь "кастомную ФС для ядра" на бейсике. А через годик глядишь и до паскаля доберешься. А уж к концу жизни обнаружишь, что оказывается далеко не во всех ФС имя файла обязано быть валидной UTF-16 строкой. К этому моменту я так полагаю ты уже будешь заведующим отдела молочной продукции в "Alphamega".


"Доступна JavaScript-платформа Node.js 22.0.0"
Отправлено Аноним , 25-Апр-24 16:46 
> что оказывается далеко не во всех ФС имя файла обязано быть валидной UTF-16 строкой

Я где-то и когда-то говорил, что обязано? Ты в этом своём неплюшевом языке не можешь чтоли вызвать syscall напрямую, минуя readdir и просто из файлового дескриптора прочитать байты похер в какой кодировке?


"Доступна JavaScript-платформа Node.js 22.0.0"
Отправлено Аноним , 25-Апр-24 17:08 
> Я где-то и когда-то говорил, что обязано?

Ты или Аноним (22) задал наивный детский вопрос про то, что означает фраза "имя файла может быть буфером", вот я и посчитал нужным тебя ввести в курс дела, потому что постановка вопроса сразу выдала в тебе новичка в айти. Про сисколы свой вольный пересказ того, что тебе нагенерил чатжпт сюда лучше не присылай: со стороны это выглядит в лучшем случае глупо. Моя рекомендация -- просто возьми и честно изучи, что такое ФС, что такое файл, что такое имя файла и какие ФС имеют к нему какие требования.


"Доступна JavaScript-платформа Node.js 22.0.0"
Отправлено Аноним , 25-Апр-24 17:12 
> Ты или Аноним (22) задал наивный детский вопрос про то, что означает фраза "имя файла может быть буфером", вот я и посчитал нужным тебя

да это не я был :) Нас просто легион


"Доступна JavaScript-платформа Node.js 22.0.0"
Отправлено Аноним , 25-Апр-24 17:13 
> что тебе нагенерил чатжпт сюда лучше не присылай

И, кстати, не пользуюсь. Наверно надо уже начинать, но еще ни разу не юзал


"Доступна JavaScript-платформа Node.js 22.0.0"
Отправлено Аноним , 25-Апр-24 17:41 
И да, мне наверно не стоило отвечать на твое "недавно в айти?", если это было не мне :) Ну да ладно, что сделано, то сделано.

Но все же вопрос открытй: ты в своем неплюшевом языке/рантайме не можешь что ли не юзать встроенные средства, а просто открыть директорию через open/opendir, получить fd и просто прочитать оттуда байты в любой кодировке? И затем сам решаешь как тебе это интерпретировать?


"Доступна JavaScript-платформа Node.js 22.0.0"
Отправлено Аноним , 25-Апр-24 18:13 
Дружище, я задал тебе нормальный вопрос. Мне правда стало интересно, что ты имеешь ввиду. Но ты сразу перешел на личности, с изрядной долей снобизма. Если бы ты написал, имя файла можно передать в виде массива байт вопросов бы не было. Кто ж знал, что в это вашей ноде это называется Buffer.

"Доступна JavaScript-платформа Node.js 22.0.0"
Отправлено Аноним , 25-Апр-24 20:06 
Да какой он тебе дружище, Друг? :) Какой-то эникейщик выучил немного нодыжс, теперь пыжится типа специалист :)

"Доступна JavaScript-платформа Node.js 22.0.0"
Отправлено Аноним , 25-Апр-24 15:34 
Т.е. вместо того, чтобы донести на ИТ-террориста, ты играешь в его игру по его правилам?

"Доступна JavaScript-платформа Node.js 22.0.0"
Отправлено Аноним , 25-Апр-24 15:34 
>я всегда проверяю одну вещь: позволяет ли этот язык работать с файлами, название которых не является валидной UTF-строкой

Анекдот про звонок на спичечную фабрику


"Доступна JavaScript-платформа Node.js 22.0.0"
Отправлено Аноним , 25-Апр-24 15:45 
Сишный ls покажет тебе, что в папке куча многогигабайтных файлов. А теперь войди в repl своего плюшевого рантайма и сделай readdir той же самой папки. Плюшевый язык/рантайм, форсирующий строки в названиях файлов, скажет тебе, что папка пустая. Да такую ерунду, не умеющую толком в I/O, даже в хелловорлдах стремно использовать, не то, что в одноразовых скриптах.

"Доступна JavaScript-платформа Node.js 22.0.0"
Отправлено Аноним , 27-Апр-24 16:08 
Чел, да ты реально крутой. Плюшевый язык/рантайм форсирует строки в названиях, а ты туда случайных байтов насыпал! А? Каково? Ух хитрец, ух язва! Сам читаешь, а другие-то и не знают как. Молодец!

"Доступна JavaScript-платформа Node.js 22.0.0"
Отправлено Vlad Violentiy , 25-Апр-24 17:42 
А зачем вообще может понадобится работа с файлами, название которых это не валидная utf строка?

"Доступна JavaScript-платформа Node.js 22.0.0"
Отправлено Аноним , 26-Апр-24 09:21 
например чтобы переименовать

"Доступна JavaScript-платформа Node.js 22.0.0"
Отправлено Аноним , 26-Апр-24 22:25 
Можно просто сразу аккуратно работать и не давать подливы чтобы потом усираться с исправлениями, если ваши вкусы не специфичны конечно же..

"Доступна JavaScript-платформа Node.js 22.0.0"
Отправлено Аноним , 01-Май-24 17:14 
Сбой устройства, как следствие сбой фс, как следствие частичная потеря данных файлов.

Во времена переносных hdd один из таких упал сантиметров с десяти. Как итог: данные частично восстановил с помощью спецсофта. Многие файлы были побиты, не говоря уже про имена файлов (абракадабра отдыхает).

Плюс к этому не забываем про кривой софт.


"Доступна JavaScript-платформа Node.js 22.0.0"
Отправлено Молодой Смузихлёб , 27-Апр-24 13:31 
Раньше программы падали если директория пользователя названа кириллицей, ибо про другие кодировки кроме ASCII не хотели знать. Сейчас падают если полный путь содержит невалидную UTF-строку.

Дело в надёжности


"Доступна JavaScript-платформа Node.js 22.0.0"
Отправлено Аноним , 25-Апр-24 14:14 
> Deno же есть.

Это где модули импортируются по урл из интернета?


"Доступна JavaScript-платформа Node.js 22.0.0"
Отправлено ляляля , 25-Апр-24 15:12 
Легаси это бандлы, скомпиленные вчера.
Нужно срочно бросить разработку новых функций и исправление багов, запускать npm update -g и прочие команды, править конфиги сборки, подгонять проект по собираемость и "неуязвимость", и чтобы еще мейнтейнеры 500 зависимых пакетов тоже успели сделать то же самое к этому моменту, причем, одновременно, иначе старое не соберётся с полуновыми зависимостями.

"Доступна JavaScript-платформа Node.js 22.0.0"
Отправлено Бывалый Смузихлёб , 25-Апр-24 10:42 
> дополнительно Microsoft развивает вариант Node.js
> с движком Chakra-Core

это не та чакра, которую даже сам микрософт не использует в своём свежем эдже ?


"Доступна JavaScript-платформа Node.js 22.0.0"
Отправлено Аноним , 25-Апр-24 10:49 
Ты бы ещё про spidernode вспомни. Не надо я уже вспомнил.

"Доступна JavaScript-платформа Node.js 22.0.0"
Отправлено Аноним , 25-Апр-24 11:28 
Я так понимаю, это первый рантайм в породе с поддержкой wasmgc из коробки. Штош, докеру с их wasmEdge стоит пошевелиться.

"Доступна JavaScript-платформа Node.js 22.0.0"
Отправлено Максимка , 25-Апр-24 11:48 
соглашусь

"Доступна JavaScript-платформа Node.js 22.0.0"
Отправлено Вы забыли заполнить поле Name , 27-Апр-24 02:09 
>  Для создания пула потоков (thread pool) задействована библиотека libeio

Пул потоков в libuv реализован без сторонних библиотек.