@phpclubru

Страница 271 из 956
Dmitry
05.07.2017
16:09:19
с переездом то чем помогают?

Adel
05.07.2017
16:09:19
ну мы в России программировать то не умеем. Вот казахи умеют. вот их и хантят. ты это хочешь услышать?

Kirill
05.07.2017
16:10:00
Нет совсем не это.

Adel
05.07.2017
16:10:03
))

Google
Dmitry
05.07.2017
16:10:08
местные денег много хотят ;) недоджуниор, а уже 150 давай плати ;)

Adel
05.07.2017
16:10:19
и этот фактор кстати тоже учитывается

думаю он много на что влияет

Kirill
05.07.2017
16:10:31
То что вы очень хорошо кодите это известный факт. Зря ты так...

Adel
05.07.2017
16:10:46
я не делю людей на национальности :)

и никому не советую. так проще жить

Dmitry
05.07.2017
16:11:21
угу, "и матом не ругаюсь" ;)

Adel
05.07.2017
16:11:27
ругаюсь

Dmitry
05.07.2017
16:13:35
вот как думаете... есть юзера редакторы и статьи лобают... что ставить во внешнем, restrict или set null ? :)

Pavel
05.07.2017
16:31:24
На статьи или на юзеров?

Dmitry
05.07.2017
16:33:50
ну вряд ли у юзера есть поле article_id :)

Adel
05.07.2017
16:35:27
я вообще не понял о чем вопрос

Pavel
05.07.2017
16:35:43
Сейчас я придерживаюсь мнения что надо ставить restrict

Google
Pavel
05.07.2017
16:35:50
А юзеров удалять нельзя

Ну в крайнем случае блокировать или что-то типа soft deletable

Dmitry
05.07.2017
16:36:16
ну да... в общем где-то того же мнения

хотя сейчас все же решил set null... типа, могу нарушить правило ;)

Adel
05.07.2017
16:36:39
теперь дошло. ясное дело юзеров не удаляют :)

Dmitry
05.07.2017
16:37:23
ну, прям категорично не удаляют? ;)

Pavel
05.07.2017
16:37:31
Вроде в постгресе том же есть прекрасный оператор DELETE CASCADE который в случае нужды удалит и юзера и его посты.

Adel
05.07.2017
16:37:36
удаляют.. в 20 веке...

Pavel
05.07.2017
16:37:40
Или как-то там можно извернуться.

Adel
05.07.2017
16:37:55
дада. логика удаления юзера в каскадах...

Dmitry
05.07.2017
16:37:59
а что изменилось в 21-м веке, что юзеров стало нельзя удалять? ;)

Pavel
05.07.2017
16:38:19
хотя сейчас все же решил set null... типа, могу нарушить правило ;)
Это глубоко философский вопрос, на который мы натолкнулись когда делали онлайн курсы. Принадлежит ли статья автору, то есть является ли его неотъемлемой частью.

Adel
05.07.2017
16:38:38
нельзя. на них куча всего завязано обычно. плюс удаление очень дорогая операция.. хайлоады и всякое такое

Dmitry
05.07.2017
16:38:41
это не филосовский, а вполне бизнелогиковый ;)

ну вот опять хайлоады ;)

Adel
05.07.2017
16:39:40
да чот.. немного поработаешь и мозги уже по-другому варят. удалять дорого очень.

Pavel
05.07.2017
16:39:41
При попытке напрячь извилины мы приходим к парадоксу корабля Тесея и наступает splitbrain

Dmitry
05.07.2017
16:40:23
Это глубоко философский вопрос, на который мы натолкнулись когда делали онлайн курсы. Принадлежит ли статья автору, то есть является ли его неотъемлемой частью.
бизнеслогиковый, ибо.... ну блог пользователя без пользователя абсурден. А вот описание продукта на сайте компании без редактора, который ее первый раз вбил - вполне себе живет.

Pavel
05.07.2017
16:40:48
Ну вот как бы статья - она не принадлежит редактору на самом деле.

Если редактор уволится, то статью ведь не удаляют.

Google
Pavel
05.07.2017
16:41:22
И опять же новая головоломка - принадлежит ли редактору его аккаунт в базе данных.

