Описание тега zio
ZIO - это библиотека Scala с нулевой зависимостью для асинхронного и параллельного программирования с функциями, аналогичными Cats IO или Monix.
1
ответ
Как мне сделать Scalaz ZIO ленивым?
У меня есть тяжелая побочная функция (например, вызов базы данных), которую я хочу использовать как ленивое значение, так что она вызывается только при первом использовании (и совсем не вызывается, если никогда не использовалась). Как мне сделать эт…
19 дек '18 в 12:32
1
ответ
Как правильно отправить ответ JSON в http4s?
Не так давно я перешел с akka-http на http4s. Одна из основных вещей, которую я хотел сделать правильно - обработка JSON, в частности отправка ответа JSON. Я решил использовать http4s с ZIO вместо кошек, поэтому вот как выглядит http-маршрут: import…
23 май '19 в 10:22
0
ответов
Как получить идентификатор текущего выполняющегося волокна ZIO из кода побочных эффектов
Я знаю, что могу узнать идентификатор текущего выполняющегося волокна, позвонив ZIO.descriptor.map(_.id) Однако то, что я хочу, - это нечистая функция, которую я могу вызвать из кода с побочными эффектами, давайте определим ее как def getCurrentFibe…
28 июл '19 в 16:37
1
ответ
Создание двух актеров, выполняющих базовое общение в пинг-понге, с помощью ZIO Actors
Я новичок в Актерах и пытаюсь выполнить простой пример пинг-понга, используя иерархию типов и экземпляр с отслеживанием состояния. Я в точности следил за актерами zio [микросайт][1] с небольшими обновлениями программного кода. Мой файл конфигурации …
21 июл '20 в 15:08
1
ответ
Почему putStrLn из zio не выводил
Почему putStrLn в flatMap, за которым следует оператор результата, не эффективно записывается в stdout? object Mgr extends App { def main1(args: Array[String]) = getStrLn.flatMap { s => putStrLn(s) // Why this did not write to console? UIO.succee…
05 апр '20 в 09:24
0
ответов
Преобразователь монад для всех монад в Arrow
Я начинающий пользователь Kotlin, и многое другое, в частности Arrow. Все выглядит очень хорошо, но я не могу найтиMonad transformer которые позволяют мне создавать композицию между разными типами монад, например ZIO из Scalaz позвольте мне, использ…
26 авг '20 в 02:45
1
ответ
Как мне сделать 10 HTTP-запросов одновременно?
У меня 10 запросов val reqTemplate = quickRequest.post(uri"http://localhost:8280/delay/1") val requests = for {i <- 1 to 10} yield { reqTemplate.body(s"{test:$i}") } Как отправить эти запросы одновременно? Я старался val respo…
02 апр '20 в 07:43
2
ответа
Назначение паттерна, в котором объект расширяет одноименный признак - объект Live extends Live
Я пытаюсь Zio. Я не понимаю, почему Live добавляется как Trait, а затем object предоставляется, например: object Live extends Live Этот узор встречается в разных местах, например zio.console.Console. Есть ли причина или есть случаи, когда в этом ест…
18 сен '19 в 18:03
1
ответ
Возможно ли в Scala иметь функции / методы внутри пакета {}?
В настоящее время я слежу за статьей мисс Вием Зайн (особенно о ZIO): Сделайте свою программу тестируемой. но я не мог пройти package console { def println(line: String): ZIO[Console, Nothing, Unit] = ZIO.accessM(_.console println line) val readLine…
20 сен '19 в 09:27
1
ответ
Запуск сервера http4s с ZIO Env
Пытаясь научиться пользоваться библиотекой ZIO, я решил создать базовое приложение веб-службы. Идея довольно простая, используйте http4s lib для конечных точек сервера и маршрута, выведите "hello world" при вызове конечной точки. С помощью документо…
24 окт '19 в 22:45
2
ответа
Начальная задержка для ZIO ZSchedule
График, который я пытаюсь составить, должен: Начать после указанной задержки Повторяйте с фиксированной скоростью Завершить, если он достигнет заданного срока или встретит состояние завершения Итак, у меня есть (2.) и (3.): val repeatUntilTimeLimitR…
23 окт '19 в 09:56
1
ответ
Тип данных Scala ZIO Stream
Если нет возможности узнать размер ZIO Stream, у меня есть два потока, и я хотел найти внутренний продукт между ними, моя проблема в том, как я могу найти размер, чтобы перебрать их. Я решил проблему с помощью map и foldMap, но я хотел проверить про…
05 ноя '19 в 11:31
1
ответ
Почему разветвленная подзадача не выполняется не в основном потоке?
Я новичок в zio, поэтому могу что-то пропустить. зависимость zio: группа компиляции: 'dev.zio', имя: 'zio_2.12', версия: '1.0.0-RC16' У меня есть простой образец: import zio._ object Sample2 { def main(args: Array[String]): Unit = { val runtime = ne…
13 ноя '19 в 15:17
1
ответ
Простой пример ZIO Schedule
Я хочу поиграть с ZIO Schedule and Retry и не могу найти готовых примеров. Что насчет этого кода (Мастерская в IDEA): import zio._ import zio.duration._ import zio.console._ val r = scala.util.Random def funcReadFromDb(inp :Int): Task[Seq[Int]]= { v…
22 ноя '19 в 08:01
1
ответ
ZIO, Обеспечьте среду из Эффекта
Начиная с ZIO, я пытаюсь преобразовать существующее приложение в чисто функциональное. Это приложение зависит от клиента Http и Frp. Оба они настраиваются из файла конфигурации и дополнительных аргументов командной строки. Текущий поток анализирует …
03 дек '19 в 11:21
2
ответа
ЗИО: Как присоединиться к Fibers для процессов, которые работают вечно
У меня есть следующая программа ZIO с двумя процессами, которые работают вечно: for { .. numberProvider <- numberProvider(queue).fork // runs forever numberService <- numberService(queue) // runs forever .. } yield () Приведенный выше код рабо…
02 дек '19 в 22:04
0
ответов
ZIO, Освободите ресурсы после выполнения
Я играю с ZIO и создал простое приложение, которое получает контент через HTTP: for { options <- Options.parse(args) http = HttpClient(args) content <- Download.execute(args.resource).provide(http) } yield () Он выполняет свою работу, но клиен…
03 дек '19 в 20:08
2
ответа
Как утверждать одно поле в типе ошибки?
Предположим, у меня есть такой код: final case class CustomException(errorCode: Int, id: UUID) extends Throwable val logic: ZIO[Any, Throwable, Unit] = ??? Я хочу использовать ZIO Test для проверки конкретного случая ошибки val checkForTimeout = tes…
30 дек '19 в 21:11
1
ответ
Как принудительно запустить тесты ZIO последовательно
Я хочу последовательно запустить два интеграционных теста. Как этого можно достичь в ZIO Test? Вот люкс: suite("Undeploy a Package")( testM("There is a Package") { PackageDeployer.deploy(pckg) *> // first deploy assertM(PackageUndeployer.undeploy…
08 янв '20 в 12:53
1
ответ
Объедините список ZIO ZStreams в один
Мой старый код поддерживал использование одной очереди SQS с SqsStream. Мне нужно обновить его для поддержки нескольких очередей с учетом списка URL-адресов очереди. Содержание метода: for { sqs <- Sqs.>.async // async client urls <- Sqs.&g…
11 фев '20 в 01:05