Size: a a a

Scala User Group

2020 May 21

K

Kai in Scala User Group
На самом деле F[-_, +_, +_] это сложна, пока ни разу не пригодился
источник

K

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

Oℕ

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

IP

Ilya Petrov in Scala User Group
Oleg ℕizhnik
ну очевидно ,что 1-я
Просто тогда если следовать паттернам зио, то у сервиса будут поля с типами вида Blocking.Service. Это типо норм?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Ilya Petrov
Просто тогда если следовать паттернам зио, то у сервиса будут поля с типами вида Blocking.Service. Это типо норм?
да
источник

Oℕ

Oleg ℕizhnik in Scala User Group
иначе ваша сигнатура раскрывает информацию, что в реализации будет использоваться блокирование
источник

Oℕ

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

Oℕ

Oleg ℕizhnik in Scala User Group
всё лучше, чем cats.effect.Blocker, это просто ахтунг (это не относится к обсуждению, если что)
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Я вообще не понимаю пилквиста, как можно написать конструкцию вроде Blocker, а потом этими же руками в твитер писать политику
источник

IP

Ilya Petrov in Scala User Group
Oleg ℕizhnik
иначе ваша сигнатура раскрывает информацию, что в реализации будет использоваться блокирование
Ну да по сути в doobie также - внутри транзактора сидит блокинг контекст и в итоге апи для получения данных со стороны выглядит как не использующее блокировку
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Ilya Petrov
Ну да по сути в doobie также - внутри транзактора сидит блокинг контекст и в итоге апи для получения данных со стороны выглядит как не использующее блокировку
Ну и это довольно важно, потому что зачастую тот блокирующй контекст, что вы хотите скормить дуби - это совсем не тот же блокирующий контекст, что вы потом в приложении будете использовать.
Поэтому вы можете для ждбц что-то специализированное выделить на этапе компоновки лэйера, чтобы потом не беспокоиться об этом во время каждого вызова
источник

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
к несчастью
источник

Oℕ

Oleg ℕizhnik in Scala User Group
со всеми параметрами вынесенными в конфиг, который можно при деплойменте поменять
источник

IP

Ilya Petrov in Scala User Group
Т. Е отдельный для ждбц, отдельный для фс. Я думал что они там все анбаунд и тип без ограничения общности два анбаундных эквивалентны одному андбаундному
источник

IP

Ilya Petrov in Scala User Group
Просто наверное мой прокол в том что для ждбц он не анбаундный?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Ilya Petrov
Просто наверное мой прокол в том что для ждбц он не анбаундный?
да
источник

XX

X X in Scala User Group
Oleg ℕizhnik
т.е. в качестве R в таких операциях предполагается использовать не Has, который смешается с основным, а просто какое-то данные на одноразовый provide?
А если использовать без Has, просто какие-то данные? Ну вот примерно так же как tofu.Env. Вполне же нормально тогда в R ложатся всякие contextId, correlationId и т.п.?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
X X
А если использовать без Has, просто какие-то данные? Ну вот примерно так же как tofu.Env. Вполне же нормально тогда в R ложатся всякие contextId, correlationId и т.п.?
Вот их логично в Has
источник