Dmitry
05.07.2017
16:41:44
редактору не принадлежит ничего ;) ТК РФ ;)

Pavel
05.07.2017
16:42:08
Ну вот, а курс в вузе принадлежит преподавателю? =)

Тот который он сам писал в двух тетрадках и преподает 15 лет.

Adel
05.07.2017
16:42:32
т.е. если редактор нахулиганит наспоследок. его удалят. а потом по логам нельзя будет вычислить что он сделал? что он там напортил? какие статьи и т.д.

Dmitry
05.07.2017
16:42:45
если писал в рабочее время сидя в университете на зарплате - то нет, не принадлежит ;)

Pavel
05.07.2017
16:43:19
Наконец то мы плавно подошли к теме которую я хотел обсудить - event sourcing

Adel
05.07.2017
16:43:37
в котоом юзера не удаляют :)

Dmitry
05.07.2017
16:43:40
ну были бы логи действий, то, наверное, было бы restrict...

Adel
05.07.2017
16:44:11
хорошо. а если он кучу статей завел нпоследок. и там полно всякой ерунды. как их найти теперь?

Dmitry
05.07.2017
16:44:36
список по дате добавления ;)

Adel
05.07.2017
16:45:25
и смотреть все статьи

Pavel
05.07.2017
16:45:25
хорошо. а если он кучу статей завел нпоследок. и там полно всякой ерунды. как их найти теперь?
Вот как раз set null подход очень плохо срабатывает в случае каких-то нештатных ситуаций, вредительских действий и флуд атак.

Adel
05.07.2017
16:45:33
именно так

это абсолютно нелогичное поведение

как и удаление юзера

если он чтото делал в системе - что останется после него мы должны знать что это он

Pavel
05.07.2017
16:46:19
Например зарегался спамер, насоздавал 100000 постов, его модератор удалил. В результате все статьи стали анонимными.

Alexandr
05.07.2017
16:46:52
Нет - надо с удалением статей.. спамер не редактор же..

Dmitry
05.07.2017
16:47:00
Это бизнес-логика, на самом деле

Google
Pavel
05.07.2017
16:47:15
Но и с другой стороны - restrict подход не очень хорошо работает в честной системе. Когда надо например удалить пользователя, а его статьи оставить. Тогда неудобно все как-то становится.

Dmitry
05.07.2017
16:47:21
Она шире, чем логика внешнего ключа.. те же форумы предлагают оба варианта

Alexandr
05.07.2017
16:47:23
Просто аккаун должен быть архивирован к примеру..

Dmitry
05.07.2017
16:48:31
но у меня тут все тупо... тупая yii, тупой crud на добавление статей, тупой crud на создание пользователей (какой-то готовый модуль) и полное отсутствие внешних ключей... причесываю как бы

Alexandr
05.07.2017
16:49:13
Запись юзера недолжна удаляться - deleted=true

Dmitry
05.07.2017
16:49:51
ага, ибо хайлоад и все такое, я понял ;)

Pavel
05.07.2017
16:50:18
Ну я бы не удалял хотя бы потому, что непонятно зачем это делать.

Можно просто скрыть или блокировать.

Dmitry
05.07.2017
16:50:35
Я давно расстался с мыслю, что разработчик всегда выше обычного пользователя и умеет смотреть на проблему глобоко и разносторонне ;)

Admin
ERROR: S client not available

Adel
05.07.2017
16:50:47
ага, ибо хайлоад и все такое, я понял ;)
мы тут тебе нашли кучу аргументов. нехайлоадных

Dmitry
05.07.2017
16:50:51
Ну, потому-что в этом круде есть иконка "удалить" ;)

мы тут тебе нашли кучу аргументов. нехайлоадных
фигня, логи действий вообще пишутся в файл с именами и дифами, внешних ключей нет ;)

Pavel
05.07.2017
16:51:36
Удалить с точки зрения пользователя - это значит сделать так чтобы элемент исчез и пользователь не мог его нигде найти и пощупать.

Dmitry
05.07.2017
16:51:42
больше аргументов не было ;)

