@symfony_php

Страница 429 из 1418
Антон
30.11.2017
20:40:38
@Big_Shark ты обновляешься чтоли?

Big_Shark
30.11.2017
20:40:58
@Big_Shark ты обновляешься чтоли?
Тестирую, пол часа назад одна дока была, а сейчас совсем другая

@Big_Shark ты обновляешься чтоли?
Притом что файлы документации обновленны давно, видать забыли пересобрать доку

Антон
30.11.2017
20:41:33
Походу много старых бандлов отомрут

Google
Big_Shark
30.11.2017
20:43:06
Походу много старых бандлов отомрут
Ну они не особо то и нужны)

Sergey
30.11.2017
20:43:12
+ опиши примерно схему подсчета вероятности

хотя бы какие параметры продукта влияют

помимо цены

Alan
30.11.2017
20:46:47
каждый продукт - отдельная сущность они все лежат в боксе, у продукта есть название и цена

кроме цены ничего не влияет, шансы считаем просто рандомной точкой на линии из отрезков по 1 деленное на цену (больше цена значит короче отрезок и меньше шанс)

Антон
30.11.2017
20:46:51
@Big_Shark ты все так же propel используешь?

Антон
30.11.2017
20:47:04
Мужик

Alan
30.11.2017
20:48:31
помимо цены
хотя вот что влияет, до того как начать лотерею пользователь может отметить галочкой опцию у коробки, это значит что на некоторые товары шанс будет х2

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

на какие мы сами решаем, допустим на те которые начинаются с слова "Knife*" =)

Google
Big_Shark
30.11.2017
20:50:07
Мужик
У меня практически нет вариантов, даже во время большого обновления которое запланировано на 2018, где мы обновим симфони, пхп, vue и тд, нет обновления пропела до доктрины

Sergey
30.11.2017
20:50:21
на какие мы сами решаем, допустим на те которые начинаются с слова "Knife*" =)
эти правила я смогу описать спецификацией. Потому инкапсуляция продуктов не будет нарушена.

вероятность так же сможет посчитать сам продукт

дальше весь вопрос - количество продуктов (если их больше тысячи - то проще в базе это считать)

Alan
30.11.2017
20:51:08
но ему для этого нужны остатки которые знает только сторонний сервис

Антон
30.11.2017
20:51:15
@Big_Shark почему?

Alan
30.11.2017
20:51:17
к которому надо по хттп апи сходить

Alan
30.11.2017
20:51:28
продукту, чтобы посчитать вероятность

Sergey
30.11.2017
20:51:41
продукту, чтобы посчитать вероятность
то есть вероятность зависит от стоимости + количества?

Alan
30.11.2017
20:51:45
да

Sergey
30.11.2017
20:51:51
как влияет количество?

Антон
30.11.2017
20:52:05
@Big_Shark так много рассуждали о том как писать приложения изоморфно, о том что это круто и все так делают. Особенно в симфони )

Big_Shark
30.11.2017
20:52:08
@Big_Shark почему?
Много логики в моделях, много запросов к базе, схемы, очень много завязок

Alan
30.11.2017
20:52:15
стараемся выдавать в первую очередь то чего у нас много завалялось чтобы разгрузить склад

Sergey
30.11.2017
20:52:15
да
у тебя 1000 товаров, ты 1000 запросов на каждый розыгрыш будешь делать?

Антон
30.11.2017
20:52:22
Мифы рушатся )

Alan
30.11.2017
20:52:32
нет, один запрос

Google
Big_Shark
30.11.2017
20:53:33
@Big_Shark так много рассуждали о том как писать приложения изоморфно, о том что это круто и все так делают. Особенно в симфони )
У меня проэкт старый который изначально был на CMS на симфони1, мы сейчас вводим все больше сервисный слой, заменяем компоненты и тд. Так что думаю обновление будет, когда мы уберем логику из моделей

Антон
30.11.2017
20:54:18
Ээээммм. Зачем убирать логику из моделей? По-моему логика как раз таки в модели и должна быть

Анемичные модели а то

По-моему двое остальных то же самое обсуждают

Big_Shark
30.11.2017
20:56:14
Ээээммм. Зачем убирать логику из моделей? По-моему логика как раз таки в модели и должна быть
Ну я имею ввиду не такую логику, у меня моделька может пойти в кэш, достать от туда данные, трансформировать их, и вернуть)

Sergey
30.11.2017
20:56:58
нет, один запрос
то есть по хорошему: - нам надо получить количество для всех продуктов (и удобнее это делать одним запросом) - нам нужно получить стоимость всех продуктов - нам надо удостовериться что продукты подпадающие под определенные спецификации увеличивают свою вероятность Все это позволит нам сгенерить что-то типа коллекции, которая содержит айдишки продуктов + вероятность + метод randomProduct который иинкапсулирует в себе логику "забрать". Причем коллекция эта может быть в целом для каждого юзера общей + свои надстройки (свои фильтры).

