Size: a a a

Scala User Group

2020 January 30

SA

Sergey Alaev in Scala User Group
это мой экспериментальный DI)
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Когда наступит деаллокация ресурса тут?
источник

SA

Sergey Alaev in Scala User Group
когда деаллоцируется контекст, он ресурс
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Но задача же раньше деаллоцировать
источник

SA

Sergey Alaev in Scala User Group
ммм... мне не был нужен этот кейс, мне все-таки для иницализации приложения монада нужна
но если надо, получается что-то вроде
trait Context[F[_]] {
 def get[K[_], A](key: K[A], load: Resource[F, LoadedValue[K, A]]): F[Resource[F, A]]
}
источник

SA

Sergey Alaev in Scala User Group
еще я думал разделить рабочий эффект (Resource) и эффект мемоизации (F). выглядит правильно, но это еще одно удвоение сложности
источник

AD

Apache DOG™ in Scala User Group
так товарищи, какой православный способ ускорять котиковский таймер в  n раз?
источник

SA

Sergey Alaev in Scala User Group
Apache DOG™
так товарищи, какой православный способ ускорять котиковский таймер в  n раз?
если в приложении не нужен Concurrent, то просто мочишь таймер на свою реализацию.
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Sergey Alaev
если в приложении не нужен Concurrent, то просто мочишь таймер на свою реализацию.
Если нужен - так же
источник

AD

Apache DOG™ in Scala User Group
спасибо
источник

SA

Sergey Alaev in Scala User Group
если нужен, там будут вилы и будет нужна твоя монадка для эмуляции файберов
источник

Oℕ

Oleg ℕizhnik in Scala User Group
пожалуйста
источник

AD

Apache DOG™ in Scala User Group
эх, в акке свой таймер с эвент драйвеном пилися проще
источник

DM

Daniel Matveev in Scala User Group
Alex Sh
Нарушается принцип Dependency Injetion
Зависимости не должны создаются там где используются.
Но вообще я изначально так и хотел сделать 🙂
Я думал это о том, что любой джава проект обязан иметь в коде DI фреймворк
источник

SA

Sergey Alaev in Scala User Group
в коде на фьючах вообще нет никаких проблем эмулировать конкарренси в тестах
источник

SA

Sergey Alaev in Scala User Group
это с IO всё сложно.
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Я чот не понимаю, в чём усложнение
источник

SA

Sergey Alaev in Scala User Group
мы же обсуждали, помнишь?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Нет
источник

SA

Sergey Alaev in Scala User Group
разница в том, что в коде на фьючах можно замокать все нужные примитивы для конкарренси (это delay, schedule и currentTime) и потом снаружи, из теста дирижировать собранными синхронными чанками кода. а-ля myFutureMock.executeUntilEmulatedTime(....)
источник