Size: a a a

Scala User Group

2020 February 03

SA

Sergey Alaev in Scala User Group
Oleg ℕizhnik
А как выглядит декларация?
в jsr?
@MaxLength(100)
@Pattern("[a-z0-9]+")
clientId: String
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Sergey Alaev
в jsr?
@MaxLength(100)
@Pattern("[a-z0-9]+")
clientId: String
Это мы действительно делаем с помощью кодеков и рефайнда
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Вот ограничения на длину и патерны и в сваггере это отображается
источник

Oℕ

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

Oℕ

Oleg ℕizhnik in Scala User Group
Но могли бы, если бы хотели
источник

SA

Sergey Alaev in Scala User Group
т.е. вы генерите сваггер по рефайнду? какой-то макрос? вы его выкладывали?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Sergey Alaev
т.е. вы генерите сваггер по рефайнду? какой-то макрос? вы его выкладывали?
Зачем макрос
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Просто кодеки
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Обычные имплиситы
источник

SA

Sergey Alaev in Scala User Group
кодеки - они же для парсинга только? а ты упомянул сваггер
источник

Oℕ

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

Oℕ

Oleg ℕizhnik in Scala User Group
Sergey Alaev
т.е. вы генерите сваггер по рефайнду? какой-то макрос? вы его выкладывали?
Ааа сваггер
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Сваггер тоже имплиситами
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Надо выложить
источник

SA

Sergey Alaev in Scala User Group
типа есть деривация сваггера по кейс классам на макросах, а макрос использует имплиситы для извлечение информации из рефайнеда?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Sergey Alaev
типа есть деривация сваггера по кейс классам на макросах, а макрос использует имплиситы для извлечение информации из рефайнеда?
Да, магнолия в случае рефайнда и не рефайнда ищет имплисит для каждого поля.
Для рефайндов она находит имплисит, где в типе есть ограничения
источник

SA

Sergey Alaev in Scala User Group
да, я что-то такое и хочу.
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Странно, действительно, что не затащили это в основную репу
источник

R

Renarde in Scala User Group
всем привет, есть вопросик по правильной архитектуре сервиса / подходящему фреймворку

задача такая - нужно время от времени вычитывать из базы список айдишников, а потом с этим списком айдишников ходить в несколько разных систем (HTTP/JDBC) и делать там определенные stateless действия, которые могут быть распараллелены между этими системами.
Условный псевдокод приблизительно какой-то такой:

val ids: List[String] = IndexService.get()
system1.process(ids)
system2.process(ids)
system3.process(ids)

Хочется чтобы systemX.process было параллельно( видимо через Futures?) и легко можно было отслеживать статус каждого процесса (скажем, репортить на API).
Я думаю в сторону Akka, или что-то получше подойдет?
источник

NM

Nikita Melkozerov in Scala User Group
Renarde
всем привет, есть вопросик по правильной архитектуре сервиса / подходящему фреймворку

задача такая - нужно время от времени вычитывать из базы список айдишников, а потом с этим списком айдишников ходить в несколько разных систем (HTTP/JDBC) и делать там определенные stateless действия, которые могут быть распараллелены между этими системами.
Условный псевдокод приблизительно какой-то такой:

val ids: List[String] = IndexService.get()
system1.process(ids)
system2.process(ids)
system3.process(ids)

Хочется чтобы systemX.process было параллельно( видимо через Futures?) и легко можно было отслеживать статус каждого процесса (скажем, репортить на API).
Я думаю в сторону Akka, или что-то получше подойдет?
Можно решить проблему стандартным фьючами, без акки
источник