node.jsのいろいろなモジュール37 – puidでUUIDの生成
UUIDを生成する
今回紹介するpuidは、ユニークなIDを生成してくれるライブラリです。12桁、14桁、24桁のIDを生成することが可能です。 マシンやプロセスID、時間を種値として使用し、固有のIDを生成してくれます。
生成されるIDは4つのセクションになっています。 例えば、「he5fps6l2504cd1w3ag8ut8e」(he5fps6l-2504cd-1w3a-g8ut8e)というIDが生成されたとすると、 IDは次のような区分で生成されたことになります。
- タイムスタンプ: 'he5fps6l'
- マシンのID(ホスト名/NWインターフェイスの最初6文字をMD5化したもの): '2504cd'
- プロセスID: '1w3a'
- ナノ秒カウンタ: 'g8ut8e'
環境構築方法
今回使用した動作環境は以下のとおりです。
- OS : MacOS X 10.7.5
- Node.js : v0.10.8
- npm : 1.2.23
npmを使用してpuidモジュールをインストールしましょう。
% mkdir puid-sample % cd puid-sample % npm init //入力は全部デフォルトでいいです % npm install puid --save
サンプルプログラム作成
puidではいろいろな方法でUUIDを生成できます。 最も簡単なのは、Puidオブジェクトを引数なしでインスタンス化して使う方法です。24桁のUUIDが生成されます。
var Puid = require('puid'); var puid; //24桁のUUIDを生成 puid = new Puid(); console.log(puid.generate());
また、Puidに引数を渡すことで、nodeIDを指定することができます。 下記の場合、14桁のUUIDが生成されます。(下2桁は指定したnodeID)
// 14桁のUUID生成(nodeId文字列指定) puid = new Puid('JS'); console.log(puid.generate());
まとめ
DBにレコードを登録する際のユニークIDを生成するとき等、簡単につかえて便利ですね。
参考サイトなど
- Github: https://github.com/pid/puid