すべての V4 UUID
(everyuuid.com)everyuuid.comは、数値インデックスと UUID 文字列を並べて表示するシンプルな一覧ページである- 各項目は、長い 0 埋めの数字とインデックス、次の行のハイフン付き UUID で構成される
- UUID 文字列は、3 番目のグループが
4で始まる V4 UUID 形式に従っており、497dcba3-ecbf-4587-a2dd-5eb0665e6880のような値が表示される - 本文には 生成方式、使い方、API、コードの説明はなく、一覧そのものを閲覧する形式に近い
- 確認できた範囲は 0 から 49 までで、ページの実質的な情報はタイトルと UUID 一覧に集中している
数字と UUID を並べて表示する構成
- タイトルは Every UUID V4 である
- 本文は数値項目と UUID 文字列が繰り返される一覧で構成される
- 要約された範囲は 0 から 49 までである
項目の表示方法
- 各項目は 2 行構成である
- 1 行目: 長い
0の文字列の後にインデックス番号が付く - 2 行目: ハイフンで区切られた UUID 文字列が表示される
- 1 行目: 長い
- 冒頭の例は次のとおり
000000000000000000000000000000000000 0497dcba3-ecbf-4587-a2dd-5eb0665e6880
- 最後に確認された項目は次のとおり
00000000000000000000000000000000000 4908716598-71f7-4e8b-9fff-e36d2c5d21fe
説明よりデータ一覧に近いページ
- UUID 文字列は、ハイフンで区切られた UUID 表記形式を使用している
- UUID の生成原理、並び順の基準、全体範囲、検索機能、ライセンス、実装方式に関する説明はない
- 技術解説や利用案内なしに データ一覧のみが提供されている
2件のコメント
おお… 👀
Hacker News の意見
検索が実際に動作する点がいちばん印象的。優れたマジックがたいていそうであるように、説明を聞くととても単純に見えもする
気になる人向けのプロジェクトの仕組み解説記事: https://eieio.games/blog/writing-down-every-uuid/
最初は正確な UUID だけを検索してみたが、全文検索まで対応していると知ってさらに驚いた
もちろん、これほど多くの実用性を提供できることも誇らしい。ついに必要にぴったり合う UUID を見つけて使えるようになった
検索結果を前後に移動するたびに別の結果が出るのを見てそう推測したが、実際にいくつ生成しているのか気になる
それでもかなり格好いいトリックに見える
コーパスから検索するのではなく、入力を使ってコーパスのインデックスを生成するようなもの。ここでは UUID のリストで、スペルチェッカーでは辞書の単語リストにあたる
どこかのハッカーがすべての UUIDを流出させたらしい
自分の UUID が流出リストに含まれているか確認しないと
10b82756-f8b4-4fee-a508-adeadbeef5eb仕方ない、もうフォーマットする時間だ
とても便利。UUID を忘れたら参照することにする。ビットコインの秘密鍵を思い出すときも、このサイトをいつも使っている: https://privatekeys.pw/keys/bitcoin/1
本物の鍵: 残高が今や 0
ときどき UUID を生成しておいてどこにも使わないと、なんとなく申し訳ない気分になる。無駄にしたように感じる
event_uuidカラムがあり、UUID、大きな整数、アカウント番号、そのほか10個ほどの識別子を合わせた形になっているどのカラムで JOIN すべきか分からないとき、JOIN がとても楽になる
SELECT TOP 1...ORDER BY NEWID()を使ったことがあるUUID が数百万個生成され、そのうち1つが偶然もっとも低い値として選ばれ、紐づいたレコードが返された。とんでもない無駄だ
「ブラウザは1兆の1兆ピクセルより高いウィンドウをレンダリングしたがらないので、スクロールとレンダリングを自前で処理する必要があった」という部分が面白い。実際にこういうことを試すとかなり期待外れで、1兆ピクセルには遠く及ばない
5年前 Fastmail で働いていたとき、IE ユーザーの顧客がメールボックスに約20万通のメールを入れたらスクロールバーが壊れたので確認した限界は次の通りで、いくつかは今さっき再確認した
Firefox は以前、17,895,697ピクセルより大きい値として解釈される宣言を無視していた。今はその地点でクランプするが、3ピクセルほど差があり、正確に何が起きているのかはすぐには分からない
IE は 10,737,418.23ピクセル以上として解釈される宣言を無視する。WebKit はおよそ 2²⁵、つまり 33,554,432ピクセル付近で値をクランプする
Chromium は以前のテストでは WebKit と同じだったが、今は約 22,360,882ピクセル付近でクランプする。現在は1.5倍スケールのディスプレイなので 2²⁵ がデバイスピクセルと関係している可能性もあるが、最初にテストしたときは2倍スケールのディスプレイだった気がする
関連するソースコードリンクとあわせて、より詳しく書いた投稿もある: https://news.ycombinator.com/item?id=34299569
また、その数字がどう決まったのか、限界がないと何が壊れ始めるのかもとても気になる。
clientHeight周辺の奇妙な挙動の例が、そのヒントかもしれない45678910pxに設定しようとして知った: https://thewisenerd.com/works/45678910px.html新しい
npmパッケージget-uuidを発表したい。内部ではeveryuuid.comを呼び出し、ランダムな行番号を選んでその UUID を返すnpmパッケージを作って、数字の間の-を取り除いた GUID を返すようにしよう。コード再利用万歳それと、君のパッケージが自分の望むことを正確にはしてくれないと気づいて、私がフォークする日も楽しみにしていてほしい
https://libraryofbabel.info/ を思い出す。今は落ちているようなので、Archive を試せる: https://web.archive.org/web/20241112121646/https://libraryof...
短編 https://en.wikipedia.org/wiki/The_Library_of_Babel に着想を得た面白い実装で、「現在可能なすべての3200文字のページを含んでいる」という。ただし文字セットが限定されていてハイフンがないため、これらの UUID は見つからない
とてつもなく大きな数を理解しているなら、面白くも恐ろしい読み物だ
有効な UUID であるすべての
.comドメインの一覧だと思った。実際にそういうドメインがどれくらいあるのか気になった更新: 別のコメントですでに共有されていた: https://news.ycombinator.com/item?id=42342653
圧縮技術が発達しすぎて、今や 340アンデシリオンバイト を超える Web ページを閲覧できる
本当に驚異的な時代に生きている
1画面を超える分量の内容が一度に入っているのに、スクロール時に数秒のローディングアニメーションが出ない Web サイトだなんて驚きだ
現代の Web アプリケーション開発者たちがこの技術を何らかの形で活用できるのか気になる
コンピュータハードウェアは1995年、つまり30年前より1000倍速くなっているのに、ソフトウェアは肥大化しすぎて今なお遅いというのは馬鹿げている
関連動画: “Will Software Stop Getting Slower?” Jonathan Blow
https://www.youtube.com/watch?v=4ka549NNdDk