28.05.2020, 18:35
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от Bond
|
цитировал описание из документации этого АПИ
|
Ну значит описание имеет двоякий смысл, но тот кто знает о SET (а это тип используется не только в базах), тот скорее поймет о чем речь.
|
|
28.05.2020, 18:44
|
|
Профессор
|
|
Регистрация: 13.03.2013
Сообщений: 1,572
|
|
Сообщение от laimas
|
но тот кто знает о SET
|
сам же писал в ограниченности SET (64)
смысл не в этом, смыл хранить значения характеристик одним числом обычным интом в базе. так делают с фильтрами, поиском по ним используя битовые операции в базе
|
|
28.05.2020, 18:52
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от Vlasenko Fedor
|
смысл не в этом, смыл хранить значения характеристик одним числом обычным интом в базе
|
А я разве что-то иное имел ввиду? А ограничение только в разрядности и они не мною определены, а API.
|
|
28.05.2020, 19:19
|
Профессор
|
|
Регистрация: 16.06.2013
Сообщений: 172
|
|
Vlasenko Fedor,
laimas,
спасибо за подсказки, с меня + в карму.
как оказалось и в типе кузова и в типе загрузки нужна просто сумма id. То что они делают побитово в бд это уже их проблемы - зачем они это прописали в апи для фронта хз. Да и сама документация к апи на коленке написана.
|
|
28.05.2020, 19:22
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от Bond
|
зачем они это прописали в апи для фронта хз
|
Для понимания того, с чем вы работаете. Да и при побитовой операции не потребуется явного преобразования значений опций в число как в случае с просто сложением.
Последний раз редактировалось laimas, 28.05.2020 в 19:30.
|
|
28.05.2020, 19:37
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от Bond
|
почему не массив?
|
Кстати теперь и на это ответить можно - это легче проверить при фильтрации данных извне, одно число, это весь набор выбранных из множества. Его значения это, от мин. значения равное 1, до макс. значения, это (2 в степени количества отведенного под множество) минус 1.
|
|
28.05.2020, 20:24
|
Профессор
|
|
Регистрация: 07.11.2013
Сообщений: 4,662
|
|
Сообщение от Bond
|
Битовая сумма
|
Наверное, битовая маска имеется ввиду, разница только, что в JS можно 32 позиции использовать, а у тебя на сервере 64.
Последний раз редактировалось Rise, 28.05.2020 в 20:29.
|
|
29.05.2020, 08:47
|
|
Профессор
|
|
Регистрация: 20.12.2009
Сообщений: 1,714
|
|
Сообщение от Rise
|
в JS можно 32 позиции использовать
|
Это вы про тип Number, хотя в нём фактически безопасно можно использовать 53-бита
alert(Math.log(Number.MAX_SAFE_INTEGER) / Math.log(2));
Если же говорить про целые числа, то в них можно описать сколь угодно сложные маски — например, одна 256-битная маска может описывать все типы в форме, свойства товара и пр.
|
|
29.05.2020, 09:41
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
О битовой маске можно вести речь в контексте операций с множеством - выборка, поиск, фильтрация. А сумма значений, это просто набор выбранных значений множества.
|
|
29.05.2020, 16:00
|
Профессор
|
|
Регистрация: 07.11.2013
Сообщений: 4,662
|
|
Сообщение от Malleys
|
Это вы про тип Number
|
Есть еще новый примитив BigInt, в нем нет таких ограничений, но ES2020 только в следующем месяце утвердят.
|
|
|
|