Alex
10.08.2017
15:36:23
можешь, imagemagick тебе в помощь
Anton
10.08.2017
15:36:33
задача тривиальная, если просто наложить. гугли биндинг к какому-нибудь imagemagick
Voskresus
10.08.2017
15:36:49
просто скажите мне что я смогу это сделать средствами nodejs
Alex
10.08.2017
15:36:50
для ноды есть обертка gd
Google
Konstantin
10.08.2017
15:37:28
Алексей
10.08.2017
15:37:40
Блин, я не понял, зачем это нужно?
Konstantin
10.08.2017
15:38:14
Ну в телеграме например боту шлют фотку, а тот на нее усы накладывает
Alex
10.08.2017
15:38:24
Алексей
10.08.2017
15:38:31
Konstantin
10.08.2017
15:38:48
Gleb
10.08.2017
15:39:09
https://github.com/lovell/sharp
GitHub - lovell/sharp: High performance Node.js image processing ...
Voskresus
10.08.2017
15:39:18
для бота в тг
я же ответил
мне надо получить фотку потом ее обработать и вернуть
Alex
10.08.2017
15:43:29
я это делал, там сервак на 20 строк с импортами, если не меньше, но код не сохранился
Gleb
10.08.2017
15:51:58
Пипл, кто использует lint-staged и husky на одном проекте? Расскажите, как вы их заставили при установке не перетирать hook'и друг друга?
Google
Vsevolod
10.08.2017
15:54:41
Alex
10.08.2017
17:04:51
Парни, вопрос
Есть у меня модель данных - mongoose. Там всякого разного полно. Пусть там хранятся карточки и пользователи, типа трелло, пусть карточки принадлежат пользователям, чтобы было проще и понятнее.
Есть слой доступа к данным - express. Там всякая авторизация, роли, ограничения доступа, в общем радости.
Теперь я начал строить систему уведомлений. Например, пользователь что-то там поменял в карточке - надо всем причастным разослать по уведомлению (почта, apns, gcm, внутренний лог).
В уведомлении, грубо говоря, содержится:
* кто поменял
* когда
* что
* как (ну типа дифф-а)
Собственно идея такая, что кто-то там - модель или доступ к данным, генерирует событие, это событие через eventemitter уносится уже в соответствующий контроллер, где из него с помощью небольшого количества магии генерируются нотифай в почту, apns, fcm.
Вопрос. К какому слою - модель или доступ к данным, положить генерацию этих самых сырых ивентов о том, что что-то поменялось?
В чем проблема:
для тестирования сильно удобнее, чтобы модель mongoose эти ивенты генерировала.
но модель не до конца знает кто её вызывает
Konstantin
10.08.2017
17:23:19
Есть у меня модель данных - mongoose. Там всякого разного полно. Пусть там хранятся карточки и пользователи, типа трелло, пусть карточки принадлежат пользователям, чтобы было проще и понятнее.
Есть слой доступа к данным - express. Там всякая авторизация, роли, ограничения доступа, в общем радости.
Теперь я начал строить систему уведомлений. Например, пользователь что-то там поменял в карточке - надо всем причастным разослать по уведомлению (почта, apns, gcm, внутренний лог).
В уведомлении, грубо говоря, содержится:
* кто поменял
* когда
* что
* как (ну типа дифф-а)
Собственно идея такая, что кто-то там - модель или доступ к данным, генерирует событие, это событие через eventemitter уносится уже в соответствующий контроллер, где из него с помощью небольшого количества магии генерируются нотифай в почту, apns, fcm.
Вопрос. К какому слою - модель или доступ к данным, положить генерацию этих самых сырых ивентов о том, что что-то поменялось?
В чем проблема:
для тестирования сильно удобнее, чтобы модель mongoose эти ивенты генерировала.
но модель не до конца знает кто её вызывает
Я бы делал это на уровне контроллера (ввиду его отсутствия - в слое доступа к данным). Исхожу из логики, что модель - сырые данные. Больше она ничего не должна делать.
Т.е. условно говоря, что-то типа (нет контроллера):
app.patch((req, res, next) => {
// Do something with model
model.save().then(() => generateEvent('update', model.id));
// Reply to client or die with an error
});
Alex
10.08.2017
17:30:38
Ну, модель вообще жирная ?
Но последние 10 минут я тоже как-то начал склоняться к тому, что это надо держать в слое доступа к данным.
Мотивация такая:
+ там есть все необходимые данные без ужимок и прыжков
+ есть ощущение, что иногда нотифаи надо будет уметь замьютит не навсегда, а вот сейчас для этого конкретного вызова - это проще сделать из слоя доступа к данным
- понимание результата работы модели иногда может быть не совсем тривиальным - немного хитрая предметная область
Сергей
10.08.2017
17:42:50
Alex
10.08.2017
17:44:50
Data Context Interaction ?
Сергей
10.08.2017
17:45:27
Alex
10.08.2017
17:48:23
Хм. Интересная штука.
Какой-то Unit of work на стероидах
Combot
10.08.2017
20:36:11
combot.org/chat/-1001041204341
Andrew
10.08.2017
21:06:51
как обычно проектируют базу данных для городов, регионов, стран с поддержкой локализации?
Сергей
10.08.2017
21:08:04
жмякните свои лайки
https://github.com/Microsoft/vscode/issues/32257
Bohdan
10.08.2017
21:25:11
Красиво!
хоть и не пользуюсь атомом)
Павел
10.08.2017
21:26:22
Это VSCode)
Bohdan
10.08.2017
21:27:01
Да, точно
Гадство) Не разбираюсь в них :)
Denis
10.08.2017
21:28:07
Понравилось) Держи лайк)
Roman
10.08.2017
21:31:10
А так уже можно сделать?)
Google
Borys
10.08.2017
21:38:03
столько текста ) ребята, посоветуйте плиз наиболее адекватную библиотеку под postgre и под mysql
arts
10.08.2017
21:38:45
Sequelize
Borys
10.08.2017
21:40:15
@artsdvatri спасибо!
Vsevolod
10.08.2017
21:41:37
knex
:)
Bohdan
10.08.2017
21:48:56
Anton
10.08.2017
22:48:33
Вишневый чай
11.08.2017
04:58:06
Nurik
11.08.2017
05:13:55
Всем привет. Ребят тут срочно ответ понадобился. Подскажите как правильно масштабировать nodejs приложения. Например есть железо с 40 ядрами. и 128гб оперативы. Как распределить инстансы в этом случае ?
Совсем забыл. На железе есть виртуализация. Какую конфигурацию нужно под каждую VM вибирать ?
MadMax
11.08.2017
05:17:55
Почему на тытрубе уроков/примеров Nodejs+ MongoDB попой жуй. А nodejs+mysql толком нет?
Nurik
11.08.2017
05:21:03
Ilya
11.08.2017
05:32:13
Alex
11.08.2017
05:42:21
Ilgiz
11.08.2017
05:58:07
кто работал с x-ray? как можно сделать exclude определенный div ?
что бы парсил все кроме определенного дива с определенным классом
кто знает есть ли англоязычная группа nodejs?
Dreamerinnoise
11.08.2017
06:13:01
Есть, но не в телеграме
Ilgiz
11.08.2017
06:14:11
а где?
и как вы в монге делает связи? просто id хранит?
Google
Dreamerinnoise
11.08.2017
06:20:29
abc
11.08.2017
06:20:36
Парни привет. Подскажите по общей принятой практике в ноде сообществе. Допустим у меня есть своя библиотека mylib на гитхаб репозитарий github.com / mylibjs т.е. с приставкой JS. На npm нужно тоже с приставкой JS публиковать ? Хотя вот например expressjs в npm публикуется как express и есть много других примеров, есть и обратные примеры.
Aleksey
11.08.2017
06:22:05
Подскажите как можно проверить результат через chai: массив из обьектов с определнными полями?
Ilgiz
11.08.2017
06:24:02
задал вопрос, чет мало кто отвечает
abc
11.08.2017
06:24:29
Dreamerinnoise
11.08.2017
06:24:52
Aleksey
11.08.2017
06:26:02
abc
11.08.2017
06:26:33
Aleksey
11.08.2017
06:32:14
abc
11.08.2017
06:38:28
ну у вас там null наверно или undefined.
Alex
11.08.2017
06:40:35
и как вы в монге делает связи? просто id хранит?
Ну вообще стратегии для "связей" в монге ровно две:
1. хранить id. Считай та же реляционка, но без констрейнтов и транзакций
2. вкладывать внутрь.
Единственное, надо сразу отдавать себе отчёт в том, что сразу после вопроса "а как я буду хранить связи", сразу надо задавать вопрос "а нужна ли мне монга"
Borys
11.08.2017
06:48:51
@vgoloviznin @bednij_bohdan @brud90 и если еще кого-то пропустил - спасибо!
Voskresus
11.08.2017
08:54:25
кто работал с телеграм модулем node-telegram-bot-api
отпишите тут или в лс
как созранить файл который пиходит (photo)
arts
11.08.2017
09:00:29
Google
OXIBUG
11.08.2017
09:25:36
Всем привет ! Не подскажете адреса пары тройки ip камер. Экспериментируют с webrtc
Charles
11.08.2017
09:26:57
товарищи, а можно как-нибудь сделать так чтоб в одной коллекции в Postman были разные тесты? Ну то есть, допустим у меня в коллекции есть 10 разных запросов и как минимум три кейса - надо запустить 1-2-3-4-8 и 1-2-3-6-8 и например 6-7-8-9-1. Как такое сделать в нем??? я просто так понял что Collection Runner - он максимум может одну коллекцию гонять и в рамках нее смотреть на setNextRequest и усё
может это не Postman'ом надо делать?
Vsevolod
11.08.2017
09:32:19
https://habrahabr.ru/company/mailru/blog/335384/
кто напилил уже? :D
Voskresus
11.08.2017
11:02:05
как мне скачать файл ?
по https
Evgeny
11.08.2017
11:03:01
Яб забанил