Oleks 🐟
ребзя, какая наиболее распространенная бд для работы с нодой?
Dmitrii
Монга)
Oleks 🐟
ну больше интересны большие проекты, прод и тд
Oleks 🐟
как часто ли юзают монгу там
Oleks 🐟
ну короч, кроме монги
Dmitrii
Посгря
Oleks 🐟
часто ли mysql юзают с нодой
Dmitrii
Но по популярности все особенно начинающие мускуль берут
Oleks 🐟
спрашиваю потому что всегда работал только с монгой
Oleks 🐟
но по вакансиям все больше постгря и mysql
Oleks 🐟
нужно в срочном порядке ознакомится
Anonymous
у меня проблема когда я запускаю html файл без участия сервера то css подгружается а когда это делает сервер то css не работает
Anonymous
я в инете прочитал что express.static помогает но не понял как она работает
Evgeny
Чувак, реально, иди учи основы
Evgeny
Ты сейчас пытаешься запомнить заклинания,а не понять как это работает
Anonymous
ты прав терпения ноль у меня
Dmitrii
/stat@combot
Combot
combot.org/chat/-1001041204341
Anonymous
/stat@combot
Combot
combot.org/chat/-1001041204341
Oleks 🐟
гуд
Oleks 🐟
при этом обычно выбирают firebase, mysql, postgre, mongo
Oleks 🐟
для каких целей какая?
Oleks 🐟
ну кроме firebase
Oleks 🐟
и монги
Kons
https://www.reddit.com/r/node/comments/2lmitx/what_is_the_best_database_stack_for_node_js/clzycpc/
Kons
Я набрал в своём гугле „which db to use“
Kons
Эта ссылка была на первом месте
Ivan
А есть грамотный способ подписаться на все события ивэнт эмиттера? Или другими словами, поставить колбэк на все события? Кроме как на всё вручную.
Vlad
А чего вы мускуль говном называете?
Kons
В ядерном, судя по доке, нет. Но есть в сторонних. Например, тут - https://github.com/asyncly/EventEmitter2
Александр
создать свою обертку над листенером, и на каждый on/once добавлять prependListener/ prependOneListener на каждое событие, которое вызывает мастер событие
ну это если упороться, хотя скорее всего так и делают
Kons
Александр
обернуть emit, так даже проще. сначала вызываем мастер событие, потом делаем emit обычному листереру
Oleks 🐟
Kons
Ivan
Denys
Всем привет, есть вопрос.
Кто использует koa-router? Возможно ли передать в роут middleware с параметром, например:
router.get(‘/posts’, checkRules(‘posts’), async ctx => {
})
Cenator 🐈
хм, ну bodyparser передается же, может и это можно
Denys
Возвращает мне ошибку middleware must be a function, not object
Denys
Хотя функция checkRules возвращает фукцию
Denys
param => (ctx, next) => { … }
Алексей
Задача не тревиальная. А для чего?
Aleksei
можешь, imagemagick тебе в помощь
Anton
задача тривиальная, если просто наложить. гугли биндинг к какому-нибудь imagemagick
Aleksei
для ноды есть обертка gd
Kons
Алексей
Блин, я не понял, зачем это нужно?
Kons
Ну в телеграме например боту шлют фотку, а тот на нее усы накладывает
Алексей
Gleb
https://github.com/lovell/sharp
GitHub - lovell/sharp: High performance Node.js image processing ...
Aleksei
https://www.imagemagick.org/script/composite.php - вот статья про наложения, с помощью гм через функцию compose/compisite/whatever накалдываешь и отдаешь
Aleksei
я это делал, там сервак на 20 строк с импортами, если не меньше, но код не сохранился
Gleb
Пипл, кто использует lint-staged и husky на одном проекте? Расскажите, как вы их заставили при установке не перетирать hook'и друг друга?
A
Парни, вопрос
A
Есть у меня модель данных - mongoose. Там всякого разного полно. Пусть там хранятся карточки и пользователи, типа трелло, пусть карточки принадлежат пользователям, чтобы было проще и понятнее.
Есть слой доступа к данным - express. Там всякая авторизация, роли, ограничения доступа, в общем радости.
Теперь я начал строить систему уведомлений. Например, пользователь что-то там поменял в карточке - надо всем причастным разослать по уведомлению (почта, apns, gcm, внутренний лог).
В уведомлении, грубо говоря, содержится:
* кто поменял
* когда
* что
* как (ну типа дифф-а)
Собственно идея такая, что кто-то там - модель или доступ к данным, генерирует событие, это событие через eventemitter уносится уже в соответствующий контроллер, где из него с помощью небольшого количества магии генерируются нотифай в почту, apns, fcm.
Вопрос. К какому слою - модель или доступ к данным, положить генерацию этих самых сырых ивентов о том, что что-то поменялось?
В чем проблема:
для тестирования сильно удобнее, чтобы модель mongoose эти ивенты генерировала.
но модель не до конца знает кто её вызывает
Kons
Есть у меня модель данных - 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
});
A
Ну, модель вообще жирная 🙂
Но последние 10 минут я тоже как-то начал склоняться к тому, что это надо держать в слое доступа к данным.
Мотивация такая:
+ там есть все необходимые данные без ужимок и прыжков
+ есть ощущение, что иногда нотифаи надо будет уметь замьютит не навсегда, а вот сейчас для этого конкретного вызова - это проще сделать из слоя доступа к данным
- понимание результата работы модели иногда может быть не совсем тривиальным - немного хитрая предметная область
Sergey
A
Data Context Interaction ?
Sergey
A
Хм. Интересная штука.
A
Какой-то Unit of work на стероидах
Combot
combot.org/chat/-1001041204341
Andrew Kiselev
как обычно проектируют базу данных для городов, регионов, стран с поддержкой локализации?
Sergey
жмякните свои лайки
Sergey
https://github.com/Microsoft/vscode/issues/32257
Sergey
Bogdan
Красиво!
хоть и не пользуюсь атомом)
Pavel
Это VSCode)
Bogdan
Да, точно
Гадство) Не разбираюсь в них :)
Denys
Понравилось) Держи лайк)
ℝei
А так уже можно сделать?)
Borys
столько текста ) ребята, посоветуйте плиз наиболее адекватную библиотеку под postgre и под mysql
arts
Sequelize
Borys
@artsdvatri спасибо!