kostyaBro
Artur
Илья
kostyaBro
В самой папке bounded context уже сервис так-что подпапки сервис нету
Артем
Господа, вопрос такой. Пишу rest на echo, нужно базу прикрутить. Как грамотно сделать, чтоб в отдельном пакете инициализировалась бд ( sqlx.Open) и можно было юзать ее?
Artur
как микросервисы, только 1 проект
Илья
Илья
понял
kostyaBro
И рядом с ней лежит репа для нее
kostyaBro
Я извращенец?
Artur
Artur
ну то есть система заметок, какие контексты видятся сразу?
есть заметка, категория, пользователь, теги, картинки к заметке
kostyaBro
Ой надо смотреть от событий которые происходят в системе
kostyaBro
Артем
kostyaBro
Илья
не проще маппить в одну модель и гонять её по всем слоям?
Artur
?
https://www.youtube.com/watch?v=YR9CDZqKS30&list=PLP19RjSHH4aENxkai8lzF0ocA4EZyS0vn&index=11
Илья
kostyaBro
kostyaBro
Просто тех же репозиториев для одноу модели модет быть несколько
Например посгря и рам.
kostyaBro
Кароч, я бы предложил вспомнить этот диалог через месяц, если не забудет, и я покажу пример того как я раскидываю
kostyaBro
Просто то что пет проект, там какието черновики, а то что до этого было написано, было в уже написанглм большом сервисе
kostyaBro
Сейчас с нуля
Artur
Artur
я наоборот всегда говорю что вариантов миллион я сейчас юзаю этот
kostyaBro
Artur
а в следующем видео переобуваюсь ))))
Иван
можно зафигачить одну модель на все слои, можно модель для каждого слоя, можно cqrs и модель для каждого слоя + модель для запроса ответа отдельно, есть идеи куда еще глубже?
kostyaBro
kostyaBro
К примеру у меня был репозиторий в сумме на 10+к строк
kostyaBro
Пришлось тоже придумывать структуру
Артем
ну делаешь отдельный пакет с бд, в чем проблема?
Ну смотри, я хотел написать в пакете вот так
db, err := sql.Open(…)
И дальше этот db использовать. Я бы хотел сразу проверить ошибку, и кинуть если произошла. А так мне в каждом методе придется проверять, если не было ошибки то используй.
Иван
kostyaBro
kostyaBro
кто-то скажет что возвращать err из конструктора херота, ваше право)
Илья
kostyaBro
а ну еще мб надо func (*Client) Close() err сделать
kostyaBro
почему?
тот кто это говорил не переиграл меня
а я так не говорию
kostyaBro
это считай был дисклеймер чтобы холивар не поднялся
kostyaBro
а то он тут легок на подъем
kostyaBro
почему?
Как я понял того чела. Конструктор должен просто отдать тебе собранные объеки и не выполнять служную логику тоесть не кидать ошибок
kostyaBro
С какой то стороны он прав.
Но я против того чтобы после конструктора вызывать какой нибудь Connect() err ибо можно забыть вызвать его.
kostyaBro
и такое часто бывало когда забывали вызывать Connect
Илья
Видел в какой-то либе возврат ошибки через метод .Err()
Rostislav
kostyaBro
Илья
kostyaBro
kostyaBro
просто ну я как пользователь
kostyaBro
брр
я как пользователь этой функции хочу получать рабочий клиент к бд, а тут он не совсем рабочий
kostyaBro
У меня в одном проекте Repository поделен на creater reader deleter expiredDropper
но тогда получается что Repository который так не поделен нарушает SRP?))))
kostyaBro
Всеравно остается одна причина для изменений
имхо
kostyaBro
И у Боба SRP вообще отталкивался от отделов.
Чтото типо только у одного отдела может быть причина для изменений, а это вообще высокоуровнего.
kostyaBro
Если не прав поправьте, давно читал
kostyaBro
ну и это тоже
Dmitriy
Всем привет
Есть задача:
Написать консольное ".exe", которое
1) Принимает аргументом картинку и текст
2) Отправляет сие методом POST на определенный URL
Alexandr🇷🇺
Dmitriy
Alexandr🇷🇺
Илья
Кіт ✙
Кіт ✙
принимай
ты меня знаешь, я свой http клиент делать начну. Не надо
Илья
Кіт ✙
Илья
ну всё, делаю unwatch
Кіт ✙
ты и так
Илья
Кіт ✙
ну лан