Yii2 - атака хейтеров и что делать дальше?

Не относящиеся к фреймворку и программированию вопросы
sm-vasya
Сообщения: 191
Зарегистрирован: 2015.03.04, 01:12

Re: Yii2 - атака хейтеров и что делать дальше?

Сообщение sm-vasya »

trueorfalse писал(а): 2018.03.08, 21:59 Я думаю вы хороший человек, мир вам.
мужик! уважаю. взаимно. далеко не каждый способен сохранять такой тон общаясь с тупым высокомерным идиотом с припадком пародоксальных иллюзий. некоторые так совсем в нирвану уходят, начинают про кронтебальд чтото там ....

trueorfalse писал(а): 2018.03.08, 21:59 Я не кому нечего не доказываю, каждый читает этот текст и понимает так как ему хочется, или так как нужно.
Вы уверены что вы правильно все поняли ? Может перечитаете ?
после Вашего поста выше - готов пообщаться с Вами конструктивно, без "на публику"

на текущий момент я уверен что я правильно понял "собеседника"
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Yii2 - атака хейтеров и что делать дальше?

Сообщение ElisDN »

sm-vasya писал(а): 2018.03.08, 13:12 в третьих - подгонять скруктуру БД под фреймворк - это верх тупизма, и вы чтото там про стандартизацию еще говорите :D :D :D
Вот это и есть ключевой момент. Вам может и покажется странным, но Doctrine - это как раз вещь для подхода Code-First вместо DB-First, который Вы из-за непонимания называете "тупизмом". Когда сначала программируют сущности без БД, а лишь потом генерируют базу для их сохранения. А не наоборот вкостыливают готовую БД во фреймворк, как Вы хотите.
sm-vasya писал(а): 2018.03.08, 13:12 особенно порадовало "понаделаете составных ключей, потом мучаетесь"
Ну и хорошо. Про нормальные формы погуглите когда-нибудь сами.
sm-vasya писал(а): 2018.03.08, 23:08 на текущий момент я уверен что я правильно понял "собеседника"
Ни первого ответа не поняли, ни второго, ни третьего.
sm-vasya
Сообщения: 191
Зарегистрирован: 2015.03.04, 01:12

Re: Yii2 - атака хейтеров и что делать дальше?

Сообщение sm-vasya »

ElisDN писал(а): 2018.03.09, 00:06
sm-vasya писал(а): 2018.03.08, 13:12 в третьих - подгонять скруктуру БД под фреймворк - это верх тупизма, и вы чтото там про стандартизацию еще говорите :D :D :D
Вот это и есть ключевой момент. Вам может и покажется странным, но Doctrine - это как раз вещь для подхода Code-First вместо DB-First, который Вы из-за непонимания называете "тупизмом". Когда сначала программируют сущности без БД, а лишь потом генерируют базу для их сохранения. А не наоборот вкостыливают готовую БД во фреймворк, как Вы хотите.
:) о ужас .... как фсе запущено... готовая бд под фреймворк вкостыливается... вы бы еще сказали что вся ит отрасль под фреймворк вкостыливается ...
очевидно что 14 лет в профессии прошли для вас даром, потому что в жизни и в деятельности бывает всякое, а вы со своим коде-фёст.....

хорошо, давайте посталю задачу по другому - есть 2 сущности А и В, между ними связь по 2-м полям, т.е. одна (В) ссылается на другую (А) через 2 значения, которые не являются первичным ключом для нее. "спрограммируйте" пожалуйста мне сущность "без БД" на своем "Доктрине" в подходе "Коде-фёст", а лишь потом сгенерируйте базу для их сохранения...

так пойдет постановка задачи ? опять же учтите - я как заказчик (не важно внутренний или внешний) уже адаптировал под вас задачу - что тоже не очень хорошо... со всеми вытекающими... и повторюсь - не всегда может быть такая возможность - так ее адаптировать...

или вы считаете что когда снайперу дают задание - цель должна сама придти туда куда ему будет максимально комфортно :) да еще и сразу где можно будет закопать ?
ElisDN писал(а): 2018.03.09, 00:06 Ну и хорошо. Про нормальные формы погуглите когда-нибудь сами.
и это говорит человек который через 14 лет не может показать чтото чем бы он мог гордится

ваша упертость очень похожа на ту, которая бывает у людей который совсем ничего не знают, и тут узнали какие то базовые вещи в какой то области и стали считать себя гуру в этой области. очень забавно такое слышать. скажите, а почему вы не в гугле или фейсбуке тогда не работаете каким нить начальником? решили что гугл подождет, никуда не денется?
повторюсь, очевидно что 14 лет вы потратили на сайтики под ключ, унылые уроки и ничего более. но в мире гораздо больше всего, чем вы думаете

