@scala_ru

Страница 1449 из 1499
Alexander
04.05.2018
15:37:04
в целом всё не настролько ужасно, чтобы тащить линзы и т.п.

сколько раз хотел заюзать что-то монокле-подобное - оказывалось это чистое ЧСВ и руками проще :)

Mikhail
04.05.2018
15:37:29
и даже если спецификация консорциума микросервисов предполагает наличие каких-то общепринятых моделей которые гоняются внутри апи, то как гордый и независимый микросервис с собственным хранилищем - далеко не факт, что мне будет очень удобно использовать эти общие модели)

Google
Юрий
04.05.2018
15:44:12
Если делать сериализацию трейта, то как макросу отличить поля от методов? Ведь даже если сейчас у трейта только поля, не факт, что в будущем так будет. И в зависимости от конкретной реализации макроса в жсон может попасть мусор

Замени трейт на abstract class. Тут уже намного проще все будет - методы отдельно, поля отдельно

Там может и женерик сам подтянется, но я не уверен

Mikhail
04.05.2018
15:47:14
Замени трейт на abstract class. Тут уже намного проще все будет - методы отдельно, поля отдельно
это никак не поможет. и тема генерик к кейсу Александра никак не относится - у него все с самого начала было понятно, что это просто ответственность тимлида-человека-который-принимает-пр, чтобы там не влезало что-то не то. а вот как генерик - этот вопрос без дополнительных маркеров не решается

Юрий
04.05.2018
15:50:21
это никак не поможет. и тема генерик к кейсу Александра никак не относится - у него все с самого начала было понятно, что это просто ответственность тимлида-человека-который-принимает-пр, чтобы там не влезало что-то не то. а вот как генерик - этот вопрос без дополнительных маркеров не решается
Почему не относится. Нужно сделать сериализацию трейта. Причём с допущением, что все члены трейта - это сериплизуемые поля. Но такое допущение довольно хрупкое, из-за особенностей трейтов в скале. Если будет abstract class вместо трейта - то тут можно будет явно выделить поля и методы, и макрос не развалится в будущем.

Mikhail
04.05.2018
15:52:39
Почему не относится. Нужно сделать сериализацию трейта. Причём с допущением, что все члены трейта - это сериплизуемые поля. Но такое допущение довольно хрупкое, из-за особенностей трейтов в скале. Если будет abstract class вместо трейта - то тут можно будет явно выделить поля и методы, и макрос не развалится в будущем.
не относится это потому, что в кейсе Александра - он сам король. По какому принципу решит включать в выхлоп - так и будет, ему для этого ничье одобрение не потребуется особо и вся ответственность будет целиком лежать на тех, кто имеет право коммита без всякой помощи(явной или не явной) со стороны этого самого макроса. а про trait -> abstract class - расскажи в примерах, что вот тут трейт сосет, а абстракт - красавчик, чтобы я мог контраргументировать в конкретных местах чтоли)

Юрий
04.05.2018
15:53:48
Я с телефона, так что не расскажу в примерах. Схема с ручным контролем очень хрупкая.

С абстрактным классом можно написать макрос, который будет сериализовать только поля контруктора

Это не так сложно, и может шейплес так умеет

Mikhail
04.05.2018
15:58:57
С абстрактным классом можно написать макрос, который будет сериализовать только поля контруктора
ну так это уже другой контекст - это уже не фильтрация боди класса и гадание на кофейной гуще кто есть кто, а явный перечень аргументов праймари конструктора. (ну и не стоит забывать, что его уже не примесить никуда - придется наследовать)

Юрий
04.05.2018
16:02:05
Aleksey
04.05.2018
17:16:41
давайте без "упырей".

Google
Daniel
04.05.2018
17:17:32
Ого, мощно!

Aleksey
04.05.2018
17:19:45
пост бунина по теме. https://www.facebook.com/oleg.bunin/posts/2003812779660403 общаются с РКН, пытаются выработать какие-то механизмы, как я понимаю.

Nikolay
04.05.2018
17:23:55
@fomkin с таким в понв

Vadim
04.05.2018
17:49:08
у меня тоже есть небольшой пост на эту тему

wget https://repo.scala-sbt.org/ --2018-05-04 20:42:16-- https://repo.scala-sbt.org/ Resolving repo.scala-sbt.org (repo.scala-sbt.org)... 34.236.44.1, 34.203.50.117 Connecting to repo.scala-sbt.org (repo.scala-sbt.org)|34.236.44.1|:443... connected. Unable to establish SSL connection.

Dim
05.05.2018
04:36:42
Чем можно считать из csv файла числа и нарисовать в файлик график?

Evgeniy
05.05.2018
04:52:47
@dimstream можно этим попробовать https://github.com/vegas-viz/Vegas или https://github.com/alexarchambault/plotly-scala

Dim
05.05.2018
04:53:05
https://github.com/sameersingh/scalaplot

Тоже прикольно, может в ASCII графику (и png, pdf, svg)

может быть удобно для предпросмотра сразу в консоли (в моем случае в тестах)

Александр
05.05.2018
10:31:06
Лайты книгу про аккуратно выпустили

https://www.lightbend.com/blog/how-akka-works-akka-a-to-z-illustrated-white-paper

Nikita
05.05.2018
11:33:41
очередной маркетинговый булшит

где книга How Akka Doesn't Work

особенно касательно мониторига и кластера

KrivdaAllStars
05.05.2018
11:37:32
А ты лайтбенд купи плез

Nikita
05.05.2018
11:38:50
все эти книги больше похожи на рекламные буклеты

KrivdaAllStars
05.05.2018
11:39:23
Ну да , так всегда было

