Рубикон
Хочу cli к работающему экземпляру, чтоб локально и из консоли
Vladislav
https://nodejs.org/api/readline.html#readline_readline вот
Vladislav
Это
Рубикон
Есть нечто работающее std потоки заняты логами
Vladislav
Ну логи выведи в файлы
Рубикон
И торчать cli в консоль?
Рубикон
Должно же быть решение
Рубикон
Что cli отдельный утиль дергать, а он уже сервер работающий крутил
Vladislav
Можно и так
Vladislav
Но это сложнее
Vladislav
Тебе придется скрестить это с child process
Рубикон
Я и спрашивал про бест практик
Vladislav
https://nodejs.org/api/child_process.html
Vladislav
Про бест практик я хз
Vladislav
Мне кажется, проще сделать http интерфейс и ограничить доступ до маршрута
Рубикон
К стати, я гдето-то видел, но уже забыл как.. вроде можно на группу маршрутов повесить валидатор доступа, а не в каждом конкретном обработчике плясать
Usman
ребята, про graphQL для нода есть уроки на рус?
Cenator 🐈
Остальное не рекомендуется
Cenator 🐈
Ну если на egghead есть курс то пойдёт для старта
Cenator 🐈
И все
Usman
и все?
Cenator 🐈
Да
V
может просто у тебя руки из жопы?
ALEX
он и сюда залез, жаль тут нет прав админа
Igor
У меня нор с ним все всегда
Igor
Мб чел анти евангелист нпм
Таймураз
Я и спрашивал про бест практик
То, о чем ты говоришь, уже звучит хреново. Не нужно усложнять жизнь- тебе уже подсказали верный вариант. Выноси состояние сервиса в отдельное хранилище aka бд или кеш
Рубикон
Придется пилить отдельный утиль, или переходить на тоттал микросервисное решение
Таймураз
У меня работа с бд уже отделена, внутри обработки маршрутов нет состояния
Это все круто, и это все никак не противоречит тому, что я сейчас сказал
Рубикон
Как их связать-то, а то руками лазить в бд некомильфо и растартать сервис после изменений, есть ipc какое-нить ?
Рубикон
redis по не юзал, но мне кажется это слегка оверкилл
Таймураз
Как их связать-то, а то руками лазить в бд некомильфо и растартать сервис после изменений, есть ipc какое-нить ?
Точно также, как и с остальными данными- пишешь в базу, кешируешь и обращаешься к кешу
Таймураз
Будет отрабатывать на несколько мс дольше, но можно кешировать еще и в самом приложении то, что приходит из редиски
Таймураз
Засейвить на уровне приложения обычный объект не проблема
Таймураз
redis по не юзал, но мне кажется это слегка оверкилл
Редис даже на простых проектах- адекватное решение
Таймураз
Если у тебя больше одного процесса крутится, скорее всего, оно еще и станет необходимым От проекта к проекту, конечно
Рубикон
Даже если только для конфигов и передачи комманд серверу с отдельной cli утилиты?
Таймураз
Даже если только для конфигов и передачи комманд серверу с отдельной cli утилиты?
Что легче- перейти по веб адресу или зайти на сервак и выполнить cli команду?
Рубикон
В вебсервере надо заморочиться с ещё одной отдельной моделью безопссности
Таймураз
https, последний tls (letsencrypt в помощь), немного почитать о безопасности и збс
Vladislav
Рубикон, можно на группу
Vladislav
разбей на файлы-модули
Vladislav
И в самом начале мидлвар повесь
Vladislav
Проверку доступа
Vladislav
Хз как на koa, но думаю примерно то же, что и в экспресс
Vladislav
У тебя есть модуль users например
Vladislav
app.use('/users', users)
Vladislav
И вот в модуле ты первым саршрутом делаешь: router.use(function(req, res, next) { if (авторизован) {next()} else {next(403)} })
Vladislav
Сори за стиль, с телефона пишу
Рубикон
Тоесть префикс маршрута необязателен
Рубикон
Я был просто не уверен
Рубикон
Паардон, ну вы поняли, да
Vladislav
Ну почитай про по промежуточного уровня
Vladislav
Middleware
Рубикон
Понял- понял
Рубикон
Туда в принципе и двигался уже
Евгений
Всем привет! Как правильно писать в файл, чтобы тот сразу обновлялся на диске (или хотя бы раз в N минут)? Сделал так: let dataStream = fs.createWriteStream(fname, { flags: 'a' }) ... setInterval("dataStream.write('Hello')", 60000) // например Файл вроде обновляется на диске, но когда достигает больших размеров (1gb) обновление прекращается. И тогда нужно завершить процесс ноды, чтобы файл скинулся на диск. Как правильно поступить в таком случае?
Евгений
А там разве нет .sync ?
Я думал, это связано с работой потоков. Сейчас попробую синхронную запись. Надеюсь, на производительности это не скажется, спасибо.
Евгений
Алексей
Всем привет, прочиатл на хабре статью про модель ветвления, вот кусочек. Как выполнить такой merge веток в webstorm?
Алексей
Dmitry
Это не про Node JS !
Алексей
Это не про Node JS !
Извините, пожалуйста
Dmitry
Извините, пожалуйста
Иди на Toster, Stackoverflow, но сначала в гугл
✙ galactico ✙
привет, гайз! кто-то использует zeromq в проде, или rabbitmq полностью охватывает её функционал ?
Daniil
Глупый вопрос, на скрине ниже есть session.auth, я понимаю что это такое, но нагуглить что - то не получается именно в связке с auth. Может кто - то объяснит подробней?
Daniil
Mikhail
а что подробнее? в сессии все что угодно может лежать под любыми именами
Daniil
то есть auth тут просто пример имени?
Mikhail
ты можешь написать где угодно req.session.auth = true и в auth будет true
Mikhail
это просто имя свойства
Daniil
понял
Alexander
ребят, помню кто-то говорил, что socket.io гавно и лучше использовать что-то другое. Какие хорошие альтернативы есть?
V◌┗⢎ℍıK
Какая либа для ноды для постгреса самая лучшая из простых? Нужно запросы выполнять, орм не нужен.