2 poin oleh GN⁺ 2023-06-29 | 1 komentar | Bagikan ke WhatsApp
  • TypeIDs: perluasan aman terhadap tipe yang terinspirasi dari API Stripe dan berbasis UUIDv7.
  • TypeIDs terdiri dari awalan tipe, pemisah garis bawah, dan UUIDv7 128-bit yang dikodekan dalam base32 sepanjang 26 karakter.
  • TypeIDs menawarkan keunggulan seperti keamanan tipe, kompatibilitas dengan UUID, kemampuan diurutkan-K, dan pengodean yang dirancang dengan cermat.
  • TypeIDs kompatibel dengan standar UUIDv7 yang akan datang dan dapat digunakan sebagai kunci utama basis data dengan lokalitas yang baik.
  • TypeIDs diimplementasikan dalam Go dan SQL, dengan implementasi untuk Python, Rust, dan TypeScript yang akan segera hadir.
  • Artikel ini menyebutkan alat baris perintah untuk membuat, mendekode, dan mengodekan TypeIDs.
  • Artikel ini juga menyebutkan pekerjaan terkait UUIDv7 dan alternatif UUIDv7 seperti xid, ulid, dan ksuid.

1 komentar

 
GN⁺ 2023-06-29
Komentar Hacker News
  • Ada usulan untuk mengunci dan mendokumentasikan string prefiks, serta mengizinkan satu pemisah untuk tipe gabungan.
  • Implementasi Go untuk pengidentifikasi ini dinilai kurang pengujian dan memerlukan unit test.
  • Usulan lain adalah menyesuaikannya dengan implementasi UUID Google di Go, dengan memakai fungsi parsing dan array byte internal alih-alih string.
  • Keputusan desain pengidentifikasi ini dipuji karena mencapai keseimbangan yang baik di antara berbagai trade-off.
  • Komentator lain membagikan pendekatannya sendiri untuk membuat pengidentifikasi unik, menggunakan basis-32 tanpa huruf vokal dan menambahkan checksum.
  • Mereka mengkritik encoding Crockford dan mengusulkan base 58 sebagai encoding yang lebih efektif dan ringkas.
  • Tautan ke sistem base-32 milik Crockford dibagikan, sambil menunjukkan kebingungan karena huruf U dikecualikan akibat "kecabulan yang tidak disengaja".
  • Seorang komentator membagikan penggunaan "tagged ID" di ORM dan menyesal tidak memakai garis bawah sebagai pemisah agar lebih mudah saat copy-paste.
  • Pentingnya detail dalam implementasi pengidentifikasi ditekankan.
  • Disebutkan adanya harapan agar UUIDv7 menjadi standar dan didukung secara bawaan oleh library serta database.
  • Kelebihan dan kekurangan UUIDv4 untuk database dibahas, dan UUIDv4 lebih disukai dalam aplikasi database terdistribusi.
  • Kegunaan memilih seluruh ID dengan double-click ditekankan.
  • ksuid direkomendasikan sebagai generator ID alternatif yang menawarkan ruang kunci lebih besar dan timestamp yang bisa diurutkan.
  • ksuid dipuji sebagai generator ID serbaguna terbaik karena menyediakan library di sebagian besar bahasa, sementara UUID v1-7 dianggap boros.