すでに生成したIDかどうかを気にする必要がないユニークな文字列を作成しようとした場合
use Data::UUID;
use MIME::Base64::URLSafe;
print urlsafe_b64encode( Data::UUID->new->create );
こんな感じにやるのがいいのかなぁ。これで22文字。
んー。
エントリーのURLとかにつかいたくてもう少し短くしたいけど、文字列生成したときに重複してないか調べるためにDBを引くというのがイヤダナー。
すでに生成したIDかどうかを気にする必要がないユニークな文字列を作成しようとした場合
use Data::UUID;
use MIME::Base64::URLSafe;
print urlsafe_b64encode( Data::UUID->new->create );
こんな感じにやるのがいいのかなぁ。これで22文字。
んー。
エントリーのURLとかにつかいたくてもう少し短くしたいけど、文字列生成したときに重複してないか調べるためにDBを引くというのがイヤダナー。
コメントを投稿するには上記リンクから Flickr 経由でログインする必要があります。
Flickr のアカウントをお持ちの方はユーザー登録の必要はありません。
この認証システムには Flickr の認証APIを利用しています。これに関する詳しい説明は FlickrAPI 公式ドキュメントをご覧ください。
daydream.trippers says:
エントリーのURLにつかいたくて,ということであれば,
http://www.ietf.org/rfc/rfc4122.txt
node の部分はいらないかと思います。
なので,
urlsafe_b64encode( substr Data::UUID->new->create, 0, 10 );
とか(15文字)。未検証ですが。
もし複数のマシンで生成するとかであれば node もいりますが。
Posted at 2008-02-08T18:09:55 ( permalink )