Антон
30.11.2017
20:57:13
А. Понял. Инфраструктура в модели торчит, а не над моделью

Sergey
30.11.2017
20:57:38
нет, один запрос
по сути мы так или иначе будем полностью дублировать у себя информацию о ценах и количестве.

а если так - выходит красивый изолированный контекст)

Alan
30.11.2017
20:59:20
они очень часто меняются поэтому нужны актуальные на момент розыгрыша

Alan
30.11.2017
20:59:36
ну то есть всегда запрашиваем остатки

Sergey
30.11.2017
20:59:44
они очень часто меняются поэтому нужны актуальные на момент розыгрыша
они для всех общие - а стало быть можно раз в N секунд обновлять

+ инвалидировать когда кто-то "забирает"

ну или забирать на каждый розыгрыш - это уже детали

Alan
30.11.2017
21:00:16
ну да

Sergey
30.11.2017
21:00:31
в любом случае копия у нас будет и нам никуда ходить не надо

мы ее будем синхронизировать где-то на уровне инфраструктуры

а это означает что продукт знает все что ему нужно что бы учесть вероятность

Google
Alan
30.11.2017
21:01:25
да

Sergey
30.11.2017
21:01:34
но всеравно сверху нужна коллекция которая будет отвечать непосредственно за выбор

и да, в этом случае "узнать вероятность" это не геттер а просто query метод, это норм

query в плане он чето просит вернуть а не тупо "достань мне свою цену и достань свое количество"

ну мол я ничего против геттеров не имею. Если они не юзаются что бы что-то посчитать хотя можно было прямо там)

ага, в том то и дело.
а что если наличие пропела в пользу обернуть?)

Big_Shark
30.11.2017
21:04:20
а что если наличие пропела в пользу обернуть?)
И как ты это предлагаешь сделать? )

Sergey
30.11.2017
21:04:24
ну мол... добавить доктрину и планомерно переносить в сущности бизнес логику и дергать пропел для read only операций?)

ну и для write там где не успел перенести)

хотя хз... надо ли тебе доктрина вообще

Admin
ERROR: S client not available

Alan
30.11.2017
21:05:10
угу, но box это доктриновская entity, и вот в нем query метод, как мне внутри него пользоваться сторонним сервисом с остатками? или это инфраструктура и нужно получить остатки и передавать внутрь этого query метода?

Alan
30.11.2017
21:06:02
ну вообще так сложилось что нет )))

Sergey
30.11.2017
21:06:04
это просто синхронизация - этим не должна заниматься сущность box

Big_Shark
30.11.2017
21:06:07
хотя хз... надо ли тебе доктрина вообще
В том и дело что пока от пропела, вместо доктрины особо не подгорает, а подгорает от других штук, которые и будем менять.

Sergey
30.11.2017
21:06:15
Google
Sergey
30.11.2017
21:06:42
box ничего не знает о остатках, по хорошему не должен. Не его дело.

у тебя внутри box есть коллекция продуктов

Alan
30.11.2017
21:07:14
продукты тоже сущности и там нет поля остатков

Sergey
30.11.2017
21:07:16
и вот когда она загружается, на уровне инфраструктуры, ты можешь подмешать данные со сторонней апи

Alan
30.11.2017
21:07:20
только цена и название

Sergey
30.11.2017
21:07:23
Alan
30.11.2017
21:07:55
ну в целом им там место да

Sergey
30.11.2017
21:08:05
$productState = array_merge($productDbData, ['quantity' => $answerFromAPI]

схематично

ты можешь это даже на доктриновских ивентах замутить)

и подмешивать респонс от API как данные сущности. У тебя же управление каталогом не в твоем контексте идет, так что в целом все честно. Мы просто дублируем данные.

причем все в целом разделено и изолировано

Alan
30.11.2017
21:09:09
но есть другой сценарий, когда бокс спрашивает у стороннего сервиса: есть такие продукты [...,...,..,..] - какой из них выдать?

Alan
30.11.2017
21:09:55
алгоритмов на шансы много и там математика не всегда сходится, они долго живущие исчитающие ) поэтому реализованы на nodejs

Alan
30.11.2017
21:10:31
ну, поэтому не в пхп да)

Sergey
30.11.2017
21:10:37
> алгоритмов на шансы много и там математика не всегда сходится ты хочешь подменять реализацию алгоритмов?

Alan
30.11.2017
21:10:43
да

в зависимости от типа бокса

Sergey
30.11.2017
21:10:54
ну, поэтому не в пхп да)
не вижу ничего страшного писать долгоживущие приложения на пыхе

в зависимости от типа бокса
ну у тебя на каждый тип бокса будет просто своя реализация оного)

Страница 429 из 1418