ElisDN писал(а): 2018.03.09, 00:06 Ни первого ответа не поняли, ни второго, ни третьего.
вы действительно считаете что ваше голословное утверждение "вы не поняли" заставит меня покраснеть и осознать как я был неправ, когда сделал такое заключение ? :D :D :D и вариант что у меня есть хотя бы одна очень маленькая извилинка в голове способная оценить решения - вы не рассматриваете ? :) :) :) опять не работающая телепатия включена или "я бог, я сказал" ?

---

так вот закончу мысль про ваш блог. к моему счастью я почитал некоторые ваши "статьи", поэтому я в отличии от вас - сделал о вас свое заключение на основании именно того что вы "несете" в люди, а вы же обо мне делаете заключение не зная ничего. так где погрешность больше ? :)

и поэтому, если говорить о качестве статей - если ко мне на собеседование придет программист и скажет что изучал чтото по вашим курсам - то скорее всего я его на работу не возьму.
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Yii2 - атака хейтеров и что делать дальше?

Сообщение ElisDN »

sm-vasya писал(а): 2018.03.09, 12:29 хорошо, давайте посталю задачу по другому - есть 2 сущности А и В, между ними связь по 2-м полям, т.е. одна (В) ссылается на другую (А) через 2 значения, которые не являются первичным ключом для нее. "спрограммируйте" пожалуйста мне сущность "без БД" на своем "Доктрине" в подходе "Коде-фёст", а лишь потом сгенерируйте базу для их сохранения...
Одна сущность ссылается на другую:

Код: Выделить всё

$b->a = $a;
В программировании, в отличие от БД, это делается так.
sm-vasya писал(а): 2018.03.09, 12:29 или вы считаете что когда снайперу дают задание - цель должна сама придти туда куда ему будет максимально комфортно :) да еще и сразу где можно будет закопать ?
Киллеру дают задание на результат "поразить цель". Как он это будет делать и чем - заказчика не интересует. К нему заказчик не приходит со словами "вот тебе моё готовое деревянное ружьё из костыля без дула, используй его".

Программисту дают задание на результат "сделать сайт". Как он это будет делать и чем - заказчика не интересует. К нему заказчик не приходит со словами "вот тебе моя готовая БД с костылями без нормальных форм, используй её".
sm-vasya писал(а): 2018.03.09, 12:29 и это говорит человек который через 14 лет не может показать чтото чем бы он мог гордится
Я скромный. Я никого ничему не заставляю, ничем специально не хвастаюсь и на публику ничем не горжусь. В статьях я ставлю задачу и описываю несколько вариантов её решения, сопровождая решения своими мыслями по их поводу.

Так и сейчас в нашем с Вами споре. Я говорю, что в разработке есть два противоположных подхода:

- DB First, когда сначала придумываем базу, потом по ней генерируем ActiveRecord и CRUD. Получаем анемичные структуры и типы данных без бизнес-логики.
- Code First, когда сначала программируем и тестируем полноценные объекты для Task Based UI с обширной бизнес-логикой по ТЗ, а потом к ним генерируем базу через свой DataMapper или берём готовую Doctrine.

Yii идёт по первому пути снизу вверх от готовой базы к коду (Migration > БД > AR > CRUD), Symfony с Doctrine - по второму пути сверху вниз от кода к базе (Test > Class > Migration > БД). Поэтому натяжка Symfony на готовую БД и воспринимается как езда по встречной.
sm-vasya писал(а): 2018.03.09, 12:29 ваша упертость очень похожа на ту, которая бывает у людей который совсем ничего не знают, и тут узнали какие то базовые вещи в какой то области и стали считать себя гуру в этой области.
Не называйте меня "гуру" или кем-то ещё. Я не гуру. Я один из программистов, которому что-то интересно. Просто я имею некое представление о нормальных формах и в соответствии с ними ссылки по двум полям не на PK считаю избыточными. Я упёрт именно в этом конструктивном русле.
sm-vasya писал(а): 2018.03.09, 12:29 скажите, а почему вы не в гугле или фейсбуке тогда не работаете каким нить начальником? решили что гугл подождет, никуда не денется?
Мне нравится программировать и я ещё не пробовал себя целиком в роли полноценного начальника. Там нужны другие компетенции. Поэтому есть вероятность, что по принципу Питера я в этой должности буду себя чувствовать некомфортно. Ещё в гугле и фейсбуке в основном другие языки, а не PHP. Да и требования производительности в таких компаниях заставляют писать код чуть-ли не на ассемблере вместо более абстрактного кода.
sm-vasya писал(а): 2018.03.09, 12:29 повторюсь, очевидно что 14 лет вы потратили на сайтики под ключ, унылые уроки и ничего более. но в мире гораздо больше всего, чем вы думаете
Вот и поделитесь с людьми интересными идеями и мыслями. Расскажите как Вы делаете что-то в своих проектах. Возьмите у кого-то интервью. Проведите исследование. Накидайте ссылок на интересные ресурсы. Мы Вам дружно скажем спасибо.
sm-vasya писал(а): 2018.03.09, 12:29 к моему счастью я почитал некоторые ваши "статьи", поэтому я в отличии от вас - сделал о вас свое заключение на основании именно того что вы "несете" в люди, а вы же обо мне делаете заключение не зная ничего. так где погрешность больше ? :)
Я читаю в этой теме форума ваши сообщениям и отвечаю конкретно на них. Непредвзято. Остальной вашей деятельности или ориентации я здесь не касаюсь. Если хотите конструктивно обсудить конкрентые вещи, то создайте новую тему здесь в разделе архитектуры и там процитируйте, какое предложение в статье Вас не устраивает.
sm-vasya писал(а): 2018.03.09, 12:29 и поэтому, если говорить о качестве статей - если ко мне на собеседование придет программист и скажет что изучал чтото по вашим курсам - то скорее всего я его на работу не возьму.
Ну так набирайте учеников Русакова и Попова и учите их под себя. С ними будете чувствовать себя более комфортно, так как никто не скажет, что где-то в вашей системе затык.
trueorfalse
Сообщения: 680
Зарегистрирован: 2017.06.21, 13:50

