Size: a a a

Scala User Group

2021 August 10

KS

Kirill Shelopugin in Scala User Group
А в чем была изначально цель использования, какую проблему решал?
источник

DS

Danieλ Sλapman in Scala User Group
а покажи модуль для CE3, я мож для ЗИО состряпаю тож
год назад (когда 1.0.0-M1 релизнули) я за 10 минут изучения исходников не осилил, может сейчас осилю
источник

Oℕ

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

DS

Danieλ Sλapman in Scala User Group
Цель была писать примерно такой код https://github.com/danslapman/conts-talk/blob/master/sinkt.sc
источник

DS

Danieλ Sλapman in Scala User Group
Спасибо
источник

DS

Danieλ Sλapman in Scala User Group
Если совсем просто, то цель - сделать на коленке просто pull-based асинхронный стрим без всяких fs2, akka-streams и прочих тяжёлых библиотек
источник

K

Koala in Scala User Group
Подскажите есть ли возможность написать парсер лог файла что бы потом это сохранялось в монго?
источник

DS

Danieλ Sλapman in Scala User Group
Возможность есть: 1. парсишь лог файл, 2. сохраняешь в монго
источник

K

Koala in Scala User Group
Да ладно а есть какие то библиотеки
источник

K

Koala in Scala User Group
А то я с кинезисом уже пролетела
источник

DS

Danieλ Sλapman in Scala User Group
Для парсинга:
- atto
- fastparse
- cats-parse
- scala-parser-combinators на худой конец
Для работы с монгой можно взять стандартный драйвер:
https://docs.mongodb.com/drivers/scala/
источник

AS

Aleksei Shashev in Scala User Group
Может стоит ещё посмотреть в сторону записи логов прямо в монгу? Например, что-то такое https://github.com/litixsoft/log4js-node-mongodb Наверняка ещё есть какие решения.
источник

AS

Aleksei Shashev in Scala User Group
Упс, это для JS. Прошу прощения. Но думаю и для log4s есть аппендеры.
источник

AS

Aleksei Shashev in Scala User Group
Да, вот аппендер для log4j https://github.com/log4mongo/log4mongo-java
источник

SA

Sergey Alaev in Scala User Group
1. Вот так:
    suspend fun <A> race(a: suspend () -> A, b: suspend () -> A): A = coroutineScope {
       val da = async { a() }
       val db = async { b() }

       select {
           da.onAwait {
               db.cancel("race")
               it
           }
           db.onAwait {
               da.cancel("race")
               it
           }
       }
   }

2, 3 - в стандартной библиотеке нет, но Сергей скинул интересную реализацию на корутинах - https://arrow-kt.io/docs/apidocs/arrow-fx-coroutines/arrow.fx.coroutines/-resource/
источник

EK

Evgenii Kuznetcov in Scala User Group
Окей, это отвечает на вопрос "как с этим можно жить", но пока не убедило забросить все остальное
источник

SA

Sergey Alaev in Scala User Group
И не должно убедить. Я вот не уверен, что котлин лучше скалы для асинхронного кода. И в обратном тоже не уверен. Нужно просто сесть и попробовать что-нибудь написать. И потом поделиться ощущениями.
источник

λ

λoλcat in Scala User Group
Котлин постарее конечно будет
источник
2021 August 11

(

( in Scala User Group
А арроу катэ кто-нибудь использует?
источник

GP

Grigory Pomadchin in Scala User Group
Ток апаче ерроу используют
источник