HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-21
1 <p>Пишет об истории IT, разработке и советской кибернетике. Знает Python, JavaScript и немного C++, но предпочитает писать на русском.</p>
1 <p>Пишет об истории IT, разработке и советской кибернетике. Знает Python, JavaScript и немного C++, но предпочитает писать на русском.</p>
2 <p>Linux-разработчик, соавтор графического протокола<a>Wayland</a>и окружения<a>Sway</a>Дрю Деволт опубликовал<a>объявление</a>в личном блоге:</p>
2 <p>Linux-разработчик, соавтор графического протокола<a>Wayland</a>и окружения<a>Sway</a>Дрю Деволт опубликовал<a>объявление</a>в личном блоге:</p>
3 <p>"Я заплачу всем, кто удалит свой модуль из npm. Чем больше у модуля скачиваний и меньше строк кода - тем больше денег вы получите. Важное условие: модуль нужно удалить без предупреждения, чтобы пользователи проснулись с повреждённой сборкой".</p>
3 <p>"Я заплачу всем, кто удалит свой модуль из npm. Чем больше у модуля скачиваний и меньше строк кода - тем больше денег вы получите. Важное условие: модуль нужно удалить без предупреждения, чтобы пользователи проснулись с повреждённой сборкой".</p>
4 <p>Дрю предупредил, что итоговая сумма не может превышать 1 тысячи долларов и даже привёл схему расчёта:</p>
4 <p>Дрю предупредил, что итоговая сумма не может превышать 1 тысячи долларов и даже привёл схему расчёта:</p>
5 Источник: скриншот<a>с личного сайта Дрю</a><p>Разработчик пообещал, что будет самостоятельно проверять количество скачиваний, размер пакетов, наличие накруток и искусственное сокращение кода. А ещё он предупредил, что может попросить владельца подождать с удалением модулей, чтобы "растянуть хаос от каждого удаления на несколько недель".</p>
5 Источник: скриншот<a>с личного сайта Дрю</a><p>Разработчик пообещал, что будет самостоятельно проверять количество скачиваний, размер пакетов, наличие накруток и искусственное сокращение кода. А ещё он предупредил, что может попросить владельца подождать с удалением модулей, чтобы "растянуть хаос от каждого удаления на несколько недель".</p>
6 <p>Те, кто дочитал объявление до конца и кликнул "Click here to apply", поняли, что это был розыгрыш. Дрю надеется, что шутка вызовет страх у разработчиков Node.js и у всех, кто перешёл на npm. По его мнению, сотни и тысячи зависимостей от разных поставщиков, которыми обросли веб-приложения, угрожают глобальной безопасности. Разработчики привыкли скачивать готовые модули для решения даже самых тривиальных задач, хотя могли бы справиться сами за несколько минут:</p>
6 <p>Те, кто дочитал объявление до конца и кликнул "Click here to apply", поняли, что это был розыгрыш. Дрю надеется, что шутка вызовет страх у разработчиков Node.js и у всех, кто перешёл на npm. По его мнению, сотни и тысячи зависимостей от разных поставщиков, которыми обросли веб-приложения, угрожают глобальной безопасности. Разработчики привыкли скачивать готовые модули для решения даже самых тривиальных задач, хотя могли бы справиться сами за несколько минут:</p>
7 <p>"Многие разработчики понятия не имеют, из чего состоят их деревья зависимостей. В большинстве из них тысячи записей, которые никогда не подвергались аудиту. Пора бы уже остановить это безрассудство".</p>
7 <p>"Многие разработчики понятия не имеют, из чего состоят их деревья зависимостей. В большинстве из них тысячи записей, которые никогда не подвергались аудиту. Пора бы уже остановить это безрассудство".</p>
8 <p>Впервые об угрозе, которую несёт npm, заговорили в 2016 году. Тогда разработчик и автор 272 модулей Азер Кочулу удалил все свои пакеты из репозитория и заблокировал сборку в npm множества проектов. Больше всего проблем возникло из-за пакета left-pad: он содержал функцию, которая дополняет строку нулями и пробелами. Она использовалась в Node.js и Babel.</p>
8 <p>Впервые об угрозе, которую несёт npm, заговорили в 2016 году. Тогда разработчик и автор 272 модулей Азер Кочулу удалил все свои пакеты из репозитория и заблокировал сборку в npm множества проектов. Больше всего проблем возникло из-за пакета left-pad: он содержал функцию, которая дополняет строку нулями и пробелами. Она использовалась в Node.js и Babel.</p>
9 <p>Надо отметить, что не все дочитали пост до конца. Вот как отреагировали пользователи<a>Reddit</a>:</p>
9 <p>Надо отметить, что не все дочитали пост до конца. Вот как отреагировали пользователи<a>Reddit</a>:</p>
10 <p>"npm - это дерьмовая вещь. Но так его исправить точно не получится. Лучше провести аудит бесполезных пакетов, хоть он и потребует кучу времени. А просто вырывать ковёр из-под ног разработчиков, не предлагая альтернативы, - уж слишком токсично".</p>
10 <p>"npm - это дерьмовая вещь. Но так его исправить точно не получится. Лучше провести аудит бесполезных пакетов, хоть он и потребует кучу времени. А просто вырывать ковёр из-под ног разработчиков, не предлагая альтернативы, - уж слишком токсично".</p>
11 Источник: скриншот с <a>Reddit</a><p>"С управлением пакетами в JavaScript действительно всё плохо. Деревья зависимостей не должны разрастаться до тысячи узлов.</p>
11 Источник: скриншот с <a>Reddit</a><p>"С управлением пакетами в JavaScript действительно всё плохо. Деревья зависимостей не должны разрастаться до тысячи узлов.</p>
12 <p>Я думаю, так случилось из-за того, что у JavaScript нет стандартной библиотеки, как у Java, C#, C++ и так далее. Многие служебные функции переданы на аутсорсинг тысячам сторонних библиотек, каждая из которых заставляет разработчиков запускать свой миниатюрный пакет. Пришло время создать стандартную библиотеку для JavaScript с общим пространством имён. Правда, тут, скорее всего, возникнут проблемы с обратной совместимостью.</p>
12 <p>Я думаю, так случилось из-за того, что у JavaScript нет стандартной библиотеки, как у Java, C#, C++ и так далее. Многие служебные функции переданы на аутсорсинг тысячам сторонних библиотек, каждая из которых заставляет разработчиков запускать свой миниатюрный пакет. Пришло время создать стандартную библиотеку для JavaScript с общим пространством имён. Правда, тут, скорее всего, возникнут проблемы с обратной совместимостью.</p>
13 Источник: скриншот с <a>Reddit</a><p>"Как найти Дрю в Reddit? Я готов скинуть немного наличных на его инициативу…</p>
13 Источник: скриншот с <a>Reddit</a><p>"Как найти Дрю в Reddit? Я готов скинуть немного наличных на его инициативу…</p>
14 <p>Я никого не троллю и подозреваю, что Дрю тоже. У меня уже началась бессонница из-за того, насколько ужасна экосистема JavaScript. Даже у моих простых приложений огромное дерево зависимостей. Люди заслуживают лучшего, чем тот мусор, который мы им продаём.</p>
14 <p>Я никого не троллю и подозреваю, что Дрю тоже. У меня уже началась бессонница из-за того, насколько ужасна экосистема JavaScript. Даже у моих простых приложений огромное дерево зависимостей. Люди заслуживают лучшего, чем тот мусор, который мы им продаём.</p>
15 <p>UPD: Неловко как-то вышло. Оказывается, это шутка. Посижу здесь в одиночестве с мыслью о том, что у меня есть родственная душа в лице Дрю… LOL".</p>
15 <p>UPD: Неловко как-то вышло. Оказывается, это шутка. Посижу здесь в одиночестве с мыслью о том, что у меня есть родственная душа в лице Дрю… LOL".</p>
16 Источник: скриншот с <a>Reddit</a><a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>
16 Источник: скриншот с <a>Reddit</a><a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>