Size: a a a

Scala User Group

2020 January 10

SA

Sergey Alaev in Scala User Group
λoλdog
когда оно стабильно воспроизводится - это не баг многопоточности
это неправда.
источник

AS

Andrey Sugak in Scala User Group
λoλdog
когда оно стабильно воспроизводится - это не баг многопоточности
Бред.
источник

λ

λoλdog in Scala User Group
хотя да
источник

λ

λoλdog in Scala User Group
согласен
источник

SA

Sergey Alaev in Scala User Group
Сугак молодец кстати, идея оказалась намного менее интрузивна, чем сбт
источник

GP

Grigory Pomadchin in Scala User Group
Андрей очень хороший, жалко не очень активен больше
источник
2020 January 11

ЮБ

Юрий Бадальянц in Scala User Group
Недавно я спрашивал про тайп параметр в методах расширениях в дотти. В общем, как и ожидалось, это просто не сделано ещё: https://gitter.im/lampepfl/dotty?at=5e189b05821b826f5a9a3b15
источник

IL

Ivan Lopatin in Scala User Group
Как в тестах изолировать код, который работает с Doobie? Вот у меня есть такой сервис: https://github.com/johnspade/s10ns_bot/blob/master/src/main/scala/ru/johnspade/s10ns/bot/engine/DialogEngine.scala. Он зависит от Transactor[F] и UserRepository: https://github.com/johnspade/s10ns_bot/blob/master/src/main/scala/ru/johnspade/s10ns/user/UserRepository.scala Для репозитория написал in-memory имплементацию.

Что теперь делать с транзактором и методом transact? Предположим, Transactor можно замокировать. А что делать с transact, как подсунуть свою реализацию метода для тестов?
источник

VH

Vitalii Honta in Scala User Group
Ivan Lopatin
Как в тестах изолировать код, который работает с Doobie? Вот у меня есть такой сервис: https://github.com/johnspade/s10ns_bot/blob/master/src/main/scala/ru/johnspade/s10ns/bot/engine/DialogEngine.scala. Он зависит от Transactor[F] и UserRepository: https://github.com/johnspade/s10ns_bot/blob/master/src/main/scala/ru/johnspade/s10ns/user/UserRepository.scala Для репозитория написал in-memory имплементацию.

Что теперь делать с транзактором и методом transact? Предположим, Transactor можно замокировать. А что делать с transact, как подсунуть свою реализацию метода для тестов?
Выдели интерфейс, который просто F возвращает и не просит имплисит transactor
источник

VH

Vitalii Honta in Scala User Group
Его и замокирешь, там не надо будет transactor
источник

VH

Vitalii Honta in Scala User Group
Ну либо не парься и подними базу ))
источник

IL

Ivan Lopatin in Scala User Group
Vitalii Honta
Выдели интерфейс, который просто F возвращает и не просит имплисит transactor
Хмм, не очень понял. Предлагаешь в методах репозитория возвращать F[ConnectionIO[A]]?
источник

IL

Ivan Lopatin in Scala User Group
Vitalii Honta
Выдели интерфейс, который просто F возвращает и не просит имплисит transactor
Мне в любом случае надо вызывать transact в слое сервисов, чтобы управлять транзакциями
источник

ИО

Илья Оськин in Scala User Group
Можно абстрагировать ConnectionIO[A] и транзактор, тогда если эффект для операций с базой у тебя обозначен как например D[_], то транзактор можно абстрагировать как D[_] ~> F[_]
источник

ИО

Илья Оськин in Scala User Group
Только в UserRepo надо будет залифтить ConnectionIO в D[_]
источник

DO

Dmytro Orlov in Scala User Group
Ivan Lopatin
Как в тестах изолировать код, который работает с Doobie? Вот у меня есть такой сервис: https://github.com/johnspade/s10ns_bot/blob/master/src/main/scala/ru/johnspade/s10ns/bot/engine/DialogEngine.scala. Он зависит от Transactor[F] и UserRepository: https://github.com/johnspade/s10ns_bot/blob/master/src/main/scala/ru/johnspade/s10ns/user/UserRepository.scala Для репозитория написал in-memory имплементацию.

Что теперь делать с транзактором и методом transact? Предположим, Transactor можно замокировать. А что делать с transact, как подсунуть свою реализацию метода для тестов?
https://youtu.be/C0srg5T0E4o?t=4981 а пример от Кая изучен?
источник

IL

Ivan Lopatin in Scala User Group
не видел, гляну
источник

DO

Dmytro Orlov in Scala User Group
Ivan Lopatin
не видел, гляну
источник

IL

Ivan Lopatin in Scala User Group
Илья Оськин
Можно абстрагировать ConnectionIO[A] и транзактор, тогда если эффект для операций с базой у тебя обозначен как например D[_], то транзактор можно абстрагировать как D[_] ~> F[_]
~> - это что-то из котов? как называется?
источник

ИО

Илья Оськин in Scala User Group
Натуральная трансформация
источник