1.2, Онаним (?), 21:55, 26/11/2018 [ответить] [﹢﹢﹢] [ · · · ]
| +8 +/– |
2 миллиона / 7 / N... кхм... девопсиков, безоглядно доверяющих мейнтейнить куски проектов сторонним репам, кхм... снова (что удивительно же!) попали.
Внезапно.
| |
|
2.5, пох (?), 22:17, 26/11/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
два миллиона - это только у тех кто не очень доверяли и зачем-то проверили стотыщную вложенную зависимость своего кода. наверное, тормозил.
а сколько лошья еще эту зависимость или зависимость зависимости зависимости понатащило в свои проекты - лет через сто какой-нибудь ИИ сможет посчитать...если этот код его не положит, случайно оказавшись в его внутренностях.
| |
|
3.14, Онаним (?), 22:50, 26/11/2018 [^] [^^] [^^^] [ответить]
| +2 +/– |
За них композитор эту зависимость проверил. А ревьюить некому, лень, и вообще ненужно.
| |
|
2.94, Аноним (94), 18:04, 28/11/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
Я правильно понимаю, что ты вообще никакой сторонний код не используешь и пишешь всё своё? NIH-синдром в терминальной стадии.
| |
|
1.4, Аноним (4), 22:17, 26/11/2018 [ответить] [﹢﹢﹢] [ · · · ]
| +8 +/– |
Смех смехом, но сильно ли отличаются в этом отношении от ноды другие веб-фреймворки? Куча зависимостей, которая при установке без лишних раздумий тянется из репы или с гитхаба - это намного ли безопаснее?
| |
|
2.7, Онаним (?), 22:26, 26/11/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
А дело не в ноде. Ручки-то - вот они, изящно изогнутые. Ревью изменений стороннего кода? Не, не слышали.
| |
|
3.9, пох (?), 22:37, 26/11/2018 [^] [^^] [^^^] [ответить]
| +2 +/– |
каких таких "изменений"? Оно ж с самого начала там лежало.
ревью ВСЕГО стороннего кода? Ну тогда какой вам node, вы и на сях-то сами его ни в жизнь ниасилите (хотя там и не доходит до leftpad)
| |
|
4.11, Онаним (?), 22:47, 26/11/2018 [^] [^^] [^^^] [ответить]
| +2 +/– |
Как минимум - ревью всех изменений стороннего кода от условно-trusted версии вообще обязательно.
Или вы предпочитаете вкрячивать не глядя неизвестные изменения, которые сломают неизвестно что в вашем проекте? Если да - примерно об этой категории изящно изогнутых рук я выше и написал.
Для реально серьёзных проектов - да, ревью всего стороннего кода уровня проекта (нет, каждую 100 лет известную библиотеку нижнего уровня ревьюить не надо, это уже за 100 лет сделало коммюнити), затянутого в проект. Причём чем меньше стороннего кода, тем лучше, меньше шансов, что придётся переломать весь проект, когда аффтарам удалённой либы придёт в голову изменить её API до неузнаваемости или просто забить на поддержку.
| |
|
5.17, пох (?), 23:00, 26/11/2018 [^] [^^] [^^^] [ответить] | +3 +/– | ну вы же уже всосали, не глядя, неизвестный код немалого объема - а теперь готов... большой текст свёрнут, показать | |
|
6.21, Онаним (?), 23:03, 26/11/2018 [^] [^^] [^^^] [ответить]
| +/– |
> это npm, тут так принято
Дык и я о том )
Ну на самом деле не совсем так, кроме фич бывают ещё багфиксы. Впрочем да, никто не мешает их бэкпортить, это альтернативный вариант селф-сервиса для зафиксированных стабильных веток, но он всё равно ревью подразумевает.
По остальному абсолютно согласен )
| |
|
7.49, пох (?), 10:27, 27/11/2018 [^] [^^] [^^^] [ответить]
| +/– |
> Если я вас правильно понял, то нужно скопировать модуль к себе, жестко заморозить зависимость
> версии
причем не зная заранее, ни какая версия сегодня модно, ни тем более - что еще он притащит за собой.
(а он притащит, раз использует composer - значит можно быть уверенным, что в зависимостях примерно "весь интернет")
satis для этого не предназначен, так можно вручную переварить один-два пакета, а если их десяток, каждый со своими цепочками зависимостей - проще расслабиться и плюнуть.
сломается - ставим задачу разработчикам "срочно почините". Для того и понабрали...
| |
|
6.36, Аноним (36), 23:39, 26/11/2018 [^] [^^] [^^^] [ответить]
| +4 +/– |
> плата за "простоту" языка - геморрой с элементарнейшими операциями, которые приходится отдельным модулем оформлять.
Это вы про C++ boost сейчас?
| |
|
7.88, пох (?), 23:00, 27/11/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
который из трех...ой, нет, уже четырех установленных?
(справедливости ради - boost решает "элементарные" задачи посложнее leftpad. Многим проектам они нафиг не сдались.)
| |
|
8.91, Аноним (36), 09:24, 28/11/2018 [^] [^^] [^^^] [ответить] | +/– | Справедливости ради и leftpad не нужен, т к есть нативный метод String prototyp... текст свёрнут, показать | |
|
|
6.59, J.L. (?), 12:43, 27/11/2018 [^] [^^] [^^^] [ответить]
| +/– |
> P.S. и поэтому пихоновский контейнер у меня - с вручную собраными wheels
> (бо _egg теперь немодно). Поэтому он будет, сцуко, работать, даже через
> десять лет (и да, локальное зеркало репо с тем самым пихоном
> тоже есть). Кто знает как повторить этот фокус с composer? С
> npm не надо, я не настолько долбанутый.
а баги в чужих либах вы как фиксите? или у вас zip.so написан через libgodallknown?
| |
|
7.80, пох (?), 20:04, 27/11/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
никак, если либа принята в продакшн - она прошла тестирование, в том виде, в котором мы ее используем - значит, скорее всего, если там и есть баги - в сочетании с нашими число их четно, и у нас они не проявляются или костыликом подперты.
А когда и если проявятся - значит, переделан прод - значит, смысла в старом контейнере все равно нет, а если при обновлении сломается новая версия - см выше - разработчиков для того и брали, "срочно чините".
| |
|
|
5.18, Онаним (?), 23:01, 26/11/2018 [^] [^^] [^^^] [ответить]
| +/– |
И нет - юнит-тестами вы все возможные комбинации звездецов в сторонних либах не покроете. Только комбинация теоретического ревью и актуальных тестов.
| |
|
6.24, пох (?), 23:04, 26/11/2018 [^] [^^] [^^^] [ответить]
| +/– |
конечно нет. И потом - нахрена мне юнит-тесты ЧУЖИХ либ ? Я их не для того подключал, чтоб за авторами горшок выносить. В смысле - ну даже написал, потратив больше времени чем всю либу написать с нуля, ну оно сфейлилось, и что делать будим ? Пойдем чинить апстрим? А нам оно вообще надо? Может мы его в этой позе и использовать-то не собираемся.
Свои, использующие чужое, могут быть юнит-тестами и покрыты - но заведомую диверсию, как тут, они не выявят.
| |
|
7.29, Онаним (?), 23:08, 26/11/2018 [^] [^^] [^^^] [ответить]
| +/– |
Угу, я именно про юнит-тесты собственных модулей, завязанных на чужие либы.
В либе что-то кромсают, и не факт, что это под тесты влетит.
| |
|
|
5.20, Crazy Alex (ok), 23:01, 26/11/2018 [^] [^^] [^^^] [ответить]
| +5 +/– |
Да никто не ревьюит второй уровень вложенности. То, что непосредственно проект тянет - да, но то, что ниже - очень вряд ли.
Разница в том, что в "больших" языках эти "ниже" обычно и есть "известные библиотеки нижнего уровня", а в джаваскрипте 100500 уровней, и на каждом - не понять что не понять от кого.
| |
|
6.23, Онаним (?), 23:03, 26/11/2018 [^] [^^] [^^^] [ответить]
| +/– |
Хера себе. То есть можно горе-деплоерам rm -rf / подтянуть в комплекте, и они не заметят? Красиво )
| |
|
7.26, пох (?), 23:05, 26/11/2018 [^] [^^] [^^^] [ответить]
| +3 +/– |
так вот, только ж что и...
(спалили, правда, но это скорее случайность)
| |
|
|
5.57, КО (?), 12:16, 27/11/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
>Как минимум - ревью всех изменений стороннего кода от условно-trusted версии вообще обязательно.
Но есть ньюанс, хорошее ревью кода обходится дороже написания кода. :)
А поверхностное не заметит, что в зависимости от зависимости в тестовом примере (какой ревьювер за наличие тестов + не поставит? :) ) будет зашит майнер.
| |
|
4.16, Онаним (?), 22:56, 26/11/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
И нет, с самого начала оно там не лежало.
"Why was @right9ctrl given access to this repo? He added flatmap-stream"
Ключевое слово - added.
| |
|
5.19, пох (?), 23:01, 26/11/2018 [^] [^^] [^^^] [ответить]
| +/– |
а что, не нужно было?
я -то имел в виду, что в этом самом flatmap оно лежало.
| |
|
6.27, Онаним (?), 23:05, 26/11/2018 [^] [^^] [^^^] [ответить]
| +/– |
Ну ревью-то в любом случае выявило бы новую зависимость, к которой нужно отнестись с особым пристрастием )
| |
|
|
|
3.41, Аноним (41), 05:22, 27/11/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
В ноде дело. В ней невозможно программировать без установки кучи библиотек.
>Ревью изменений стороннего кода? Не, не слышали.
Да конечно. Только помрешь раньше чем весь код проверишь.
| |
|
2.8, пох (?), 22:33, 26/11/2018 [^] [^^] [^^^] [ответить]
| +2 +/– |
а причем тут - веп-фреймворки? помимо ноды (которая ни разу не веб и не фреймворк) есть еще прекрасный пихон и еще более прекрасный игого, которые к веппу только тем относятся, что современный разработчик жить не может без http(s) протокола где надо и где не надо.
> без лишних раздумий тянется из репы или с гитхаба - это намного ли безопаснее?
это вообще вчерашний день и эпоха довеба. script src=raw.githubusercontent.com/someshit/somemoreshit/shitcode.js - вот как надо!
впрочем, если вы ретро-гад и пишете на пехепе, для вас есть божественный composer, ик...щас он вам накомпозирует!
| |
|
3.12, Онаним (?), 22:49, 26/11/2018 [^] [^^] [^^^] [ответить]
| –4 +/– |
Да и композерное угрёбище в похе... то есть в пыхе - не отстаёт.
| |
3.67, RomanCh (ok), 13:11, 27/11/2018 [^] [^^] [^^^] [ответить] | +/– | На самом деле он реально хорош тем, что стандартного официального набора либ дос... большой текст свёрнут, показать | |
|
4.81, пох (?), 20:09, 27/11/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
> На самом деле он реально хорош тем, что стандартного официального набора либ достаточно
вопрос тогда, что считать "стандартным набором" - вот все вот это, что оно понатащило в хомяк, оно ж вполне "официальное", только вот написано хз кем хз как.
> Минус - размер бинаря в который "собрано всё что нужно", это на мой взгляд вообще шаг назад
> в развитии технологий.
хм, учитывая "все что нужно" (и то что там по сути go-версии всего содержимого /usr/lib) - размер как раз весьма небольшой.
Но вот про shared libraries да, можно забыть на данном этапе "развития технологий".
в принципе, в эпоху горе-контейнеров и недосервисов о них и так уже пора было забыть. Новые модные технологии - mem dedup и прочее, подтянутся.
| |
|
5.83, RomanCh (ok), 20:26, 27/11/2018 [^] [^^] [^^^] [ответить] | +1 +/– | Не не, я строго про то что идёт в дефолтном архиве с компилером Т е то что был... большой текст свёрнут, показать | |
|
|
3.87, Аноним (87), 22:35, 27/11/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
>script src=raw.githubusercontent.com/someshit/somemoreshit/shitcode.js - вот как надо!
если бы ты хоть немного разбирался в теме, то знал бы, что гитхаб такое не позволяет. Советую пойти почитать книжку "http-хедеры для чайников"
| |
|
2.97, КО (?), 11:15, 29/11/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
>Смех смехом, но сильно ли отличаются в этом отношении от ноды другие веб-фреймворки?
Да что там фреймворки - не каждый коммерческий Линукс озаботился доказательной базой, что бинарный пакет собран именно из сырцов, которые выложены на публику. Что требовать от npm?
| |
|
1.10, Аноним (10), 22:44, 26/11/2018 [ответить] [﹢﹢﹢] [ · · · ]
| +5 +/– |
Мне интересно другое, как отстранившийся от дел автор event-stream так наивно передал проект в руки первого встречного. Чувак с пустым репозиторием и нулевой историей просто на email автору написал, что готов поддерживать разработку, и автор передал ему все права. Один ник right9ctrl уже должен был смутить.
| |
|
2.13, Онаним (?), 22:49, 26/11/2018 [^] [^^] [^^^] [ответить]
| +/– |
> как отстранившийся от дел автор event-stream так наивно передал проект в руки первого встречного
Он где-то подписывал юридически значимый договор с обязательствами так не делать?
| |
2.15, Онаним (?), 22:53, 26/11/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
Поэтому мне более интересно как кхм... неназываемо... кхм... решились использовать библиотеку первого встречного неизвестного писателя, даже внутрь не заглядывая.
| |
|
3.25, Crazy Alex (ok), 23:04, 26/11/2018 [^] [^^] [^^^] [ответить]
| +2 +/– |
Потому что они уже использовали сотню таких же на этом проекте и тысячу - на прредыдущих. И сходило, потому что на JS по-другому и не выйдет - на любой чих отдельная либа от кого-то нового и незивестного, все ревьюить - времени свой код писать не будет. Бороться с существующими, а не гипотетическими угрозами - это как бы коммерчески оправданный подход, пусть и далёкий от идеализма.
| |
|
4.28, Онаним (?), 23:06, 26/11/2018 [^] [^^] [^^^] [ответить]
| +/– |
Ну в общем и получили то, что заслужили. Ничего сверху интересного нет )
| |
|
3.31, Анонимочкин (?), 23:09, 26/11/2018 [^] [^^] [^^^] [ответить]
| +/– |
Другие пакеты добавили библиотеку event-stream от известного автора 100 лет в обед.
Недавно автор библиотеки передал её на поддержание первому встречному, а тот добавил вредоносный код в качестве новой зависимости. Но в репозитории на github этого нельзя заметить, плохой код находится только в минифицированной версии устанавливаемой из npm.
| |
|
4.32, Онаним (?), 23:11, 26/11/2018 [^] [^^] [^^^] [ответить]
| +/– |
Есть простое правило: любой апдейт сорцов сторонней либы, прибитых к собственному проекту, должен ревьюится. Если это правило не соблюдать - в следующий раз например все номера кредитных карт ваших клиентов будут у разных людей.
| |
|
5.33, Анонимочкин (?), 23:18, 26/11/2018 [^] [^^] [^^^] [ответить]
| +/– |
Попробуй в одиночку всё отревьювить. Мне например вообще проще микро зависимости вроде всяких лефтпадов не подключать, а добавить пару лишних строк код. Из моих зависимостей оказался только nodemon инфицирован. Но всё проверить не реально.
| |
|
6.34, Онаним (?), 23:22, 26/11/2018 [^] [^^] [^^^] [ответить]
| +/– |
> Попробуй в одиночку всё отревьювить
> Из моих зависимостей оказался только nodemon инфицирован
:) Ну о чём и речь, если не ревьюить - будет засада.
Иногда лучше вообще никак, чем так.
| |
|
|
|
9.95, Аноним (94), 18:06, 28/11/2018 [^] [^^] [^^^] [ответить] | –1 +/– | В старине ещё ездили на телегах, спали на лавках, избы по чёрному топили, а пита... текст свёрнут, показать | |
|
|
|
|
5.98, КО (?), 11:17, 29/11/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
>любой апдейт сорцов сторонней либы
Вы в пролете с таким правилом - сорцы были в порядке. Минифицированная версия нет. :)
| |
|
6.104, J.L. (?), 16:19, 04/12/2018 [^] [^^] [^^^] [ответить]
| +/– |
>>любой апдейт сорцов сторонней либы
> Вы в пролете с таким правилом - сорцы были в порядке. Минифицированная версия нет. :)
вообще это важное замечание
всё ещё хуже для мантейнеров...
| |
|
|
|
|
2.61, J.L. (?), 12:57, 27/11/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Мне интересно другое, как отстранившийся от дел автор event-stream так наивно передал
> проект в руки первого встречного. Чувак с пустым репозиторием и нулевой
> историей просто на email автору написал, что готов поддерживать разработку, и
> автор передал ему все права. Один ник right9ctrl уже должен был
> смутить.
а что он должен был сделать? какой тест профпригодности есть для передачи или добавления мантейнерства?
| |
|
1.37, Ordu (ok), 01:06, 27/11/2018 [ответить] [﹢﹢﹢] [ · · · ]
| +4 +/– |
Неплохо. Новый вызов опенсурцу: как поддерживать базу кода невероятного объёма, пресекая активность злодеев? Простор для генерации идей, между прочим, а возможно даже для успешных стартапов.
| |
|
2.46, Онаним (?), 09:00, 27/11/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
У нормальных проектов, разрабатываемых по нормальным методикам, а не в виде краудсорсинга кода неизвестного происхождения, этого вызова нет. Всякие хипстерские поделки - страдают и будут страдать.
| |
|
3.53, Аноним (53), 11:03, 27/11/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
Если проект разработан нормально он не может тянуть 10 000 зависимостей каждая из которых тянет еще 10-100 зависимостей? Авторы типа сами все либы перепишут? Или заморозят их и никогда не будут обновлять даже, если найдут там ошибку? Или перепроверят все 10 000 перед тем как будут писать код? А если хотя бы 1/100 из этих либ обновляется раз в 5-7 дней они будут проверять не исправили ли там что-то критичное? Может тогда и ядро linux эти мифические разработчики тоже сами переписывают, а то вдруг там баг или эксплоит? Или замораживают его и не обращают внимание яна всякие Specter и Meltdown?
| |
3.54, Ordu (ok), 11:26, 27/11/2018 [^] [^^] [^^^] [ответить]
| –6 +/– |
> У нормальных проектов, разрабатываемых по нормальным методикам
"Нормальные" методики в твоём понимании -- это разработанные дедами? Откуда такое неверие в будущее и преклонение перед прошлым? Ты не христианин случаем? У этих всё мировоззрение основано на грехопадении и постепенном загнивании человечества, типа вчера всегда лучше чем завтра.
> Всякие хипстерские поделки - страдают и будут страдать.
Это слишком сильное утверждение. Страдают, это да. Но так или иначе они будут вынуждены найти способ не страдать.
| |
|
4.56, нах (?), 12:15, 27/11/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Но так или иначе они будут вынуждены найти способ не страдать.
переложить ответственность на никого, отличный способ не страдать.
| |
|
5.74, Ordu (ok), 16:05, 27/11/2018 [^] [^^] [^^^] [ответить]
| +/– |
>> Но так или иначе они будут вынуждены найти способ не страдать.
> переложить ответственность на никого, отличный способ не страдать.
Для некоторых -- да.
| |
|
4.84, Онаним (?), 20:32, 27/11/2018 [^] [^^] [^^^] [ответить]
| +/– |
Нет, я технократ. За такие поделки надо редактор от сети отключать и аффтару, и всем "писателям", использовавшим это без ревью - пусть в стол пишут сначала, потом в паблик.
| |
4.105, Michael Shigorin (ok), 20:02, 07/12/2018 [^] [^^] [^^^] [ответить]
| +/– |
>> У нормальных проектов, разрабатываемых по нормальным методикам
> "Нормальные" методики в твоём понимании -- это разработанные дедами?
Ну не малолетками же, которые и впрямь ложку в ухо упорно несут.
> Откуда такое неверие в будущее и преклонение перед прошлым?
> Ты не христианин случаем? У этих всё мировоззрение основано
> на грехопадении и постепенном загнивании человечества,
> типа вчера всегда лучше чем завтра.
Вы и в этом некомпетентны. Озадачились бы уже, что ли, изучением матчасти -- можно и матметодами, между прочим, некоторые метрики вполне исчислимы и сравнимы.
| |
|
5.107, Ordu (ok), 16:33, 08/12/2018 [^] [^^] [^^^] [ответить]
| +/– |
> Вы и в этом некомпетентны.
Сказаал модератор форума школоло-эникеев. Очень убедительно вышло.
| |
|
4.106, КГБ СССР (?), 20:49, 07/12/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Откуда такое неверие в будущее и преклонение перед прошлым?
Любой действительно мыслящий человек понимает, что «новое» и «лучшее» — не синонимы.
Всякое «новое» обязано доказать своё преимущество над уже существующими вещами.
| |
|
5.108, Ordu (ok), 16:41, 08/12/2018 [^] [^^] [^^^] [ответить]
| +/– |
>> Откуда такое неверие в будущее и преклонение перед прошлым?
> Любой действительно мыслящий человек понимает, что «новое» и «лучшее» —
> не синонимы.
Чёт тебя понесло в тривиальщину. Умные мысли кончились?
> Всякое «новое» обязано доказать своё преимущество над уже существующими вещами.
Да-да. Тут целый форум дeбилoв, которые сидят и ждут, когда им что-то там докажут. Они искренне уверены, что кто-то обязан им что-то доказать. Я несколько лет наблюдал, думал, может они не столь тупы как кажутся, может дождутся когда-нибудь. Но не, априорные оценки оказались верны, шансов у них ноль.
| |
|
6.109, КГБ СССР (?), 17:22, 08/12/2018 [^] [^^] [^^^] [ответить]
| +/– |
> Чёт тебя понесло в тривиальщину. Умные мысли кончились?
Я ещё не отсмеялся, прочитав пафосные рассусоливания миллениала про индивидуальную мораль и остальную хипсторскую чушь. Ты слишком необразован, дружок, чтобы осознавать свою глупость. Эффект Даннинга—Крюгера во всей красе. :)
| |
|
7.110, Ordu (ok), 18:19, 08/12/2018 [^] [^^] [^^^] [ответить]
| +/– |
>> Чёт тебя понесло в тривиальщину. Умные мысли кончились?
> Я ещё не отсмеялся, прочитав пафосные рассусоливания миллениала про индивидуальную мораль
> и остальную хипсторскую чушь.
Слишком сложно? Книжки надо читать чаще, тогда проблем с пониманием текстов длинее 1kB не будет.
> Ты слишком необразован, дружок, чтобы осознавать свою
> глупость. Эффект Даннинга—Крюгера во всей красе. :)
Старпёр, хвастающийся знаниями мемов. Выглядит забавно.
Хочешь я расскажу тебе как ты можешь оценить свою подверженность эффекту Даннинга-Крюгера? Вот смотри, эффект Даннинга-Крюгера родом то ли из общей, то ли из социальной психологии. Какие ещё эффекты из общей или специальной психологии ты можешь вспомнить навскидку? Составь список.
Составил? А теперь пройдись по этому списку и вычеркни оттуда то, что знает 95% интернета. Остался хоть один пункт? Количество пунктов, оставшихся не вычеркнутыми, говоряще. Другое дело, что я вот только что придумал этот метод, и я не пытался хотя бы прикинуть, как бы так из этого числа пунктов сделать осмысленный и определённый вывод. Типа если один пункт -- то человек попадает в 10-й процентиль, если 3, то в 50-й, если 10, то в 95. Точные значения нам неизвестны, но если тебе хочется объективности, ты можешь их измерить, сегодня набрать выборку в онлайне в полтысячи человек, которые заполнят опросник -- это дело получаса создания опросника в гуглоформах, две недели на CEO этого опросника, и потом два дня на обработку результатов. Учебник матстатистики, если надо, я могу порекомендовать.
Ну так вот, возвращаясь к Даннингу-Крюгеру: чья бы корова мычала, а уж твоей бы точно помолчать не грех.
| |
|
|
9.113, Ordu (ok), 20:58, 08/12/2018 [^] [^^] [^^^] [ответить] | +/– | Кстати обо всех этих эвристиках и байесах, как всегда как на заказ напоролся тут... текст свёрнут, показать | |
|
|
|
|
|
|
|
2.47, trolleybus (?), 09:31, 27/11/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
Как обычно - ревьювить все пул-реквесты, не мержить что попало. А комитить в мастер-ветку разрешить только хозяевам репозитория.
| |
|
3.63, J.L. (?), 13:05, 27/11/2018 [^] [^^] [^^^] [ответить]
| +/– |
> Как обычно - ревьювить все пул-реквесты, не мержить что попало. А комитить
> в мастер-ветку разрешить только хозяевам репозитория.
и что вы сделаете с пулреквестом добавляющим зависимость от либы делающей "нужно" для использования вашего самописного костыля делающего "нужно"?
вы проревьювите весь код той либы которая на первый взгляд действительно нужно делает "нужно" и во многих вариантах умеет делать "нужно" разными методами по разным входным данным
а ещё она использует небольшую либку для красивого вывода "нужно" в лог, а в ней есть тесты
ваше решение, мастер?
| |
|
4.77, КО (?), 16:59, 27/11/2018 [^] [^^] [^^^] [ответить]
| +/– |
Да каждый ответить, что либа которая делает "непонятно-что", но у которой есть тесты, в разы лучше той, у которой их нет, что уж говорить про велосипед...
| |
|
|
2.51, пох (?), 10:30, 27/11/2018 [^] [^^] [^^^] [ответить]
| +2 +/– |
"успешный стартап" только что намайнил/свистнул чужие пару десятков btc, и еще сопрет. Нафига тут что-то строить, когда гораздо проще и интереснее ломать, а прибыль выше?
| |
|
1.58, J.L. (?), 12:29, 27/11/2018 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
как же так? видь это же репозиторий у которого есть мантейнеры!!! как же такое могло произойти???
хотя ладно, тут либа ломает приложение которое зависит от этой самой либы, я вот не знаю как в лине от такого защищаться и можно ли вообще?
| |
1.71, Аноним (71), 13:44, 27/11/2018 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> около 2 миллионов копий которой еженедельно загружается из репозитория NPM
Кто все эти люди?
| |
|
2.73, НяшМяш (ok), 14:37, 27/11/2018 [^] [^^] [^^^] [ответить]
| +/– |
Так это не люди. Там зависимость на зависимости с зависимостью. Ты мог сделать npm install webfignya, а у тебя один пакет скачался 20 раз, потому что он в зависимостях у 30 пакетов.
| |
|
|
2.99, КО (?), 11:19, 29/11/2018 [^] [^^] [^^^] [ответить]
| +/– |
его еще не плохо было бы впропихнуть в зависимость ко всему. :)
| |
|
1.78, Аноним (78), 17:24, 27/11/2018 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
VSCode зависит от event-stream. Если ваш мейнтенер (или вы) собрал его с зараженной версией либы, то пропали ваши коины. Нормальненько так.
| |
|
2.82, пох (?), 20:12, 27/11/2018 [^] [^^] [^^^] [ответить]
| +/– |
> VSCode зависит от event-stream
бггг.
с другой стороны - ну крановщик же не хранит свою заначку от жены в кабине крана на стройке где работает? Вот и вы ховайте под рельсой, там не найдут.
| |
|
3.85, Онаним (?), 20:34, 27/11/2018 [^] [^^] [^^^] [ответить]
| +/– |
> крановщик же не хранит свою заначку от жены в кабине крана на стройке где работает
А вот тут дедка надвое сказала. Которая была бы бабкой при определённых условиях, конечно, но не сложилось.
| |
|
|
1.86, OldFart (?), 20:58, 27/11/2018 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
DLL hell, version 2.0
"Умные учатся на чужих ошибках, простые люди на своих и только дураки никогда ничему не учаться..." (c) 0001 Народная мудрость.
| |
|
|
3.92, OldFart (?), 17:02, 28/11/2018 [^] [^^] [^^^] [ответить]
| +/– |
Так я с ним родился, с русским, куда еще больше учить... ну а на счет typos, sorry...
| |
|
2.90, Аноним (90), 09:03, 28/11/2018 [^] [^^] [^^^] [ответить]
| +/– |
DLL hell
это вообще про конфликт зависимостей, ник не оправдали если даже такое не знаете
| |
|
3.93, OldFart (?), 17:07, 28/11/2018 [^] [^^] [^^^] [ответить]
| +/– |
Название темы: "Бэкдор в зависимости", отсюда версия 2 :) раньше конфликт, теперь backdoors. А сарказм от того, что терпеть не могу зависимостей, что в жизни , что в soft-e ...
| |
|
|
1.96, Попугай Кеша (?), 09:44, 29/11/2018 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Интересный тут ср@ч развели, конечно. Но речь вот о чем. Веб-приложения на Node, либо на браузере обычно тянут сотни зависимостей.
Если условно выбрать какую-то версию и зафризиться на ней (но все сторонние компоненты проверить), то есть шанс потом вообще никуда не обновиться. Другой вопрос - а надо ли? Иногда проще с нуля все переписать.
Вообще в университете физик говорил: "Парни, запомните! Чем больше зависимостей - тем меньше степеней свободы )".
Вот и получается, что по-хорошему надо этих самых зависимостей делать меньше. Потому что их надо: a) проверять, б) апдейтить, в) следить, чтобы ничего не сломалось. А на поддержку всего этого тратится уйма времени.
Если рассуждать логически, то основная проблема в том, что NPM не следит за тем, что добавляют в их репозиторий и не проверяет на достаточном уровне.
Это как с AppStore от Apple и их системой модерации, или PlayMarket от Google. Где меньше порядка и слабее модерация - больше вирусни.
В общем и целом, да, надо следить за сторонними изменениями, либо же делать свой NPM c блекджеком и репозиториями
| |
|
2.100, Аноним (100), 11:50, 29/11/2018 [^] [^^] [^^^] [ответить]
| +/– |
Корень еще в том, что вендоры библиотек не заботятся о выпуске стабильных релизов, а считают, что все можно поправить, закоммитив в мастер на следующий день быстрофикс.
Просто надо настроить себя не рваться за большим колисчеством и свежестью 3rd-party либ для своего проекта. Взял либу - так и сиди на ней. Что касается безопасности, то дыр в ней, как мы видим наглядно, меньше, если её не обновлять.
| |
|
3.101, Попугай Кеша (?), 12:04, 29/11/2018 [^] [^^] [^^^] [ответить]
| +/– |
> Корень еще в том, что вендоры библиотек не заботятся о выпуске стабильных
> релизов, а считают, что все можно поправить, закоммитив в мастер на
> следующий день быстрофикс.
> Просто надо настроить себя не рваться за большим колисчеством и свежестью 3rd-party
> либ для своего проекта. Взял либу - так и сиди на
> ней. Что касается безопасности, то дыр в ней, как мы видим
> наглядно, меньше, если её не обновлять.
Да, тоже дельный совет. Можно лочить версию пакета, чтобы случайно так не обновиться.
Другой момент - юнит тесты же не просто так пишут. Да и вообще тестирование не просто так существует.
| |
|
|
|