Size: a a a

Scala User Group

2020 August 14

IP

Ilya Petrov in Scala User Group
Oleg ℕizhnik
Берёте значение своего типа данных, описывающего таску, и если не подходит - сразу завершаете
Просто там идея более хитрая: я хотел бы чтобы  все решения относительно выброски и выполнения принимались не конкурентно, потому что две таски могут касаться одной и той же "сущности" и не хотелось бы чтобы они там конкурентно бодались. В общем с моими припонами лучше это всё на семафорах делать.Спасибо за ссылки они тоже полезны, так как я не знал про такие структуры
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Ilya Petrov
Просто там идея более хитрая: я хотел бы чтобы  все решения относительно выброски и выполнения принимались не конкурентно, потому что две таски могут касаться одной и той же "сущности" и не хотелось бы чтобы они там конкурентно бодались. В общем с моими припонами лучше это всё на семафорах делать.Спасибо за ссылки они тоже полезны, так как я не знал про такие структуры
Ну слелайте обычный траверс сначала, отфильруйте лишние
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Или возьмите действительно fs2
источник

AD

Apache DOG™ in Scala User Group
Aleksei Shashev
да, на акторах это легко строится :)
Легче чем флатмап?
источник

SK

Sergey Klimov in Scala User Group
Ilya Petrov
Просто там идея более хитрая: я хотел бы чтобы  все решения относительно выброски и выполнения принимались не конкурентно, потому что две таски могут касаться одной и той же "сущности" и не хотелось бы чтобы они там конкурентно бодались. В общем с моими припонами лучше это всё на семафорах делать.Спасибо за ссылки они тоже полезны, так как я не знал про такие структуры
Посмотрите ещё MVar из котов. Делал что-то похожее,один файбер туда кладет задачу, а n штук оттуда берут. Автоматом получаете backpressure, put блокируется, если все заняты, а get, если нет задач
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Oleg ℕizhnik
Или возьмите действительно fs2
сделайте evalFilter(...).parEvalMap(k)(...)
источник

D

Denis in Scala User Group
Apache DOG™
Легче чем флатмап?
Мне вот на первых порах было легче акторы понять, чем флатмапы
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Denis
Мне вот на первых порах было легче акторы понять, чем флатмапы
Ну у Ильи, кажется, нет проблем с флатмапами.  У него просто на каждое предложенное решение готовое находится уточнение
источник

IP

Ilya Petrov in Scala User Group
Всем спасибо огромное за отклик
источник

IP

Ilya Petrov in Scala User Group
Oleg ℕizhnik
Ну у Ильи, кажется, нет проблем с флатмапами.  У него просто на каждое предложенное решение готовое находится уточнение
Да, извиняюсь, что не всё изначально точно написал
источник

AS

Aleksei Shashev in Scala User Group
Apache DOG™
Легче чем флатмап?
ну учитывая, все то, что было расписано - да, легче, так как просто флатмапом не обойтись. :)
источник

AD

Apache DOG™ in Scala User Group
Aleksei Shashev
ну учитывая, все то, что было расписано - да, легче, так как просто флатмапом не обойтись. :)
актеры никогда не легче, если есть что-то другое.
источник

AS

Aleksei Shashev in Scala User Group
Apache DOG™
актеры никогда не легче, если есть что-то другое.
ну не легче, так не легче :)
источник
2020 August 15

ZM

ZLoyer Matveev in Scala User Group
‼️Самое важное в Scala User Group

🔹 Вышел новый Scala Love с Адамом Варски https://scala.love/softwaremilling-around-oss/
🔹 приходите слушать Олега Шелаева про граалвм в новом подкасте от @fundamentalparticle и @oli_kitty https://programming.love/how-to-fall-in-love-with-graalvm/
источник

Y

Yevhen in Scala User Group
источник

Y

Yevhen in Scala User Group
BasicOriginal тоже pure
источник

SK

Sergey Klimov in Scala User Group
Во втором варианте вы теперь вместо F можете поставить любой тип, для которого есть Monad, можете даже свой тип придумать и реализовать для него. А какое различие вы хотели увидеть в написанном?
источник

ΛВ

Λнтон Войцишевский... in Scala User Group
Для тестов например. Какой-нибудь тестовый репозиторий может опшны возвращать, а вот не тестовый уже ИО или фьючу.
Или зио, или моникс.таск
источник

SA

Sergey Alaev in Scala User Group
Sergey Klimov
Во втором варианте вы теперь вместо F можете поставить любой тип, для которого есть Monad, можете даже свой тип придумать и реализовать для него. А какое различие вы хотели увидеть в написанном?
Основное преимущество - абстракция. У фьючи или любой другой монады очень богатый интерфейс. Ограничивая себя F[_], проще читать код, т.к. эффекты ограничены тайпклассами.
Далее - множественные реализации, как уже упомянули
Третье - повторное использование. Код на тайпклассах можно затянуть в совершенно другой проект с совершенно другим подходом, взяв другие реализации тайпклассов.
источник

Y

Yevhen in Scala User Group
не могу понять как TF подменяет ADT патерн матчинг
источник