
Art
14.09.2017
14:44:04
ага

Konstantin
14.09.2017
14:49:19
в смысле что 20 секунд работало
или что?
что нужно было оценить?

Google

Art
14.09.2017
14:50:58
на первом скрине реальная задача, деревья категорий, на второй тест производительности, 5000 вложенных друг в друга категорий (деревьев)

Ad.x ??
14.09.2017
15:07:53

Art
14.09.2017
15:44:29
да просто вложенные категории или комментарии

Konstantin
14.09.2017
17:14:37
https://github.com/creocoder/yii2-nested-sets
вот это не то же самое?

Dmitry
14.09.2017
17:18:26

Art
14.09.2017
17:25:30
nested set в бд вся логика, тут один запрос, получаем все категории и далее обработка
*построение дерева в скрипте
как закончу потом код выложу

Maxim
14.09.2017
17:31:00
@artnv elisdn в yii2-demo-shop nested set использовал

Konstantin
14.09.2017
18:31:08
то-то я смотрю, как дофига памяти уходит :)

Maxim
14.09.2017
18:57:08
Видели нововведения в 2.1???
yii\web\* - станет -> yii\http\*
И в Yii::$app->request появится метод getUploadedFiles)))
Мне это импонирует
https://github.com/yiisoft/yii2/commit/e0a7baf631dfbd6e37da55364823b83bfc5c1bc3

Google

Alex
14.09.2017
19:42:52
лучше бы релизнули миддлвару

Dmitriy
14.09.2017
19:44:30
Интерфейсы завезут ? или как обычно

Юрий
14.09.2017
19:45:20
Вообще же вроде уже пср 13 и 6 завезли

Саша
14.09.2017
20:44:59
Такая проблема.
Вот человек выполняет тесты, заработал, допустим, 10 баллов.
Мне нужно хранить эти 10 баллов в одном поле одной таблицы, причём плюсовать к тому, что там уже есть на тот момент.
Закончился тест у человека - баллы сохранились в action финишной страницы теста.
Человек обновляет страницу - баллы плюсуются к уже имеющимся снова - всё увеличивается на те же полученные 10 баллов.
Как избежать этого плюсования при обновлении?

Dmitriy
14.09.2017
20:47:41
кешируй. ставь в кешь то что юзеру дал уже 10 балов

Саша
14.09.2017
20:49:22

Dmitriy
14.09.2017
20:51:47
выполнил тест. проверили в кеше есть ли юзер+ тест если нет то. сделали +10
сохранили в кеш юзера и тест.

Саша
14.09.2017
20:52:40

Dmitriy
14.09.2017
20:53:11
а юзер может несколько раз тест пройти ?

Саша
14.09.2017
20:56:05
Ну, можно проверку сделать и по этому параметру.
Хотя тогда смысл пропадёт, получается.
Есть ещё таблица attempt, в которой сохраняется каждое прохождение теста, отметка, время начала и завершения, id пользователя.
Но опять же не поможет, уже понял, пока писал.
Потому что мне нужно баллы только за последний тест хранить, но с каждой минутой после определённого периода отнимать по одному баллу от общего числа их в этом поле...
Короче, туплю, пока, получается, не вижу полностью удовлетворяющего решения.

Alex
14.09.2017
21:03:07
Сохранять сырые данные и потом их обсчитать?

Maxim
14.09.2017
21:05:36
Сделал бы схему тесты-вопросы--ответы-юзеры, связал все многие ко многим
Каждый ответ имеет свой вес для вопроса
В экшене сделай createOrUpdate по определенному пользователю определенный текст
И считай перед выводом, а не плюсуй

Alex
14.09.2017
21:06:04
Они используют сессии, а сессию можно держать где угодно
memcached, files, redis

Maxim
14.09.2017
21:07:27
А как часто можно выполнять один и тот же текст?
Тест

Google

Саша
14.09.2017
21:07:57
Сохранять сырые данные и потом их обсчитать?
Не выйдет - выше попробовал это представить.
Короче, суть в том, что мне нужна шкала активности: вот прошел тест и у тебя было 20 пунктов на шкале - за тест 10 баллов - у тебя 30 пунктов.
НО!
Через каждую минуту у тебя отнимается по пункту: сначала 29, потом 28 - и так далее.
Вот в чём дело.

Alex
14.09.2017
21:08:19
Если тест можно пройти в разный момент времени от 0 до N+1, то иметь сводную таблицу, где будет записан id теста, id его последнего лога и итоговый расчет

