Vladimir
Почему? Forever рестартует процессы
Vladimir
Я им пользовался и он решал задачу
Nikita
А субд обычно нормально документированы с внятным описанием чего они умеют а чего нет.
Vladimir
Ок, вопрос - нужно ли в документации софта писать, что он не выполняет свою функцию при выключенной машине?
Nikita
Почему? Forever рестартует процессы
Его задача по описанию (и функция, которую он на себя берёт) — не рестартовать процессы, а гарантировать, что они будут постоянно работать (быть запущенными).
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
По отношению к кому?
Vladimir
Она подразумевает, что ты обращаешься к людям, интеллектуально не способным понять ограничения forever
Nikita
Нет, она этого не подразумевает.
Nikita
В среднем, эта рекомендация полезна. Плюс я обычно таки объясняю, почему, и дальше они могут для себя сами решить.
Nikita
shut up and multiply этичен
Vladimir
Если мне говорят, чтобы я не совал пальцы в розетку, то я делаю вывод что говорящий считает меня идиотом
Nikita
Если мне говорят, чтобы я не совал пальцы в розетку, то я делаю вывод что говорящий считает меня идиотом
Хм. Если ты увидишь в торговом центре надпись «не суйте пальцы в розетку» на розетке, ты почувствуешь себя оскорблённым?
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
net/net-c2s-cork.js dur=5 type="buf" len=1024 19.18 % *** 6.836916e-10 net/net-c2s-cork.js dur=5 type="buf" len=128 2.50 % 3.631153e-01 net/net-c2s-cork.js dur=5 type="buf" len=16 -0.39 % 8.527708e-01 net/net-c2s-cork.js dur=5 type="buf" len=32 -2.23 % 3.545178e-01 net/net-c2s-cork.js dur=5 type="buf" len=4 -0.83 % 6.914084e-01 net/net-c2s-cork.js dur=5 type="buf" len=512 0.21 % 9.414670e-01 net/net-c2s-cork.js dur=5 type="buf" len=64 -0.66 % 7.792110e-01 net/net-c2s-cork.js dur=5 type="buf" len=8 -2.61 % 1.718888e-01 net/net-c2s.js dur=5 type="asc" len=102400 1.76 % 4.545530e-01 net/net-c2s.js dur=5 type="asc" len=16777216 27.56 % *** 1.434912e-12 net/net-c2s.js dur=5 type="buf" len=102400 9.53 % ** 4.083542e-03 net/net-c2s.js dur=5 type="buf" len=16777216 14.77 % *** 2.747366e-08 net/net-c2s.js dur=5 type="utf" len=102400 2.31 % 2.768769e-01 net/net-c2s.js dur=5 type="utf" len=16777216 13.01 % *** 3.640520e-09
Nikita
Клёвенько.
Nikita
Надо остальное досчитать.
Nikita
Там ещё и используемая оперативка падает заметно на стримах, но бенчи её не считают.
Aleksand
Клёвенько.
а что это?
Nikita
https://github.com/nodejs/node/issues/1671#issuecomment-319227867
Nikita
@vkurchatkin вон костыль ^^
Nikita
inb4: в мегабайте 1000000 байт
Anonymous
это не жс, это во флоуте
Как раз-таки проблема в JS, не имеющем типа int или decimal в открытом доступе.
Anonymous
Не помню, кто кидал тут ссылку на Ramda, спасибо.
ikasymov
как сохранить новое значение в process.env ? я в терминале задаю новое значение но оно не сохроняется
Таймураз
Зачем тратить какие то усилия на остальных, не понятно
Если вкратце- у большинства внимательных пользователей forever он падал по непонятным причинам и больше не запускался. Почему я и нашел в своё время пм2- первый подвел несколько раз
ikasymov
Чуваки как вы в ноде храните свои локальные настройки для проекта?
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
ikasymov
🤦‍♂
и как мне быть?
ikasymov
https://github.com/benoror/better-npm-run
вот тут я не нашел то что мне надо
Sergey
и как мне быть?
Поменять default_value на нужное значение Но пароль от базы передавать через терминал