Expand Cut Tags

No cut tags
dizel_by: (ua)
[personal profile] dizel_by
Оригинал взят у [livejournal.com profile] leo_sosnine в Как поломать интернет 11 строчками кода
Ржака вообще:

Конечно, не весь интернет, а всего лишь кучу проектов на Node.js, но и так неплохо получилось (c).

Несколько часов назад JS-разработчик Азер Кочулу (Azer Koçulu) отозвал из NPM (популярный менеджер пакетов, используемый при разработке проектов на Node.js) более 250 своих модулей. Причиной этого стали разногласия по поводу названия одного из модулей, совпавшего с названием мессенджера Kik.

Представители разработчиков Kik сначала обратились к Кочулу с требованием переименовать модуль, тот отказался, после чего они пошли напрямую к администраторам NPM. Те не стали спорить и тихо сменили владельца модуля.

Это привело Кочулу в ярость, он снес из NPM все свои разработки и перенес их на GitHub. По несчастливому стечению обстоятельств среди них оказалась 11-строчная функция leftpad, занимающаяся дополнением строки пробелами до нужной длины. И функция эта использовалась каким-то безумным количеством JS-проектов (за последний месяц модуль left-pad скачивался почти два с половиной миллиона раз), которые сразу после этого сломались.

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

Это примерно все, что нужно знать о разработке на JavaScript в 2016 году.


From here: https://bugtraq.ru/rsn/archive/2016/03/11.html

Date: 2016-03-24 01:07 am (UTC)
From: [identity profile] nicka-startcev.livejournal.com
сам я плотник, но что-то я не понимаю.

в нормальных языках есть стандартные библиотеки, которые из коробки и которые покрывают заметную часть случаев типового применения (файлы, память, строки, время - в сишечке, например)

а у этих хипстеров что, даже такой типовой банальщины нет?

Date: 2016-03-24 01:09 am (UTC)
From: [identity profile] dizel-by.livejournal.com
Стандартных — нет, ибо язык изначально был придуман для делания таймеров на говносайтах. Но хипстеры потиху говнокодят всякое (в том числе то, что в приличных языках десятилетиями берётся из libc), а что получается наименее мерзким, со временем становится стандартом.

Date: 2016-03-24 01:12 am (UTC)
From: [identity profile] nicka-startcev.livejournal.com
>Стандартных — нет

и даже вменяемых желающих накатать "libc" тоже нет

Date: 2016-03-24 01:13 am (UTC)
From: [identity profile] dizel-by.livejournal.com
Здоровый человек не будет писать либу под nodejs. Если там не будет чего-то нужного, проще выбрать язык, где оно уже есть :)

Date: 2016-03-24 01:15 am (UTC)
From: [identity profile] vladicusmagnus.livejournal.com
Никит, не поверишь, но даже использование вполне типовых библиотек, может завести в неприятности. Редко, очень редко, но может.
Но когда дело доходит до дополнительных, типа буста и прочего, вот тут и начинается цирк с конями. Поэтому, никто для серьезной работы буст не юзает от греха подальше, как вариант - что бы не остаться в таком вот положении раком.
Фишка же всего этого скриптинга, что по умолчанию у них все в лучшем случае как Буст, это в идеале. А в остальном - Дизель уточнил.

Date: 2016-03-24 01:16 am (UTC)
From: [identity profile] dizel-by.livejournal.com
Есть мнение, что на nodejs мигрируют с руби. А там же стандартом является полная несовместимость API между минорными версиями =))