Саша
14.09.2017
21:08:49

Alex
14.09.2017
21:08:53

Саша
14.09.2017
21:09:20

Alex
14.09.2017
21:09:20
сессия как временное хранилище
Это так, сверических конях в квадратном вакууме
Ну или использовать логирование в БД

Саша
14.09.2017
21:12:14

Alex
14.09.2017
21:12:17
из истории всегда можно восстановить итоговое чило баллов

Саша
14.09.2017
21:13:24
Оно постоянно меняется - в этом дело.
Не выполнял тесты три часа - шкала на нуле, в поле - 0.
Не должно пересчитываться.

Alex
14.09.2017
21:14:51
т.е. цепляем данные из сессии, и обрабатываем их
но надо учесть настройки времени жизнисессии
ну или сохранять историю в бд и обновлять ее
что бы наверняка
хотся если сессия будет потеряна, то тоже не вариант, история остановится на том моменте, где сессия потерялась
Мы используем сессию длинною в жизнь -)

Google

Саша
14.09.2017
21:16:19

Alex
14.09.2017
21:16:48
пиши завтра в личку, чего подскажу, работаю с подномни вопросами сейчас

Саша
14.09.2017
22:38:14

Admin
ERROR: S client not available

Evgenij
15.09.2017
04:12:57
привет, вопрос кто как хранит большие методы для выборки данных , например для выборки всех продуктов с какимто условием плюс дополнительные таблицы, такой код куда вы помешаете ? В контроллере ? У elisdn в demo-shop у него есть дополнительный слой Repository, есть такие кто также это реализует ?

Кирилл
15.09.2017
06:02:03
Всем привет!
Хочу купить редактор имперави (https://imperavi.com/redactor/), всего $200 на неограниченное число доменов и девелоперов. Кто хочет вкинуться? У кого сейчас есть коммерческие проекты? 6 человек по 2 тыс вкинуться и редактор можно покупать.

Дмитрий
15.09.2017
06:07:39

Maxim
15.09.2017
06:07:44
@arutyunov Бизнесмен? Хочешь быть минимум седьмым)))

Кирилл
15.09.2017
06:08:11

SiZE
15.09.2017
06:08:40

Кирилл
15.09.2017
06:08:44

Maxim
15.09.2017
06:08:45
думаю под коммерческий проект если заказчику это будет нужно - он купит

Кирилл
15.09.2017
06:08:53

Maxim
15.09.2017
06:09:04
Но старая версия работает?

Кирилл
15.09.2017
06:09:08

SiZE
15.09.2017
06:09:12
и там всплыл нюанс с лицухой
она только на год

Кирилл
15.09.2017
06:09:45
Но старая версия работает?
Нет. Списки не создать нормально в старой версии. И документацию по АПИ найти сложно, хотя это уже не такая серьёзная проблема

Google

Maxim
15.09.2017
06:10:21
мне кажется в таких редакторах вообще тяжело что-то создать НОРМАЛЬНО

Кирилл
15.09.2017
06:10:42

Boris
15.09.2017
06:22:57

Alexei
15.09.2017
07:17:28
Привет!
Не могу найти behavior в yii, отвечающий за триггеры EVENT_AFTER_LOGIN и EVENT_AFTER_LOGOUT во внутреннем компоненте User, может кто подсказать, куда копать?

SiZE
15.09.2017
07:20:10
Привет. Как ты дошел то того что решил поведение тригерит эти события?

Alexei
15.09.2017
07:20:38
?
Я про поведение, которое обрабатывает эти триггеры

Konstantin
15.09.2017
07:20:56

Stas
15.09.2017
07:25:13
Кто использует маскед инпут на телефон попробуйте вставить туда копипастом вот такую хрень 123 - 45 () интересный езультат выходит по ходу баг js разворачивает

Кирилл
15.09.2017
07:26:50

Stas
15.09.2017
07:27:35
незаню искал решения траблы так нигде и ненашол с вырезанием вроде поправили а со вставкой так вроде и нет

mishaikon
15.09.2017
07:52:33
Привет всем. Чот не могу нагуглить, нужен виджет для динамических полей в форму (т.е. со ссылкой/кнопкой "Добавить ещё ..."). Не охота изобретать велосипед свой, посоветуйте готовое решение плизз ...

Maxim
15.09.2017
07:56:38
dynamic-form
или как-то так