один сайтец с большим-большим количеством фильтров и вот они каким-то образом на каждую комбинацию фильтров делают уникальный id и вместо самого набора фильтров и на бэк передают id. И я вот не особо понимаю как они такое провернули. Причём фронт вроде как тоже умеет этот id посчитать. Я могу такое представить только если id это не просто набор цифр, а номер комбинации полей, но быстрый гугл не дал подсказки что для такого используют. Есть идеи как такое провернуть?
Уверен что это просто id, а не закоденая строка с фильтрами? Как к примеру в курсорной пагинации делают
Да, на 50+ фильтров id выглядит как N235qt. Та и количество фильтров никак не влияет на размер id - проверено.
Больше просто на id похоже
Если фильтры - простые отметки true/false, тогда id может быть битовой маской
чем-то поверх ещё шлифанули
Попробовать с разными хеш функциями поиграться. Начать с одного фильтра, взять их id и вычислять. Не похоже, что что-то сложное, может обычный md5.
1. это битовая маска 2. это число по базе 64 или 128 и потом битовая маска 3. это ид набора фильтров, записанных в базу (ну или в кеш) на сервере
4. это ид набора состояний фильтров записанного в браузере
это может быть число по базе 62
N235qt== -> 7m\371\252 -> 55 109 249 170
Обсуждают сегодня