
Grigory
30.06.2016
11:01:25
Возник такой вопрос как проверить в express handlebars существует файл или нет, например протестировать если критический css есть то указать его как в ссылку на стиль если нет то дефолтный

Vladimir
30.06.2016
11:14:10
Я думаю вычислять эту информацию вне шаблона и прикидывать её внутрь

Pavel
30.06.2016
15:19:13
Что лучше взять для приложения с необходимостью отслеживания изменений данных в реалтайме?
Надо что-то в духе firebase, но хотелось бы хостить у себя.
Сущностей немного, хитрых связей нет и с большего все равно, реляционная база будет или nosql.
Пока такие варианты:
1. horizon, rethinkdb и сокеты
2. loopback, любая база на выбор и реалтайм через sse
3. еще вот feathers нагуглился с коннекторами к разным базам и теми же сокетами для реалтайма

KlonD90
30.06.2016
15:21:08
объясните про horizon тему

Google

Roman
30.06.2016
15:21:58
rethinkdb нормик вроде

Sergey
30.06.2016
15:22:59

Anton
30.06.2016
15:23:24
Мне кажется, тут еще зависит от того, какой процент от объема данных нужно будет шерстить обычными запросами

Pavel
30.06.2016
15:23:33
sse можно полифилить вроде, но я пока не углублялся. для лупбека нет из коробки поддержки сокетов. а sse есть

Anton
30.06.2016
15:23:45
Иногда проще прикрутить message broker
А данные хранить в обычной базе

Pavel
30.06.2016
15:30:24
Иногда проще прикрутить message broker
предположительно обычных запросов будет меньше. message broker вариант, конечно, но хорошее коробочное решение интереснее, потому что надо все вчера, как обычно
в horizon на первый взгляд все хорошо кроме того, что переподключение к серваку и синхронизацию данных в этом случае нужно пилить самостоятельно

Anton
30.06.2016
15:44:53
А есть еще вот такая интересная штука
https://www.postgresql.org/docs/9.5/static/libpq-notify.html
Вобще 10 раз бы подумал перед тем, как брать что-то в духe rethinkDB

Pavel
30.06.2016
15:51:01
почему?

Anton
30.06.2016
15:52:22
Потому что мне например абсолютно непонятно, насколько там развита экосистема, насколько это будет удобно использовать/масштабировать и прочее

Google

Anton
30.06.2016
15:52:35
Однажды я очень обжегся, когда взял себе в проект монгу
Которая, как оказалось, на тот момент могла только локи на коллекцию, например (2.6)
Чсх, новый движок с нормальными локами внедрили только в 3.2
Я вобще хз, как её кто-то до этого юзал на более-менее крупных проектах

Evgeny
30.06.2016
15:54:41

Anton
30.06.2016
15:54:50
Да, все еще все плохо?
Мне казалось что новый движок много детских проблем решал
Ну энивей, я теперь стараюсь держаться от монги подальше

Evgeny
30.06.2016
15:55:32
да ппц. до релиза 3.4 пришлось откатиться на 2.4 из-за того что долбанный варедтагер не умеет нормально параллельно запросы обрабатывать и данные портит
слишком, сука, быстрый

Anton
30.06.2016
15:56:26
Оо
Это как?

Evgeny
30.06.2016
15:57:13
если прямо совсем надо - могу поискать у них ишью
закрыли буквально недавно, будет в 3.4

Anton
30.06.2016
15:59:25
Ну а в чем это выражалось-то, как он их портит?
Мешает данные?

Evgeny
30.06.2016
16:00:07
У нас это выражалось в том что повалились тесты на множественные последовательные инкременты/декременты в несколько потоков.

Pavel
30.06.2016
16:02:37
допустим, если брать постгрю. что стоит брать вокруг нее? или проще будет навелосипедить самостоятельно?
мне вот задача не кажется нестандартной и я надеялся, что есть готовые решения уже

Anton
30.06.2016
16:07:37
У меня в проекте сейчас есть что-то похожее, но, вероятно, все же не совсем то

Google

