@nodejs_ru

Страница 1000 из 2748
Rafael
17.07.2017
04:46:38
@sergeysova

Алексей
17.07.2017
05:10:58
Хотелось бы упростить себе жизнь и сделать шаг вперед во фронтенде, хотел от вас совет попросить. Сейчас использую шаблонизатор express, стили по нулям (css вояю какую нидь), Все компоненты рисую вручную или bootstap. Запросы через ajax, jquery. Смотрю в сторону pug + vue + socket.io С чего бы начать и чем вы пользуетесь для фронтенда. Спасибо за любые советы.

Arkady
17.07.2017
05:39:50
Gulp, sass

Flex-box,Css grid

Google
bebebe
17.07.2017
05:46:51
дратути кто-нибудь имел дело с openresty+websocket'ами? или это не тот чатик?

bebebe
17.07.2017
07:05:44
бггг оттуда меня послали сюда

Stepan
17.07.2017
07:47:27
о а можно ссылку на девопс?

Kelin
17.07.2017
07:49:07
Stepan
17.07.2017
07:49:46
спасибо

Aleksandr
17.07.2017
08:03:30
бггг оттуда меня послали сюда
а в чем проблема у тебя?

bebebe
17.07.2017
08:04:20
а в чем проблема у тебя?
я хотел спросить, кто-нибудь имел дело с вебсокетами в openresty (nginx + lua)

либо чатик профильный

клиентом будет выступать андройд

Aleksandr
17.07.2017
08:06:46
bebebe
17.07.2017
08:07:14
Александр, что то не то вы меня спрашиваете

Google
Stepan
17.07.2017
08:08:54
он намекает что стоит без вступления сразу переходить к вопросу, и тогда если кто знает ответит)

Aleksandr
17.07.2017
08:09:12
Александр, что то не то вы меня спрашиваете
так в чем твоя проблема? не понятно

bebebe
17.07.2017
08:10:05
мой вопрос, кто-нибудь терминировал weboscket в nginx с обрабтичком endpoint'a на lua

а конкретно этой либой https://github.com/openresty/lua-resty-websocket

Mikhail
17.07.2017
08:11:03
Никита
17.07.2017
08:46:50
Всем привет! Подскажите либы для работы с большими json файлами? пытаюсь спарсить 300мб файл. нода съедает всю оперативу. пробовал https://github.com/philbooth/bfj

Дмитрий
17.07.2017
08:48:31
Стримы
Bfj на стримах и есть

Никита
17.07.2017
08:57:17
неа. просто вся оператива съедается со временем(~12гб)

bebebe
17.07.2017
08:58:04
Спроси в @ProLua
вот спасибо

Anton
17.07.2017
09:17:59
всем привет! скажите, кто как подходит к вопросу логирования node-приложений? слышал мнение, что апп по-хорошему должен писать только в stdout, и должен быть второй сервис, который слушает stdout этого аппа и уже сам решает, что делать с логами и куда их раутить

Alex
17.07.2017
09:20:13
неа. просто вся оператива съедается со временем(~12гб)
Если файл 300 мб, а съедается 12 Гб, можно предположить, что память банально течёт

Anton
17.07.2017
09:37:32
у нас ошибки шлются в logentries
то есть в сам апп зашита логика отправки?

это правильный подход для докера, в остальных случаях это вряд ли будет удобно
ну вот вроде как пытаемся сделать так, чтобы это всё потом в докер упаковать и в случае необходимости скейлить

Vsevolod
17.07.2017
09:41:35
у них модуль для логгирование, вместо console.error, пишешь logger.err

Aleksandr
17.07.2017
09:43:37
ну вот вроде как пытаемся сделать так, чтобы это всё потом в докер упаковать и в случае необходимости скейлить
ну тогда верный подход, собирать логи с stdout у докера может кто угодно, в зависимости от того что вы используете для хранения логов

Google
Anton
17.07.2017
09:45:12
у них модуль для логгирование, вместо console.error, пишешь logger.err
ну да, мы раньше тоже использовали winston, там делаешь winston.info или winston.err, а он уже решает, что с этим делать

Aleksandr
17.07.2017
09:46:15
ну да, мы раньше тоже использовали winston, там делаешь winston.info или winston.err, а он уже решает, что с этим делать
лучше писать свой простой логгер, который делает только то что нужно, будет в 10 раз быстрее любого пакета для логов