Date: 2016-03-24 01:30 am (UTC)
From: [identity profile] vladicusmagnus.livejournal.com
В свое время, когда мелкомягкие выставили иошным fread, fopen, fwrite и прочее статус депрекейта, это вызвало тоже кстати кучу попаболи. Хотя понятно было, что пора что то менять (особенно в дебильном формате f/read/write с их коунтерами), но народ очень силоно ошизел, и настолько насел на майкрософт, что те из депреката всунули в ансейв со словами - ну еб*тесь сами как хотите. После чего там и сафетли мод появился, и прчие (с постфиксом s, или с префиксом _), шо конечно, бардак, но таки все же лучше три функции с одинаковым функционалом перекрывающимся, чем минус одну, из за которой может придется переписывать здоровенный шмат кода. Причем конкретно переписывать, а не добавить две переменные побыстрому и формат вызова функции поменять. Некоторые особо параноидальные - всовывали дефайны что бы не геммороится и просто врубить замену через дефайн. С обработками отдельными и прочим. Хвала богам, пронесло :)

Так что эти товарищи, вместе с рубироидами, могут хоть дрочить в присядку, главное, что бы не диктовали нам как прожить :) У нас "своя атмосфера" и без того :)

Date: 2016-03-24 01:21 am (UTC)
From: [identity profile] nicka-startcev.livejournal.com
>Но когда дело доходит до дополнительных, типа буста и прочего,

то нужно прибить гвоздями версию и положить ее рядом с своим проектом.

или таки да, без него делать.

Date: 2016-03-24 01:35 am (UTC)
From: [identity profile] vladicusmagnus.livejournal.com
Совершенно верно. Потому как все костыли и палки которыми подпиралось использование буста в этой версии - в следующей могут не сработать - и начинай сначала. Поэтому - минимизация всяких бустов - первое что надо сделать для того, что бы проект прожил как минимум пару версий. Один из приколов - работа с мускулем через буст в виде доков. Очень классно. Только не работает от слова вообще, ибо не совсем понятно, какая версия буста нужна. Знаем, плавали. Это кстати, мускулевцы так отожгли. Враппер на бусте, а версия буста не указана. Текущая не подходит ниразу. Попытка найти подходящую версию (по дате) успехом не увенчалась. В итоге был написан собственный врапер, проблем никаких. Зачем нужен был буст - ума не приложу. Ни эстетики, ни читабельности, ни переносимости. Нафига такое надо было делать? Я понимаю, коллеги товарищи странноватые все, с тараканами, и я не хуже, но блин, не до такой же степени то?!!

Date: 2016-03-24 06:04 am (UTC)
From: [identity profile] minsk007.livejournal.com
да ладно на буст гнать-то, последняя стандартная библиотеке сипипи многое всосала из буста

Date: 2016-03-24 02:20 pm (UTC)
From: [identity profile] vladicusmagnus.livejournal.com
Так я за весь буст и не говорю. Но в целом это набор говна и палок, из за чего разница между Pure C и Pure C++ вместо того что бы уменьшаться по оптимизации и прочему, наоборот - увеличивается. Доведут до цугундера блин.

Date: 2016-03-24 01:12 am (UTC)
From: [identity profile] vladicusmagnus.livejournal.com
Бухаххахаха :)))) Какая прелесть... Вообще красотень. Настолько красотень, что я даже не представляю...

Date: 2016-03-24 01:12 am (UTC)
From: [identity profile] dizel-by.livejournal.com
Вопрос был только в том, как скоро оно случится :)

Date: 2016-03-24 01:38 am (UTC)
From: [identity profile] vladicusmagnus.livejournal.com
Ну, тут все шансы были за то, что должно что то было поломаться в такой системе. И с заметными глюками и кривостями. Но что вот так вот саморучно грохнут все, это я не ожидаааал... Сами же себе на яйца наступили, и не подумав - решили дернуться тельцем. Ну дернулись. Будут терь пришивать взад, если смогут, конечно :)

Date: 2016-03-24 03:51 am (UTC)
From: [identity profile] nicka-startcev.livejournal.com
и ведь пришьют. причем, именно в зад.
а потом будут отдельный задний проход пробивать, причем, сквозь лопатку. а потом чинить проблемы с сердцем, возникающие от прижимания легкого кишкой при запоре.. и да, легкое придется удалить, а на пятке сделать дыхательный мешок.

