1ca390ad-eeee-4997-ab74-b049fa6bcb32 - четыре "e" подряд. ощущение будто выиграл в мини-лотерею 😁вероятность именно этого исхода
1/16⁴ (четыре позиции по 16 вариантов) - 1 к 65 536это если бы я каждый день генерировал по 10к юидов, такое происходило бы раз в неделю
но на самом деле, поймать любую комбинацию из 4 символов подряд это всего лишь
1/16³, например aaaa или dddd или 0000 - 1 к 4 096чтобы пост был не таким дурацким, несколько фан фактов про UUID:
версия uuid
понять версию uuid можно по началу третьего блока: тут он начинается с четверки - значит, это четвертая версия
уникальность uuid v4
uuid v4 построен так, чтобы вероятность сгенерировать такой же uuid была ничтожно мала - можно считать, что каждая генерация всегда уникальная. даже на всех компьютерах вместе взятых
детерминированные версии uuid
существуют детерминированные uuid - это версии 3, 5, 8.
в версии 8 можно использовать любой алгорим хэширования, а в 3 и 5 это md5 (очень устарел и небезопасен и встречаются коллизии) и sha-1
дата и время генерации uuid
uuid v7 содержит внутри дату и время. это удобно, например, если использовать этот uuid как айди записей в БД - без дополнительного поля храним дату создания.
а помимо timestamp в uuid v7 лежит ещё и счётчик, который должен монотонно увеличиваться в рамках одной миллисекунды. и места там хватит на 4 096 записей - столько за миллисекунду вы не сгенерируете, а гарантия уникальности есть
как я узнал про uuid
когда ещё не было нейронок, а знания передавались только через форумы, стаковерфлоу и чаты, я реверсил приложение и заметил такие странные идентификаторы, которые выглядели похожими, но всегда были разными.
я начал догадываться, что это какой-то специальный формат, но гугл (тогда ещё без ai mode, помните такой??) не мог мне ответить на мой вопрос.
и я пошел в чаты, чтобы спросить "а че это такое". вот там мне подсказали, что это называется uuid. с тех пор я фанат uuid4.