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

Как в случае паджинации по курсору решается проблема, если новые

элементы добавляют в список сверху? Скажем, ты переходишь на страницу, а за то время, что ты был на предыдущей, в список уже подобавлялись новые. И тогда сдвиг будет, рассинхрон, ты нажимаешь на 2-ую страницу, а по сути переходишь на какую-нибудь более далёкую (в зависимости от того, сколько элементов добавилось).

32 ответов

20 просмотров

Этого никак не избежать

а вам это проблема? ну юзер полистает на 1 страничку больше, и что?)

Test-Test TEst Автор вопроса

То есть проще offset использовать в таком случае

Test-Test TEst Автор вопроса

Сброс состояния до актуального будет происходить на первой странице, получается?

Ну оффсет хуже, там можно в середине пропустить тоже

Test-Test TEst Автор вопроса

хорошо, убедил, оба варианта говно, не буду делать никакую паджинацию))))

знаю что на высоконагруженных штуках где лимит/оффсет не катят, то просто используют autoincrement id

Ну в целом так и есть - пагинация проблематична как не крути

это позволяет использовать только один фиксированный порядок

Делаешь запись в базе к которой записываешь id результатов, пока юзер ходит просто бегаешь по этой записи с пагинацией. Когда он приходит на первую страничку или проходит таймаут сбрасываешь значения?

Test-Test TEst Автор вопроса

А не знаешь, если сначала использовать обычный оффсет, потом будет не сложно поменять на более эффективный вариант? По идее просто сам запрос поменять, структуру бд менять не нужно, то есть выкатить такое изменение в проде будет не сложно поэтому, заранее, навернео, не имеет смысл загоняться

Как я вижу

Test-Test TEst Автор вопроса

ты сеьёзно для каждого пользователя предлагаешь на сервере ввести состояние, чтобы сохранять паджинацию отдельно для каждого? 😂😂😂

типа запоминать айдишники которые были выведены юзеру при выборке, правильно понял?

Ага

Нет, но это вариант как сделать это с минимальными затратами. Обычно похуй на такое

ну такое, имхо больше запаришся с оптимизацией этого чем с решением на лимите или айдишниках

а какую ты базу используешь? в postgress + typeorm это решается через .skip() .take() это если мы говорим про простую пагинацию

Test-Test TEst Автор вопроса

> skip ... take > обёртка для offset ))))))))

Test-Test TEst Автор вопроса

>typeORM Фу, брось каку, брось

почему каку

ну я не думаю что там настолько все просто. А typeorm стоит у меня по дефолту во всех проектах, в том числе и рабочих (ентерпрайз приложения). Есть проблемы конечно, но это самая функциональная orm. И да это именно ORM а не просто кверибилдер. Пилишь энтети, все строго типизированно, плюс тайпскрипт. А если взять еще какой нибудь NESTjs то ощущения как будто под spring кодишь, но с меньшей попаболью

Test-Test TEst Автор вопроса

> тайпорм стоит у меня по дефолту на всех проектах сочувствую

Test-Test TEst Автор вопроса

>все строго типизированно, Ох, не начинай...

да orm как orm. не ну бывают такие моменты когда выбешивает. но большинство задач решаются проще чем я бы руками это пилил

Test-Test TEst Автор вопроса

> Всё строго типизировано https://www.prisma.io/docs/concepts/more/comparisons/prisma-and-typeorm

Test-Test TEst Автор вопроса

А я пишу nestJS + prisma, ощущения космические

хм, ну может попробую в каком нибудь pet проекте. спасибо! а как nest интегрируется с ней? примерно также? и главный вопрос дня, есть ли у нее сидеры?

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

Test-Test TEst Автор вопроса

У меня вообще никаких проблем не было, ток версию тайпскипта нужно обновить до последней. >сидеры Есть

ну, это я про призму саму

Найс, возможно будет стоить рассмотреть переезд на следующей итерации. Плюс было бы интересно заюзать ее в связке с GraphQL и посмотреть будет ли это работать. Думаю будет. По крайней мере причин почему не должно я пока что не вижу

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта