Size: a a a

2021 June 01

АА

Александр Арбузов... in ctodailychat
А как у тебя моделька забиндилась, если номер пришел строкой?
источник

AP

Alexander Panko in ctodailychat
контроллер распарил json, понятно что я могу нафигачить на этом этапе что условный телефон парсился из json в мой тип, но это частный случай. А в общем кажется гораздо проще иметь валидатор дергающийся на уровне сервиса.
источник

Y

Yaroslav in ctodailychat
сложная история, часто находят уязвимости во всяких десериализациях из строки в ваш тип и потом с безопасностью больно 🙂 по этому би керфул
источник

A

Alex in ctodailychat
везде где можно - перейти к статической типизации (т.е. сервис должен получать жестко классы EmailAddress, Uri, PhoneNumber, int, bool)... а если гдето надо оставить loose typing и просто строки - тогда пусть валидирует конечно... Щас посмотрю как у нас сделано)) а то я тут умничаю, а окажется, что сами лажаем))
источник

АА

Александр Арбузов... in ctodailychat
у нас fluentvalidation, с ним неплохо.
источник

АА

Александр Арбузов... in ctodailychat
смотри, с точки зрения разделения того что делает сервис там будет происходить:
1. базовая валидация
2. валидация бизнес логики.
выглядит, что это уже две разные вещи за что отвечает сервис
источник

AP

Alexander Panko in ctodailychat
и я о том же, плюс делать из гошки скалу или хаскель не наш путь)
источник

AP

Alexander Panko in ctodailychat
ну мы договорились выше обсуждая вопрос КАК валидировать, что это внешнее по отношению к сервису, на уровне модели или выделенных валидаторов, теперь обсуждаем ГДЕ, то есть чья ответственность их вызвать, я попрожнему считаю что сервис из той логики что это просто железобетонный вариант, потому что путей много по которым на вход сервиса может что то прилетать, разные транспортные контроллеры, командная строка, очереди, другие сервисы и мало ли чего ещё.
источник

АА

Александр Арбузов... in ctodailychat
тут соглашусь при условии что точек вхождения много.
это действительно так?
источник

АА

Александр Арбузов... in ctodailychat
изначально то мы обсуждали чат и апишку
источник

AP

Alexander Panko in ctodailychat
ну это был просто пример чтоб предметно поговорить) мои сервисы про другое, и как минимум 2 точки у меня всегда есть
источник

A

Alex in ctodailychat
вопрос слишком общий и ответ сильно зависит от видимости и публичности сервиса
источник

N

Nikita in ctodailychat
источник

N

Nikita in ctodailychat
«Hadoop без оплаты лицензии» — я что-то не знаю?
источник

A

Alex in ctodailychat
в общем случае, если сервис доступен только внутри одного процесса (cpu-процесса) то валидации формата в нем не место кмк. Только бизнес-логика ("юзер с таким емейлом уже есть")
источник

A

Alex in ctodailychat
я может чегото недопонимаю, но для формальной валидации придуманы статические типы + управление видимостью с помощью интерфейсов/классов, dependency injection и тд... голый json внутри бека ходить не должен)
источник

СА

Сергей Аксёнов... in ctodailychat
Это как оливковое масло без холестерина.
источник

AP

Alexander Panko in ctodailychat
вот эту мысль не очень понял, а что меняется если он отскейлен и доступны несколько копий?
источник

M

Mike in ctodailychat
источник
2021 June 02

AR

Anton Revyako in ctodailychat
Ровно 16 лет назад...  Ларри Маквой, глава Bitkeeper, резанул правду-матку. Если ты хочешь зарабатывать на опенсорсе - надо выпускать в паблик не отличный продукт, а наоборот. 💩 Иначе не заработаешь на поддержке, ведь если все само сразу работает, зачем платить? Да еще добавил, что опенсорс горазд чужие продукты копировать реверс-инжинирингом, а как придумать сделать да продвинуть оригинальное - так у него лапки.

От этот статьи долго-долго у всех бомбило. 🍑🤯  🧱 Но по существу так никто ему ничего возразить и не смог. Поэтому про это событие стараются не вспоминать.

https://www.forbes.com/2005/05/26/cz_dl_0526linux.html
источник