Size: a a a

Scala User Group

2020 March 23

SB

S B in Scala User Group
Oleg ℕizhnik
Так что это правильно, что ассемблерные инструкции - одна из разновидностей сложной бизнес-логики
зачем тогда префикс "бизнес"? я могу с помощью ассемблерных инструкций реализовать логику Булеву, основные операторы, например. так, что, из твоих слов получается, что Булева логика есть разновидность бизнес-логики? wtf
источник

AT

Aλeksei Tereχin in Scala User Group
главный поставщик туалетки
источник

NV

Nikita Vilunov in Scala User Group
Ayrat Hudaygulov
а если надо отскейлить на тысячи, оказывается проще всем раздать спринг и набор практик
На спринге и наборе практик точно так же можно накосячить, как и на ТФ, который тоже является набором практик
источник

AH

Ayrat Hudaygulov in Scala User Group
Aλeksei Tereχin
главный поставщик туалетки
зато стоки растут!11
источник

AT

Aλeksei Tereχin in Scala User Group
и учите передовую скала тусовку как правильно что делать
источник

AT

Aλeksei Tereχin in Scala User Group
источник

NV

Nikita Vilunov in Scala User Group
Какой-то мифический скейлинг за счёт кучи разрабов на одном проекте
источник

Y

Yevhen in Scala User Group
а поч TF разрастаеться до такой жпы?
def genFeed[F[_]: Monad:
 Logging: UserDatabase:
 ProfileDatabase: RedisCache:
 GeoIPService: AuthService:
 SessionManager: Localization:
 Config: EventQueue: Concurrent:
 Async: MetricsManager]: F[Feed] = ???
источник

AT

Aλeksei Tereχin in Scala User Group
Yevhen
а поч TF разрастаеться до такой жпы?
def genFeed[F[_]: Monad:
 Logging: UserDatabase:
 ProfileDatabase: RedisCache:
 GeoIPService: AuthService:
 SessionManager: Localization:
 Config: EventQueue: Concurrent:
 Async: MetricsManager]: F[Feed] = ???
ого и монад и дь в одну линию. хз. может потому что вы не используете абстракции из тофу?
источник

NV

Nikita Vilunov in Scala User Group
Yevhen
а поч TF разрастаеться до такой жпы?
def genFeed[F[_]: Monad:
 Logging: UserDatabase:
 ProfileDatabase: RedisCache:
 GeoIPService: AuthService:
 SessionManager: Localization:
 Config: EventQueue: Concurrent:
 Async: MetricsManager]: F[Feed] = ???
Потому что это не TF?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Yevhen
а поч TF разрастаеться до такой жпы?
def genFeed[F[_]: Monad:
 Logging: UserDatabase:
 ProfileDatabase: RedisCache:
 GeoIPService: AuthService:
 SessionManager: Localization:
 Config: EventQueue: Concurrent:
 Async: MetricsManager]: F[Feed] = ???
Автор редко рефакторит, и плохо задизайнил набор взаимозависимостей языков
источник

λ

λoλzod in Scala User Group
Ayrat Hudaygulov
а если надо отскейлить на тысячи, оказывается проще всем раздать спринг и набор практик
это смотря что делать
лучше не смешивать построение сложной системы и регулирование высоты стола для рабочего закручивающего гайку
это я не про фп вс ооп, а про скейлинг
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Yevhen
а поч TF разрастаеться до такой жпы?
def genFeed[F[_]: Monad:
 Logging: UserDatabase:
 ProfileDatabase: RedisCache:
 GeoIPService: AuthService:
 SessionManager: Localization:
 Config: EventQueue: Concurrent:
 Async: MetricsManager]: F[Feed] = ???
Очевидно, что если ты строишь выражение, в котором используется 50 фич из разных частей программы - это плохо.
ТФ в данном случае блестяще вытащил эту проблему на поверхность.
В случае традиционного подхода, у тебя бы оставалась куча функций, которые зависят от половины твоего приложения и как раз не позволяют его эффективно рефакторить, либо добавлять фичи, т.к. добавление возможно только после очень тяжёлого рефакторинга
источник

Oℕ

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

Oℕ

Oleg ℕizhnik in Scala User Group
К слову не только ТФ
источник

λ

λoλzod in Scala User Group
это вроде совсем не проблема именно ТФ, аналогично конструктору с 20ю аргументами
источник

Oℕ

Oleg ℕizhnik in Scala User Group
ЗИО, где R - это тип на 5 строчек, или спринг, где конструктор на два экрана - это другие лица той же проблемы
источник

Oℕ

Oleg ℕizhnik in Scala User Group
любой вообще модульный подход
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Yevhen
а поч TF разрастаеться до такой жпы?
def genFeed[F[_]: Monad:
 Logging: UserDatabase:
 ProfileDatabase: RedisCache:
 GeoIPService: AuthService:
 SessionManager: Localization:
 Config: EventQueue: Concurrent:
 Async: MetricsManager]: F[Feed] = ???
мало того, нужно посмотреть, что будет, если убрать Async, скорее всего список будет ещё длинеее, и это причина, почему нужно убирать Async
источник

Y

Yevhen in Scala User Group
но заворачивать все депенденси в имплиситы както очень ограничивает
источник