дальше фантазировать лень

Date: 2016-03-24 04:09 am (UTC)
From: [identity profile] vladicusmagnus.livejournal.com
Именно поэтому я и написал взад :)

Так и достаточно. Только проблема, в целом этот франкинштейн и без этой операции так выглядел как ты описал. А вот после оной, ну будем посмотреть, будем посмотреть :)))

Date: 2016-03-24 03:44 am (UTC)
From: [identity profile] getinaks.livejournal.com
Ой как у "HTML-погромистов" пригорело-то наверное.

Date: 2016-03-24 05:14 am (UTC)
From: [identity profile] vp.livejournal.com
Это те, которые свои поделия называю ФуллСтек? :)

Date: 2016-03-24 05:41 am (UTC)
From: [identity profile] artureg.livejournal.com
Где можно взглянуть на ваши поделия?

Date: 2016-03-24 06:50 am (UTC)
From: [identity profile] bydlorus.livejournal.com
Артурег наезжает на ребе, срочно в номер!

Date: 2016-03-24 07:23 am (UTC)
From: [identity profile] eternal-leave.livejournal.com
Срочно сюда весь раввинатик и вагон поп-корна!

Date: 2016-03-24 08:39 am (UTC)
From: [identity profile] zelanton.livejournal.com
Традиционно начнём с анализа их сайта)

Date: 2016-03-24 08:42 am (UTC)
From: [identity profile] artureg.livejournal.com
сайт говно, но вряд ли противогаз лично его "разрабатывал"

Date: 2016-03-24 08:43 am (UTC)
From: [identity profile] zelanton.livejournal.com
ой да ладно, общий подход к делу оно отражает.

Date: 2016-03-24 10:32 am (UTC)
From: [identity profile] vp.livejournal.com
На фуллстек?

Date: 2016-03-24 10:53 am (UTC)
From: [identity profile] artureg.livejournal.com
да хоть на что нибудь

Date: 2016-03-24 10:54 am (UTC)
From: [identity profile] vp.livejournal.com
Не, фуллстека точно нет.

Date: 2016-03-24 02:22 pm (UTC)
From: [identity profile] vladicusmagnus.livejournal.com
Артурег, ты чего на противогаза то взьелся? :)

Date: 2016-03-24 02:26 pm (UTC)
From: [identity profile] artureg.livejournal.com
несёте хуйню потому что

Date: 2016-03-24 02:29 pm (UTC)
From: [identity profile] vladicusmagnus.livejournal.com
Да ладно тебе. Старая "любовь" к костылям и палкам :))) Ну то потом отдельно обсудим :)

Date: 2016-03-25 02:44 pm (UTC)
From: [identity profile] eternal-leave.livejournal.com
Порву за жаваскрипт?

Date: 2016-03-24 09:32 am (UTC)
From: [identity profile] npocmu.livejournal.com
Совершенно не понял, причем чем здесь JavaScript?

Это опенсорс со всеми его родовыми болезнями. Никто и ничего не гарантирует...

Date: 2016-03-24 11:14 am (UTC)
From: [identity profile] hshhhhh.livejournal.com
хипстограммированние

Date: 2016-03-24 11:31 am (UTC)
From: [identity profile] veremeenko-alex.livejournal.com
тот кто не ложит зависимые модули в репозиторий - сам себе злобный буратино!

Date: 2016-03-24 11:53 am (UTC)
From: [identity profile] lastwalrus.livejournal.com
Уже случалось и покруче. тогда вроде сертификат протух, или по еще какой причине сайт, на который все ссылку ставят, был недоступен. тогда вообще все перестало работать.

Profile

dizel_by: (Default)
dizel_by

December 2016

S M T W T F S
    1 23
45678910
11121314151617
18192021222324
25 262728293031

Style Credit

Page generated Jul. 22nd, 2017 04:48 am
Powered by Dreamwidth Studios