Anonymous
Почему бы не сбрасывать этот ключ в редисе при обновлении данных?
Проблема в том, что ключ это роут. По которому я перехожу в апи. Непонятно как это увязать с монгой
Никита
Это ещё лучше. Как? Можно почитать ссылку? Это надо монгу и редис настраивать?
это приложение само должно делать в том месте, где данные в монгу кладёт
Gleb
Это ещё лучше. Как? Можно почитать ссылку? Это надо монгу и редис настраивать?
Ты mongoose юзаешь? Мб стоит повесить апдейт кэша на post-save hook?
Gleb
Только это не обработает model.update и т.д. без дополнительных плясок
Gleb
Кроме auto-expired cache можно заюзать circle кэш.
Anonymous
Ты mongoose юзаешь? Мб стоит повесить апдейт кэша на post-save hook?
Да монгус. Так ещё удобнее. Офигеть сколько вариантов нашлось!
Anonymous
Если нужен кеш то всегда проще хранить базу данных в оперативке чем строить костыли синхронизации отдельного кеша
Т.е. обойтись без монго вообще? А как происходит сохранение, бекап данных? Это интересный вариант, так как база небольшая
Dmitry
можно настроить сброс данных на диск через нужные интервалы
Dmitry
For example, this configuration will make Redis automatically dump the dataset to disk every 60 seconds if at least 1000 keys changed: save 60 1000
Anonymous
Спасибо, читаю
Матрос
ребят, а что надо сделать с докером чтобы он по урлу который после —inspect приходит давал дебаггеру подключиться? конкретно chrome-dev-tools юзаю
Kons
Расшарить порт (по умолчанию 9229) наружу
Матрос
уже
Матрос
ЗЫ.: у меня к сожалению венда
Матрос
может из-за того что винда что-то но я не знаю(
Kons
Как выглядит докерфайл и как выглядит строка запуска контейнера?
Матрос
ща
Матрос
node: container_name: node hostname: node build: ./node-template ports: - "${IP_ADDR}:8000:8000" - "${IP_ADDR}:5000:5000" - "${IP_ADDR}:3030:3030" - "${IP_ADDR}:5858:5858" - "${IP_ADDR}:9229:9229" volumes: - "/etc/localtime:/etc/localtime:ro" - "./data:/home/node" env_file: "./containers/node-template/.env.dev" environment: - ENVIRONMENT=$SERVICE_ENV working_dir: /home/node command: sh -c "npm install && gulp && node --inspect app/app.js"
Матрос
строчка запуска в самом низу
Матрос
5858 пробросил чтоб —debug юзать но судя по всему зря)))
Богдан
Т.е. обойтись без монго вообще? А как происходит сохранение, бекап данных? Это интересный вариант, так как база небольшая
Есть такое понятие как транзакционный (или append) лог оперций на диск. То есть приходят запросы, они в памяти обновляют нужные объекты а на диск в конец файла пишется только операция (обновление или добавление такого-то айдишника с такими данными) и пишется сразу. А после перезагрузке базе нужно будет пройтись по этому логу и построить в памяти снова объекты но это лишь немного увеличивает время старта базы данных зато скорость чтения как у кеша а скорость обновления больше чем у обычных баз данных благодаря линейной записи в конец файла. По этой схеме работает tarantool (https://habrahabr.ru/company/mailru/blog/273695) но реализация этой схемы вообще очень простая, я вот сделал на ноде в 100 строчек и использую в личных проектах
Матрос
в интернетах говорят что надо залезть на host:port/json (чтоб посмотреть строчку адреса именно для devtools) но он и туда не дает
Матрос
говорит ERR_EMPTY_RESPONSE
Kons
А в IP_ADDR что приходит?
Матрос
localhost там сейчас резолвится
Матрос
остальное по всем портам кроме двух последних доступно как и должно
Матрос
местный девопс говорит что винда может на уровне файервола что-то загасить - но мне это кажется маловероятным
Матрос
сейчас попробую ему жестко забить порт прям во флаге запуска
Матрос
да хотя хер ли толку у него и так он по дфеолту идет...
Nurik
А в чатике было уже интервью Ryan Dahl ? Про то где он хвалит Go ?
Матрос
блин ребят что делать-то(
Dmitry
а какой адрес к которому дебагер подключается?
Матрос
судя по всему придется попробовать. ща одмины набегут)))
Dmitry
мне не нравится hostname: node
Матрос
мне не нравится hostname: node
забей, это рыба - тут внутренние имена они все резолвятся местным DNS
Матрос
там все норм, все бросается - все адреса все порты ровно кроме того который надо
ikasymov
Ребята я себе npm сломал
Dmitry
приложи подорожник )
ikasymov
module.js:487 throw err; ^ Error: Cannot find module '../lib/utils/unsupported.js'
ikasymov
ничего не хочет делать
ikasymov
npm help npm i любая команда выводит ошибку
F_I_N
зайди в другую пустую папку и попробуй npm init
F_I_N
если норм все пашет значит package,json кривой
F_I_N
нет так переустанови че)) там у него есть еще скрытая папка в home папке
сomorsiс
а разве npm help зависит от package.json?
F_I_N
его тоже лучше сносить
Evgeny
https://github.com/npm/npm/wiki/Troubleshooting#if-your-npm-is-broken
ikasymov
как на маке переустановить?
ikasymov
не помогает
F_I_N
там че у тя через brew?
ikasymov
да
Sergey
да
надо было через брю поставить nvm
F_I_N
хм можно тупо nodejs удалить с brew потом поставить
F_I_N
они же в паке
Evgeny
как на маке переустановить?
https://docs.npmjs.com/misc/removing-npm
F_I_N
https://stackoverflow.com/questions/11177954/how-do-i-completely-uninstall-node-js-and-reinstall-from-beginning-mac-os-x#11178106
Матрос
все, решилось через —inspect=0.0.0.0
Kons
все, решилось через —inspect=0.0.0.0
Бл. Точно. Оно по умолчанию слушает только 127.0.0.1.
Kons
Матрос
да, спасибо) вопрос теперь только почему эта зараза не останавливается на брейпоинтах
Mykola 🤷🏼‍♀️
Сталкивался ли кто-то с такой проблемой: instant view в телеграфе отказывается показывать фотографии. При этом с браузера (и с телефона, и с пк) все отображается. Пользуюсь пакетом telegraph-node, передаю страницу такого вида:
Mykola 🤷🏼‍♀️
Mykola 🤷🏼‍♀️
токен уже отозвал, если что :)
Матрос
люди, как можно заставить chrome dev-tools заблэкбоксить саму ноду с ее либами? остальное что надо заблэкбоксил, как ее саму - хз. не хочу по одному файлы все протыкивать( есть способ нормальный? ну там, _http_client.js и иже с ними
Anonymous
кто-нибудь юзает typescript?
Матрос
в игнор для chrome dev-tools чтоб он на step-over шаге туда не лез
Матрос
я сейчас добавил в blackbox просто все что он увидел из внутренностей ноды, - я хз все ли это и мне однозначно не нравится способ протыкивать каждый файл кликать правой кнопкой мыши и выбирать "blackbox script"
Sergey
а зачем ты это делаешь
Михаил Макарычев
Anonymous
если юзать неймспейсы, то можно не импортировать свои классы, но при любом импорте нодовского модуля тс ругаться начинает. Возможно-ли как-то импортировать модули и пользоваться неймспейсами?
Anonymous
Да
zamir
привет! на сервер отправляю картинку, в ответ консоли такая ошибка Resource interpreted as Document but transferred with MIME type application/json:
Sergey
перевести не осилил?