Anton
17.07.2017
09:47:02
ну тогда верный подход, собирать логи с stdout у докера может кто угодно, в зависимости от того что вы используете для хранения логов
я вот пытался найти, как это сделать, но пока не особо понял. ну то есть можно сделать node index.js | some_logger_binary, и тогда этот logger сможет читать stdout нодовского приложения, а если, например, логгер запущен в соседнем докер-конейнере.. непонятно

или он должен быть запущен на хост-машине и читать логи докера через docker logs

Aleksandr
17.07.2017
09:48:24
я вот пытался найти, как это сделать, но пока не особо понял. ну то есть можно сделать node index.js | some_logger_binary, и тогда этот logger сможет читать stdout нодовского приложения, а если, например, логгер запущен в соседнем докер-конейнере.. непонятно
почему непонятно? тут есть два нормальных подхода. в каждом контейнере запускаешь процесс собирающий лог, или запускаешь отделньый контейнер, прибиваешь к нему сокет докера и он со всех контейнеров нужных собирает лог и шлет куда надо

или он должен быть запущен на хост-машине и читать логи докера через docker logs
только не на хосте, а где угодно, главное сказать ему адреса нод с которых надо собирать и критерий выбора контейнеров

Aleksandr
17.07.2017
09:50:57
вот второй подход можете пояснить, пожалуйста? не совсем понимаю, как это. ну или скинуть ссылку где про это можно почитать
ты запускаешь контейнер, даешь ему доступ к сокету докера, он через remote api просит у него логи для нужных контейнеров, разбирает стрим и отправляет куда надо

плюс у докера есть свои драйвера для логов

https://docs.docker.com/engine/admin/logging/overview/#supported-logging-drivers

Gleb
17.07.2017
09:54:09
Возьми fluentd, в него логи шли по сети из логгера (winston/bunyan), а в fluentd пиши логи на диск или куда там тебе надо. Когда приложение перенесёте в docker - логгер пусть пишет в stdout, а лог контейнера перенаправляете в fluentd.

Anton
17.07.2017
09:55:34
ты запускаешь контейнер, даешь ему доступ к сокету докера, он через remote api просит у него логи для нужных контейнеров, разбирает стрим и отправляет куда надо
а, я понял примерно. просто не сталкивался с концепцией сокета в докере. то есть просто контейнер сможет исполнять команды докера через этот сокет

Gleb
17.07.2017
09:55:46
плюс у докера есть свои драйвера для логов
Вот, это правильное решение. А прокидывать socket - не оч.

Aleksandr
17.07.2017
09:57:16
Вот, это правильное решение. А прокидывать socket - не оч.
если мне нужна своя логика то мне свой драйвер писать чтоль?

Gleb
17.07.2017
09:57:41
И какая ж логика нужна?

Aleksandr
17.07.2017
09:58:26
И какая ж логика нужна?
меня ни один не устраивает оттуда, мне нужно хитро парсить их и слать в эластик сразу

а, я понял примерно. просто не сталкивался с концепцией сокета в докере. то есть просто контейнер сможет исполнять команды докера через этот сокет
концептия там не в сокете, а в доступе к remote api, в докере любой клиент работает через него, и не имеет значения какой там сокет

Anton
17.07.2017
10:00:33
Понял всё, спасибо, буду изучать ??

Google
Aleksandr
17.07.2017
10:01:46
Понял всё, спасибо, буду изучать ??
главное не открывать remote api вовне без аутентификации, максимум через сутки на твоем железе дети будут майнить крипту

Pavel
17.07.2017
10:15:26
Всем привет, может ли кто подсказать хорошую правильную структуру приложения на веб-сокетах? Может есть какой хороший пример?

Admin
ERROR: S client not available

Nurik
17.07.2017
10:17:23
Всем привет. Ребят подскажите почему при pm2 logs сообщения типа debug которые генерирует winston воспринимаются как ошибки, debug сообщения пишутся в STDERR что ли ?