Anton
30.06.2016
16:07:52
У меня есть краулер
Который собирает данные со сторонних сервисов (биржа)
Когда что-то меняется, он емит в мессадж брокер событие об этом
Все остальные процессы подписаны на это событие
И эмитят изменение в свои сокеты
Т.е. есть один краулер, который как-то постоянно шерстит данные, и он работает естественно отдельно от веб-сервера
Он только эмитит сообщения в общую шину
Остальные процессы могут только принимать эти сообщения
И решать на основании полученных данных, что им нужно сделать
Дальше они это расслыают по клиентам через сокет, и каждый клиент дополнительно выполняет свои действия

Pavel
30.06.2016
16:13:07
как обрабатываешь кейсы, когда клиент отключается, а потом подключается снова? или нет необходимости обрабатывать такое?

Anton
30.06.2016
16:13:34
На данный момент такого кейса не возникало

Roman
30.06.2016
16:14:27
можно же просто по дисконекту перестать считывать сообщения от брокера
потом собрать что накопилось

Anton
30.06.2016
16:15:00
Т.к клиент обычно либо знает, какие данные были им получены в последний раз, и недостающие может просто запросить при реконнекте, либо ему всегда нужно получить только самые свежие

anoru
30.06.2016
17:08:30
сами решили от него отказаться

Ҫѐҏӗѫӑ
30.06.2016
17:10:03
а что там?

anoru
30.06.2016
17:11:36
Выборка медленная. Ну, в нашем проекте не нужны особо подписки, а ретинк был выбран из-за хайпа

Dmitry
30.06.2016
17:12:19
Cool story :3

Google

Dmitry
30.06.2016
17:12:52

anoru
30.06.2016
17:14:04
нет :D
но иногда тяжело побороть желание "попробовать")

Dmitry
30.06.2016
20:30:43
Привет, может кто-нибудь подсказать про module.exports?
Например, как сделать "глобальную переменную", чтобы можно было обратится к переменной db, в файле login?
должна быть тривиальная задача, но чет не доходит до меня

Admin
ERROR: S client not available

Vitaly
30.06.2016
20:33:55
global.I_pollute_global_env = true
а так nodeschool.io

Vladimir
30.06.2016
20:49:22
А будет ли в node.js нативная поддержка ES6 модулей? Знаете что-то об этом?

Vladimir
30.06.2016
20:54:49

Dmitry
30.06.2016
22:01:20

Vladimir
30.06.2016
22:01:45
И это тоже
И пока нет решённого пути
Последний выбранный вариант это .mjs да
Далтон сделал пропозал без .mjs

Nikita
30.06.2016
22:03:23
а в чем проблема в ноде конвертировать в require, как это делает babel?

Vladimir
30.06.2016
22:03:42
Но насколько я понял пока только к whatwg спеке модулей
Или tc39
Я запутался в них

Google

Nikita
30.06.2016
22:04:38
export default транспилить в exports[Symbol.defaultExport]. А все остальное точно также работать будет

Vladimir
30.06.2016
22:05:21
Но на ближайшем nodejs ctc митинге будут обсуждать его пропозал
Спека модулей намного более строгая , чем cjs
Поэтому совсем не так

Ivan
30.06.2016
22:11:17
А что со стейджами - задолбал Object.assign

Vladimir
30.06.2016
22:12:09
бабель в помощь

Ҫѐҏӗѫӑ
30.06.2016
22:15:25
лодерами занимается whatwg

Vladimir
30.06.2016
22:18:53
по идее в 262 должно быть слито, когда будет готово

Vladimir
30.06.2016
22:22:42
бабель в помощь
С шестой нодой бабель у меня остается только для преобразования вот этих модулей в require

Vladimir
30.06.2016
22:23:11
проще commonjs использовать, если так

Denis
30.06.2016
22:23:48
Да уже глаза не воспримут require()

Vladimir
30.06.2016
22:24:35
ну нужно остановиться и подумать трезво, стоит ли сахар компиляции
https://github.com/sebmarkbage/ecmascript-undefined-propagation

Ҫѐҏӗѫӑ
30.06.2016
22:29:00
это чисто энв фича
в 262 только синтаксис