Vladimir
Почему? Forever рестартует процессы
Vladimir
Я им пользовался и он решал задачу
Nikita
А субд обычно нормально документированы с внятным описанием чего они умеют а чего нет.
Vladimir
Ок, вопрос - нужно ли в документации софта писать, что он не выполняет свою функцию при выключенной машине?
Nikita
Почему? Forever рестартует процессы
Его задача по описанию (и функция, которую он на себя берёт) — не рестартовать процессы, а гарантировать, что они будут постоянно работать (быть запущенными).
Nikita
Vladimir
В общем, ты придираешься к формулировке, я понял
Nikita
Нет, я не придираюсь к формулировке, ты не понял.
Nikita
Я не отрицаю, что ты можешь найти полезное применение для форевера (например, прикрутив его к системд и используя для удобства) и для вм2 (например, распечатав на бумаге и положив в туалет), но я говорю совсем не об этом.
Vladimir
Еще раз - я его использвал, не прикручивая к ситстемд, например
Vladimir
Он решал мою проблему
Nikita
Он решал мою проблему
Я в это утверждение не верю. Потому что ты, скорее всего, не набрал статистику.
Vladimir
Чему конкретно ты не веришь?
Nikita
Я не думаю, что он на самом деле решал твою проблему, просто тебе повезло и он не упал.
Vladimir
Так можно сказать про все - любой софт может упасть
Vladimir
Он перезапускал мои скрипты и сам не упал, да
Vladimir
Это не значит что он не может упасть, как и что угодно
Nikita
Сейчас я объясню, что я имею ввиду.
Nikita
Смотри.
Nikita
Я оцениваю общую пользу от vm2 как отрицательную:
Допустим, есть M пользователей, перед которыми вообще встречается такая задача (то есть которые думают, что им надо запускать недоверенный код)
M*P0 из них найдут vm2.
N=M*P0*P1 из них будут использовать vm2 и решат что их проблема решена.
N*P2 из них от этого пострадает.
N*P3 из них это защитит от реальной атаки, при этом N*P3*P4 из них иначе бы плюнули и использовали бы решение хуже (которое бы их не защитило).
Так вот, я считаю, что N*P2 > N*P3*P4.
Nikita
Моя логика примерно понятна? (ты можешь не соглашаться с оценками, я спрашиваю про сам ход рассуждения)
Vladimir
Да, но мне кажется что ты рассматриваешь все это с той стороны, которая не имеет никакого значения
Vladimir
Ты рассматриваешь вред или пользу для коммьюнити, условно
Nikita
Да.
Nikita
Не совсем для коммунити, но логика «шат ап энд мультиплай», да.
Vladimir
Ну допустим ты установил что этот пакет вреден коммьюнити. И что дальше?
Vladimir
Ты ничего не можешь с этим поделать
Vladimir
Каждый делает то, что хочет
Nikita
Рекомендация не использовать его в общем случае будет полезна.
Vladimir
Я рассматриваю все только с точки зрения пользы для меня
Vladimir
Потому что моя задача - выбирать то, что буду использовать я
Nikita
Так вот, я считаю, что общая польза от форевера — отрицательна.
Vladimir
Ну если твоя задача просещать необразованные массы - то ок
Nikita
То есть очень много людей (в т.ч. из-за его кривого описания) используют его _вместо_ нормальных решений, которые им нужны были бы. И у части из-за этого будет падать продакшн.
Nikita
Именно поэтому я считаю, что рекомендация не использовать forever в общем полезна.
Vladimir
Она несколько неэтична
Nikita
В частных случаях — да, я верю в то, что его можно использовать нормально.
Nikita
Nikita
По отношению к кому?
Vladimir
Она подразумевает, что ты обращаешься к людям, интеллектуально не способным понять ограничения forever
Nikita
Нет, она этого не подразумевает.
Nikita
В среднем, эта рекомендация полезна. Плюс я обычно таки объясняю, почему, и дальше они могут для себя сами решить.
Nikita
shut up and multiply этичен
Vladimir
Если мне говорят, чтобы я не совал пальцы в розетку, то я делаю вывод что говорящий считает меня идиотом
Nikita
(я в курсе, что вопрос другой, пытаюсь понять твою точку зрения)
Vladimir
Это не вопрос оскобленности.
Vladimir
Я, может быть, и разделяю точку зрения, что 70% населения - идиоты
Nikita
Ок, понял. Ты сделаешь вывод, что написавший это считает тебя идиотом?
Vladimir
Но выражать ее - не этично
Nikita
Эммм. Вот тут я вообще несогласен.
Nikita
То есть ты считаешь, что при двух ситуциях:
А) я говорю «не используй forever» случайному человеку, которому этот совет поможет
B) я говорю «не используй forever» случайному человеку, который подумает, что я считаю его идиотом и выражаю это
P(A)*u(A) + P(B)*u(B) < 0 ?
Nikita
По моей оценке, P(A) > P(B) и u(A) > -u(B).
Vladimir
Я в первую очередь не понимаю смысла пытаться чему то научить людей насильно
Vladimir
Те, кто небезнадежны, и так это знают
Vladimir
Зачем тратить какие то усилия на остальных, не понятно
Nikita
Клёвенько.
Nikita
Надо остальное досчитать.
Nikita
Там ещё и используемая оперативка падает заметно на стримах, но бенчи её не считают.
Aleksand
Nikita
https://github.com/nodejs/node/issues/1671#issuecomment-319227867
Nikita
@vkurchatkin вон костыль ^^
Nikita
inb4: в мегабайте 1000000 байт
Anonymous
Не помню, кто кидал тут ссылку на Ramda, спасибо.
ikasymov
как сохранить новое значение в process.env ? я в терминале задаю новое значение но оно не сохроняется
ikasymov
Чуваки как вы в ноде храните свои локальные настройки для проекта?
Konstantin
Konstantin
Либо в файле config.js, если общие
ikasymov
я увидел такой код
username: process.env.DB_USER || 'default_value'
ikasymov
что бы задать свое значение в process.env.DB_USER что мне надо делать?
ikasymov
если делать в терминале то он не сохроняет
Konstantin
https://github.com/benoror/better-npm-run
Sergey
Sergey
ikasymov
ikasymov
Sergey
и как мне быть?
Поменять default_value на нужное значение
Но пароль от базы передавать через терминал