| 
 | 
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #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&msg=39629184&tid=1547229]:  | 
    0ms | 
get settings:  | 
    9ms | 
get forum list:  | 
    13ms | 
check forum access:  | 
    3ms | 
check topic access:  | 
    3ms | 
track hit:  | 
    54ms | 
get topic data:  | 
    9ms | 
get forum data:  | 
    3ms | 
get page messages:  | 
    51ms | 
get tp. blocked users:  | 
    1ms | 
| others: | 253ms | 
| total: | 399ms | 

| 0 / 0 | 

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