| 
 | 
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  AndryGskyANA, это и была часть размышлений. (я в курсе про клиентские, серверные проверки данных и назначение каждой из них. Опыт есть) Пишу код уровня "доступа к даным", При повторном прогоне кода создания юзера вылезла ожидаемая ошибка уникальности логина. Тут и появилась мысль использовать это для уменьшения кода валидаторов - не делать некоторые и вылавливать для этого ошибки БД. Судя по ярким ответам, я или потоптался по мозолям или несу ересь ) ещё раз спасибо за ответы. Если не секрет, что Вам помешало сразу обрисовать полную картину? Размышления - это не ересь, просто со стороны выглядит как очередной нуб не осилил валидацию. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 11.04.2018, 12:51 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  hVosttЛень программиста, это золотая жила в его профессионализме. Программист должен быть достаточно ленив, чтобы избавить себя от монотонного копипаста И как только избавил - тут же снова включать лень по полной. Вот так вот и "не выходит каменный цветок" у некоторых "мастеров". И да, тупость в виде неумения увидеть возможность вынести повторяющийся код в отдельный модуль, не есть лень. Это именно ТУПОСТЬ. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 11.04.2018, 14:39 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  alex55555И да, тупость в виде неумения увидеть возможность вынести повторяющийся код в отдельный модуль, не есть лень. Это именно ТУПОСТЬ. Речь не обязательно про модуль, а вообще способ написания кода наименьшими усилиями. Физическими я имею в виду. Про умственные усилия я ничего не говорю. Но на то и профессия хорошо оплачиваемая, за умение думать и пользоваться головой. Если человек ленится именно думать, то и стоить его работа будет соответственно, 3 копейки. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 11.04.2018, 14:58 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  AndryGПишу код  уровня "доступа к даным", При повторном прогоне кода создания юзера вылезла ожидаемая ошибка уникальности логина. Тут и появилась мысль использовать это для уменьшения кода валидаторов - не делать некоторые и вылавливать для этого ошибки БД. все верно, проверка уникальности/ссылочной целостности и должны производится только на уровне БД т.к. на клиенте такие проверки бессмысленны и вредны, валидация бизнес-логики включает в себя по-сути 3 шага а) На клиенте для удобства пользователя (формат email'a, длина строки итд) б) Дубликат всех этих проверок на аппсервере плюс дополнительная валидация общих бизнес-правил (лимит не превышен, безопасность итд) в) Дубликат части либо всех этих правил в БД (формат email'a, длина строки, лимиты) плюс ограничения уникальности/ссылочной целостности. Ошибки уникальности/ссылочной целостности идущие из БД отлавливаются и выводятся соответствующие сообщения юзеру, остальные ошибки логируются для последующего изучения ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2018, 03:32 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  stenfordОшибки уникальности/ссылочной целостности идущие из БД отлавливаются и выводятся соответствующие сообщения юзеру, остальные ошибки логируются для последующего изучения Пожалуйста, не слушайте вот такой бред говнокодеров. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2018, 03:58 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  stenfordвсе верно, проверка уникальности/ссылочной целостности и должны производится только на уровне БД т.к. на клиенте такие проверки бессмысленны и вредны Нет не верно, ни разу. Не вводите людей в заблуждение. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2018, 04:00 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  hVosttНет не верно, ни разу. Не вводите людей в заблуждение. в заблуждение вводишь здесь только ты, да еще и как обычно в очень наглой и оскорбительной форме, проверки уникальности должны быть только в БД т.к. только БД в состоянии обеспечить транзакционную целостность операции, твой вариант можешь даже не предлагать, я знаю что там будет метод репозитория FindUserByLogin() на основании которого принимается решение об уникальности С подобным подходом ты в серьезную компанию даже собеседование не пройдешь, если там конечно тимлид не такой-же... ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2018, 04:15 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  stenfordв заблуждение вводишь здесь только ты, да еще и как обычно в очень наглой и оскорбительной форме, проверки уникальности должны быть только в БД т.к. только БД в состоянии обеспечить транзакционную целостность операции, твой вариант можешь даже не предлагать, я знаю что там будет метод репозитория FindUserByLogin() на основании которого принимается решение об уникальности  С подобным подходом ты в серьезную компанию даже собеседование не пройдешь, если там конечно тимлид не такой-же... Я так понимаю просьбы не декларировать непрофессиональный бред до тебя не доходят. Тебе ничего не предлагаю, говнокодишь себе и говнокодь дальше, мне на это наплевать с высокой колокольни. Людям не надо свою чушь в уши заливать, да? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2018, 04:35 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  тебя забанить надо козленок, за оскорбления и весь тот бред, который ты несешь на проффорумах людям, которые просят профессионального совета ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2018, 04:38 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  stenfordС подобным подходом ты в серьезную компанию даже собеседование не пройдешь, если там конечно тимлид не такой-же... Угу, с проверками уникальности «только в БД», я даже не знаю какая «серьёзная» компания тебе даст хотя бы шанс исправиться и научиться делать по-людски. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2018, 04:39 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  stenfordтебя забанить надо козленок, за оскорбления и весь тот бред, который ты несешь на проффорумах людям, которые просят профессионального совета О, ну понеслось говно по трубам. Чего собственно и следовало ожидать. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2018, 04:40 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  комментировать твои пьяные бредни я не буду, почитай хотя-бы википедию про то, как работает база данных, тебя уже столько раз тыкали мордой в твои ламерские советы и ловили на незнании базовых вещей на множестве форумов и топиков, что в очередной мараться не хочется ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2018, 04:48 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  stenfordкомментировать твои пьяные бредни я не буду, почитай хотя-бы википедию про то, как работает база данных, тебя уже столько раз тыкали мордой в твои ламерские советы и ловили на незнании базовых вещей на множестве форумов и топиков, что в очередной мараться не хочется Какая же у тебя богатая фантазия. Ну так сколько раз меня «тыкали мордой», балабол ты наш? Человека без грамма знаний видно сразу за версту, вместо аргументов какие-то бредовые фантазии, наглое враньё. Я ведь тебя вообще-то не оскорблял, но с такими как ты надо только матом слать на 3 буквы? Ты либо аргументы приводишь, либо шёл бы ты лесом рёбенок. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2018, 04:55 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  какие еще аргументы, почему за FindUserByLogin() для определения уникальности ты получишь хороших люлей на code review? Нет, тебе никаких аргументов не будет, читай документацию, оторви свой профуровень от плинтуса для начала ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2018, 06:15 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  stenfordкакие еще аргументы, почему за FindUserByLogin() для определения уникальности ты получишь хороших люлей на code review? Нет, тебе никаких аргументов не будет, читай документацию, оторви свой профуровень от плинтуса для начала Слушай, я думаю никто не будет спорить, если я тебе прямо скажу, ты либо просто тупой по жизни, либо топик не читал и лезешь со своими нахрен никому не нужными, глупыми, откровенно вредными высказываниями. Профуровень. Я чёт не обратил внимания, что ты обыкновенный залётный ПТ-шник, с однобайтовым мозгом. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2018, 06:17 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  все говно вышло? Каждый раз когда тебя в лужу сажают одна и та-же реакция... ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2018, 06:25 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  stenfordвсе говно вышло? Каждый раз когда тебя в лужу сажают одна и та-же реакция... Реакция на балаболов и людей, которые не способны ни ответить за свои слова, ни аргументировать, может быть только одна. Пшёл лесом. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2018, 06:32 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  вот за свой базар это ты как раз не привык похоже отвечать, в реале ты-б за малую толику тех оскорблений и дерьма вылитых в этом топике ты-б зубы собирал по всему полу ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2018, 06:43 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  stenfordвот за свой базар это ты как раз не привык похоже отвечать, в реале ты-б за малую толику тех оскорблений и дерьма вылитых в этом топике ты-б зубы собирал по всему полу Мда. Быдлан детектед. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2018, 06:50 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  stenford, верноя я понял, что Вы за проверку уникальности на уровне БД именно логина, или домена при регистрации? А можно полюбопытствовать, где Вы такое видели? Вроде как принято сообщать о том, что такой логин, или домен уже занят до записи в БД. Плюс регистрация вполне может оказаться визардом в N шагов с прикреплением скана документа, подтверждающего личность. И запись в целевую таблицу происходит только после его прохождения и ещё каких-то проверок. И как-то нелепо после всего сообщать пользователю, что такой логин уже занят, опираясь на ошибку о нарушении уникальности. Кстати, если Вы так делаете, то не могли бы показать кусок кода? Любопытно как Вы парсите сообщение, чтобы понять, что нарушена уникальность именно логина, или домена. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2018, 07:15 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Нет, я понимаю, что в каком-нибудь корпоративном десктоп приложении, где оператор регистрирует нового сотрудника в лучшем случае раз в день, заморачиваться над отдельной проверкой уникальности логина не имеет особого смысла. Ну ошибётся раз в год, увидит сообщение, сам поймёт что нетак. Не поймёт так пнёт какого-нибудь айтишника, который про себя подумает: "Что, дура, разве не видишь, что написано 'attempt to store duplicate value (visible to active transactions) in unique index PERS_IDX_LOGIN. Problematic key value is (<expression> = Vasya)'? Ясен пень, что такой логин уже есть!", - а в слух вежливо скажет, что надо придумать другой логин. Но в web-приложение такое тащить - чревато. Я Вам бота напишу, что в цикле будет пробовать зарегистрировать один и тот же логин, и если приложение даже не ляжет, то по головке вас точно не погладят ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2018, 07:37 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  skyANA, Такие «проверки» на констрейтах имеют место быть малом корпоративном сегменте с небольшим айти отделом, которые пишут примитивные АРМ-ы для трёх с половиной человек, и качество кода там соответствующее (считай, никакое), за качеством там никто не следит, это никому не надо. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2018, 07:51 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  hVostt, за то время, пока я учавствовал в разработке корпоративных систем, у меня сложилось чёткое ощущение, что в России это то ещё болото и отставание от западных аналогов лет на 7 минимум. Судя по тому, какие темы время от времени появляются на форуме, ситуация там не особо изменилась. Так что я вполне допускаю и понимаю, что там проверки на констрейтах. Хорошо хоть констрейнты есть, а то ведь люди с мейнфреймов переходили, иной раз так базу проектировали, что смех и грех ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2018, 08:08 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  stenfordза FindUserByLogin() для определения уникальности ты получишь хороших люлей А за Код: sql 1. 2. каких люлей отвесят и с какой аргументацией? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2018, 08:23 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  skyANAверноя я понял, что Вы за проверку уникальности на уровне БД именно логина, или домена при регистрации? А можно полюбопытствовать, где Вы такое видели? Вроде как принято сообщать о том, что такой логин, или домен уже занят до записи в БД. Плюс регистрация вполне может оказаться визардом в N шагов с прикреплением скана документа, подтверждающего личность. И запись в целевую таблицу происходит только после его прохождения и ещё каких-то проверок. И как-то нелепо после всего сообщать пользователю, что такой логин уже занят, опираясь на ошибку о нарушении уникальности. Кстати, если Вы так делаете, то не могли бы показать кусок кода? Любопытно как Вы парсите сообщение, чтобы понять, что нарушена уникальность именно логина, или домена. любой аттрибут, на который навешано условие уникальности/ссылочной целостности должен проверяться на уровне БД, это не имеет никакого отношения к "заморачиванию" с доп проверками, нет никаких проблем с возврашением юзера на то место страницы где введен логин (или любой другой аттрибут не прошедший валидацию) который требуется изменить, а в случае если прозводится какая-то закачка документов в момент регистрации (только обычно это делается после, более правильный кейс - это подтвержение кода по смс), то данные идут в staging таблицу где работает точно такая-же логика. (в случае если надо подсветить уже заюзаный логин/домейн еще до нажатия на кнопку ОК никто не мешает "заморочится" с проверкой, только это не имеет никакого отношения к обсуждаемому вопросу) ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2018, 09:40 | 
  
  
  
   | 
||
| 
 | 

start [/forum/topic.php?fid=33&msg=39628416&tid=1547229]:  | 
    0ms | 
get settings:  | 
    9ms | 
get forum list:  | 
    11ms | 
check forum access:  | 
    3ms | 
check topic access:  | 
    3ms | 
track hit:  | 
    61ms | 
get topic data:  | 
    10ms | 
get forum data:  | 
    3ms | 
get page messages:  | 
    60ms | 
get tp. blocked users:  | 
    1ms | 
| others: | 11ms | 
| total: | 172ms | 

| 0 / 0 | 

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