The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

В Rust-репозитории crates.io выявлен вредоносный пакет rustdecimal, opennews (??), 11-Май-22, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


32. "В Rust-репозитории crates.io выявлен вредоносный пакет rustd..."  +/
Сообщение от Аноним (87), 11-Май-22, 10:37 
is-positive-integer это вообще 3 оператора, ради этого подключать библиотеку толсто очень. С тех пор в стандартную библиотеку добавили isInteger и padStart чтобы программисты не мучили npm
Ответить | Правка | К родителю #24 | Наверх | Cообщить модератору

35. "В Rust-репозитории crates.io выявлен вредоносный пакет rustd..."  +3 +/
Сообщение от Аноним (5), 11-Май-22, 10:45 
> Array.isArray поддерживается в IE 9 с 2011

Ага, то есть в 2011 году все резко подскочили и перешли в IE 9, да? Глянь browser stats 2011 для начала. Да я в эти времена все еще с IE 6 бодался.

> в стандартную библиотеку добавили isInteger и padStart чтобы программисты не мучили npm

Не "чтобы не мучили npm", а потому что есть в этих функциях объективная нужда. И речь здесь не про объем кода (никто не "разучивался программировать"), а про то, что ECMAScript не предоставлял достаточно стабильный рантайм. Сегодня это "[object Array]", завтра еще черт знает что. Библиотека isArray хотя бы была центральным местом, в котором мог бы быть накоплен опыт по ее работоспособности в самых разных браузерах, некоторые из которых уже не существуют.

Ответить | Правка | Наверх | Cообщить модератору

72. "В Rust-репозитории crates.io выявлен вредоносный пакет rustd..."  +/
Сообщение от Аноним (87), 11-Май-22, 12:19 
Какой свободный?
1) вместо isArray можно было использовать instanceof Array который есть даже в IE 4
2) Вместо isInteger использовать оператор % 1 который даже в первом netscape navigator должен работать
Эти функции заметаются одним оператором доступным в очень старых браузерах.
3) leftpad это 2 строчки кода

>Библиотека isArray хотя бы была центральным местом

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

Ответить | Правка | Наверх | Cообщить модератору

80. "В Rust-репозитории crates.io выявлен вредоносный пакет rustd..."  +3 +/
Сообщение от Аноним (5), 11-Май-22, 13:23 
> вместо isArray можно было использовать instanceof Array который есть даже в IE 4

Посмотри в MDN, чем чреват такой метод.

> Вместо isInteger использовать оператор % 1 который даже в первом netscape navigator должен работать

Ага, и споткнись на первом же неординарном случае типа ({valueOf: () => 42}) % 1. Ты не сможешь с первого раза написать такую функцию -- обязательно вылезет edge case, который ты и представить себе не мог. А если функция сработает для тебя, не факт, что сработает в другом браузере образца 2011 года.

> leftpad это 2 строчки кода

Которые, полагаю, предлагается тащить повсюду, реализуя его снова и снова? Сообщество пришло к минимальным пакетам как ответ на стагнацию ECMAScript, а не потому что "не шмагли реализовать". В наши дни в них нужды особо нет, спасибо минимальным пакетам, которые наконец заставили tc39 как-то начать шевелиться.

> в котором в любой момент мог оказаться троян

А если бы бабушка была дедушкой...

Ответить | Правка | Наверх | Cообщить модератору

85. "В Rust-репозитории crates.io выявлен вредоносный пакет rustd..."  –1 +/
Сообщение от Аноним (87), 11-Май-22, 14:33 
function isInteger(num) {
  return typeof num === "number" && isFinite(num) && num % 1 === 0;
}
описывает все возможные варианты. 7 месяцев не писала, js
Если будут сомнения на jest тесты написала бы.
>реализуя его снова и снова?

Да, скопипастить 2 строчки в Utils.js и не зависеть от того что прилетит из npm
>А если бы бабушка была дедушкой...

была она дедушкой. left-pad удалили, загрузили другие люди, по новой уже с трояном.
А недавно код делающий rm -rf / даже в 3Д движек Unity пролез, а не то что во фронтэнд.

Ответить | Правка | Наверх | Cообщить модератору

88. "В Rust-репозитории crates.io выявлен вредоносный пакет rustd..."  +/
Сообщение от Аноним (87), 11-Май-22, 14:42 
isInteger специально для тебя, под все браузеры начиная с IE 4
Ответить | Правка | Наверх | Cообщить модератору

96. "В Rust-репозитории crates.io выявлен вредоносный пакет rustd..."  +2 +/
Сообщение от Аноним (5), 11-Май-22, 15:34 
> isFinite(num)

Во-первых, isFinite не нужен, когда уже есть Number.isFinite, в который здесь гарантированно передадут number. Во-вторых, {Number.,}isFinite не нужны, и все прекрасно работает без них. Вердикт: написанный наспех isInteger оказался не настолько удачным, как в критикуемом однострочнике из npm: https://github.com/tjmehta/is-positive-integer/blob/master/i...

> left-pad удалили, загрузили другие люди, по новой уже с трояном

А это в которой из параллельных вселенных произошло?

> недавно код делающий rm -rf / даже в 3Д движек Unity пролез

То, что самолеты иногда падают, не повод отказываться от них. В npm как и с самолетами: в новостях светятся только катастрофы.

Ответить | Правка | К родителю #85 | Наверх | Cообщить модератору

