- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
function createUUID() {
var s = [];
var hexDigits = "0123456789abcdef";
for (var i = 0; i < 36; i++) {
s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
}
s[14] = "4";
s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1);
s[8] = s[13] = s[18] = s[23] = "-";
var uuid = s.join("");
return uuid.substring(0, 18);
}
Интересно, тот кто это писал сам то понял что написал.. и зачем?
P.S. взято отсюда - https://github.com/flashphoner/flashphoner_client/blob/wcs_api/client/src/Flashphoner.js
inkanus-gray 02.11.2015 12:12 # +4
gost 02.11.2015 13:12 # 0
Dummy00001 02.11.2015 13:24 # +2
есть некоторое количество аппликух которые различают "типы" ууидов, и пихают где не попади вот такие магические числа что бы эти типы различать.
как по мне, ууиды есть просто говно. некрософт их запустил в широкое использование, но мне лично еще не разу не встречалось их использование которое не было бы говном. народ почему то верит что у ууидов есть магическое свойство никогда и ни при каких условиях не повторятся. наверное потому что "уникальный" в имене стоит.
strax 05.11.2015 16:49 # −1
Вы также неправы, приписывая "некрософту" UUID - это далеко не их творение.
Вы, очевидно, даже не потрудились прочитать статью, ссылку на которую привели.
TarasB 05.11.2015 17:21 # 0
Dummy00001 05.11.2015 17:54 # +2
Поэтому наверное "огромное количество" програм с некоторой малой вероятносью падают?
В большинстве случаев уникальный идентификатор либо не нужен (80% случаев), либо тривиальный счетчик работает лучше (19% случаев).
В крайнем случае (1%), если хорошие IDы нужны, нужно заводить какую уже базу что бы гарантировано уникальные ключи генерировать.
> Вы также неправы, приписывая "некрософту" UUID - это далеко не их творение.
Я и не припысывал. Я написал что они популяризировали (ака "запустили в широкое использование").
> Вы, очевидно, даже не потрудились прочитать статью, ссылку на которую привели.
Читал я ее уже раз 5 за последние 15 лет. А сейчас на самом деле поленился.
strax 05.11.2015 18:00 # −1
inkanus-gray 02.11.2015 13:25 # +2
https://tools.ietf.org/html/rfc4122
Darth 02.11.2015 13:25 # 0
14 вроде как старший бит инта, 15 бит это уже знак. в остальном присоединяюсь к вопросу
inkanus-gray 02.11.2015 13:27 # 0
> Особенно s[19], если его отрезают в return.
А вот это уже смешно.
inkanus-gray 02.11.2015 13:33 # +2