Re: Yii2 - атака хейтеров и что делать дальше?

Сообщение trueorfalse »

sm-vasya писал(а): 2018.03.09, 12:29
ElisDN писал(а): 2018.03.09, 00:06
sm-vasya писал(а): 2018.03.08, 13:12 в третьих - подгонять скруктуру БД под фреймворк - это верх тупизма, и вы чтото там про стандартизацию еще говорите :D :D :D
Вот это и есть ключевой момент. Вам может и покажется странным, но Doctrine - это как раз вещь для подхода Code-First вместо DB-First, который Вы из-за непонимания называете "тупизмом". Когда сначала программируют сущности без БД, а лишь потом генерируют базу для их сохранения. А не наоборот вкостыливают готовую БД во фреймворк, как Вы хотите.
:) о ужас .... как фсе запущено... готовая бд под фреймворк вкостыливается... вы бы еще сказали что вся ит отрасль под фреймворк вкостыливается ...
очевидно что 14 лет в профессии прошли для вас даром, потому что в жизни и в деятельности бывает всякое, а вы со своим коде-фёст.....

хорошо, давайте посталю задачу по другому - есть 2 сущности А и В, между ними связь по 2-м полям, т.е. одна (В) ссылается на другую (А) через 2 значения, которые не являются первичным ключом для нее. "спрограммируйте" пожалуйста мне сущность "без БД" на своем "Доктрине" в подходе "Коде-фёст", а лишь потом сгенерируйте базу для их сохранения...

так пойдет постановка задачи ? опять же учтите - я как заказчик (не важно внутренний или внешний) уже адаптировал под вас задачу - что тоже не очень хорошо... со всеми вытекающими... и повторюсь - не всегда может быть такая возможность - так ее адаптировать...

или вы считаете что когда снайперу дают задание - цель должна сама придти туда куда ему будет максимально комфортно :) да еще и сразу где можно будет закопать ?
ElisDN писал(а): 2018.03.09, 00:06 Ну и хорошо. Про нормальные формы погуглите когда-нибудь сами.
и это говорит человек который через 14 лет не может показать чтото чем бы он мог гордится

ваша упертость очень похожа на ту, которая бывает у людей который совсем ничего не знают, и тут узнали какие то базовые вещи в какой то области и стали считать себя гуру в этой области. очень забавно такое слышать. скажите, а почему вы не в гугле или фейсбуке тогда не работаете каким нить начальником? решили что гугл подождет, никуда не денется?
повторюсь, очевидно что 14 лет вы потратили на сайтики под ключ, унылые уроки и ничего более. но в мире гораздо больше всего, чем вы думаете

ElisDN писал(а): 2018.03.09, 00:06 Ни первого ответа не поняли, ни второго, ни третьего.
вы действительно считаете что ваше голословное утверждение "вы не поняли" заставит меня покраснеть и осознать как я был неправ, когда сделал такое заключение ? :D :D :D и вариант что у меня есть хотя бы одна очень маленькая извилинка в голове способная оценить решения - вы не рассматриваете ? :) :) :) опять не работающая телепатия включена или "я бог, я сказал" ?

---

так вот закончу мысль про ваш блог. к моему счастью я почитал некоторые ваши "статьи", поэтому я в отличии от вас - сделал о вас свое заключение на основании именно того что вы "несете" в люди, а вы же обо мне делаете заключение не зная ничего. так где погрешность больше ? :)

и поэтому, если говорить о качестве статей - если ко мне на собеседование придет программист и скажет что изучал чтото по вашим курсам - то скорее всего я его на работу не возьму.
или "я бог, я сказал" ?
Вы ошиблись тут.
sm-vasya
Сообщения: 191
Зарегистрирован: 2015.03.04, 01:12

