jsfiddle geração de identificadores exclusivos [closed]

0

Considere o jsfiddle.net:

Quando você pressiona "salvar" eles geram uid para o seu jsfiddle como vzBZB.

Como eles fazem isso? Por que apenas 5 caracteres?

E antes de mais nada - Como eles garantem que nunca haja uma colisão? (mesmo uid gerado para 2 jsfiddles diferentes)

Eles podem ficar sem UIDs algum dia?

    
por DrStrangeLove 13.12.2011 / 21:32

1 resposta

1

How do they do it? Why only 5 characters?

A única maneira segura de saber é perguntar ao jsFiddle, então essa parte da sua pergunta não é realmente construtiva.

Os UIDs não são gerados sequencialmente, o que provavelmente impede que alguém navegue pelos violinos de todos os outros.

How do they make sure there's never a collision?

Essa parte é simples: você pode gerar uma aleatoriamente e verificar se ela ainda não existe.

Se isso não acontecer, você está feito. Se isso acontecer, repita.

Desde que haja pelo menos tantos UIDs não usados quanto os usados, você não precisará repetir mais de uma vez na maioria das vezes.

Can they run out of UIDs some day?

Com um alfabeto de 52 letras ( A-Z e a-z ), você tem 52 ^ 5 = 380,204,032 UIDs diferentes disponíveis.

Isso já é um monte de violinos, mas se eles acabarem, eles poderiam apenas adicionar uma sexta letra.

    
por 13.12.2011 / 22:07

Tags