169 похожих чатов

Товарисчи синьоры) сделал клиент серверное приложение онлайн магазина. Фильтрацию сделал,

пагинацию почти. Вопрос — где создать пункты сортировки, в клиенте или в бэкенде, или даже в БД засунуть?????)))

24 ответов

7 просмотров

фронт, если с рест апи

Смотря что сортировать. Тысячи записей в многостраничном приложении? На бэке. Тысячи записей в СПА? Фронт. 10-20 записей в многостраничнике? Фронт. Но я и не сениор, а недотрейни. Есть вопросы - задавай. Если буду знать ответ - отвечу.

Эх.. был бы сеньйором ответил бы, а так.. лет через 5-7 дёргни

Роб
Смотря что сортировать. Тысячи записей в многостра...

10 000 записей фильтровать на фронте, даже если это SPA, как мне кажется, не самая хорошая идея

На бэке запрос в бд

atogz
10 000 записей фильтровать на фронте, даже если эт...

зачем показывать все 10к записей разом?)

Sarvar
зачем показывать все 10к записей разом?)

это не по адресу вопрос, я сам не знаю.

atogz
это не по адресу вопрос, я сам не знаю.

это был риторический вопрос)

А фильтрация и пагинация на фронте?

FroG
Ну не, по апи

Тык почему туда же и сортировку не пнуть? Если у тебя 50 строчек отдаётся из 10000000 ты что будешь сортировать? 50 строчек или 10000000

FroG- Автор вопроса
atogz
10 000 записей фильтровать на фронте, даже если эт...

Фильтруется все с помощью ОРМ, то есть по факту в БД, но именно сортировка- то есть по цене, по цвету, по стране и прочим

FroG- Автор вопроса
Алексей Коршунов
Тык почему туда же и сортировку не пнуть? Если у т...

Как ты создашь пункты сортировки, вот что меня интересует

FroG
Как ты создашь пункты сортировки, вот что меня инт...

В бэк идет параметр поле сортировки и по возрастанию или убыванию. Орм тебе готовит данные с твоими фильтрами и чем-то ещё + 2 этих поля

FroG- Автор вопроса
Алексей Коршунов
В бэк идет параметр поле сортировки и по возрастан...

То есть идет? Какие поля я укажу для сортировки, такие и будут, я их могу указать в клиенте, передать параметр order в гет запросе, могу создать константы в бэке, тащить во фронт, и также отправлять запрос

FroG
То есть идет? Какие поля я укажу для сортировки, т...

Чутка не понял, пользователь указывает поля для сортировки, ты их передаешь на бэк и бэк лезет в бд с запросом и отдает отсортированные данные

FroG
Ну да

Ну и?))) всё, работаем

FroG- Автор вопроса
Алексей Коршунов
Чутка не понял, пользователь указывает поля для со...

в общем есть продукты, их 10к, условно говоря, есть поля - рейтинг, айди, название, цвет, цена, и прочие, все эти пункты я не хочу отправлять в сортировку, то есть нахрена мне сортировать по id - если там условно uuid используется, но id требуется для фронта. + цена по убыванию - по возрастанию - не отталкиваться же от типа данных, типа если integer - то добавить вверх и вниз ну вот такие мысли и где эти пункты создавать - вот в чем мой завтык может для вас это кажется чем то легким, но для меня, вопрос архитектуры приложения, сложен

FroG
в общем есть продукты, их 10к, условно говоря, ест...

У тебя есть сортировка по умолчанию, например название, пользователь щёлкает по полю или элементу по цене, у тебя пошёл запрос сортировка по цене, щёлкает по другому полю, его в сортировку и шлёшь. Блин, я реально не понимаю проблемы твоей 🙈

FroG- Автор вопроса
Алексей Коршунов
У тебя есть сортировка по умолчанию, например назв...

да тут все просто, создаю const sortFields = ['name', 'name desc', 'price', 'price desc' , 'rating', 'rating desc'] на клиенте в константах) ИЛИ тоже самое в бэке и отправляю на клиент, мол есть такой массив для сортировки, сортируй, сука , по нему) ИЛИ в БД мучу таблицу с {id, sort} ИЛИ просто делаю select * from product и отправляю на фронт, типа сортируй по всему что я даю? ) ну, и как сказал начальник, я беру массив сортировки, сую его в map, формирую чекбокс из него, и все довольны)

FroG
да тут все просто, создаю const sortFields = ['na...

Ты делаешь : select * from table order by [fieldName] [desc || acs]

Похожие вопросы

Обсуждают сегодня

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
DS
8
Карта сайта