Re: Yii2 - атака хейтеров и что делать дальше?

Сообщение sm-vasya »

ElisDN писал(а): 2018.03.09, 14:29 Киллеру дают задание на результат "поразить цель". Как он это будет делать и чем - заказчика не интересует. К нему заказчик не приходит со словами "вот тебе моё готовое деревянное ружьё из костыля без дула, используй его".

Программисту дают задание на результат "сделать сайт". Как он это будет делать и чем - заказчика не интересует. К нему заказчик не приходит со словами "вот тебе моя готовая БД с костылями без нормальных форм, используй её".
очевидно что вы заблуждаетесь в каждой фразе что написали, именно потому что к вам только и подходили только с задачей "сделать сайтик", на основании этого вы и делаете безапелляционное утверждение "я - программист царь и бох, как посчитаю правильным решить так и будет, а фсе остальные му..ки ничего не знают о нф и вообще дибилы конченные и другого типа задач быть не может"

я использовал слово снайпер а не киллер :)

по вашему получается, что как вы сказали "киллер" поражает цель например только тогда когда она выходит из дверей собственного дома, потому что ему (киллеру) больше не приходилось поражать цель в других условиях, например при выходе из автомобиля или при выходе из магазина. так какова ценность данного киллера ?
ElisDN писал(а): 2018.03.09, 14:29 Yii идёт по первому пути снизу вверх от готовой базы к коду (Migration > БД > AR > CRUD), Symfony с Doctrine - по второму пути сверху вниз от кода к базе (Test > Class > Migration > БД). Поэтому натяжка Symfony на готовую БД и воспринимается как езда по встречной.
так собственно очевидно лишний раз становится то что данный "подход" подходит для решения узкоспециализированных задач, следовательно ф топку данный метод, и туда же симфони.

так о какой же гибкости можно говорить если "вот тут это правильно, а вот тут вы идиоты, едете по встречке"

и я уверен что многие кто выбрал "правильный путь на симфони" потом потратят кучу лишнего времени, как и те кто не сделал хорошую архитектуру
ElisDN писал(а): 2018.03.09, 14:29 Не называйте меня "гуру" или кем-то ещё. Я не гуру. Я один из программистов, которому что-то интересно. Просто я имею некое представление о нормальных формах и в соответствии с ними ссылки по двум полям не на PK считаю избыточными. Я упёрт именно в этом конструктивном русле.
так вы не кричите на весь форум Yii что Yii это полное г. если вы считаете что вы в праве давать категоричные оценки, то вы либо очень-очень компетентны либо .... "совсем не компетентны", а еще лучше помогите проекту написанием кода так как вы считаете правильным. я поражаюсь соотношению того сколько времени вы тратите тут на форуме и сколько написанию кода для Yii

я бы на вашем месте изменил это соотношение в обратную сторону.

ElisDN писал(а): 2018.03.09, 14:29 Вот и поделитесь с людьми интересными идеями и мыслями. Расскажите как Вы делаете что-то в своих проектах. Возьмите у кого-то интервью. Проведите исследование. Накидайте ссылок на интересные ресурсы.
я не кричу на весь форум что кроме меня тут все идиоты, и не знают про нф. более того почти каждое сообщение я сопровождаю словами что я тупой идиот и ничего не понимаю. и у меня есть недостаток - я не люблю академичную возню, когда очевидную для меня вещь как 2+2 размазывают водой на 50 страниц. мне как то коллега по блокчейну книгу дал..... ппц.... первые 100 страниц о том какие прекрасные времена настали... дальше я поступил мудро - я ее отложил и подождал пока он дочитает а потом спросил - ну как? а он мне "да в общем то там была страничка с текстом типа возьми это сделай это, а потом 150 страниц о том какой прекрасный будет мир с бч" - вот он современный мир - размазать г по тарелке, и подороже продать как повидло.
так же я некоторое время не посещал никаких мероприятий, по причине того что эта хрень полная, полезной информации 0, так вот год назад пошел на HL ... ппц.... деньги и время очень жалко... послушать самопиар в стиле "ой вы мальчики что тут в машинленинге делаете если эту фамилию не знаете .... " а когда до вопросов дошло - так ни на один не ответить. кроме Олега Батрунова все выглядели очень бледно... тратить 3 дня изза 1 часа - это как то слишком не позволительная роскошь.

как я уже писал тут - кто работает тому некогда пиарится, а кто пиарится - у того слишком много свободного времени от работы.

