?

Log in

No account? Create an account

Previous Entry | Next Entry

Последнее время одной из самых модных тем в российском официозе стала тема ""ИТ-шного импортозамещения". Это не случайно, именно ИТ -- это та область где РФ максимально зависит от международного сообщества, причем именно ЗАПАДНОЙ его части. "Но ничего -- бодро вещают в различных СМИ всяческие российские "клименки" -- еще немного и мы полностью перейдем на наше, РОССИЙСКОЕ программное обеспечение и полностью перестанем зависить от проклятого Запада". О том, сколько именно займет это "немного" при нынешнем уровне отставания росийского ИТ-сектора от мирового уровня я уже писал неоднократно, сейчас же я хочу рассказать некую историю, ставящую под сомнение принципиальную возможность для какой-либо страны добится полной автаркии в Ит-области.

История абсолютно реальная, произошедшая три года назад, в марте  2019 года.

Не знаю знаете вы об этом или нет, мои уважаемые френды, но сейчас практически нет в мире сайтов или веб-сервисов, не использующих в своей работе JS-скрипты. Причем если изначально JS-скрипты использовались исключительно для всякого рода "приколов и украшалок" -- типа бегающих строк текста или тикающих часиков в углу экрана -- то теперь без правильной работы JavaScript  работа сайта просто невозможна.
23 марта 2016 web-разработчики со всего мира заметили, что с их программами на JavaScript что-то не так. Одно из предупреждений гласило: «npm ERR! 404 'left-pad' is not in the npm registry». Это означает, что для запуска проекта требуется пакет под названием left-pad, но получить его не удается. Многие разработчики не могли понять, что случилось: они никогда не использовали такой модуль.
Разработка на JavaScript сейчас устроена примерно таким образом. В глобальной системе хранения пакетов npm находятся модули, которые при сборке скачиваются на компьютер разработчика или на сервер, где работает сайт. Один модуль может требовать наличия другого модуля, тот — третьего и так далее. Разработчик, используя в своей программе модуль, рассчитывает, что все модули доступны в npm, и не задумывается, от чего зависят используемые пакеты.

Азер Кочулу

На фото программист-разработчик Азер Кочулу из Калифорнии-- человек, который  некогда написал очень простенькую программку,  насчитывающую всего 11 строк кода,  тот самый модуль left-pad. Затем он совершенно безвозмедно,то есть даром, разместил его в той самой глобальной системе хранения пакетов npm, о котором написано выше.  Этот модуль был скачен и установлен в самые разные программы НЕСКОЛЬКО ДЕСЯТКОВ МИЛЛИОНОВ РАЗ!!! В некий момент времени, поругавшись с организацией, управляющей облачной системой хранения пакетов npm, он просто удалил этот модуль из хранилища -- как владелец он вполне имел право это сделать. Тем самым  он стал недоступен для дальнейшего использования при разработке, но это бы еще полбеды. Беда в том, что примерно в каждом десятом проекте вместо физического наличия строк кода из этого модуля была ССЫЛКА на его расположение в хранилище npm, сам же текст модуля должен был ДИНАМИЧЕСКИ подставляться  в момент выполнения программы. Естественно. ссылка не работала, ничего не подставлялось и как результат -- не работал весь код. Оказалось, что от крохотного модуля могут зависеть даже такие крупные проекты как React от Facebook.

В течении нескольких часов npm связалась с Азером Кочулу, причина конфликта была устранена и он востановил свой модуль. Но несколько часов весь интернет и всех интернет-разработчиков буквально лихорадило. И сделал это ОДИН человек, удаливший всего ОДИННАДЦАТЬ строк кода. А представьте, что завтра все российские сайты и всех российских интернет-разработчиков принудительно отключат  от всего хранилища npm...
promo torin_kr december 5, 2015 19:43 25
Buy for 200 tokens
Этот пост -- заказной. Меня его попросила написать одна моя хорошая знакомая, с которой мы знакомы такое количество лет. что аж страшно становится. Как говорит в таких случаях мой младший брат -- "Да ну нафиг. Столько и не живут". Живут... к сожалению. Ладно, это было лирическое…

Comments

( 18 comments — Leave a comment )
ng67
Feb. 28th, 2019 07:04 pm (UTC)

Ну это только доказывает,что сама система порочна. И да это доказывает необходимость импортозамещения, необходимость создания собственной системы платежных карт и так далее.

nick_11rus
Feb. 28th, 2019 07:32 pm (UTC)
Это доказывает что нефиг использовать облачные решения, по возможности надо использовать локальные ресурсы
torin_kr
Mar. 1st, 2019 02:52 am (UTC)
Вы сами пишите на JS?
fon_rotbar
Mar. 2nd, 2019 01:09 pm (UTC)
+500
karajel
Mar. 1st, 2019 04:30 am (UTC)
Кооперация уязвима, но все равно выгодна. Другие решения намного хуже, не эффективны и не менее уязвимы. Просто уязвимы в других местах.
aleks_visero
Feb. 28th, 2019 10:21 pm (UTC)
Чувак, эти дебилы из правительства РФ этого даже не поймут.
torin_kr
Mar. 1st, 2019 02:52 am (UTC)
Самое печальное, что они вовсе не дебилы. Просто у них мозги строго определенным образом "заточены"...
aleks_visero
Mar. 1st, 2019 06:01 am (UTC)
Ну у аутистов и шизофреников тоже мозги определённым образом заточены. Что не мешает считать их в широком плане-дебилами.
mindfactor
Mar. 1st, 2019 12:44 am (UTC)
>три года назад, в марте 2019 года.

Доктор, я читаю записи из будущего !
torin_kr
Mar. 1st, 2019 02:44 am (UTC)
Ну ошибся, в марте 2016 конечно, невнимательность, извините. История-то абсолютно реальная, можно погуглить...
utyos
Mar. 1st, 2019 01:54 am (UTC)
Вот поэтому у меня музыка и прочее подобное хранится на отдельном винчестере и кроме этого в основном массе на СД нарезано. Облако - оно такое, сегодня есть, а завтра хрен знает...
utyos
Mar. 1st, 2019 01:57 am (UTC)
Да, и на виниле еще :)
torin_kr
Mar. 1st, 2019 02:45 am (UTC)
экий вы сударь предосторожный всё-таки...
fon_rotbar
Mar. 2nd, 2019 01:10 pm (UTC)
Троллите зря, потому что пример из 2016 приводите вы, а не он...
abcentia
Mar. 1st, 2019 03:20 am (UTC)
У вас такое очень приблизительное представление о том, как сделаны сайты :)

Edited at 2019-03-01 03:20 am (UTC)
torin_kr
Mar. 1st, 2019 03:22 am (UTC)
У меня приблизительное? Забавно...
abcentia
Mar. 1st, 2019 03:24 am (UTC)
Ну да :)
Вы даже не понимаете, откуда и куда грузятся файлы.
fon_rotbar
Mar. 2nd, 2019 01:11 pm (UTC)
глобальной системе хранения пакетов npm
Я может, маленько в танке- но это вроде компоненты линуксов?
( 18 comments — Leave a comment )