@nodejs_ru

Страница 2652 из 2748
?
08.10.2018
17:21:03
при запуске node в эмуляторе линукса termux под андроид есть 3 секундная задержка. она же есть на все обращения к ОС типа скопировать из буфера обмена. я думаю node тормозит потому что пытается что-то прочитать системное. есть идеи как это убрать?
хз, накидал как-то на андроиде ради интереса модуль для подсчёта размера файлов в папках с подпапками через fs.readdir(), так он у меня по скорости даже RootExplorer обошёл (~2сек против RE'шных 218сек). Замерял на двух аппаратах с разными версиями ос/ноды + контрольный на ноуте. Везде быстрее оказалась нода, что, честно говоря, оказалось маленько неожиданно.

Google
Alexander
08.10.2018
17:22:06
ща бы жаловаться на долгий запуск

тебя то не за секунду собрали

?
08.10.2018
17:22:51
Aga
08.10.2018
17:23:15
что за разговорчики пошли?)

?
08.10.2018
17:28:25
работает она очень шустро. медленный только запуск. как ты ее запускал?
Хотя запуск там тоже не мгновенный, да. Но задержка только на первый, секунда +/-.

Aga
08.10.2018
17:38:31
@sergeysova, кстати, сейчас заметил в коде что у меня идут запросы только через декоратор

Сергей
08.10.2018
17:38:45
бля. в ноде. декораторы

ясно

Aga
08.10.2018
17:38:52
не декоратор точнее

а мидлвэйр

withAuth))

я просто в реакте декораторы юзаю, как-то в ноде назвал)

Google
Maxim
08.10.2018
18:19:09
Кто как подымает вебсокеты в кластер-моде PM2?

Iegor
08.10.2018
18:23:09
Maxim
08.10.2018
18:23:45
https://www.npmjs.com/package/socket.io-redis
спасибо! просто видел несколько вариантов - хотелось узнать что народ юзает

Aga
08.10.2018
18:28:42
@ejnshtein, У меня axios не хочет слать заголовки

let options = { headers: { 'User-Agent': req.headers["user-agent"], 'cookie': req.headers.cookie } }; axios.post("https://beta.themitter.com/api/auth/verify", options)

Alexander
08.10.2018
18:28:58
Aga
08.10.2018
18:29:05
вроде норм

с заголовками норм всё, не шлёт только

Alexander
08.10.2018
18:30:02
а как ты проверяешь, пришли они или нет?

Aga
08.10.2018
18:30:18
passportjs проверяет, потом чекаю headers

{ host: 'beta.themitter.com', 'x-real-ip': '178.237.75.58', 'x-forwarded-for': '178.237.75.58', connection: 'close', 'content-length': '386', accept: 'application/json, text/plain, */*', 'content-type': 'application/json;charset=utf-8', 'user-agent': 'axios/0.18.0' }

Это получаю

Alexander
08.10.2018
18:32:48
https://github.com/axios/axios/issues/827

Леха
08.10.2018
18:33:07
https://github.com/axios/axios/issues/858

Aga
08.10.2018
18:33:23
+

Alexander
08.10.2018
18:33:27
в post второй аргумент data

Aga
08.10.2018
18:33:29
я прочитал заголовок ссылки

axios.post("https://beta.themitter.com/api/auth/verify", {}, options)

Alexander
08.10.2018
18:33:34
и только потом options

Google
Aga
08.10.2018
18:33:37
и сразу осенило)

заработало, спасибо

Aga
08.10.2018
18:35:42
Да, у меня на клиенте инстанс

Но на сервере из-за пару запросов инстанс делать)

Alexander
08.10.2018
18:36:03
ето да



Aga
08.10.2018
18:36:46
у меня CORS)

Alexander
08.10.2018
18:36:52
не думаю правда что найдется дебил который туда будет стучать, но всеже

Aga
08.10.2018
18:36:54
коннекться на здоровья

Alexander
08.10.2018
18:37:06
Aga
08.10.2018
18:37:14
конечно, современный стартап, хуле

Бля, в микросервисах, чтобы поменять обработать запрос по изменению логина, происходит сложная логика: Client => Users Service => Auth Service (verify) => Users Service => Client

и 2 запроса в БД разных микросервисов

Daniil
08.10.2018
18:47:43
можно ли как-то не смешивать пакеты nodejs с пакетами ракетами реакта в одном package.json? Есть ли у кого опыт с yarn workspaces?

Google
Vlad
08.10.2018
19:12:45
Я юзаю pm2 для проектов. И вот такое дело - он иногда отказывает. Уже несколько раз я замечал, что проекты тупо останавливаются и рестарт ничем не помогает. Своп память забита напрочь. И приходится убивать процесс pm2 и снова рестартить всё. Иногда раз в 2 недели такое происходит. Так же на серверах крайне быстро кончается место(сервера маленькие) хотя проекты не используют память жесткого, это просто веб-серверы небольшие. Я пока не смог понять что именно происходит, выяснил только что самая раздутая папка это /usr Грешу на pm2 может он там где-то кэширует что-то постоянно. В общем вопрос к вам, мне очень нравится pm2 простотой, логами, но мне кажется что он не очень стабильно работает. Есть ли похожие альтернативы или как вы деплоите нодовские проекты что бы жили долго и счастливо?
А как происходит запуск? В докер контейнере или ручками на сервере устанавливаете pm2 и пулите проект?

