write ahead log

ロールフォワード用

javascriptでUUIDを作成する方法あれこれ

色々あって面白かったのでメモしておく。 一応全部ブラウザ上の前提。

  1. CryptoAPIを使う
  2. 外部パッケージを使う
  3. URL: createObjectURLを使う

CryptoAPIを使う

使えるなら真っ先に考えるやつ。

MDN - Crypto: randomUUID() メソッド

外部パッケージを使う

ここら辺の有名なやつを持ってきて使う。 HTTPSじゃないとブラウザAPIは使えないのでそういう場合は便利かも。
さすがにrandomUUIDが使えない環境は少ないだろうし。

uuid - npm

URL: createObjectURLを使う

知らなかったし想像もしなかったやつ。リンク先からの引用。

function uuid() {
  return URL.createObjectURL(new Blob()).slice(-36)
}

uuidライブラリの代わりになる実装方法の紹介

マジで?と思って調べてみたらホントっぽい。

W3C - File API - 8.2. Model