|
|
|
Ссылочная целостность. Проверка данных до записи или обработка ошибок после?
|
|||
|---|---|---|---|
|
#18+
skyANAА чтобы нам, уважаемые, ещё не поразмышлять на тему того, что данные о пользователе в современном мире могут быть фрагментированы (sharding), то есть разложены по разным серверам. Есть ещё и совершенно другие механизмы работы с данными, кроме как работать с одним единственным инстансом SQL в режиме CRUD, и не видеть дальше носа :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 14:41 |
|
||
|
Ссылочная целостность. Проверка данных до записи или обработка ошибок после?
|
|||
|---|---|---|---|
|
#18+
ViPRoshVosttпропущено... на момент проверки, гарантирует. "момент проверки" никого не волнует, важен окончательный результат правильно понял, в твоём случае не выполнима задача обеспечить гарантии с момента проверки до совершения транзакции и без исключений из БД, ничего не поделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 14:42 |
|
||
|
Ссылочная целостность. Проверка данных до записи или обработка ошибок после?
|
|||
|---|---|---|---|
|
#18+
я пришел к выводу (наблюдая за "вебописателями"), что разделение разработки на "фронтенд" и" бакенд" - приводит к размыванию ответственности (и как последствие - ошибкам) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 14:42 |
|
||
|
Ссылочная целостность. Проверка данных до записи или обработка ошибок после?
|
|||
|---|---|---|---|
|
#18+
ViPRosя пришел к выводу (наблюдая за "вебописателями"), что разделение разработки на "фронтенд" и" бакенд" - приводит к размыванию ответственности (и как последствие - ошибкам) это примерно как сделать выводы о полётах в космос по чёрно-белым фотографиям из газеты. когда попробуешь, тогды и поговорим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 14:43 |
|
||
|
Ссылочная целостность. Проверка данных до записи или обработка ошибок после?
|
|||
|---|---|---|---|
|
#18+
hVostt, и так как в вебе пользователей дофига и они никаких прав на наезд не имеют, то эти ошибки просто игнорируются ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 14:47 |
|
||
|
Ссылочная целостность. Проверка данных до записи или обработка ошибок после?
|
|||
|---|---|---|---|
|
#18+
skyANAТы мне дай сайт, я тебе запишу. Ну или смотри https://signup.live.com Регаю существующий email. Вижу что уходит XmlHttpRequest на https://signup.live.com/API/CheckAvailableSigninNames. В ответ прилетает JSON с ошибкой показывается сообщение этот адрес бла-бла-бла, введите другой. Регаю test123@test.te . Вижу что уходит XmlHttpRequest на https://signup.live.com/API/CheckAvailableSigninNames. В ответ прилетает JSON с isAvailable: true , жму далее и продолжаю регистрацию. В инкогнито открываю второй браузер и регаю опять test123@test.te . В ответ прилетает всё тот же JSON c isAvailable: true . Делаю вывод, что никто ничего ни в какие таблицы не писал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 14:49 |
|
||
|
Ссылочная целостность. Проверка данных до записи или обработка ошибок после?
|
|||
|---|---|---|---|
|
#18+
ViPRoshVostt, и так как в вебе пользователей дофига и они никаких прав на наезд не имеют, то эти ошибки просто игнорируются В вебе всё честно, ты можешь до посинения игнорить ошибки, просто не получишь денег, так как пользователи предпочтут альтернативу, это тебе не новый софт прикупить и заказать интеграцию за хулиарды, от которой больше вреда, чем пользы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 14:49 |
|
||
|
Ссылочная целостность. Проверка данных до записи или обработка ошибок после?
|
|||
|---|---|---|---|
|
#18+
ViPRos, Сейчас решения принимаются довольно быстро. Если прямо сейчас нельзя что-нибудь потыкать и посмотреть как это работает, оно нафиг не нужно. Это реально потеря времени и денег, с кем-то переписывать, ждать когда тебе пришлют невнятные PDF-ки, выслушивать как всё будет офигенно и шоколадно, но ничего непонятно, ловить каких-то людей, опять контактировать. И до сих пор ничего не увидеть и ни в чём не убедиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 14:53 |
|
||
|
Ссылочная целостность. Проверка данных до записи или обработка ошибок после?
|
|||
|---|---|---|---|
|
#18+
stenfordskyANAТы мне дай сайт, я тебе запишу. бери sql.ru На sql.ru даже F12 жмакать не надо. Итак видно, что ничего в БД не писалось а существование логина проверили. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 14:54 |
|
||
|
Ссылочная целостность. Проверка данных до записи или обработка ошибок после?
|
|||
|---|---|---|---|
|
#18+
stenfordmikronНе писайте на стены храма. Это вызывает гнев. Да и занятие бесполезное. тут не храм, а элементарное невежество, в совокупности с отсутствием опыта работы с реальными нагруженными системами Как самокритично ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 14:56 |
|
||
|
Ссылочная целостность. Проверка данных до записи или обработка ошибок после?
|
|||
|---|---|---|---|
|
#18+
ViPRosя пришел к выводу (наблюдая за "вебописателями"), что разделение разработки на "фронтенд" и" бакенд" - приводит к размыванию ответственности (и как последствие - ошибкам) Ты это о чём? И "фронтенд" и" бакенд" должен писать один человек? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 14:58 |
|
||
|
Ссылочная целостность. Проверка данных до записи или обработка ошибок после?
|
|||
|---|---|---|---|
|
#18+
skyANAskyANAТы мне дай сайт, я тебе запишу. Ну или смотри https://signup.live.com Регаю существующий email. Вижу что уходит XmlHttpRequest на https://signup.live.com/API/CheckAvailableSigninNames. В ответ прилетает JSON с ошибкой показывается сообщение этот адрес бла-бла-бла, введите другой. Регаю test123@test.te . Вижу что уходит XmlHttpRequest на https://signup.live.com/API/CheckAvailableSigninNames. В ответ прилетает JSON с isAvailable: true , жму далее и продолжаю регистрацию. В инкогнито открываю второй браузер и регаю опять test123@test.te . В ответ прилетает всё тот же JSON c isAvailable: true . Делаю вывод, что никто ничего ни в какие таблицы не писал. в обоих приведеных случаях это проверка для пользовательского интерфейса, я об этом в самом первом ответе тебе написал, майкрософтовкий аккаунт в случае нахождения аккаунта сразу предлагает залогиниться и не морочить им голову, это не имеет отношения к обсуждаемому вопросу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 14:59 |
|
||
|
Ссылочная целостность. Проверка данных до записи или обработка ошибок после?
|
|||
|---|---|---|---|
|
#18+
ViPRosя пришел к выводу (наблюдая за "вебописателями"), что разделение разработки на "фронтенд" и" бакенд" - приводит к размыванию ответственности (и как последствие - ошибкам) ты-б видел ЧТО умудряются написать фронтэндщики когда им поручают что-то из бэкэнда, это даже код ревью не лечится... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 15:01 |
|
||
|
Ссылочная целостность. Проверка данных до записи или обработка ошибок после?
|
|||
|---|---|---|---|
|
#18+
stenfordskyANAпропущено... Ну или смотри https://signup.live.com Регаю существующий email. Вижу что уходит XmlHttpRequest на https://signup.live.com/API/CheckAvailableSigninNames. В ответ прилетает JSON с ошибкой показывается сообщение этот адрес бла-бла-бла, введите другой. Регаю test123@test.te . Вижу что уходит XmlHttpRequest на https://signup.live.com/API/CheckAvailableSigninNames. В ответ прилетает JSON с isAvailable: true , жму далее и продолжаю регистрацию. В инкогнито открываю второй браузер и регаю опять test123@test.te . В ответ прилетает всё тот же JSON c isAvailable: true . Делаю вывод, что никто ничего ни в какие таблицы не писал. в обоих приведеных случаях это проверка для пользовательского интерфейса, я об этом в самом первом ответе тебе написал, майкрософтовкий аккаунт в случае нахождения аккаунта сразу предлагает залогиниться и не морочить им голову, это не имеет отношения к обсуждаемому вопросу. В первом ответе мне ты написал: "любой аттрибут, на который навешано условие уникальности/ссылочной целостности должен проверяться на уровне БД". Я с этим и не спорю: 21332221 Я с этим не согласен: stenfordAndryGПишу код уровня "доступа к даным", При повторном прогоне кода создания юзера вылезла ожидаемая ошибка уникальности логина. Тут и появилась мысль использовать это для уменьшения кода валидаторов - не делать некоторые и вылавливать для этого ошибки БД. все верно, проверка уникальности/ссылочной целостности и должны производится только на уровне БД т.к. на клиенте такие проверки бессмысленны и вредны Не надо ТСа подталкивать выпиливать валидаторы, что проверяют существование логина до записи в БД. Их использование - это вполне себе хорошая и полезная практика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 15:07 |
|
||
|
Ссылочная целостность. Проверка данных до записи или обработка ошибок после?
|
|||
|---|---|---|---|
|
#18+
skyANAа Вы сами-то как проверяете уникальность логина, домена, ника, почты при регистрации? До записи, или пишете в базу и обрабатываете ошибки? По ситуации. Скажу по секрету - я тоже иногда ленюсь :) Но когда не ленюсь, делаю в начале транзакции на сохранение запрос на уникальное поле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 15:08 |
|
||
|
Ссылочная целостность. Проверка данных до записи или обработка ошибок после?
|
|||
|---|---|---|---|
|
#18+
schiИ все-таки непонятно, с чем связано желание проверять уникальность до записи в базу данных С требованиями заказчика. А вы как думали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 15:09 |
|
||
|
Ссылочная целостность. Проверка данных до записи или обработка ошибок после?
|
|||
|---|---|---|---|
|
#18+
hVosttalex55555Ну и ошибки по констрейнтам из базы вам всем как раз об этой теме и призваны напоминать. Ну тогда и не проблема все ошибки и эксепшены показывать пользователю. Ты не понял смысл. А вообще - весь смысл в том, что считать проблемой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 15:10 |
|
||
|
Ссылочная целостность. Проверка данных до записи или обработка ошибок после?
|
|||
|---|---|---|---|
|
#18+
hVosttВ вебе всё честно, ты можешь до посинения игнорить ошибки, просто не получишь денег, так как пользователи предпочтут альтернативу В вебе мало таких областей, где альтернатива действительно "one click away". В основном же там юзеры с ошибками мирятся. Хотя до некоторого порога массовость ошибок, конечно же, пытаются снижать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 15:12 |
|
||
|
Ссылочная целостность. Проверка данных до записи или обработка ошибок после?
|
|||
|---|---|---|---|
|
#18+
schiИ все-таки непонятно, с чем связано желание проверять уникальность до записи в базу данных Как Вам такое: исключение - это сбой в системе. На восстановление после сбоя системе требуется некоторое время и не факт, что удастся вернуться в корректное состояние. Так давайте уменьшим вероятность сбоя кошерной валидацией! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 15:16 |
|
||
|
Ссылочная целостность. Проверка данных до записи или обработка ошибок после?
|
|||
|---|---|---|---|
|
#18+
Вот понаписали то)) На гупый вопрос от ТС). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 15:16 |
|
||
|
Ссылочная целостность. Проверка данных до записи или обработка ошибок после?
|
|||
|---|---|---|---|
|
#18+
skyANAВ первом ответе мне ты написал: "любой аттрибут, на который навешано условие уникальности/ссылочной целостности должен проверяться на уровне БД". цитируй до конца: stenfordв случае если надо подсветить уже заюзаный логин/домейн еще до нажатия на кнопку ОК никто не мешает "заморочится" с проверкой, только это не имеет никакого отношения к обсуждаемому вопросу skyANAНе надо ТСа подталкивать выпиливать валидаторы, что проверяют существование логина до записи в БД. Их использование - это вполне себе хорошая и полезная практика. нет, использование таких валидаторов непосредственно перед сохранением бессмысленно и вредно т.к. неопытные разработчики выполнив такую проверку считают что сделали все что нужно и умывают руки. Это не считая дополнительных бессмысленных запросов к базе, засорение интерфейса идиотскими методами CheckUniqueMobileNumber() и самого метода сохранения бессмысленным кодом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 15:19 |
|
||
|
Ссылочная целостность. Проверка данных до записи или обработка ошибок после?
|
|||
|---|---|---|---|
|
#18+
stenfordт.к. неопытные разработчики Код ты привел хороший и верный. Только не будь максималистом. Мы тут про опытных разработчиков говорим. И доп валидация требование ТЗ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 15:26 |
|
||
|
Ссылочная целостность. Проверка данных до записи или обработка ошибок после?
|
|||
|---|---|---|---|
|
#18+
Petro123Код ты привел хороший и верный. Только не будь максималистом. Мы тут про опытных разработчиков говорим. И доп валидация требование ТЗ. ТЗ не может декларировать метод разруливания конфликтов сохранения, все что оно может содержать - требования к интерфейсу по примеру майкрософта обсужденного выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 15:33 |
|
||
|
Ссылочная целостность. Проверка данных до записи или обработка ошибок после?
|
|||
|---|---|---|---|
|
#18+
stenfordнет, использование таких валидаторов непосредственно перед сохранением бессмысленно и вредно т.к. неопытные разработчики выполнив такую проверку считают что сделали все что нужно и умывают руки. Это не считая дополнительных бессмысленных запросов к базе, засорение интерфейса идиотскими методами CheckUniqueMobileNumber() и самого метода сохранения бессмысленным кодом вот прикольно, да? ни одной аргументации, за 5 страниц. ни единой! с хрена ли бессмысленно исопользование валидаторов? с фига ли вредно? почему? кто так решил? когда это разработчики, которые делают такие проверки стали вдруг неопытными? с какого перепугу они «умывают руки»? с чего это запросы в базу бессмысленные, если как раз таки всё наоборот и запросы на чтение это именно безопасные запросы. почему вдруг методы Check/Validate стали идиотскими, разработчики крупнейших систем и фреймворков идиоты?? у ребёнка крайне больное воображение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 15:55 |
|
||
|
Ссылочная целостность. Проверка данных до записи или обработка ошибок после?
|
|||
|---|---|---|---|
|
#18+
stenfordнет, использование таких валидаторов непосредственно перед сохранением бессмысленно и вредно т.к. неопытные разработчики выполнив такую проверку считают что сделали все что нужно и умывают руки. Какая завидная упёртость, я восхищён. ТС же написал, что есть у него пресловутый уникальный индекс для логина. И у всех остальных он есть. К чему выдумывать каких-то неопытных разработчиков, что ограничиваются только валидаторами, а на ограничения целостности забивают? И вот сидит сам с собой обсуждает свои же фантазии ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 16:09 |
|
||
|
|

start [/forum/topic.php?fid=33&startmsg=39629184&tid=1547229]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
46ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
| others: | 13ms |
| total: | 166ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...