Size: a a a

Clojure — русскоговорящее сообщество

2020 March 13

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
Tim Plotnikov
Конечно эти цифры можно в базу положить, но сейчас мне это нафиг не нужно)
ну то есть у тебя бизнеслогика вполне ложится на простые типы -
это здорово, когда так.
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
но вот это прямо не часто бывает :)
источник

TP

Tim Plotnikov in Clojure — русскоговорящее сообщество
Ну да, я же не говорил что хочу спекой обмазаться с головы до ног и все правила в нее пихать) Просто для некоторых вещей она довольно удобна)
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
элементарно, проверка на непересечения расписания сразу не ляжет.
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
Tim Plotnikov
Ну да, я же не говорил что хочу спекой обмазаться с головы до ног и все правила в нее пихать) Просто для некоторых вещей она довольно удобна)
спору нет.
источник

TP

Tim Plotnikov in Clojure — русскоговорящее сообщество
Так, короче я понял что валидировать данные придётся иногда в нескольких местах пайплайна
источник

TP

Tim Plotnikov in Clojure — русскоговорящее сообщество
Другой вопрос: если кто-то пользовался clojure.core.match, как композировать вызовы функции match?
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
и именно потому, что проверки условий бывают очень разные по смыслу и содержанию
источник

TP

Tim Plotnikov in Clojure — русскоговорящее сообщество
Tim Plotnikov
Другой вопрос: если кто-то пользовался clojure.core.match, как композировать вызовы функции match?
Есть какой-нибудь flatmap для них или можно как-нибудь поднаписать?)
источник

AI

Andrey Ivanov in Clojure — русскоговорящее сообщество
у тебя и так они валидируются во многих местах, ТСР контрольные суммы пакетов вроде проверяет. Про графкуэль валидацию уже писал выше (если он есть конечно).
источник

TP

Tim Plotnikov in Clojure — русскоговорящее сообщество
сразу покажу зачем это надо:
(match (validate data)
 [:ok validated-data] (match (use validated-data)
                        [:ok result] (ok result)
                        [:error msg] (bad-request msg))
 [:error msg] (bad-request msg))
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
Валидировать удобно в мидлвари или декораторе, словом, как можно раньше
источник

MB

Mike Bohdan in Clojure — русскоговорящее сообщество
Стоит помнить, что ошибки при валидации спекой очень далеки от понимания обычным человеком и если стоит задача, чтоб пользователь понимал, что его данные не подходят и почему они не подходят – валидация спекой в мидлваре не лучший выбор. С другой стороны для этой задачи можно дополнительно держать ещё и malli, которая относительно нормально умеет справляться с подобной задачей, но все же хуже чем ошибки из хендлера.
источник

v

vveare138 in Clojure — русскоговорящее сообщество
да можно же свой маппинг ошибок для спеки запилить
источник

MB

Mike Bohdan in Clojure — русскоговорящее сообщество
И он будет нормально работать, когда тебе надо пояснить что какое-то значение во вложенности н не валидно? У меня всегда выкидывает простыню текста которую достаточно нетривиально парсить.
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Tim Plotnikov
сразу покажу зачем это надо:
(match (validate data)
 [:ok validated-data] (match (use validated-data)
                        [:ok result] (ok result)
                        [:error msg] (bad-request msg))
 [:error msg] (bad-request msg))
ну то есть тебе вот это надо?
https://github.com/adambard/failjure
источник

Д

Диёр in Clojure — русскоговорящее сообщество
Mike Bohdan
И он будет нормально работать, когда тебе надо пояснить что какое-то значение во вложенности н не валидно? У меня всегда выкидывает простыню текста которую достаточно нетривиально парсить.
ну что там происходит примерно понятно, но юзеру это отправлять ни в коем случае нельзя, да
источник

MB

Mike Bohdan in Clojure — русскоговорящее сообщество
ну это тоже не про то
источник

MB

Mike Bohdan in Clojure — русскоговорящее сообщество
это вообще про ошибки, а не про спеки
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
я про композицию проверок
источник