Size: a a a

Software Design/Architecture/Zen

2021 January 14

SP

Sergey Protko in Software Design/Architecture/Zen
ну то есть, ты должен задаться вопросом "а что плохого если у человека имя 4 килобайта"?
источник

SF

Segmentation Fault in Software Design/Architecture/Zen
Human Human
Такой вопрос. Вы делаете валдиацию данных на беке, которая нужна чисто для ограничения размера? Типа макс. длина описания или email и тд. Или полагаетесь на констрейнты в базе?
Да. Чуть ли не на каждом слое.
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Segmentation Fault
Да. Чуть ли не на каждом слое.
и зачем? потому что у тебя в базе какой-нибудь varchar(255)?
источник

SP

Sergey Protko in Software Design/Architecture/Zen
ну то есть, вот приходит тебе чел с самым длинным именем в мире (~1000 символов). Ты его не пустишь?
источник

SF

Segmentation Fault in Software Design/Architecture/Zen
Sergey Protko
ну то есть, вот приходит тебе чел с самым длинным именем в мире (~1000 символов). Ты его не пустишь?
Не я не пущу, а бизнес не пустит. Пример с именем неудачный
источник

HH

Human Human in Software Design/Architecture/Zen
Sergey Protko
ну то есть, ты должен задаться вопросом "а что плохого если у человека имя 4 килобайта"?
Хз, вроде в моем кейсе неплохо. Но ограничив тело запроса - я ограничиваю даже те места, где нужно послать и 50мб типа.
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Segmentation Fault
Не я не пущу, а бизнес не пустит. Пример с именем неудачный
интересно какой это бизнес такие вещи продумывает. Продакт бывший QA?
источник

SF

Segmentation Fault in Software Design/Architecture/Zen
Sergey Protko
и зачем? потому что у тебя в базе какой-нибудь varchar(255)?
Потому что часто бывает так, что на разных стендах разные хранилища и полагаться что в каком из них установлено вменяемое ограничение крайне сомнительно
источник

SF

Segmentation Fault in Software Design/Architecture/Zen
Sergey Protko
интересно какой это бизнес такие вещи продумывает. Продакт бывший QA?
Финансы
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Segmentation Fault
Финансы
и какое отношение длинные имена имеют в этом домене? на какие бизнес ограниченя это влияет?
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Segmentation Fault
Потому что часто бывает так, что на разных стендах разные хранилища и полагаться что в каком из них установлено вменяемое ограничение крайне сомнительно
а у тебя схему базы люди руками на разных стэндах собирают раз такие сомнения есть?
источник

SF

Segmentation Fault in Software Design/Architecture/Zen
Sergey Protko
и какое отношение длинные имена имеют в этом домене? на какие бизнес ограниченя это влияет?
Я же сказал что пример стиснем неудачный
источник

HH

Human Human in Software Design/Architecture/Zen
Вопрос к тому, что у меня уже есть varchar(255) в базе.
+ валидация на фронте.
Почему бы мне просто не обрабатывать ошибки констрейнта базы в случае если кто-то пользуется API без фронта.
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in Software Design/Architecture/Zen
Sergey Protko
интересно какой это бизнес такие вещи продумывает. Продакт бывший QA?
CRM, которые такого пользователя не пропустят
источник

SF

Segmentation Fault in Software Design/Architecture/Zen
Human Human
Вопрос к тому, что у меня уже есть varchar(255) в базе.
+ валидация на фронте.
Почему бы мне просто не обрабатывать ошибки констрейнта базы в случае если кто-то пользуется API без фронта.
+ на фронте

Это не плюс
источник

SF

Segmentation Fault in Software Design/Architecture/Zen
Sergey Protko
а у тебя схему базы люди руками на разных стэндах собирают раз такие сомнения есть?
Нет
источник

DT

Dmitriy Tkachenko in Software Design/Architecture/Zen
Human Human
Вопрос к тому, что у меня уже есть varchar(255) в базе.
+ валидация на фронте.
Почему бы мне просто не обрабатывать ошибки констрейнта базы в случае если кто-то пользуется API без фронта.
Fail fast
источник

HH

Human Human in Software Design/Architecture/Zen
Это про производительность?
источник

DT

Dmitriy Tkachenko in Software Design/Architecture/Zen
Human Human
Это про производительность?
Это про то, что не нужно делать бессмысленных действий, в данном случае ходить в базу, если данные поломаны
источник

HH

Human Human in Software Design/Architecture/Zen
Dmitriy Tkachenko
Это про то, что не нужно делать бессмысленных действий, в данном случае ходить в базу, если данные поломаны
Бессмысленное действие или нет - сильно зависит от контекста.
В моем случае это 3 раза описывать констрейнт в разных местах
источник