随机假名

时间:2014-04-17 22:00:54

标签: database random

某些网站在您创建项目文件时会创建随机假名称。例如,在Heroku中创建项目可以生成“巨大堡垒-4566”作为项目名称。我想知道他们是如何创建这些名称的,因为我想在iOS应用程序中使用相同的技术。

我的猜测是他们有一个名字的数据库,他们只是随机选择名字,但他们从哪里获取这些数据库?任何提示?

3 个答案:

答案 0 :(得分:1)

它看起来像是两张桌子:一张形容词表,一张名词表。创建项目时,他们可以通过从每个表中选择一个随机条目,然后在结尾附加一个随机生成的数字来创建名称。

根据this site,可以有效地从表中选择一个随机条目(假设id / word的表定义):

SELECT `word` FROM `nouns` 
    WHERE id >= (SELECT FLOOR(MAX(id) * RAND()) FROM `nouns`)
ORDER BY `id` LIMIT 1

重复一个形容词。

答案 1 :(得分:1)

当你特别要求Heroku时,你可以在这里阅读他们的实施How can I programmatically generate Heroku-like subdomain names?

答案 2 :(得分:0)

Ruby中的

RandomUsername使用了形容词和形容词。名词。它没有使用字典或通用字词数据库,因为其中许多词语具有强烈的负面含义,因此不适合商业环境。