7

各ユーザーにエイリアスを付与して、ID を保護しながらディスカッションで参照できるようにします。これらのエイリアスは一意である必要があります。

簡単な方法は単純に SERIAL 列を使用することですが、int は記憶に残りません。エイリアスを思い出せるように、実在の人物の名前を使用したいと考えています。

もう1 つの簡単な方法は、どこかで名前のリストを見つけて番号を付け、SERIAL を使用してリストから名前を取得することです。リストがなくなったら、さらに名前を追加します。

しかし、int を名前にマッピングする賢い方法はありますか?

現在、約 2,000 人のユーザーがおり、成長していますが、Google になることはないと思います。

4

4 に答える 4

7

クレイジーに聞こえるかもしれません。しかし、ゲーム プログラミングでは、Alveolar、Bilabial、Glottal、Palatal、Velar などの無意味だが音声的に一意の名前を作成するために使用されるアルゴリズムがあります。

于 2010-06-17T10:43:21.277 に答える
5

国勢調査局の名前ファイルからランダムに名前を選びます。

于 2009-08-20T03:55:29.617 に答える
1

ハッシュ関数を試しましたか? それらが Postgres で利用できるかどうかはわかりません。しかし、ええ、1 つの方法は、内部ハッシュ関数に任せることです。一意の ID を出力します。

于 2009-08-20T03:58:15.337 に答える
0

「当時」の Compuserve (または AOL でしたか?) は、単語のリストを 2 つ用意し、各リストから 1 つの単語を取り出して組み合わせることで、一時的な初期パスワードを発行していました。おそらく、そのようなものがユーザーベースで機能するでしょう。各単語リストが 256 文字の場合、それは 65535 の一意の組み合わせになります (そして、16 ビット整数をインクリメントするだけで組み合わせを簡単に選択できることに注意してください)。

編集: 結局、整数の単純なインクリメントを行わないでください。そうしないと、最初の 256 人がすべて同じ最初の単語を取得しますが、基本的な考え方は依然として健全です。まだ使用されていないランダムな 16 ビットの数値を選択します。上位 8 ビットは最初の単語リストへのインデックスであり、下位 8 ビットは 2 番目の単語リストへのインデックスです。

于 2009-08-20T03:57:52.683 に答える