Google
KrivdaAllStars
05.05.2018
11:39:38
Но они идею общую показывают красиво и наглядно

Alexander
05.05.2018
12:46:19
эта, скалисты, у меня есть очинь глупый вопрос, как нормально округлять деньги? и вообще как нормально округлять BigDecimal чтобы это было как в рашн школе? val money = BigMoney.of(currencyUnit, new BigDecimal(amount).setScale(2, BigDecimal.ROUND_HALF_UP)) делает из 0.805 = 0.80 это несерьезно

все умерли?

Alexey
05.05.2018
12:48:43
.setScale(3)

Alexander
05.05.2018
12:49:55
я уже глянул! мать их за ногу всех, https://en.wikipedia.org/wiki/Rounding

и у них там по-моему grade school, универститет, и финансы разные округления

и вопрос, как все-таки правильно округлять эти чертовы деньги?

λoλcat
05.05.2018
12:54:10
это же обертка над жабьим BigDecimal. правила округления из jdk

если свои деньги считаешь - округляй вверх. если чужие - вниз.

Alexander
05.05.2018
12:57:24
ну сирьезна жи

Alexander
05.05.2018
12:57:44
чо вы как дети, как округлять бабос?

λoλcat
05.05.2018
12:58:31
тебе об этом должен сказать FA

или BA какой-нибудь.

везде свои правила

если нет никаких конкретных требований, то округляй как хочешь

Alexander
05.05.2018
12:59:57
но мне сказали: ва франтенде инвоис выглядит нитак как на печати

и я хочу докопаться до истины

ну копейки отличаются в общм

Google
Alexander
05.05.2018
13:02:22
а стековерфлоу говорит When calculating annual taxes, the fractions are often cut off (RoundingMode.FLOOR). When calculating a bonus, you might want to always round in favor of the customer (RoundingMode.CEILING). For taxes on a bill, you usually round HALF_UP When doing complex financial simulations, you don't want to round at all.

Nick
05.05.2018
13:03:32
В js на фронте тож могут через анус округлять

Admin
ERROR: S client not available

Nick
05.05.2018
13:04:40
https://github.com/hhandoko/http4s-graal

Nikolay
05.05.2018
13:05:29
и как?

Mikhail
05.05.2018
13:25:06
но мне сказали: ва франтенде инвоис выглядит нитак как на печати
истина в том, что у вас прослойка между сиденьем и рулем косячит. в бдэшечке все важные цифры должны храниться уже округленные и округляться должны в одном единственном месте перед проведением транзакций и т.д. . тогда потом не будет расхождений при печати и в остальных местах где это имеет значение и где просто должна отображаться сумма как есть с заданной точностью, которая используется в хранении. а там где точность не важна, не имеет фактической и юридической ценности и хочется отображать с разной длиной хвоста - там без разницы, если они слегка отличаются.

λoλcat
05.05.2018
13:36:46
http://degoes.net/articles/effects-without-transformers

KrivdaAllStars
05.05.2018
13:40:55
Victor
05.05.2018
13:46:32
http://degoes.net/articles/effects-without-transformers
Backport of the IO Monad to scalaz 7.2 - https://github.com/scalaz/ioeffect

λoλcat
05.05.2018
13:47:48
Backport of the IO Monad to scalaz 7.2 - https://github.com/scalaz/ioeffect
Лука уже для котов то же самое написал

Victor
05.05.2018
13:51:06
Лука уже для котов то же самое написал
разве Лука? Я думал Спивак сначала воплотил эту идею в cats-effects

OlegYch
05.05.2018
13:55:00
cats-effect это старый ио

Victor
05.05.2018
13:55:33
понятно

λoλcat
05.05.2018
13:59:26
и по своим бенчмаркам он рвет дегуза

правда статья дегуза не о бифункторе как таковом, а о том, что трансформеры в скале дают большой оверхед, о чем он постоянно твердит в тви, подкастах и докладах. показывает, как надо в таглес файнал стиле писать

Victor
05.05.2018
14:21:35
Интересная серия статей Романа Чепляки о проблемах MTL и его подходе к решению этих проблем (Haskell) https://ro-che.info/articles/extensible-effects

Alexander
05.05.2018
14:22:35
но зато я теперь сколько много всего знаю об округлениях! ?

Google
Wystan
05.05.2018
14:56:45
Потому что ошибки все равно будут. Например, если посчитать vatPercentage для нескольких инвойсов и потом vatPercentage для всей входящей суммы. Обычно, финансистам более-менее пофиг, поэтому можно применять то же округление, что они у себя для double accounting используют (например quickbooks)

Юрий
05.05.2018
15:50:45
Правила округления описаны в законах и в общем случае для разных стран могут отличаться

Там тема не такая простая

Luger
05.05.2018
15:53:37
Правила округления описаны в законах и в общем случае для разных стран могут отличаться
Плюсую. В некоторых занятных случаях разные правила для разных ведомств , видов доков , разные способы разбираться с погрешностью( если о гос учреждениях говорить, типа таможни).

Nikolay
05.05.2018
22:17:11
https://github.com/oleg-py/better-monadic-for

кто-нибудь впиливал в проект?

приятно что можно делать (a,b) <- either в for-е

относительно свежий проект кстати

Dim
06.05.2018
04:36:11
Человеки, как лучше спроектировать и что юзать? Есть система и в ней есть (будет) куча препроцессоров данных. Надо сделать так, чтобы их было легко добавлять/убирать из обработчика/комбинировать.

Вспоминаются пайпы из древнего java.io

Но думаю есть же выход лучше?

Страница 1449 из 1499