единственное чем я могу пока помочь - это увидеть проблему и сообщить о ней. и делаю это не для собственного пиара, чтоб потом где то говорить что я 24 ишью создал.
ElisDN писал(а): 2018.03.09, 14:29 Ну так набирайте учеников Русакова и Попова и учите их под себя. С ними будете чувствовать себя более комфортно, так как никто не скажет, что где-то в вашей системе затык.
ну вот как раз русаков и попов это плод курсов подобных вашим. начитаются что коде-фёст это наше фсе, и заливают потом что все идиоты, нф не знают, да и ваще это они изобрели коде-фест, а все дибилы не понимают преимуществ от его использования.

на мой взгляд, дискусия перешла не в то русло, я пожалуй закончу в ней участие. все что нужно было я сказал.
sm-vasya
Сообщения: 191
Зарегистрирован: 2015.03.04, 01:12

Re: Yii2 - атака хейтеров и что делать дальше?

Сообщение sm-vasya »

trueorfalse писал(а): 2018.03.09, 14:51 Вы ошиблись тут.
красноречиво, спасибо я фсе понил
trueorfalse
Сообщения: 680
Зарегистрирован: 2017.06.21, 13:50

Re: Yii2 - атака хейтеров и что делать дальше?

Сообщение trueorfalse »

sm-vasya писал(а): 2018.03.09, 15:57
trueorfalse писал(а): 2018.03.09, 14:51 Вы ошиблись тут.
красноречиво, спасибо я фсе понил
Ya toje.
trueorfalse
Сообщения: 680
Зарегистрирован: 2017.06.21, 13:50

Re: Yii2 - атака хейтеров и что делать дальше?

Сообщение trueorfalse »

У каждого своя стратегия, я вижу что вы увидели чужую стратегию, но она не к чему не заставляет.

На счёт yii и sf, говорил уже zelenin тут, каждый нужен для своих задач, я согласен с ним.


Про книгу мудро сделали.
sm-vasya
Сообщения: 191
Зарегистрирован: 2015.03.04, 01:12

Re: Yii2 - атака хейтеров и что делать дальше?

Сообщение sm-vasya »

trueorfalse писал(а): 2018.03.09, 16:59 У каждого своя стратегия, я вижу что вы увидели чужую стратегию, но она не к чему не заставляет.

На счёт yii и sf, говорил уже zelenin тут, каждый нужен для своих задач, я согласен с ним.


Про книгу мудро сделали.
фигня в том что когда у тебя 500 проектов, на 500 фреймворках, то получается специалиста из одного проекта не можешь переключить на другой проект, успешно реализовавшая проект команда - не может продолжать другой проект без лишних трудозатрат. общий функционал приходится поддерживать в каждом проекте самостоятельно каждой командой, что есть одна и таже сделанная работа многократно. и тд тд тд.

получается что зоопарк фреймворков - непозволительная роскошь, и лучше фреймворк пусть будет не такой популярный, но зато умеющий решать большее число задач. что само по себе странно... как так ??? но ведь вордпресс с битриксом тоже г...о полное... но это не мешает им быть самыми популярными....

да и .... чем больше фреймворков тем больше дибильных глюков...

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

ну грубо говоря - есть вордпресс и юии, на вордпресе я могу быстро сделать сайт, на юии я потрачу чуть больше времени на теже 5 страниц. но я прекрасно понимаю, что имея сайт на вордпресс - я потом буду переделывать уже гораздо больше когда понадобится. более того ПО не пройдет процесс эксплуатации, а это очень ценный момент, и более того опять появится аналочичная задача - и первая мысль которая мне придет - что я чудило, потому что нужно было сразу на юии делать, и сейчас не пришлось опять выбирать... и тд тд тд (в качестве вордпресс можно и симфони подставить, но тогда разница не столь очевидна в самом начале)

поэтому "свои задачи" - это могут быть не задачи одной области, т.е. JQuery и Yii сравнить нельзя, это разные области, а вот Yii или Symfony - лучше все таки выбрать чтото одно, не зависимо от того что у тебя сервис с 1 экшеном или портал из 50 модулей, и жить до тех пор пока не появится чего то принципиально нового и обязательно подходящего.

да и специалисты обычно сами приходят к тому что "фсе хватит изучать юии и симфони, надо чтото одно". я уже несколько раз сталкивался - компания подрядчик которая декларирует что у них широкопрофильные пхп программисты, и симфони и юии знают, берешь... а оказывается что даже если они и набирают например юии-стов, то большая часть симфонистов сложившаяся в компании их переубеждает что симфони - это круто, в итоге они зомбированные симфони, а юии уже по остаточному принципу - сделать могут но не оченьто и хотят, хотя руководство продолжает декларировать - мы и за юии и за симфони возьмемся и сделаем.

вот у меня так исторически сложилось что остался один проект на слиме .... переписать его - ресурсов нет, а как чтото ломается - так катастрофа.... специалистов по слиму - уже нет, либо переориентировались либо уволились.

поэтому конечно пассатижы и гаечный ключ это конечно разные вещи.... но лучше 1 мультитул
trueorfalse
Сообщения: 680
Зарегистрирован: 2017.06.21, 13:50

