
Aliaksandr
18.12.2016
14:32:39
В магазине продающем эти продукты?

Sergey
18.12.2016
14:33:26
ну например

Aliaksandr
18.12.2016
14:33:28
Или у пользователя прилога со списком продуктов, в который он сам будет их добавлять?

Sergey
18.12.2016
14:33:38
какая разница?

Google

Sergey
18.12.2016
14:33:44
тебе на UI надо отобразить список продуктов

Aliaksandr
18.12.2016
14:33:45
Большая, может быть?

Sergey
18.12.2016
14:33:50
что он сними делает - это уже другая задача

Aliaksandr
18.12.2016
14:34:12
Ну так "есть список продуктов" и "я хочу показывать список продуктов" я считаю разными очень простыми задачами.

Sergey
18.12.2016
14:34:23
окей, ты хочешь показать список продуктов

Aliaksandr
18.12.2016
14:35:20
Ну, везде есть виджеты для списков, возьму платформу, воьму best practice, покажу список, в чём вопрос был?

Sergey
18.12.2016
14:35:47
какую платформу ты возьмешь?
вообще на чем ты пишешь?

Aliaksandr
18.12.2016
14:37:41
Это уже части задачи, а не ко мне вопрос. Списком продуктом я пользовался бы в магазине наверное, потому стоит обратить внимание на что-то мобильное, например android, так совпало, что конкретно сейчас большинство внимания уделяю именно этой платформе.

Sergey
18.12.2016
14:38:04
допустим да, это какой-то интернет магазин, это андроид приложение
и тебе надо сделать на сервере API
что будешь юзать?

Google

Sergey
18.12.2016
14:40:22
и хоть список продуктов стандартный, сам магазин мега кастомный, потому все с нуля

Aliaksandr
18.12.2016
14:40:24
Ну, хм, зависит от размеров, нет? Можно конечно ерланг взять каноничный, но стоит ли?

Sergey
18.12.2016
14:40:40
.... ты на каком языке писать умеешь?)
наверное ты такой и возьмешь?
java?

Aliaksandr
18.12.2016
14:42:13
Да, java.

Sergey
18.12.2016
14:42:38
я правильно понимаю что ты не бэкэндщик? Или бэкэндщик?
ибо на клиенте с такими вещами проще - у тебя тупо нет необходимости обычно в сложных ORM
а потому их обычно и нет

Aliaksandr
18.12.2016
14:43:56
Именно. Да, сейчас не бекендщик.

Sergey
18.12.2016
14:44:08
но в былые времена как бы ты дела делал?
а хотя ладно, забей

finkel
18.12.2016
15:00:36
я возьму пхп, тюк тюк, mysql_query, while, немного html и готово
орм какие-то

Sergey
18.12.2016
15:01:09

finkel
18.12.2016
15:01:09
придумают тоже мне

Sergey
18.12.2016
15:01:27

finkel
18.12.2016
15:02:12
формочку сделал, хуяк-шмяк, пост обработал, в базу записал и готово

Sergey
18.12.2016
15:02:29
окей, оформление заказа тоже так бы делал?)
скидки?

Google

Sergey
18.12.2016
15:02:36
скидки с кучей условий?
как быстро при таком подходе твой код станет похож на горшочек спагетти?

finkel
18.12.2016
15:03:14
удалил бы все, что написал до этого, взял бы свою любимую орм...

Sergey
18.12.2016
15:03:48
то есть твой простой список товаров ты бы тоже на orm переделал?)
ты же все удалил

finkel
18.12.2016
15:04:29
ну да, а что?

Sergey
18.12.2016
15:04:38
ну вот это как раз та проблема о которой я и говорю
либо мы все делаем на ORM либо ничего
и вот что интересует - откуда такая поляризация
чем плохо было бы оставить список товаров не на orm?
ну мол у тебя ж работало
для сложных вещей возьми orm, для простых ничего не меняется

finkel
18.12.2016
15:05:59
затем что скидки там сложные и тд и тп

Sergey
18.12.2016
15:06:06
у списка товаров?

finkel
18.12.2016
15:06:10
ты же сам сказал

Sergey
18.12.2016
15:06:17
скидки применяются на этапе формирования заказа
список продуктов - список продуктов
ты выбираешь продукты и из них формируешь заказ
то есть список продуктов как был простым так и остается, нет?)

Aliaksandr
18.12.2016
15:06:59
Т.е. ты предлагаешь писать бэкенд на sql?

Google

Sergey
18.12.2016
15:07:17
где-то это тупо sql
где-то агрегации из эластики
где-то - обвязка над orm потому что было впадлу

finkel
18.12.2016
15:08:15

Aliaksandr
18.12.2016
15:08:21
Как понять границы "где-то"?

finkel
18.12.2016
15:08:26
но наверно мы про другое

Sergey
18.12.2016
15:09:07
а не "сегодня у нас скидки для всех продуктов 30%" да и такие вещи можно легко делать через sql
никому не интересно подумать в эту сторону?
ибо лично меня задолбало писать мэпперы поверх мэпперов
хотя я могу просто сделать sql запрос, и жахнуть результат в json например
CQRS и все такое

Aliaksandr
18.12.2016
15:11:56
Интересно подумать в эту сторону, но мало подумать, ещё подумать придётся как проверить подуманное и как всех заставить взять это новое подуманное, если получится.

Sergey
18.12.2016
15:12:18
это не новое, говорю ж - CQRS
тут вопрос как это делать удобнее
вот я сейчас рефакторю один из проектов своих, там надо подготовить все к тому что бы удобно было с репликами работать.
есть кучи read реплик, и мне надо сделать так что бы все операции на чтение выполнялись на них, а все операции на запись - на master реплике
вот и задумался "а нафига мы вообще так делаем что потом страдаем... ненужная же работа"
жирнющая ORM что бы показать список категорий - регулярно такое в проектах вижу

Google

Sergey
18.12.2016
15:16:05
или примитивный active record что бы делать мега сложную логику - тоже популярная тема)

finkel
18.12.2016
15:18:27
вот у тебя есть орм
ты делаешь на ней сложные штуки, у тебя маппинги все есть, все хорошо, а потом тебе надо сделать простую выборку и ты жмяк и в обход орм начинаешь что-то выдумывать?)

Sergey
18.12.2016
15:20:46
именно так
не факт что в обход ORM, например у меня есть Doctrine - скорее всего я сделаю DQL запрос и просто сделаю выборку не в сущность а в массивчик
простые списки это покрывает идеально
списки чуть сложнее - уже не так удобно
вот сижу и балуюсь с такими

finkel
18.12.2016
15:24:00

Sergey
18.12.2016
15:24:40
> getRepo.findAll наверно проще будет, чем писать dql запрос?)
SELECT p FROM Posts LIMIT 20;
но зато не надо в сущности писать лишние геттеры которые нужны тупо для того что бы сформировать json
сущности вообще не будут иметь ничего что нужно исключительно для view layer
а это уже значительно меньше кода
то есть количество кода сильно не меняется - меняется где он лежит

finkel
18.12.2016
15:25:50
а я думал это контроллер решает в чем отдать твой список
причем тут сущность

Sergey
18.12.2016
15:25:59
эм....
ты получил список сущностей
как ты из него получишь json?
допустим у тебя в сущностях нет геттеров от слова вообще
тебе придется их написать?