2リリース
0.1.1 | 2024年1月5日 |
---|---|
0.1.0 | 2024年1月5日 |
#789 in テキスト処理
8KB
152 行
次世代、カスタマイズ可能でシンプルなIDシステム、Rustで構築。
特徴
- シンプル。 アカイは美しく、最小限のIDを生成し、ユニークです。
- カスタマイズ可能。 プレフィックス、開始タイムスタンプをパーソナライズし、ノードIDを使用できます。
- 強靭。 アカイは世界で最も愛されるプログラミング言語であるRustで構築されています。
- 安全。 スーパーフレイクのユニーク性とランダムな文字の組み合わせにより、重複するIDを生成することができません。
インストール
望ましいバージョンのクレーツをCargo.tomlの依存関係セクションに設定します
[dependencies]
akai = { version = "0.1.0" }
ID
アカイIDは、プレフィックス、スーパーフレイク、そして尾(暗号化セキュリティランダムな文字列)の3つのセクションで構成されています。
スーパーフレイク
スーパーフレイクは、Twitterのスノーフレイクに基づく革新的な識別技術です。スーパーフレイクは以下を結合して生成されます:
- 42ビットのタイムスタンプ、
- 10ビットのノードID、および
- 12ビットのシーケンス番号。
例
use akai::{Akai, AkaiPrefix, AkaiOptions};
let prefix = AkaiPrefix {
content: "user".to_string(),
allows_lowercase: true
};
let akai = Akai::new(AkaiOptions {
prefix,
custom_bytes: Some(8),
custom_timestamp: None
});
match akai.generate() {
Ok(id) => println!("{}", id),
Err(error) => eprintln!("Error: {}", error)
}
依存関係
~2.3–3.5MB
~58K SLoC