@nodejs_ru

Страница 1125 из 2748
Konstantin
24.08.2017
11:51:34
О том и речь, что process.cwd() немного не для того нужен.

Dmitrii
24.08.2017
11:53:01
а что то еще используется для инициализации рута? кроме __dirname

Konstantin
24.08.2017
11:53:10
Можно ещё явно использовать директорию файла, как cwd - https://nodejs.org/api/process.html#process_process_chdir_directory

Charles
24.08.2017
13:44:48
товарищи, проблемка небольшая. Запущен докеровский контейнер под виндой, в коде юзаю fs.watch(). Значит, ситуация следующая - если захожу в терминал контейнера напрямую и меняю там файл - нода видит изменения. Если же я просто тупо меняю файлик под виндой в любом редакторе - нода нифига не видит изменения. Все через шареную папку делается. Куда копать?

Google
Charles
24.08.2017
13:46:07
сейчас недоступно

Сергей
24.08.2017
13:46:11
fs-events

fs.watch не поможет

Charles
24.08.2017
13:46:40
а все же это конкретно проблемы запуска контейнера на винде или это с fs.watch какой-то косяк?

Сергей
24.08.2017
13:49:11
все вместе

но fs-events может не помочь в докере

Charles
24.08.2017
13:50:53
он ж вроде для OS X судя по описанию в npm. или я что-то не понял???...о_О

мы же вот про это говорим? https://www.npmjs.com/package/fsevents

или совсем не про это?)

Charles
24.08.2017
13:57:44
наверное тогда надо Chokidar брать

Сергей
24.08.2017
13:57:56
лучше да

Google
Charles
24.08.2017
13:59:10
ок, спс

Nikolay
24.08.2017
14:33:05
вопрос, есть некая аппа, там пользователь совершает некие действия(редактирование, комментирование, смена статусов), все это дело падает всем кто учавствует в апдейты + шлется на почту. какой наиболее правильный способ группировать эти апдейты и не взорвать пользователю почтовый ящик? из идей, это сыпать все эти обновления в очередь, и через какое-то N-ое кол-во времени очищать ее и формировать summary, после слать на почту

Roman
24.08.2017
14:34:21
в очередь или в лог

Charles
24.08.2017
14:36:12
да я уже с ним три месяца простите ябусь как чёрт

давно просим у одмина линуху но он не дает ссылаясь на PCIDSS или как там его

причем я ничего такого там про никсы не нашел

Таймураз
24.08.2017
14:37:01
да я уже с ним три месяца простите ябусь как чёрт
Обратись куда-нибудь выше, скажи, что работать невозможно, аргументируй докером, пусть пнут админа

Charles
24.08.2017
14:37:21
там еще хуже с этим, одмина нежно называют по имени в уменьшительно-ласкательном

они друзья

так что хрен мне а не никсы)

выше только инвестор но ему срать

Дмитрий
24.08.2017
14:37:55
Пока что, ага

Таймураз
24.08.2017
14:37:57
так что хрен мне а не никсы)
То, что ты делаешь, влияет на бизнес?

Дмитрий
24.08.2017
14:38:08
Вали из этого болота

Charles
24.08.2017
14:38:14
влияет, но распинают нас и говорят "вы слишком сложно придумали"

валить в поиске уже три месяца

Таймураз
24.08.2017
14:38:48
влияет, но распинают нас и говорят "вы слишком сложно придумали"
Хотят легко- пусть найдут пхп магов или школьников

Charles
24.08.2017
14:39:09
вторая команда для этого сидит возиться с легаси) у которой бэклог по экспоненте растет:D

Дмитрий
24.08.2017
14:39:11
давно просим у одмина линуху но он не дает ссылаясь на PCIDSS или как там его
> стандарт безопасности > Требует винду На ноль поделил

Google
Charles
24.08.2017
14:39:17
))))))))

No1
24.08.2017
14:42:18
PciDss - ничего такого про линукс там нет.

Юрий
24.08.2017
14:42:34
Коллеги, нужен совет. Сейчас в моём проекте runtime-конфигурация вынесена в отдельный модуль, который получается через обычный require('config'). Таких мест около двух-двух с половиной сотен во всех приложениях. Встал вопрос о внедрении consul для хранения конфигурации, соответственно, конфиг должен читаться каждым приложением из него асинхронно при старте. Собственно, возникла мысль: при старте приложения заполнять require.cache вот так: const resolved = require.resolve('config'); require.cache[resolved] = { id: resolved, filename: resolved, loaded: true, exports: { foo: 42 }}; Как временный вариант, пока не перепишется использование модуля config по всему проекту — насколько это плохое решение? Возможно, кто-то сталкивался с подобным и может подсказать более надёжный путь?

