Size: a a a

2020 May 06

PG

Pavel Gnedoy in Go-go!
Суть в том, что если логика юзкейса включает в себя хождение в базу и изменения в нескольких таблицах, то при ошибке любой из них, все предшествующие изменения должны тоже откатится
источник

АП

Александр Попов... in Go-go!
так это не "транзакционность приложения"
источник

E

Edgar in Go-go!
Таблицы в одной бд?
источник

АП

Александр Попов... in Go-go!
это "транзакционность базы"
источник

VK

Vadim K in Go-go!
Pavel Gnedoy
Суть в том, что если логика юзкейса включает в себя хождение в базу и изменения в нескольких таблицах, то при ошибке любой из них, все предшествующие изменения должны тоже откатится
Это все делается, в репозитории
источник

DP

Daniel Podolsky in Go-go!
Pavel Gnedoy
Суть в том, что если логика юзкейса включает в себя хождение в базу и изменения в нескольких таблицах, то при ошибке любой из них, все предшествующие изменения должны тоже откатится
но это же невозможно надежно реализовать на уровне приложения.
источник

PG

Pavel Gnedoy in Go-go!
Александр Попов
так это не "транзакционность приложения"
я и не говорил о транзакционности приложения. Я имелл ввиду на уровне слоя «апликейшн», кор приложения, если так понятнее
источник

DP

Daniel Podolsky in Go-go!
коллега, мы вообще не понимаем, о чем вы говорите
источник

DP

Daniel Podolsky in Go-go!
есть транзакционные субд - и на них все просто, открыл транзакцию, сденлал изменения, закрыл транзакцию. не закрыл - онаоткатится по таймауту.

есть даже распределенные транзакционные субд, но они тормозят

на уровне приложения это реализовать надежно невозможно
источник

E

Edgar in Go-go!
Он похоже не знал, что за транзакции отвечает не приложение, а бд
источник

E

Edgar in Go-go!
Пришел в GO и удивилс
источник

DP

Daniel Podolsky in Go-go!
возможно, да
источник

E

Edgar in Go-go!
В общем,  Влад, это просто метод Begin для объкта *sql.DB
источник

E

Edgar in Go-go!
И вот у вас в руках транзакция
источник

VM

Vladislav Milenin in Go-go!
Daniel Podolsky
коллега, мы вообще не понимаем, о чем вы говорите
что в джанге что в спринге чтобы приложение работало многопоточно (и было популярным) авторам пришлось поизвращаться с языками и написать 70% кода вместо пограмистов с сертификатами от oracle/amazon и тд, потому речи из ряда “на уровне апликейшена” как мана небесная)
источник

AK

Anton Kucherov in Go-go!
ziggy lucid
и каков сравнительный вердикт?
Эванс - чистая теория, Вернон практика, основанная на теории Эванса, с подробными примерами на Java и конкретным описанием проблем и решений.
источник

AK

Anton Kucherov in Go-go!
Pavel Gnedoy
Что-то на подобие @Transactional в спринге
Расскажите подробно как работает этот декторатор в Спринге. Т.е. что он делает под капотом и мы расскажем как это реализовать в Go 🙂
источник

DP

Daniel Podolsky in Go-go!
ты злой
источник

AK

Anton Kucherov in Go-go!
😕
источник

AK

Anton Kucherov in Go-go!
Ну там целый мир под этим Transactional. Это сложный вопрос. Но поняв как оно там работает можно реально понять как на Go сделать похожее.
источник