![]() |
|
||||||||||
|
|||||
|
Banned
[+5 23.05.09]
[+1 23.05.09] Регистрация: Mar 2009
Сообщений: 93
|
Вот это я понимаю вероятность:
"генерируя 1 триллион ключей каждую наносекунду, перебрать все возможные значения удастся лишь за 10 миллиардов лет" http://ru.wikipedia.org/wiki/UUID Совпадений точно не будет ![]() |
|
|||||
|
Modus ponens
|
На сервере могут поменять батарейку на материнке и байос перезалить с неправильными часами! И, что самое главное сделают это случайно, неподумав... %)
Или, что еще хуже, когда, в 10000000-м году кто-нибудь захочет загрузить на этот сервер свою фотку, то окажется, что место отведенное для записи времени не достаточно для того, чтобы создать новую учетную запись ![]()
__________________
Hell is the possibility of sanity Последний раз редактировалось wvxvw; 17.04.2009 в 02:36. |
|
|||||
|
Способ "i++" плох тем, что все файлы можно, без проблем, мотануть с сервака даунлоадером. Хотя, это можно решить прикрутив функцию которая будет перед i генерировать несколько случайных символов, букв например. Никаких ключей и "милисекунд от 1970 года" вам не надо.
Последний раз редактировалось willis83; 17.04.2009 в 13:03. |
|
|||||
|
Регистрация: Mar 2009
Сообщений: 357
|
да, GUID - надежная штука. и часто используется в многопользовательских он-лайн играх. имхо, миллисекунд (и i++) вполне достаточно. конечно, можно генерировать и символы, но цифры аккуратнее ).
правда ли, что AS3 сильно медленнее других языков и, в частности, PHP? |
|
|||||
|
стервочка (я мужик)
|
зачем в онлайн играх нужен GUID?
|
|
|||||
|
Banned
[+5 23.05.09]
[+1 23.05.09] Регистрация: Mar 2009
Сообщений: 93
|
Думаю, человек слегка ошибся - GUID действительно не очень удобная штука, особенно из-за наличия открывающей и закрывающей скобок (стандарт), да и генерируется на базе MAC-адреса, за что и подвержен критике.
Но GUID - частный случай стандарта UUID, который действительно удобно использовать как уникальный идентефикатор. Кстати, в одном проекте использовал его в чистом виде как имя загружаемых на сервер файлов (в базе - ссылка), а нынче - как идентефикатор игроков, транзакций и акций как раз в многопользовательской онлайн-игре. А удобство заключается в нескольких параметрах: - действительно уникально; - стандартизованный вид, в том числе как стринг (не случайное число с произвольным порядком, а четкий формат); - в некоторых БД работа с UUID идет на уровне собственного идентефикатора (опыт в базах небольшой, но знаю, что в MS SQL Server есть, а в MySQL и PotgreSQL нет) - индексирование явно не литеральное; - легко получить численное представление, так как фактически это 126-битное число. |
|
|||||
|
стервочка (я мужик)
|
IDimitry, мдя ... первый раз такое слышу, чтобы генерить на сервере уникальный ИД пользователя в виде GUID, вместо обычных инкрементов.
|
|
|||||
|
Banned
[+5 23.05.09]
[+1 23.05.09] Регистрация: Mar 2009
Сообщений: 93
|
Ну, во-первых, повторяю, что GUID не пользовался, не пользуюсь и пользоваться не собираюсь. А во-вторых, при перезагрузке сервера счетчик обнуляется (или надо придумывать механизм хранения последнего значения, что глупо и непрактично), а нового юзера надо идентефицировать и при тесте, и в работе. Так почему бы не воспользоваться удобным идентефикатором? Тем более, что делать это крайне просто: String uuid = java.util.UUID.randomUUID().toString();
|
|
|||||
|
Регистрация: Mar 2009
Сообщений: 357
|
BlooDHounD, http://clanbase.ggl.com/doc.php?did=174
|
![]() |
![]() |
Часовой пояс GMT +4, время: 17:42. |
|
|
« Предыдущая тема | Следующая тема » |
|
|