Re: Yii2 - атака хейтеров и что делать дальше?

Сообщение trueorfalse »

sm-vasya писал(а): 2018.03.09, 19:05
trueorfalse писал(а): 2018.03.09, 16:59 У каждого своя стратегия, я вижу что вы увидели чужую стратегию, но она не к чему не заставляет.

На счёт yii и sf, говорил уже zelenin тут, каждый нужен для своих задач, я согласен с ним.


Про книгу мудро сделали.
фигня в том что когда у тебя 500 проектов, на 500 фреймворках, то получается специалиста из одного проекта не можешь переключить на другой проект, успешно реализовавшая проект команда - не может продолжать другой проект без лишних трудозатрат. общий функционал приходится поддерживать в каждом проекте самостоятельно каждой командой, что есть одна и таже сделанная работа многократно. и тд тд тд.

получается что зоопарк фреймворков - непозволительная роскошь, и лучше фреймворк пусть будет не такой популярный, но зато умеющий решать большее число задач. что само по себе странно... как так ??? но ведь вордпресс с битриксом тоже г...о полное... но это не мешает им быть самыми популярными....

да и .... чем больше фреймворков тем больше дибильных глюков...

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

ну грубо говоря - есть вордпресс и юии, на вордпресе я могу быстро сделать сайт, на юии я потрачу чуть больше времени на теже 5 страниц. но я прекрасно понимаю, что имея сайт на вордпресс - я потом буду переделывать уже гораздо больше когда понадобится. более того ПО не пройдет процесс эксплуатации, а это очень ценный момент, и более того опять появится аналочичная задача - и первая мысль которая мне придет - что я чудило, потому что нужно было сразу на юии делать, и сейчас не пришлось опять выбирать... и тд тд тд (в качестве вордпресс можно и симфони подставить, но тогда разница не столь очевидна в самом начале)

поэтому "свои задачи" - это могут быть не задачи одной области, т.е. JQuery и Yii сравнить нельзя, это разные области, а вот Yii или Symfony - лучше все таки выбрать чтото одно, не зависимо от того что у тебя сервис с 1 экшеном или портал из 50 модулей, и жить до тех пор пока не появится чего то принципиально нового и обязательно подходящего.

да и специалисты обычно сами приходят к тому что "фсе хватит изучать юии и симфони, надо чтото одно". я уже несколько раз сталкивался - компания подрядчик которая декларирует что у них широкопрофильные пхп программисты, и симфони и юии знают, берешь... а оказывается что даже если они и набирают например юии-стов, то большая часть симфонистов сложившаяся в компании их переубеждает что симфони - это круто, в итоге они зомбированные симфони, а юии уже по остаточному принципу - сделать могут но не оченьто и хотят, хотя руководство продолжает декларировать - мы и за юии и за симфони возьмемся и сделаем.

вот у меня так исторически сложилось что остался один проект на слиме .... переписать его - ресурсов нет, а как чтото ломается - так катастрофа.... специалистов по слиму - уже нет, либо переориентировались либо уволились.

поэтому конечно пассатижы и гаечный ключ это конечно разные вещи.... но лучше 1 мультитул
Я согласен с тобою.
anton_z
Сообщения: 483
Зарегистрирован: 2017.01.15, 15:01

Re: Yii2 - атака хейтеров и что делать дальше?

Сообщение anton_z »

ElisDN писал(а): 2018.03.09, 14:29 - DB First, когда сначала придумываем базу, потом по ней генерируем ActiveRecord и CRUD. Получаем анемичные структуры и типы данных без бизнес-логики.
- Code First, когда сначала программируем и тестируем полноценные объекты для Task Based UI с обширной бизнес-логикой по ТЗ, а потом к ним генерируем базу через свой DataMapper или берём готовую Doctrine.

Yii идёт по первому пути снизу вверх от готовой базы к коду (Migration > БД > AR > CRUD), Symfony с Doctrine - по второму пути сверху вниз от кода к базе (Test > Class > Migration > БД). Поэтому натяжка Symfony на готовую БД и воспринимается как езда по встречной.
Почему с Yii AR обязательно получится анемичный код без бизнес-логики? В sf проблема анемии также очень часто встречается. Как вообще DB First связан с получением анемичных сущностей или моделей? Он не мешает код в моделях писать.
Что мешает в проекте на sf сначала разработать БД, а потом по ней сгенерить сущности?
sm-vasya
Сообщения: 191
Зарегистрирован: 2015.03.04, 01:12

Re: Yii2 - атака хейтеров и что делать дальше?

Сообщение sm-vasya »