Всем привет, может ли кто подсказать хорошую правильную структуру приложения на веб-сокетах? Может есть какой хороший пример?
Вот как я делал (не знаю насколько она правильная, но мне норм): 1. Первое это поднять шину событий, чтобы можно было отделить бизнес логику от конкретных событий 2. Это создать директории в корне для каждого участника. Т.е. если есть бразуер, то папка browser, если моб клиенты то соотвествующая папка. 3. В каждой папке участика listeners и emitters 3. Прикрутить логи и логировать всё, желательно с генераций уникального номера ошибки, чтобы можно было найти в логе. 4. Если используются разные хранилища, то насоздавать фассадов. 5. Создать пул действий/сессиия как вам удобно, который будет фиксировать действия/события между некоторым количеством участников. И будут храниться пока не будет выполнено какое-нибудь условие. (Особенно это может пригожится если есть мобильные клиенты, которым нужно восстанавливать цепочку следующих действий) 6. Вывод в реальном времени в dashborad, чтобы отследить трудноуловимый баг например. Всё-равно он нужен будет. UPDATE: 7. Если предполагается, что на сайт/моб.приложение будут входит под одним и тем же аккаунтом, то нужно создавать комнаты, и при каждом измененеии писать в пул. генерировать событие, чтобы мобильные клиенты/браузеры чекнули сервер на изменения.

Pavel
17.07.2017
10:41:28
Вот как я делал (не знаю насколько она правильная, но мне норм): 1. Первое это поднять шину событий, чтобы можно было отделить бизнес логику от конкретных событий 2. Это создать директории в корне для каждого участника. Т.е. если есть бразуер, то папка browser, если моб клиенты то соотвествующая папка. 3. В каждой папке участика listeners и emitters 3. Прикрутить логи и логировать всё, желательно с генераций уникального номера ошибки, чтобы можно было найти в логе. 4. Если используются разные хранилища, то насоздавать фассадов. 5. Создать пул действий/сессиия как вам удобно, который будет фиксировать действия/события между некоторым количеством участников. И будут храниться пока не будет выполнено какое-нибудь условие. (Особенно это может пригожится если есть мобильные клиенты, которым нужно восстанавливать цепочку следующих действий) 6. Вывод в реальном времени в dashborad, чтобы отследить трудноуловимый баг например. Всё-равно он нужен будет. UPDATE: 7. Если предполагается, что на сайт/моб.приложение будут входит под одним и тем же аккаунтом, то нужно создавать комнаты, и при каждом измененеии писать в пул. генерировать событие, чтобы мобильные клиенты/браузеры чекнули сервер на изменения.
Спасибо ?

Gleb
17.07.2017
10:45:35
Лови https://github.com/winstonjs/winston/blob/master/docs/transports.md#console-transport

Там stderrLevels и вот это всё.

Nurik
17.07.2017
10:50:36
Там stderrLevels и вот это всё.
Благодарю. Теперь понятно. Хотя и странно почему в STDERR по дефолту пишет.

Gleb
17.07.2017
10:52:42
Были там по этому поводу какие-то дискуссии, но решили не ломать legacy, по моему. Да и сам winston уже legacy, либо по старым проектам валяется, либо у учеников Ильи Кантора)

Gleb
17.07.2017
10:59:09
Bunyan. Но если вы pm2 only и всё такое, то вам скорей всего и winston подходит, юзайте его скопокойно.

Bunyan для docker, JSON лога и всего такого.

Mikhail
17.07.2017
12:42:54
В чем может быть проблема? Не работает (пишет Invalid command: --auth): pm2 start mongod -- --dbpath /home/data/db -- --auth Все ок: mongod --dbpath /home/data/db --auth

Сергей
17.07.2017
12:43:13
нахрена ты так делаешь

скрипт нормальный не написать?

Mikhail
17.07.2017
12:43:31
нормальный - какой?

Сергей
17.07.2017
12:43:31
у тебя дважды --

Google
Mikhail
17.07.2017
12:43:45
у тебя дважды --
так это для pm2, очевидно же

Сергей
17.07.2017
12:43:46
нормальный - какой?
run.sh или process.config.js для pm2

так это для pm2, очевидно же
ДВАЖДЫ работать не будет как надо

Александр
17.07.2017
13:50:21
Добрый день. Ребята, извините за оффтоп, могил бы вы подсказать аналогичную группу для ruby сообщества?

Igor
17.07.2017
15:26:54
Народ подскажите юзал кто swagger-jsdoc

?*

ASergey
17.07.2017
16:00:31
Тоже интересно

OXXXRAa
17.07.2017
17:19:25
Воздравствуют наши новые коллеги...

Gleb
17.07.2017
17:23:48
Ребят, в каких случаях for..of и spread могут генерировать "foobar is not a function". При том, что foobar - function, и возвращает она нормальный такой итератор? И вызов object.foobar работает нормально?

Andrey
17.07.2017
17:26:24
Подскажите, как тестировать глобальную npm либу ?

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