107. "В Rust-репозитории crates.io выявлен вредоносный пакет rustd..."  –1 +/
Сообщение от Аноним (87), 11-Май-22, 17:39 
Во-первых Number.isFinite() появилось гораздо позже чем isFinite хотя до этого анонимный эксперт рассказывал про поддержку браузеров до IE 9.
Во-вторых isFinite гарантировано отсечет специальные значения.
Вердикт: анонимный эксперт либо троллит, либо не понимает о чем пишет...
Ответить | Правка | Наверх | Cообщить модератору

124. "В Rust-репозитории crates.io выявлен вредоносный пакет rustd..."  +2 +/
Сообщение от Аноним (5), 11-Май-22, 19:36 
> isFinite гарантировано отсечет специальные значения

if (foo && foo && foo) // шоб гарантировано, шоб наверняка

Найди мне non-finite number значение, для которого % 1 === 0.

Ответить | Правка | Наверх | Cообщить модератору

109. "В Rust-репозитории crates.io выявлен вредоносный пакет rustd..."  –2 +/
Сообщение от Аноним (87), 11-Май-22, 17:47 
"Инцидент с захватом прав на NPM-модуль привёл к сбою в работе проектов, использующих NPM
Особенно существенные проблемы возникли из-за удаления модуля left-pad, который выполняет простейшую функцию добавления лидирующих пробелов для доведения строки до заданного размера и содержит всего 11 строк кода. В феврале было загружено около 2.5 млн копий left-pad, а среди зависимых от него разработок оказались тысячи проектов, в том числе Node, React и Babel."

видимо не в той в которой находится тролль.

Ответить | Правка | К родителю #96 | Наверх | Cообщить модератору

110. "В Rust-репозитории crates.io выявлен вредоносный пакет rustd..."  –2 +/
Сообщение от Аноним (87), 11-Май-22, 17:47 
Удалением известных модулей также воспользовались предприимчивые деятели, которые разместили в NPM собственные подставные модули с именами, совпадающими с удалёнными модулями. Не исключено, что эти модули совершают скрытую вредоносную активность.
Ответить | Правка | Наверх | Cообщить модератору

126. "В Rust-репозитории crates.io выявлен вредоносный пакет rustd..."  +3 +/
Сообщение от Аноним (5), 11-Май-22, 19:44 
Как я уже сказал: в новостях публикуют катастрофы. Никто не публикует новости типа "библиотека xxx обновилась, и в ней не оказалось троянов" -- их можно клепать по десятки тысяч в день, если не в час. google: ошибка выжившего

Далее, к высокопопулярным пакетам приковано повышенное внимание, так что подсунуть троян проблематично. Если боишься, выруби интернет. В нормальном мире здраво взвешивают все риски, а не занимаются poisoning the well.

> удаления модуля left-pad

Цитируешь только так, как удобно? "“I think I have the right of deleting all my stuff,” Koçulu wrote on March 20 in an email that was later made public." — https://qz.com/646467/how-one-programmer-broke-the-internet-.../

Ни о каком трояне в left-pad речь никогда не шла. Вердикт: анонимный эксперт либо троллит, либо не понимает о чем пишет...

Ответить | Правка | Наверх | Cообщить модератору

97. "В Rust-репозитории crates.io выявлен вредоносный пакет rustd..."  +1 +/
Сообщение от Sw00p aka Jerom (?), 11-Май-22, 15:37 
>typeof num === "number"

жесть какая, function isInteger(Number num) куда логичнее.

Ответить | Правка | К родителю #85 | Наверх | Cообщить модератору

128. "В Rust-репозитории crates.io выявлен вредоносный пакет rustd..."  +/
Сообщение от Аноним (5), 11-Май-22, 19:48 
> function isInteger(Number num) куда логичнее

Начнем с того, что в тайпскрипте можно явно указывать тип аргументов — будет проверен на этапе сборки без рантайм-оверхеда. Закончим тем, что Number и number — разные вещи, так что ни о какой логике в твоем примере речь не идет. google: js boxing. google: java boxing

Ответить | Правка | Наверх | Cообщить модератору

135. "В Rust-репозитории crates.io выявлен вредоносный пакет rustd..."  +/
Сообщение от Sw00p aka Jerom (?), 11-Май-22, 21:34 
>Начнем с того, что в тайпскрипте можно явно указывать тип аргументов — будет проверен на этапе сборки без рантайм-оверхеда.

спасибо кэп!

>Закончим тем, что Number и number — разные вещи, так что ни о какой логике в твоем примере речь не идет.

Ожидаемо :), потому явно написал с большой буквы. А теперь про логику:

функция сложить(хер, палец)
функция сложить(число, число)

разница есть при чтении?

Ответить | Правка | Наверх | Cообщить модератору

137. "В Rust-репозитории crates.io выявлен вредоносный пакет rustd..."  +/
Сообщение от Sw00p aka Jerom (?), 11-Май-22, 21:53 
> так что ни о какой логике в твоем примере речь не идет

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

Ответить | Правка | К родителю #128 | Наверх | Cообщить модератору

147. "В Rust-репозитории crates.io выявлен вредоносный пакет rustd..."  –1 +/
Сообщение от Алекс (??), 12-Май-22, 08:23 
> google: java boxing

Ну и каким боком опеннетный эксперт притянул java к javascript?

JavaScript is to Java as hamster is to ham. (c)

Ответить | Правка | К родителю #128 | Наверх | Cообщить модератору

153. "В Rust-репозитории crates.io выявлен вредоносный пакет rustd..."  +/
Сообщение от Sw00p aka Jerom (?), 12-Май-22, 11:02 
ну там намек на Number был, мол это в той же Java есть класс, забыв собственно что есть понятие класс.

https://en.m.wikipedia.org/wiki/Class_(computer_programming)

раздел Class vs type к прочтению экспертам.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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