Size: a a a

Scala User Group

2020 November 29

λ

λoλdog in Scala User Group
Aλexander Semenov
Это ввод-вывод внутри определения классов модели, оно там не нужно. Не говоря уже о том, что это legacy api, и использовать его вообще не стоит (если это конечно не лаба).
InputStream легаси?
источник

В

Влад in Scala User Group
λoλcat
Fold это про BB-encoding структур данных
А что такое BB-encoding?
источник

G

Glin in Scala User Group
Aλexander Semenov
Это ввод-вывод внутри определения классов модели, оно там не нужно. Не говоря уже о том, что это legacy api, и использовать его вообще не стоит (если это конечно не лаба).
ну а как иначе это сделать, тогда?
источник

AS

Aλexander Semenov in Scala User Group
Glin
ну а как иначе это сделать, тогда?
а что именно нужно сделать?
источник

G

Glin in Scala User Group
ну, по сути это создание класса из данных с сети
источник

G

Glin in Scala User Group
можно конечно вынести вообще отдельно туда, где идёт работа с сетью, но в моем случае это не очень удобно
источник

AS

Aλexander Semenov in Scala User Group
Glin
ну, по сути это создание класса из данных с сети
взять что-то неблокирующее для работы с сетью
источник

G

Glin in Scala User Group
мне не страшно блокирование, у меня все идёт синхронно
источник

AS

Aλexander Semenov in Scala User Group
Glin
можно конечно вынести вообще отдельно туда, где идёт работа с сетью, но в моем случае это не очень удобно
тогда вынести, также можно описать недо-тайпкласс для этого и реализовать его для EntityType
источник

G

Glin in Scala User Group
не думаю, что это необходимо, но спасибо
источник

VS

Vladimir Sam in Scala User Group
Aλexander Semenov
см. также Either.fold
Катаморфизм
источник

λ

λoλcat in Scala User Group
Влад
А что такое BB-encoding?
источник

В

Влад in Scala User Group
Теоретично!
Спасибо
источник

MH

Maxfield Hicks in Scala User Group
error.seconds
источник

MT

Mikhail Tolstoy in Scala User Group
Добрый вечер еще раз, я уже пытался задать этот вопрос, но меня попросили кинуть пример с кодом, что и делаю.

Вот представим что у меня есть задача реализовать сервис
https://scastie.scala-lang.org/yUiZSPz2QhanFYduZtmEig (снипет на 40 строк всего)

Есть пользователи - пользователей можно активировать(опущено) деактивировать и давать им задачи
Деактивированному пользователю задачу давать нельзя

Запрос на деакциваю и на добавление задач приходит из вне абсолютно произвольно и из разных источников
Соответственно возможен кейс что пока пользователь деактивируется ему добавляют задачу
Юзеры лежат не в памяти изначально и всех их в память не вычитать

Вопрос - как бы правильно (фп стайл вот это все) сделать так чтобы для одного и того же пользователя обновления не нахлестывались?
Какие подходы есть? Или почитать где чего?
источник

λ

λoλegΥch in Scala User Group
вопрос больше по бд, погугли CRDT и CQRS
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Mikhail Tolstoy
Добрый вечер еще раз, я уже пытался задать этот вопрос, но меня попросили кинуть пример с кодом, что и делаю.

Вот представим что у меня есть задача реализовать сервис
https://scastie.scala-lang.org/yUiZSPz2QhanFYduZtmEig (снипет на 40 строк всего)

Есть пользователи - пользователей можно активировать(опущено) деактивировать и давать им задачи
Деактивированному пользователю задачу давать нельзя

Запрос на деакциваю и на добавление задач приходит из вне абсолютно произвольно и из разных источников
Соответственно возможен кейс что пока пользователь деактивируется ему добавляют задачу
Юзеры лежат не в памяти изначально и всех их в память не вычитать

Вопрос - как бы правильно (фп стайл вот это все) сделать так чтобы для одного и того же пользователя обновления не нахлестывались?
Какие подходы есть? Или почитать где чего?
у вас субд с транзакциями есть?
источник

MT

Mikhail Tolstoy in Scala User Group
Oleg ℕizhnik
у вас субд с транзакциями есть?
Для этого кейса нет.
источник

Oℕ

Oleg ℕizhnik in Scala User Group
если запросы под одному юзеру приходят гарантировано на одну ноду, эту задачу можно реализовать и на STM
источник

MT

Mikhail Tolstoy in Scala User Group
Oleg ℕizhnik
если запросы под одному юзеру приходят гарантировано на одну ноду, эту задачу можно реализовать и на STM
На одну.
источник