Anton
24.08.2017
14:43:34
Коллеги, нужен совет. Сейчас в моём проекте runtime-конфигурация вынесена в отдельный модуль, который получается через обычный require('config'). Таких мест около двух-двух с половиной сотен во всех приложениях. Встал вопрос о внедрении consul для хранения конфигурации, соответственно, конфиг должен читаться каждым приложением из него асинхронно при старте. Собственно, возникла мысль: при старте приложения заполнять require.cache вот так: const resolved = require.resolve('config'); require.cache[resolved] = { id: resolved, filename: resolved, loaded: true, exports: { foo: 42 }}; Как временный вариант, пока не перепишется использование модуля config по всему проекту — насколько это плохое решение? Возможно, кто-то сталкивался с подобным и может подсказать более надёжный путь?
Сорри, что оффтоплю сразу, но как ты выделил кусок кода с переносами? Минут 5 сейчас пытаюсь это сделать, выделяя тремя бектиками слева и справа, ничего не выходит

Anton
24.08.2017
14:44:12
В начале и в конце

Да, так тоже не работает

Evgeny
24.08.2017
14:45:06
1 - ctrl-enter 2 - ctrl-enter 3

И не нужны никакие апострофы на отдельной строке

Юрий
24.08.2017
14:45:58
нормально выглядит. гораздо сложнее будет наладить хорошую работу с консулом
В каком смысле? Я сейчас планирую минимальный вариант с 3 нодами. Можете поделиться негативным опытом с ним?

Evgeny
24.08.2017
14:46:13
Коллеги, нужен совет. Сейчас в моём проекте runtime-конфигурация вынесена в отдельный модуль, который получается через обычный require('config'). Таких мест около двух-двух с половиной сотен во всех приложениях. Встал вопрос о внедрении consul для хранения конфигурации, соответственно, конфиг должен читаться каждым приложением из него асинхронно при старте. Собственно, возникла мысль: при старте приложения заполнять require.cache вот так: const resolved = require.resolve('config'); require.cache[resolved] = { id: resolved, filename: resolved, loaded: true, exports: { foo: 42 }}; Как временный вариант, пока не перепишется использование модуля config по всему проекту — насколько это плохое решение? Возможно, кто-то сталкивался с подобным и может подсказать более надёжный путь?
херовый. лучше у всех сделай предзагрузочный файл который бкдет загружть конфиг и подсосввывать как аргумент основному аппу

Aleksandr
24.08.2017
14:47:25
В каком смысле? Я сейчас планирую минимальный вариант с 3 нодами. Можете поделиться негативным опытом с ним?
никакого негатива. просто это сложная отказоустойчивая вещь. надо понять его логику, правильно настроить, научить код нормально работать с агентом (в зависимости от варианты деплоя), понять кто как и когда может конфигурацию обновлять, что в принципе там можно хранить а что не стоит (зависит от проекта). это широкий архитектурный вопрос если кратко

Юрий
24.08.2017
14:49:56
Aleksandr
24.08.2017
14:50:01
херовый. лучше у всех сделай предзагрузочный файл который бкдет загружть конфиг и подсосввывать как аргумент основному аппу
ну то есть надо что-то переписать, а человеку надо просто сохранить обратную совместимость. без рефакторинга

Evgeny
24.08.2017
14:50:15
Не надо ничего переписывать кроме деплоя

Там он загружает конфиг из файла, а тут ты загружаешь конфиг и дальше либо суешь его в файл который потом схватит конфиг, либо передаёшь его как параметр. Ну или мерзко перезаписываешь загруженный модуль, да

Aleksandr
24.08.2017
14:51:37
Не надо ничего переписывать кроме деплоя
так про деплой и вообще про приложение ничего не известно, поэтому нет оснований так утверждать

No1
24.08.2017
14:51:43
И все в файле?)

Google
Юрий
24.08.2017
14:52:10
Вот мне идея с ковырянием require.cache тоже не кажется хорошей, потому и спросил здесь.

No1
24.08.2017
14:52:12
Что делать с динамически обновляемыми данными?))

Aleksandr
24.08.2017
14:52:56
Вот мне идея с ковырянием require.cache тоже не кажется хорошей, потому и спросил здесь.
она не хорошая, но для сохранения обратной совместимости надежной вполне нормальная. это костыль, надежный и временный.