но в общем я согласен, мдя... просто если сделать restrict - тупой админ тупрой компании получит SQL error при нажатии на иконку удалить и будет *** мозг

Pavel
05.07.2017
16:52:31
Самый сильный аргумент - это нарушение консистентности данных

Dmitry
05.07.2017
16:53:00
нет никакого нарушения консистентности, нарушение консистентности - это когда нет внешнего ключа

Google
Pavel
05.07.2017
16:53:04
но в общем я согласен, мдя... просто если сделать restrict - тупой админ тупрой компании получит SQL error при нажатии на иконку удалить и будет *** мозг
Так в yii2 надо повесить на beforeDelete удаление всех статей. Либо вывести ошибку что удалить юзера нельзя т.к. у него есть статьи.

Dmitry
05.07.2017
16:53:26
а это какой-то готовый модуль

а наследовать и править готовые модули хрен знает как написанные - это нафиг, проще set null :)

Pavel
05.07.2017
16:54:36
нет никакого нарушения консистентности, нарушение консистентности - это когда нет внешнего ключа
Ну вот представь что ты пишешь некую агрегатную статистику - "за 5 лет наши редакторы написали 100500 статей, вот топ 5 самых плодовитых редакторов за прошлый год". А потом удаляешь одного из этих редакторов, он выпадает из топ-5, вся статистика тоже сбивается. Сложно-непонятно.

Получается ты взял и переписал прошлое в своей системе.

Dmitry
05.07.2017
16:55:09
Ну да, если я уволил человека из компании, то из рейтинга его тоже нужно убрать ;)

Pavel
05.07.2017
16:55:46
А если там еще какие-нибудь рассчеты премий за годы, исходя из позиции в рейтингах то это затронет других авторов, короче все складывается как карточный домик.

Dmitry
05.07.2017
16:56:16
ну да, те, кто был ниже рейтингом только спасибо скажут ;)

Adel
05.07.2017
16:56:19
Ну да, если я уволил человека из компании, то из рейтинга его тоже нужно убрать ;)
Неееееет. От факта увольнения он не перестал быть лучшим редактором за прошлый год.

Dmitry
05.07.2017
16:57:04
Кто сказал? Ты, а хто ты такой в этой компании? Разработчик? Вот и разрабатывай, а генеральному виднее ;)

Я к тому, что на самом деле удалять или нет - это, как ни странно, бизнес...

Pavel
05.07.2017
16:57:34
Да бизнес дурак

Он ничего не понимает в правильной разработке.

Dmitry
05.07.2017
16:59:58
Не, смотри... бизнес дает задачу "удалить". В понимании бизнеса "удалить" - это скрыть с глаз долой. Как разработчик ты можешь или удалить или ввести флаг. Только флаг - он много сложнее, и не потерять нигде его. А потеряешь в каком-то рейтинге - бизнес даст проблему ;) Бритва О́ккама

Pavel
05.07.2017
17:01:21
Ну так из рейтинга он пропадет по любому, а бизнес потом спрашивает: а чего это у нас вся бухгалтерия за прошлый год съехала, и новый чувак требует от нас денег?

Начинаются разборки, поиски виновных.. Потом бизнес начинает подумывать, а зачем ему все эти проблемы и не купить ли битрикс... Хорошим это не закончится.

Dmitry
05.07.2017
17:02:08
это проблема бизнеса ведь, так? ;)

битрикс тоже удаляет ;)

Pavel
05.07.2017
17:02:47
Проблема у бизнеса, но все подумают что разработчики идиоты и все испортили как всегда.

Adel
05.07.2017
17:02:53
это проблема бизнеса ведь, так? ;)
Хороший разработчик обьяснит всю суть бизнесу. А не будет тыкать чья это проблема.

но хорошие разработчики в галерах.. надолго не задерживаются

Dmitry
05.07.2017
17:03:34
Хороший разработчик обьяснит всю суть бизнесу. А не будет тыкать чья это проблема.
если у вас разработчик объясняет бухгалтерии, что у них может что-то съехать, это значит только одно - он не на своем месте ;)

ибо это вообще-то работа аналитиков ;)

Страница 271 из 956