Size: a a a

Software Design/Architecture/Zen

2021 June 26

SP

Stanislav Popov in Software Design/Architecture/Zen
и дальше больше
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in Software Design/Architecture/Zen
Мы понимаем. Как это влияет на расчёт цен, которые пользователь должен оплатить или вернуть пользователю? Таких дробей там просто не будет (а в моей модели и дробей не нужно)
источник
2021 June 27

PD

Philipp Dolgolev in Software Design/Architecture/Zen
Может ошибаюсь, но кажется это звучит так: «Дорогой бизнес, мы взяли технологию, у которой из коробки чего-то там нету, а взять bigdecimal который работает поверх массивов/строк - забыли, поэтому тебе точность не нужна, и если что - выкидывай все и нанимай клятых джавистов/гошников/etc”. Не то, чтобы это плохо по моему опыту, ведь такие подходы генерируют в дальнейшем рабочие места и возможности мемов/ баек :)
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in Software Design/Architecture/Zen
Не "технологию", а модель. Это во-первых. Во-вторых, в модели нет вашего любимого “округления" (да, в реализации - но реализация не нарушает модель - опровергните?)
источник

PD

Philipp Dolgolev in Software Design/Architecture/Zen
Так даже если в округление не лазить, флоат еще как-то закостылять вприпципе можно для 7 значащих цифр, дабл - 15 вроде. А все что за пределами этого, неизбежно ведёт к ошибкам в расчетах.

Вот и получается, что если оборотка бизнеса укладывается в эти значения - то оно как бы странно, но работать может. А если нет, то это банальное натягивание совы на глобус, причём неуспешное и с ошибками.
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in Software Design/Architecture/Zen
Велком найти ошибки в модели. Если работать со флоатом без использования моих функций, то ссзб
источник

PD

Philipp Dolgolev in Software Design/Architecture/Zen
Как бы сказать, здесь фундаментальная дыра, и даже совсем ненужно тратить время на поиски конкретных контр-промеров, чтобы понять это. Это как с парсингом html-а регэкспами, кто-то рвётся в бой и думает что оно работает, а потом оказывается, что html физически не обрабатывается таким вычислителем :) А всего-то надо применить теорию формальных языков… (Тьюринг полнота отсюда же)
источник

SP

Stanislav Popov in Software Design/Architecture/Zen
вообще если правильно округлять то все будет красиво )
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in Software Design/Architecture/Zen
И теза Чёрча. А мы о чём вообще? Модель корректна?
источник

PD

Philipp Dolgolev in Software Design/Architecture/Zen
В рамках определенного количества значащих цифр - может быть корректной, и не стрелять проблемами :) И кажется это речь про 15 значащих цифр, точно не больше. Там скорее можно дать гарантии на проблемы.
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in Software Design/Architecture/Zen
Я не видел цен на сайтах, где 15 знаков нужны в ценах)
источник

PD

Philipp Dolgolev in Software Design/Architecture/Zen
Сложная история, это как с часовыми поясами, мало кто видел, что сдвиг может быть не кратен часу, даже не кратен получасу, а он есть!)
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in Software Design/Architecture/Zen
Тут важно отметить, что работа со временем имеет отдельную модель. Я её не пытался реализовать. Советую прочитать https://zachholman.com/talk/utc-is-enough-for-everyone-right
Особенно про изменённую дату в одной стране)))
Тут вопрос о другом совсем
источник

PD

Philipp Dolgolev in Software Design/Architecture/Zen
Изначально речь именно о том, что есть фундаментальные ограничения при работе с плавающей точкой, а помимо ограничений - неизбежные костыли и хаки, в которых тоже можно накосячить. И вот именно эта совокупность вызывает соответствующую реакцию, как минимум у тех, кто ежедневно крутится около финансов :)
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Так успокойтесь.
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in Software Design/Architecture/Zen
О, боже, опять не читаете модель - там нет ничего про флоаты, акститесь! (Опять дрочат на реализацию)
источник

SP

Sergey Protko in Software Design/Architecture/Zen
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Можно ж вот на эту тему потрындеть например
источник

k

knopkod4v in Software Design/Architecture/Zen
а мне вот интересно, кто как решает вопрос с клиент-сайд роутингом (кажется это так называется) ивентов
ну то есть лучшее, к чему я пришёл - это писать if-ы в обработчике событий
Например есть какая-то штука, к которой привязан пользователь, у штуки есть статусы, у пользователя есть роли
Происходит событие - статус поменялся, а дальше есть правила, например
1. Обрабатывать события только о переходах в какой-то определённый статус штуки (тут можно в каких-то ситуациях делать ивенты разных типов, но не уверен, что оно всегда стоит того)
2. Обрабатывать только если к штуке привязан пользователь с определённой ролью

Ну к примеру это элементарные оповещения на имейл могут быть. Типа если штука перешла в статус такой-то, то оповещаем пользователя привязанного к этой штуке с этими вот ролями
источник

AK

Aleh Kashnikau in Software Design/Architecture/Zen
И 3 знака это тоже оверкил ага
источник