Алексей
08.10.2018
19:16:23
Привет. Как лучше обновить много документов на основе их значений? Например у документа есть значение 15, на основе этого значения высчитывается новое число и добавляется к старому (oldVal = oldVal + generatedVal). Я сделал так: let usersCount = await User.countDocuments(), handled = 0; while(true) { let users = await User.find({active: true}).limit(55).skip(handled); await Promise.all( users.map(async (user) => { let generatedVal = generateNewVal(user); user.oldVal += generatedVal; await user.save(); handled += 1; }) ); if (usersCount - handled <= 0) break;

Юзеров много. Как можно сделать лучше?

Daniil
08.10.2018
19:27:15
@itsjohncena , спасибо! Смотрел в его сторону тоже, возможно излине заморачиваюсь, но болит душа, когда так всё слито в одно место

@izatop , а можно поподробнее? Или как поступить лучше?) Спасибо большое за ответ

никогда не слушайте
08.10.2018
19:32:13
Ребят, немного оффтоп, то в группе mongoDB тишина пока. Работал кто с нативным драйвером который require("mongodb").MongoClient; Вроде все хорошо, коннект есть, при первом запросе к базе, все окей, при втором, вывеивает кучу варнинингов в консоль. Модуль который я таскаю по роутам - https://gist.github.com/demidborodin/5025b0406c610ce309a251aaab1ca8c2 Мой супер сложный роутер - https://gist.github.com/demidborodin/27f15c62cbd7dceb27eaff4b0f6c003e И ошибки в консоли после второго запроса к mongode https://gist.github.com/demidborodin/bc49a9ceed5169b5408a78ec53d7201d Если оффтоп, сорян, я просто не знаю куда уже писать и куда гуглить))

Artur
08.10.2018
19:33:15
@izatop , а можно поподробнее? Или как поступить лучше?) Спасибо большое за ответ
Ну есть оледенения проблемы при настройке. Вам монорепа приватная нужна или вы будете паблишить пакеты?

Daniil
08.10.2018
19:35:04
@izatop , монорепа

никогда не слушайте
08.10.2018
19:36:11
А зачем каждый раз заново коннектиться?
Хз, я второй или третий день с монго разбираюсь, там в каждом туториале в конце client.close();

Artur
08.10.2018
19:36:39
@izatop , монорепа
Приватная то есть. Ну так проще будет тогда. Минусы lerna, нельзя несколько пакетов поставить за одну команду lerna add. Хотя есть ишью на этот счёт.

никогда не слушайте
08.10.2018
19:37:13
А зачем каждый раз заново коннектиться?
Я вообще фронтендер, так что не пинайте тапками, стараюсь все по мануалам делать, но чет все равно какая-то лажа получается))

Artur
08.10.2018
19:38:09
Если использовать в связке с yarn, по крайней мере у меня, иногда приходится делать lerna link заново. Плюс надо четко следить за зависимостями. Особенно если ts используется. Могут несколько копий пакетов установиться и будут конфликты

И потом я не уверен что надо encodeuri делать

Daniil
08.10.2018
19:39:18
@izatop , большое спасибо, просветили

тогда приступим

Google
Artur
08.10.2018
19:39:33
Если что, я смотрел другие варианты - нет ничего нормального

Если паблишить пакеты там ещё больше замороча

Ну в целом ничего сложного. Самое главное удобство возможность связать зависимости внутри проекта

никогда не слушайте
08.10.2018
19:41:08
Ну вынеси коннект выше
I'm veeeeeeeery sorrrrry, но что значит вынести выше? Ну точнее, я понимаю, что это выше по scope, но на сколько выше и как это мне поможет?

Artur
08.10.2018
19:41:49
Ну это не принципиально для вас

никогда не слушайте
08.10.2018
19:44:06
Ну это не принципиально для вас
Вот я тоже так подумал... Там что-то с конфигурациий не то

Artur
08.10.2018
19:44:50
Ну убери кодирование логина и пароля

Кстати, в следующий раз затирай * такие вещи

никогда не слушайте
08.10.2018
19:48:45
Кстати, в следующий раз затирай * такие вещи
Да это на локальной машине, локальный проект, который никуда не пойдет дальше)

Но ничего не помогло, ладно, хрен с ним, я спать уже пойду, с 16:00 по мск с этой бедой бадаюсь

Michael ?
08.10.2018
19:50:20
никогда не слушайте
08.10.2018
19:51:46
А почему именно нативный драйвер, если не секрет?
Ну он быстрее вроде... Да кстати на mongoose такая же херня сейчас происходит

Потому что мое гугление то на mongoose выпадает, то на mongodb

Michael ?
08.10.2018
19:52:17
Закинь код на гитхаб, проще смотреть будет

И кидай потом сюда ссылку ?

Artur
08.10.2018
19:53:29
Ну он быстрее вроде... Да кстати на mongoose такая же херня сейчас происходит
Ну вообще лучше начать как раз с базовой либы которую все используют. Потом при необходимости можно уже в монгуз или другие одм

никогда не слушайте
08.10.2018
19:54:01
Ну вообще лучше начать как раз с базовой либы которую все используют. Потом при необходимости можно уже в монгуз или другие одм
ну вот я п этому и нативный заюзать решил, потому что оберток там меньше, хотелось разобраться что к чему

Artur
08.10.2018
19:54:02
Попробуй вариант без авторизации и без опций. Может они чего сдали в последней версии

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