Anonymous
128-битное, если не ошибаюсь
Vladimir
а
Vladimir
ну так, может быть. Вопрос только - зачем это может быть нужно
Vladimir
у uuid по-моему еще несколько бит версию кодируют
Vladimir
я просто остановился на том чтобы просто генерировать случайны айдишники 128-битные
Anonymous
ну у uuid немного другой алгоритм, он больше заточен на распределенные системы
Anonymous
типа два компа независимо генерируют числа и шанс коллизий минимальный
Anonymous
https://tools.ietf.org/html/rfc4122#section-4.4
Vladimir
я про v4 исключительно
Anonymous
ага я тоже про него (см. по ссылке)
Anonymous
суть в том что если ты генерируешь просто числа на основе псевдорандомного генератора то шанс коллизий больше
Anonymous
ну я так думаю... в доке про это вроде не сказано
Vladimir
ну я так понял довольно мал, зато не раскрывает особенности системы никому
Vladimir
не, не может бытб
Michael
ну там 6 бит на версию и резервированные поля
Michael
если тебе не нужен UUID, то генерируй рандомные числа
Vladimir
вот и я так решил
Michael
а формат записи – это не UUID
Michael
это просто формат
Vladimir
то есть по сути просто бессмысленная трата места в ущерб энтропии
Anonymous
ну я так понял довольно мал, зато не раскрывает особенности системы никому
если ты полагаешься в своем алгоритме на uuid как часть секьюрности - то не следует, там не все 128 бит рандомные так что общая защита твоего алгоритма будет меньше (грубо говоря - генерируешь one-time пароли используй что-нить покруче, генерируешь индексы в базу - так сойдет)
Michael
надо же обозначить версию
Vladimir
зачем? толлько если хочу парсит uuid и версия играет роль
Michael
чтобы не было коллизий с UUID'ами, сгенерированными на базе MAC-адреса
Michael
короче генерируй числа :)
dmitri
Юзал https://www.npmjs.com/package/uuid
Michael
https://github.com/twitter/snowflake
Michael
вот для айдишек ещё есть, для распределённой генерации
Michael
правда это наверное как из пушки по воробьям
Vladimir
вот еще интересный пост: http://instagram-engineering.tumblr.com/post/10853187575/sharding-ids-at-instagram
Michael
истинно-случайные числа
Michael
хотя конечно вопрос хороший, откуда их брать
Anonymous
я короче везде это использую :) https://www.npmjs.com/package/shortid
Vladimir
квантовый генертор, видимо
Michael
http://onerng.info/
Michael
какая няшечка
Vladimir
искренне верю что openssl досточен для этих целей
Vladimir
для генерации айдишников
Michael
а тебе что от этих айдишников надо?
Michael
вообще для айдишников AUTOINCREMENT достаточно
Michael
;)
Vladimir
чтобы не было коллизий и чтобы их нельзя было угадать
Michael
чтобы не было коллизий и чтобы их нельзя было угадать
Просто генерируй рандомное число и проверяй, что оно уникальное.
Vladimir
ну проверить не всегда возможно
Michael
Значит не все констрейнты рассказал ;)
Michael
Возьми твиттерский сноуфлейк
Vladimir
ну распределенная генерация необходима
Michael
Хотя угадать думаю можно
Michael
У тебя там хайлоад на 200к хитов в минуту?
Michael
Зачем распределённая?
Vladimir
нет конечно
Vladimir
просто концептуально так проще
Vladimir
нужен id - сгенерировал id
Michael
Ага, а потом десятком девопсов настраиваем месяц кубернетесъ
Michael
(ниче личного :p)
Vladimir
why not?)
Vladimir
да не, ну математика же
Vladimir
если припрет можно будет посчитать вероятность коллизии
Vladimir
ну и нужно закладывать чтобы последствия при коллизии были сопоставимы с последствия разыва соединения
Michael
ну просто читаешь где-нибудь, как описывается как на хадупе в амазоне мап-редьюсом просчитывают пару гигабайт за час, а затем в комментариях на хакерньюс пишут, что на эйре за две минуты перловым скриптом всё тоже самое чувак сделал
Michael
оверинжиниринг
Michael
какой-то
Michael
усложняешь систему
Michael
очень сильно
Vladimir
ну тут как раз наоборот
Vladimir
для автоинкремента нужна координация, это - усложнение
Michael
ну и против подбора можно вполне fail2ban или что-то подобное настроить ;)
Ярослав
у UUID самое главное — это совместимость с предыдущими вариантами
Ярослав
потому что там спека
Anonymous
6.4 вышла
Aleksei
кстати после выхода 6й сборка стилуса на вебпаке ни у кого не начала падать?
Mannaro
ребят, как парсить xlsx на nodejs? Если просто тупо парс, то все может зависнуть (если у юзера файл в 100000 строк и 100 столбцов, например)
Ivan
асинхронно парси и все
Ivan
и ничего не зависнет
Ivan
и ограничение по размеру файла сделай
Ivan
)
Aleksei
мы всё видели
Mannaro
асинхронно?)