Size: a a a

Scala User Group

2020 May 25

K

Kai in Scala User Group
Новый релиз Изуми с мощными улучшениями качества жизни для юзеров distage-testkit & distage-framework-docker. Советую обновляться асап
https://github.com/7mind/izumi/releases/tag/v0.10.9
источник

NP

Nikita Pedorich in Scala User Group
Привет! А подскажите какой оберткой для Typesafe Config сейчас модно пользоваться? Я пользовался https://github.com/iheartradio/ficus/ , сейчас вижу есть и https://github.com/circe/circe-config/ , но почему-то лайков там мало как-то.
Или не пользуются обертками а напрямую getInt?
Или другая конфиг либа вообще?
источник

М

Михаил in Scala User Group
Nikita Pedorich
Привет! А подскажите какой оберткой для Typesafe Config сейчас модно пользоваться? Я пользовался https://github.com/iheartradio/ficus/ , сейчас вижу есть и https://github.com/circe/circe-config/ , но почему-то лайков там мало как-то.
Или не пользуются обертками а напрямую getInt?
Или другая конфиг либа вообще?
источник

S

Samehadar in Scala User Group
Nikita Pedorich
Привет! А подскажите какой оберткой для Typesafe Config сейчас модно пользоваться? Я пользовался https://github.com/iheartradio/ficus/ , сейчас вижу есть и https://github.com/circe/circe-config/ , но почему-то лайков там мало как-то.
Или не пользуются обертками а напрямую getInt?
Или другая конфиг либа вообще?
Да, бери пюр конфиг
источник

NP

Nikita Pedorich in Scala User Group
Спасибо!
источник

D

Dima Kubitskiy in Scala User Group
Nikita Pedorich
Привет! А подскажите какой оберткой для Typesafe Config сейчас модно пользоваться? Я пользовался https://github.com/iheartradio/ficus/ , сейчас вижу есть и https://github.com/circe/circe-config/ , но почему-то лайков там мало как-то.
Или не пользуются обертками а напрямую getInt?
Или другая конфиг либа вообще?
>не пользуются обертками а напрямую getInt
источник

P

Python in Scala User Group
Наверное тыщу раз обсуждали, но всё же. Какой вариант лучше и почему?

Первый:
sealed trait Behavior
object Behavior {
 case object Append extends Behavior
 case object Remove extends Behavior
}
trait Service[F[_]] {
 def decide: F[Behavior]
}

Второй:
trait Behavior[F[_]] {
 def append: F[Unit]
 def remove: F[Unit]
}
trait Service[F[_]] {
 def decide: F[Unit]
}
class SomeServiceImpl[F[_]: Behavior] extends Service { ... }
источник

ΛВ

Λнтон Войцишевский... in Scala User Group
во втором варианте что-то не так
источник

ΛВ

Λнтон Войцишевский... in Scala User Group
decide: F[Behavior[?]]
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Python
Наверное тыщу раз обсуждали, но всё же. Какой вариант лучше и почему?

Первый:
sealed trait Behavior
object Behavior {
 case object Append extends Behavior
 case object Remove extends Behavior
}
trait Service[F[_]] {
 def decide: F[Behavior]
}

Второй:
trait Behavior[F[_]] {
 def append: F[Unit]
 def remove: F[Unit]
}
trait Service[F[_]] {
 def decide: F[Unit]
}
class SomeServiceImpl[F[_]: Behavior] extends Service { ... }
Ну я бы не сказал, что одно строго преобладает над другим
источник

P

Python in Scala User Group
Исправил
источник

λƒ

λesha ƒomkin in Scala User Group
Python
Наверное тыщу раз обсуждали, но всё же. Какой вариант лучше и почему?

Первый:
sealed trait Behavior
object Behavior {
 case object Append extends Behavior
 case object Remove extends Behavior
}
trait Service[F[_]] {
 def decide: F[Behavior]
}

Второй:
trait Behavior[F[_]] {
 def append: F[Unit]
 def remove: F[Unit]
}
trait Service[F[_]] {
 def decide: F[Unit]
}
class SomeServiceImpl[F[_]: Behavior] extends Service { ... }
варианты неравнозначны. первый подразумевает только декларацию поведения, а второй и самое поведение тоже. я бы предпочел первый потому что, предствим что в моем случае, я ничего не делаю после выбора поведения, а просто сохраняю его в БД.
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Если нужно матчить по бехейвиору - строго первый вариант
источник

P

Python in Scala User Group
λesha ƒomkin
варианты неравнозначны. первый подразумевает только декларацию поведения, а второй и самое поведение тоже. я бы предпочел первый потому что, предствим что в моем случае, я ничего не делаю после выбора поведения, а просто сохраняю его в БД.
Исправил, там F[Unit], а не F[Behavior]
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Если нужно выразить язык, состоящий из набора действий, среди которых эти два - возможно луше второй
источник

ΛВ

Λнтон Войцишевский... in Scala User Group
Во втором ведь еще не привязаны совсем к Behavior, у Service может быть реализация вообще без него
источник

Oℕ

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

Oℕ

Oleg ℕizhnik in Scala User Group
Т.е. нужны примеры использования
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Может быть, ни то, ни другое
источник

ЮБ

Юрий Бадальянц... in Scala User Group
Скаланы, кто-то пробовал для новых коллекций писать расширения? Я чёт почитал доку и нифига не могу сделать. Вот мои жалкие попытки:
https://scastie.scala-lang.org/LMnet/MTERrvNsRTuQdnfqX6BULg/2
источник