☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
сервер может быть долбаебом и слать 200 при 404/400 и т.д.
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
если тебе это не нужно, ты работаешь с этим сам, то зачем туда что-то класть??
Anonymous
Ограничится заголовками
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
ну нет
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
если !== 200 то надо бы причину указать
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
с другой стороны, если при 200 надо обновить данные, то надо бы и данные вложить в ответ
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
кто знает, может 200 сервера не то что ждал клиент и данные будут иными
Anonymous
Ну да, в ряде случаев совсем не обязательно отправлять данные. То есть либо ок либо не ок и тогда уже что именно не ок положить в json. А если ок, то не парсить json
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
на вкус и цвет, но по ошибкам рест рулит
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
если не ок можно просто вернуть статусом
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
с сообщением
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
там не нужны структуры
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
структуры вообще для структур которые структурированны
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
нет, просто к примеру привел
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
есть 100500 парадигм, и эта мне нравится больше) но это только на мой вкус)
Anonymous
Ну вот пользователь меняет свою дату рождения. Отправляет дату аяксом. В ответ пришло 200. Достаточно?
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
тут найдется хх как минимум с советами status: ok или status: error
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
уже давно есть другие возможности и техники
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
но кто-то задает тренд поддерживая это УГ
Anonymous
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
Anonymous
Пока что понял, что единого мнения нет: делай, как считаешь нужным
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
Пока что понял, что единого мнения нет: делай, как считаешь нужным
просто нет желания навязывать свое) в быстрых проектах нет смысла заморачиваться, а крупных вообще можно работать через единый рест. Если на фронте самописные ajax на каждый пчих то все равно что ты будешь использовать, если какой-нить ангуляр то смысла нет спрашивать и так понятно что надо вернуть ) Это специфично, нет смысла думать что надо делать только так.
Anonymous
Anonymous
В любом случае спасибо за содержательные ответы
Ceyhun
а как вы храните настройки пользователей?
например, где указываете currency для пользователя.
Максим
Итого две таблицы - список настроек и связующая таблица значений настройки и пользователя
Andrew
Максим
Максим
setting_id только
Andrew
Как раз сейчас параллельно работаю над фриланс проектом, который так сделан. Плююсь. Ну я ангажирован джаваскриптом)
Максим
Ну тут тоже есть недостатки. Например, постоянно придется вносить коррективы в валидацию при добавлении новых настроек
Максим
Но и json имеет недостатки. Например, поиск по этому полю, или добавление новой настройки всем юзерам в их json
Максим
Для курса наверное лучше отдельное поле сделать, и при авторизации оно будет доступно везде в identity, не надо дополнительный запрос отправлять
Artёm
Artёm
есть полноценный поиск во многих БД.
Artёm
последний мускул также поддерживает.
Artёm
вместо одной таблицы с json параметром Вы предлагаете использовать 2, да еще и заморачиваться с сохарнением в каждую из них.
и почему настройки лучше не хранить в формате json?
Artёm
есть объективные показатели или просто нет опыта использования?
Максим
Tim
ребят привет. надо при сохранении модели получить поля которые были изменены. как сделать?
Vladimir
Tim
да. какраз нашел только что)) спасибо)
Alexey
ребята, подскажите идею как реализовать следующее:
в црм есть события, которые повторяются через определенные промежутки времени, например событие повторяется каждый вторник, в БД хранится день недели в который оно срабатывает и timestamp ближайшего срабатывания, крон пробегается по здачам, которые должны сегодня сработать и переносит timestamp на следующий вторник.
Заказчик хочет чтобы повторяющееся событие в таблице списка событий было выведено несколько раз, т.е. например если выбран интервал 1 мес., то нужно чтобы это событие было выведено в каждом вторнике, а если ежедневное событие, то в каждом дне его выводить.
Записывать в БД на будущее сразу на все вторники? Но тогда сколько этих записей должно быть на будущее? )) Или можно как-то клонировать эту запись уже после выборки из БД?
Dmitriy
ребята, подскажите идею как реализовать следующее:
в црм есть события, которые повторяются через определенные промежутки времени, например событие повторяется каждый вторник, в БД хранится день недели в который оно срабатывает и timestamp ближайшего срабатывания, крон пробегается по здачам, которые должны сегодня сработать и переносит timestamp на следующий вторник.
Заказчик хочет чтобы повторяющееся событие в таблице списка событий было выведено несколько раз, т.е. например если выбран интервал 1 мес., то нужно чтобы это событие было выведено в каждом вторнике, а если ежедневное событие, то в каждом дне его выводить.
Записывать в БД на будущее сразу на все вторники? Но тогда сколько этих записей должно быть на будущее? )) Или можно как-то клонировать эту запись уже после выборки из БД?
Календарь чтоль нужен?
Alexey
Alexey
загвоздка именно с повторяющимися событиями, с запланированными все просто, они выводятся в дату, на которую запланированы.
Alexey
т.е. в цикле перебирать не массив событий, а дни заданного диапазона (например за месяц) и сверять день недели? Тогда не получится сортировать и фильтровать таблицу по атрибутам события.
Alexey
вот макет с повторяющимися событиями
https://monosnap.com/file/7S34IW9972M2wkYFeSCWW70XSCs8Q3.png
Dmitriy
SiZE
ребята, подскажите идею как реализовать следующее:
в црм есть события, которые повторяются через определенные промежутки времени, например событие повторяется каждый вторник, в БД хранится день недели в который оно срабатывает и timestamp ближайшего срабатывания, крон пробегается по здачам, которые должны сегодня сработать и переносит timestamp на следующий вторник.
Заказчик хочет чтобы повторяющееся событие в таблице списка событий было выведено несколько раз, т.е. например если выбран интервал 1 мес., то нужно чтобы это событие было выведено в каждом вторнике, а если ежедневное событие, то в каждом дне его выводить.
Записывать в БД на будущее сразу на все вторники? Но тогда сколько этих записей должно быть на будущее? )) Или можно как-то клонировать эту запись уже после выборки из БД?
Храни только номер дня недели. Вычисляешь ближайшую дату на этот день, остальные через интервал. Все средствами бд
SiZE
Можешь конечно лог срабатываний вести
Vano
Vano
Vano
так вот, основная мысль: для каждой задачи, независимо от того, будет она сейчас выполняться или нет, считать next_run и записывать в поле базы
Vano
а дальше кроном ловить задачи, у которых next_run <= now, не забывая потом высчитать новый next_run
Alexey
Vano
задач много?
Vano
сколько ноликов?
Alexey
Пока мало до тысячи, систему только начали делать
Vano
ну тогда так:
- делаешь пагинацию, чем меньше страница - тем лучше
- вытягиваешь чанк задач в оперативку
- перебором клонируешь каждую задачу до X повторов, вставляя обратно в коллекцию
- сортируешь по дате
- выводишь
профит
Vano
смысл - не клонировать их в базе, там должна быть одна запись
просто при выборке добавляешь виртуальные повторы
Vano
так как клон от оригинала отличается только датой следующего запуска, можно даже __clone у модели переделать
работа с datetime - быстрая штука
по факту, ты можешь в оперативке хоть все задачи клонировать
главное, чтоб оперативки хватало, ибо ООП - тяжелая хрень в плане памяти
Alexey
Alexey
uksort() ?
Alexey
нужно перебрать модели в датапровайдере и добавить туда клоны с сортировкой, верно?
Vano
точно
Alexey
The Ant
The Ant
позволяет как периодические записи хранить, так и одиночные
The Ant
имею в виду` */30 * * * *` эту херь