(не)Правильная постраничность (pagination) / Пишем соцсеть на Ruby On Rails 6 #4

preview_player
Показать описание
Привет! В этом (очередном) выпуске мы продолжаем писать нашу соцсеть на Ruby On Rails 6, и в этот раз мы делаем pagination или постраничность для постов.

Таймкоды

00:00 Почему OFFSET - плохо
02:35 Как работает курсорная пагинация (объяснение)
05:14 Объяснение кода
15:15 Некрасивые URL?
Рекомендации по теме
Комментарии
Автор

отличное видео! подскажите на ваш взгляд какие преимущество руби перед пайтон, не могу определится что учить

goludg
Автор

5:10 Сортировка по возрастанию - она обычно по умолчанию, но если уж писать явно, но наверное не ASK а ASC?

vladimiraksenov
Автор

пагинация по скроллу мышкой - уродская. Когда нужно посмотреть подальше назад, нельзя просто задать в URL 20 страниц назад от текущей, а промотать мышкой 200 страниц не получится т.к. при этом прогружается контент всех 200 страниц. В итоге, далеко назад путем просмотра никто зайти не сможет. В итоге получаем что модерновая пагинация от id работает как бы эффективно, но смысл имеет только в небольшом диапазоне, где бы и тупо skip/offset прекрасно бы сработал. Нахожу только один вариант когда это будет работать не очень - если количество постов увеличивается очень быстро, и при нажатии на "страницу назад" мы увидим не только тот же пост что был и на прошлой, но и более новые :)
В livejournal классическая пагинация по offset, это естественно приводит к тому что при переходе назад довольно часто видишь и то что было, но это интуитивно понятно и не вызывает отторжения.
В фейсбуке пагинация какая-то модерновая, бесконечная лента, и бесит неимоверно, ибо никогда не понимаешь где ты находишься в ленте и как вернуть назад то место где ты только что был. Это образец отвратительной идеологии бомбардирования пользователя потоком информации в котором пользователь не имеет никаких механизмов по управлению этим потоком. К сожалению, сейчас это типа модный тренд.

vladimiraksenov
Автор

Рубисты всегда нужны. НО где взять пять лет бэкгрануда и опыта?

shortscute
Автор

А откуда вы взяли этот материал? Англоязычные блогеры ютуба?

ДмитрийНормов-юц
Автор

Ех, придется переписать где использовал offset :)

Andriy
Автор

Добавьте к пагинации фильтр или сортировку

evgeniybudaev
Автор

Как открыть 5-ю станицу находясь на 2-й? Это не "правильная" пагинация а подходящая для конкретного случая. В комментарии от постгрес "might be" это прям попытка заранее оправдается, а еще и в куче с точными данными "large". Помимо постгрес есть еще куча других БД там тоже такая проблема? С точки зрения пагинации по офсет пусть лимит 100 страница 1000-я я не думаю что могут быть проблемы с 100 000 офсет, и я думаю вы понимаете что 1000 страница это из разряда невероятного.

ЕвгенийФедоров-хг
Автор

Мне не интересна бэкэнд и фронтэнд разработка и я в ней ничего не понимаю, так что при просмотре я просто проматываю часть, где объясняется код.

СергейПанов-зц
Автор

Я не программист и не понял о чем тут речь. НО дико бесит система фейсбука, где невозможно - как на нормальном форуме - сразу перейти на конкретный блок информации, как это сделано на форумах

managerilya