anton_z писал(а): 2018.03.12, 09:03 Почему с Yii AR обязательно получится анемичный код без бизнес-логики?
потому что Yii не правильная система. правильная система - пукает бабочками
anton_z писал(а): 2018.03.12, 09:03 Что мешает в проекте на sf сначала разработать БД, а потом по ней сгенерить сущности?
хабр и аналогичные ресурсы
anton_z
Сообщения: 483
Зарегистрирован: 2017.01.15, 15:01

Re: Yii2 - атака хейтеров и что делать дальше?

Сообщение anton_z »

sm-vasya писал(а): 2018.03.12, 22:34
потому что Yii не правильная система. правильная система - пукает бабочками
Да тут не в этом дело. По мне какое-то странное разделение на CodeFirst и DBFirst, как на белое и черное. Причем DBFirst характеризуется как "вкостыливание". В связи с этим возникают вопросы:
Когда сначала БД разрабатывают, что на предметную область не опираются? Что не читают юзкейсов и требований? Не выделяют сущности? Как ее вообще тогда разрабатывают? Структура БД это одна из реализаций модели предметной области, с помощью инструментария БД, а не ЯП. Во многих случаях действительно проще начинать с БД. К плохому качеству кода приложения, которое будет затем написано и будет работать с этой БД (анемия/спагетти и пр.) это само по себе никак привести не может.

Почему я считаю, что в некоторых случаях начинать с БД правильнее и проще (Рассматриваю сайты с БД). При разработке приложений, а тем более при гибкой разработке, очень важно сначала устранить максимальные риски, чтобы впоследствии избежать большого рефакторинга и срыва сроков. БД, как инструмент менее гибкий, чем ЯП и сильно влияющий на производительность системы в целом, можно определить как вносящий больший риск. На ЯП (без оглядки на возможности БД) можно такого понаделать, ни на одну базу потом не спроецируется или будет недотягивать до требуемой производительности - придется рефакторить код и иногда немало кода - а это время/деньги. Поэтому начинать разработку с БД так популярно, это работает. И никакого "вкостыливания" тут нет.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Yii2 - атака хейтеров и что делать дальше?

Сообщение samdark »

У db first есть ещё и плюс (если система относительно детерминирована) — оптимальные типы данных и структура БД в общем.

При code first часто наблюдал не совсем оптимальные типы, отсутствие индексов, 100500 запросов вместо пары JOIN-ов и так далее. "Высокоуровневый код — главное, как оно будет хранится и выбираться на низком уровне — пофиг".

Абстракции текут. Если у вас не одна база, а 15 разных на разных серверах, вероятно это вылезет почти на самый верхний уровень. Сделать не протекающую частенько слишком дорого. Либо это аукнется дублированием данных, либо не использованием возможностей реляционных баз (а зачем они нам тогда?), либо ещё чем-то таким.
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Yii2 - атака хейтеров и что делать дальше?

Сообщение ElisDN »

anton_z писал(а): 2018.03.14, 02:39 Когда сначала БД разрабатывают, что на предметную область не опираются? Что не читают юзкейсов и требований? Не выделяют сущности? Как ее вообще тогда разрабатывают?
Предметная область - это данные и процессы. При разработке БД смотрят только на статический набор полей и связей. Динамические процессы (юзкейсы) к БД не относятся. А программирование - это уже про процессы.
anton_z писал(а): 2018.03.14, 02:39 Структура БД это одна из реализаций модели предметной области, с помощью инструментария БД, а не ЯП... Во многих случаях действительно проще начинать с БД. К плохому качеству кода приложения, которое будет затем написано и будет работать с этой БД (анемия/спагетти и пр.) это само по себе никак привести не может.
Заходим в какое-нибудь API и сразу видно заядлого БД-шника с ActiveRecord:

Код: Выделить всё

{
    id
    title
    author_id
    owner_first_name
    owner_last_name
    owner_address_region
    owner_address_city
    owner_address_street
    owner_address_house
    owner_phone_code
    owner_phone_number
    owner_type
    owner_document_type
    owner_document_date
    owner_document_number
    agent_type
    agent_first_name
    agent_last_name
    agent_company_name
    agent_company_address_region
    agent_company_address_city
    agent_company_address_street
    agent_company_address_house
    agent_company_phone_code
    agent_company_phone_number
    ...
    status
}

Код: Выделить всё

if ($model->status === Model::STATUS_APPROVED && !empty($model->owner_phone_code) && !empty(...)) {
    ...
}
который привык думать инструментарием БД: таблицами, полями и связями. Таблицы плоские и мышление плоское.

А потом натыкаемся на его соседа, который более удобно на предметную область опёрся:

Код: Выделить всё

{
    id
    title
    author_id
    owner {
        name {
            first
            last
        }
        address {
            region
            city
            street
            house
        }
        phone {
            code
            number
        }
        type
        document {
            type
            date
            number
        }
    }
    agent {
        type
        name {
            first
            last
        }
        company {
            name
            address {
                region
                city
                street
                house
            }
            phone {
                code
                number
            }
        }
    }
    status
}

Код: Выделить всё

if ($entity->isReadyToSell()) {
    ...
}

class Entity
{
    private $id;
    private $title
    private $authorId;
    private $owner;
    private $agent;
    private $status;
    ...
    public function isReadyToSell() {
        return $this->status->isApproved() && $this->owner->hasFullAddress();
    }
}
Таблица у всех одинаковая, а код разный. Второй думал объектами, а первый - полями с VARCHAR-ами.
anton_z
Сообщения: 483
Зарегистрирован: 2017.01.15, 15:01

Re: Yii2 - атака хейтеров и что делать дальше?

Сообщение anton_z »

ElisDN писал(а): 2018.03.14, 22:23 Предметная область - это данные и процессы.
Вот именно. А структура БД - это одна из реализаций этой модели в первую очередь ее первой части (данные).
На процессы тоже нужно обращать внимание при разработке БД - учитывать какие будут запросы, чтобы создать оптимальную структуру и индексы.
Предметная область здесь выступает в роли основного источника информации, иначе откуда вообще узнать какие данные будут использоваться и как? Вы и с этим несогласны?

ElisDN писал(а): 2018.03.14, 22:23 При разработке БД смотрят только на статический набор полей и связей. Динамические процессы (юзкейсы) к БД не относятся.
Хорошо, так на основе чего тогда формируется этот набор полей и связей? Есть правила нормализации и пр, но это все инструментарий. Содержание откуда берется? Порой юзкейсы это единственное, что есть вначале разработки.

ElisDN писал(а): 2018.03.14, 22:23 Таблица у всех одинаковая, а код разный. Второй думал объектами, а первый - полями с VARCHAR-ами.
Что с точки зрения DBFirst мешает получить второй вариант кода приведенный вами в этом случае? С DBFirst можно использовать и DataMapper, если уж так хочется по вложенным объектам все разложить (хотя можно и без него по вложенным все разложить), DBFirst разве этому препятствует?
Последний раз редактировалось anton_z 2018.03.15, 03:46, всего редактировалось 2 раза.
anton_z
Сообщения: 483
Зарегистрирован: 2017.01.15, 15:01

Re: Yii2 - атака хейтеров и что делать дальше?

Сообщение anton_z »

samdark писал(а): 2018.03.14, 14:27 У db first есть ещё и плюс (если система относительно детерминирована) — оптимальные типы данных и структура БД в общем.

При code first часто наблюдал не совсем оптимальные типы, отсутствие индексов, 100500 запросов вместо пары JOIN-ов и так далее. "Высокоуровневый код — главное, как оно будет хранится и выбираться на низком уровне — пофиг".

Абстракции текут. Если у вас не одна база, а 15 разных на разных серверах, вероятно это вылезет почти на самый верхний уровень. Сделать не протекающую частенько слишком дорого. Либо это аукнется дублированием данных, либо не использованием возможностей реляционных баз (а зачем они нам тогда?), либо ещё чем-то таким.
Я тоже раньше увлекался DDD, CodeFirst и прочей архитектурой - пока не понял DBFirst реально работает и код неплохой, удобный с ним тоже можно получить и быстрее это все делается. Начинать разработку с базы стали еще очень давно, этот способ проверен временем.

P.S. На хабре читал что бэкенд ЯндексТакси это пачка perl-скриптов вокруг БД и очереди. Абстракций там минимум а система работает и развивается.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Yii2 - атака хейтеров и что делать дальше?

Сообщение zelenin »

anton_z писал(а): 2018.03.15, 01:57P.S. На хабре читал что бэкенд ЯндексТакси это пачка perl-скриптов вокруг БД и очереди. Абстракций там минимум а система работает и развивается.
даже если это было бы так, это не показатель преимущества одного подхода над другим (как и в обратном случае).

Вообще там c++, python, чуть-чуть java, go, все виды баз данных, микросервисы, и над ними куча абстракций.
anton_z
Сообщения: 483
Зарегистрирован: 2017.01.15, 15:01

Re: Yii2 - атака хейтеров и что делать дальше?

Сообщение anton_z »

zelenin писал(а): 2018.03.15, 02:32
anton_z писал(а): 2018.03.15, 01:57P.S. На хабре читал что бэкенд ЯндексТакси это пачка perl-скриптов вокруг БД и очереди. Абстракций там минимум а система работает и развивается.
даже если это было бы так, это не показатель преимущества одного подхода над другим (как и в обратном случае).

Вообще там c++, python, чуть-чуть java, go, все виды баз данных, микросервисы, и над ними куча абстракций.
А вы разработчик ЯндексТакси? Значит на Хабре лажу писали.

Я хочу доказать работоспособность DBFirst и показать что это хороший, достойный использования подход. Неприятно видеть, когда его незаслуженно называют "вкостыливанием".
Ответить