

Глеб
23.05.2017
07:20:49
Повторю вчерашний вопрос:
Есть 3 десятка моделей, примерно столько же менеджеров для них, и 3 запчасти сервера: RESTful API, Socket.IO API и несколько воркеров, которые смотрят за Redis и ZMQ. Всё это живёт под PM2 как отдельные процессы (с кластеризацией). Сейчас добавилось несколько разработков в проект и количество обновлений не позволяет ручками git pull & pm2 restart $module. Если оставить всё как сейчас, в одном репозитории, то при коммите изменения в HTTP API будет пересобираться и рестартовать Socket.IO, а это не хорошо: после обрыва соединения надо подгрузить много данных и т.д. Короче, Socket.IO лучше рестартовать по минимуму. Вопрос: как разнести это по отдельным репозиториям, но при этом корректно утянуть модели? Git submodules VS NPM git modules? Submodules как то не хочется использовать, больно это. А с NPM не получится быстро и удобно обновлять модели (поправил строчку, рестартанул dev-server). Плюс если они из git подключаются, то у yarn с их обновлением проблемки есть.


Rafael
23.05.2017
07:21:17
Ребзь, вчера спраишивал:
http://kadtools.github.io/tutorial-middleware.html
как вот это соединить с express? инстанс express и вот эта kad поддерживает .use(), куда передаются функции с одинаковой сигнатурой этого достаточно чтобы их как-то слепить? если да, то как?

Глеб
23.05.2017
07:28:54
Просто подставляй как expressApp.use(...). Ну и так же expressRouter.use(...)

Google

Rafael
23.05.2017
07:30:26
Может я конечно кривой

Глеб
23.05.2017
07:30:45

Rafael
23.05.2017
07:31:35
во

Konstantin
23.05.2017
07:31:43
так миддлвару передавай внутрь
app.use(function (req, res, next) {
console.log('Time:', Date.now());
next();
});
вот пример

Google

Rafael
23.05.2017
07:33:04
вот, пытался

Konstantin
23.05.2017
07:33:16
если хочешь как у тебя, то передай функцию, которая возвращает функцию

Rafael
23.05.2017
07:33:36

Konstantin
23.05.2017
07:33:48

Rafael
23.05.2017
07:34:25
а то я чет туплю

Konstantin
23.05.2017
07:34:42
я хз как там твой кад организирован

Rafael
23.05.2017
07:34:48

Konstantin
23.05.2017
07:35:06
но тебе надо написать че-то типа: app.use(function (req, res, next) {
kad();
next();
});
Желательно всё в промисы и некст при ошибке (если надо)
Сорри, я занят, так было 2 минуты

Rafael
23.05.2017
07:36:18

Глеб
23.05.2017
07:51:32
Так, погоди. При чём тут express? Kad - это сам сервер, могущий middleware аля Connect/Express. То есть kad.use((req, res, next) => {...}).

MadMax
23.05.2017
07:52:06
Ребят
А как в knex добавить andWhere в цикле?

Rafael
23.05.2017
07:52:51

Глеб
23.05.2017
07:55:44
т.е экспресс и кад совмещать нельзя?
Можно наверное, не видел в доках на первый взгляд. Я ж с ним не работал, ман ток что почитал) Интерфейс для middleware у них то одинаковый, но это скорее для удобства разработки, чем для взаимозаменяемости кода.
Насколько я понял, у него внутри есть свой http-сервер.

Konstantin
23.05.2017
07:57:09

Google

Konstantin
23.05.2017
07:57:14
Нода у тебя задана

Aleksandr
23.05.2017
07:57:28

Таймураз
23.05.2017
07:58:36

Konstantin
23.05.2017
07:58:56

Rafael
23.05.2017
07:58:58

Таймураз
23.05.2017
07:59:15
в ультрабук толщиной 13 мм

Rafael
23.05.2017
07:59:17

Konstantin
23.05.2017
07:59:18

Rafael
23.05.2017
07:59:30
https://gist.github.com/Fl0pZz/11b7080eed7bd37c1141385e8af42478

Konstantin
23.05.2017
07:59:42
ну зареквайрил ты кад. а ноде ты присводил это как вот тут:
вот тут

Rafael
23.05.2017
07:59:58
там надо сразу и kad и peerjs для распределенного чата

Konstantin
23.05.2017
08:00:18

Глеб
23.05.2017
08:00:39

Rafael
23.05.2017
08:00:47
я как бы вообще не бекендщик, так что тут вас еще помучаю сегодня\завтра

MadMax
23.05.2017
08:03:18
Ребят, подскажите пожайлусто глупцу

Konstantin
23.05.2017
08:03:45
https://github.com/peers/peerjs/blob/master/examples/chat.html
вот тебе прям экзампл как тебе реализовать твой чат

Google

Konstantin
23.05.2017
08:04:11
только логику ЖКвери перепиши на что-то нормальное

MadMax
23.05.2017
08:04:12
Мне в req.query.Id приходит массив. Из не известного кол -ва элементов. Как мне реализовать and where?

Konstantin
23.05.2017
08:05:46

Глеб
23.05.2017
08:06:21
Эт где ж у тебя таски такие?

Rafael
23.05.2017
08:06:41

Admin
ERROR: S client not available

Rafael
23.05.2017
08:07:31

Konstantin
23.05.2017
08:08:15

Rafael
23.05.2017
08:08:38

Konstantin
23.05.2017
08:09:08

MadMax
23.05.2017
08:09:11

Konstantin
23.05.2017
08:09:21

Rafael
23.05.2017
08:09:22
в DHT это сделано через XOR от разности хеша файла и ноды, типо по этой разнице я смогу найти близжашую ноду и там будет файл

MadMax
23.05.2017
08:09:34
Спред...
Ок, спасибо

Konstantin
23.05.2017
08:13:25

Rafael
23.05.2017
08:13:29

Google

Konstantin
23.05.2017
08:14:13

Rafael
23.05.2017
08:14:43
...arr -> arr0, arr1, arr2, ..., arrN

MadMax
23.05.2017
08:16:19
Мускл база, запрос типа
knex(nameTable).where({filterId:Id[0]})

Konstantin
23.05.2017
08:16:24

Rafael
23.05.2017
08:16:49

MadMax
23.05.2017
08:17:00
Mysql

Konstantin
23.05.2017
08:17:25

Rafael
23.05.2017
08:17:49
я просто вопрос макса не читал

Konstantin
23.05.2017
08:18:18

Rafael
23.05.2017
08:18:31
может это массив массивов

Konstantin
23.05.2017
08:18:50

Rafael
23.05.2017
08:19:12

MadMax
23.05.2017
08:19:13
Квери строка выглядит так
I'd[]=2&ID[]=5
К примеру