Юрий
24.08.2017
14:53:30
Aleksandr
24.08.2017
14:54:08
У нас конфиг 100% статичен.
тогда вам консул зачем? просто собирайте конфиг из переменных окружения

Charles
24.08.2017
14:57:44
вот кстати у меня тоже вопрос по поводу конфигурирования но немного другой. Один модуль выдает события по которым я ищу совпадения прям в JSON справочнике, в котором все эти совпадения прописаны. Справочник отвечает за сообщения отправляемые другим сервисам в инфраструктуре. Мысль есть - сделать модуль который считывает этот JSON-справочник и импортируется глобально в аппу - при изменении справочника соответственно всех оповещает. Вам как кажется - это сильно криво? Как вообще делают в подобных кейсах?

Юрий
24.08.2017
14:58:16
тогда вам консул зачем? просто собирайте конфиг из переменных окружения
Хочется иметь одну точку модификации конфига. План был таков, что в консул загружается текущий конфиг, а все приложения его читают. На другой чаше весов у меня сейчас подход 12factor, где как раз всё в переменных окружения. Я пока оцениваю варианты с т.з. трудозатрат на внедрение.

Aleksandr
24.08.2017
15:03:13
Хочется иметь одну точку модификации конфига. План был таков, что в консул загружается текущий конфиг, а все приложения его читают. На другой чаше весов у меня сейчас подход 12factor, где как раз всё в переменных окружения. Я пока оцениваю варианты с т.з. трудозатрат на внедрение.
нормальный и гибкий деплой - только переменные окружения, ваша схема со статичным конфигом рухнет сразу как только нужно будет кастомизировать конфиг самый удобный и практичный вариант - дефолтная конфигурация из файла (который обязательно лежит в репозитории) а при старте чтение из окружения и обновление значений

No1
24.08.2017
15:03:33
Ну вот смотрите, окружение - это здесь и сейчас. В консуле вы можете их перечитать не меняя код. Удобнее?

При файле, вы при изменении конфига, будете передеплоивать код.

No1
24.08.2017
15:04:46
Каждый сервис запишет то, что нужно ему)

Aleksandr
24.08.2017
15:05:15
При файле, вы при изменении конфига, будете передеплоивать код.
вы путаете конфигурацию и дискавери, не нужно динамические значения выносить в конфиг

Каждый сервис запишет то, что нужно ему)
а сервисов сколько? если я за день задеплоил и раздеплоил примерно миллион контейнеров по ситуации то это что у меня на каждый будет отдельный конфиг который еще и убрать кто-то должен потом?

No1
24.08.2017
15:06:52
Зачем?

Aleksandr
24.08.2017
15:06:59
Зачем?
что зачем?

No1
24.08.2017
15:07:01
У вас в одном месте конфиг

Зачем отдельный конфиг?

Там по коду разбросанно одно и тоже

Aleksandr
24.08.2017
15:08:38
Там по коду разбросанно одно и тоже
это сложно вообще обсуждать не зная что там в конфиге

Google
No1
24.08.2017
15:12:39
Вообще я не видел проблем с консулом, но всегда был fallback. А это уже могут быть и переменные окружения))

Amir
24.08.2017
15:26:19
люди как автоматически обновить все пакеты в package.json На последний

неужели придется вручную номера версий вставить везде

Артур
24.08.2017
15:26:43
npm update

только при условии что у тебя не указана конкретная версия

Amir
24.08.2017
15:28:48
указаны

Артур
24.08.2017
15:30:32
там если в версии указано так «^1.0.0» то он обновит

Amir
24.08.2017
15:31:41
не обновляет

я давно както обновлял, забыл или это yarn был

npm-check -u вроде как справился, плохо что надо выбрать пакеты в меню

Amir
24.08.2017
15:37:42
после этих магических заклинаний вроде webpack-simple запускается грязно не ругается но страница Localhost:8080 пустая

разобрался надо было на хост —host 0.0.0.0 запустить

Charles
24.08.2017
15:50:29
мне так никто и не ответит?

вот кстати у меня тоже вопрос по поводу конфигурирования но немного другой. Один модуль выдает события по которым я ищу совпадения прям в JSON справочнике, в котором все эти совпадения прописаны. Справочник отвечает за сообщения отправляемые другим сервисам в инфраструктуре. Мысль есть - сделать модуль который считывает этот JSON-справочник и импортируется глобально в аппу - при изменении справочника соответственно всех оповещает. Вам как кажется - это сильно криво? Как вообще делают в подобных кейсах?

Nikolay добряш
24.08.2017
16:44:00


Просто кусочек правды

Страница 1125 из 2748