คำถามติดแท็ก uuid

UUID (Universally Unique IDentifier) ​​คือตัวระบุที่สร้างขึ้นโดยมีเจตนาที่จะเป็นตามชื่อที่แนะนำโดยไม่ซ้ำกัน


5
ฉันจะสร้าง UUID ใน C # ได้อย่างไร
ฉันกำลังสร้างไฟล์. idl โดยใช้โปรแกรม ฉันจะสร้าง UUID สำหรับอินเทอร์เฟซและวิธีการแบบเป็นโปรแกรมได้อย่างไร ฉันสามารถสร้าง UUID แบบเป็นโปรแกรมได้หรือไม่

3
กำลังสร้าง v5 UUID ชื่อและเนมสเปซคืออะไร?
ฉันได้อ่านmanหน้า แต่ฉันทำไม่ได้ undestand สิ่งที่nameและnamespaceมีการ สำหรับ UUID เวอร์ชัน 3 และเวอร์ชัน 5 จะต้องกำหนดเนมสเปซและชื่ออาร์กิวเมนต์บรรทัดคำสั่งเพิ่มเติม เนมสเปซเป็น UUID ในการแสดงสตริงหรือตัวระบุสำหรับ UUID ของเนมสเปซที่กำหนดไว้ล่วงหน้าภายใน (ปัจจุบันรู้จักคือ "ns: DNS", "ns: URL", "ns: OID" และ "ns: X500") ชื่อนี้เป็นสตริงที่มีความยาวโดยพลการ เนมสเปซ: เนมสเปซเป็น UUID ในการแสดงสตริงหรือ หมายความว่าฉันต้องจัดเก็บ (UUID v4) ไว้ที่ไหนสักแห่งที่สัมพันธ์กับ UUID v5 ที่สร้างขึ้น? ไม่ว่าในกรณีใดเหตุใดจึงไม่ดำเนินการโดยอัตโนมัติ ชื่อนี้เป็นสตริงที่มีความยาวโดยพลการ nameสตริงสุ่มอย่างสมบูรณ์? จุดประสงค์ของมันคืออะไร? สามารถถอดรหัสจาก UUID v5 ได้หรือไม่?
125 uuid 

16
คุณถูกบังคับให้ใช้ UUID เป็นส่วนหนึ่งของการออกแบบเมื่อใด
ฉันไม่เห็นจุดของUUIDจริงๆ ฉันรู้ว่าความน่าจะเป็นของการชนนั้นเป็นศูนย์อย่างมีประสิทธิภาพแต่ศูนย์ที่มีประสิทธิภาพนั้นไม่ได้ใกล้เคียงกับที่เป็นไปไม่ได้เลย ใครช่วยยกตัวอย่างที่คุณไม่มีทางเลือกอื่นนอกจากใช้ UUID ได้ไหม จากการใช้งานทั้งหมดที่ฉันเห็นฉันสามารถเห็นการออกแบบทางเลือกที่ไม่มี UUID แน่นอนว่าการออกแบบอาจซับซ้อนกว่าเล็กน้อย แต่อย่างน้อยก็ไม่มีโอกาสที่จะล้มเหลวที่ไม่ใช่ศูนย์ UUID มีกลิ่นเหมือนตัวแปรทั่วโลกสำหรับฉัน มีหลายวิธีที่ตัวแปรทั่วโลกสร้างขึ้นสำหรับการออกแบบที่เรียบง่ายขึ้น แต่การออกแบบที่ขี้เกียจ
123 architecture  uuid 

3
ความยาวอักขระสูงสุด UUID
เรากำลังใช้ UUID เป็นคีย์หลักสำหรับออก oracle DB และพยายามกำหนดความยาวอักขระสูงสุดที่เหมาะสมสำหรับ VARCHAR เห็นได้ชัดว่านี่คือ 36 อักขระ แต่เราสังเกตเห็น UUID'S สร้างขึ้นซึ่งยาวกว่านี้ - ยาวได้ถึง 60 อักขระ มีใครทราบความยาวอักขระสูงสุดที่เหมาะสมสำหรับ UUID หรือไม่?
115 primary-key  uuid 

12
มีวิธีการสร้าง UUID ด้วยภาษา go
ฉันมีรหัสที่มีลักษณะดังนี้: u := make([]byte, 16) _, err := rand.Read(u) if err != nil { return } u[8] = (u[8] | 0x80) & 0xBF // what does this do? u[6] = (u[6] | 0x40) & 0x4F // what does this do? return hex.EncodeToString(u) มันส่งคืนสตริงที่มีความยาว 32 แต่ฉันไม่คิดว่ามันเป็น UUID ที่ถูกต้อง หากเป็น UUID จริงเหตุใดจึงเป็น …
109 go  uuid 

5
วิธีสร้างแนวทางกำหนด
ในแอปพลิเคชันของเราเรากำลังสร้างไฟล์ Xml ด้วยแอตทริบิวต์ที่มีค่า Guid ค่านี้จำเป็นเพื่อให้สอดคล้องกันระหว่างการอัพเกรดไฟล์ ดังนั้นแม้ว่าทุกอย่างในไฟล์จะเปลี่ยนไป แต่ค่า guid สำหรับแอตทริบิวต์ก็ควรจะยังคงเหมือนเดิม วิธีแก้ปัญหาที่ชัดเจนวิธีหนึ่งคือการสร้างพจนานุกรมแบบคงที่พร้อมชื่อไฟล์และคำแนะนำที่จะใช้สำหรับพวกเขา จากนั้นเมื่อใดก็ตามที่เราสร้างไฟล์เราจะค้นหาชื่อไฟล์ในพจนานุกรมและใช้คำแนะนำที่เกี่ยวข้อง แต่ไม่สามารถทำได้เนื่องจากเราอาจปรับขนาดเป็น 100 ไฟล์และไม่ต้องการรักษารายการคำแนะนำจำนวนมาก ดังนั้นอีกวิธีหนึ่งคือทำให้ Guid เหมือนกันตามพา ธ ของไฟล์ เนื่องจากเส้นทางไฟล์และโครงสร้างไดเร็กทอรีแอ็พพลิเคชันของเราไม่ซ้ำกัน Guid จึงควรไม่ซ้ำกันสำหรับพา ธ นั้น ดังนั้นทุกครั้งที่เราทำการอัปเกรดไฟล์จะได้รับคำแนะนำเดียวกันตามเส้นทางของมัน ฉันพบวิธีที่ยอดเยี่ยมวิธีหนึ่งในการสร้าง 'แนวทางกำหนด ' (ขอบคุณ Elton Stoneman) โดยทั่วไปจะทำสิ่งนี้: private Guid GetDeterministicGuid(string input) { //use MD5 hash to get a 16-byte hash of the string: MD5CryptoServiceProvider provider …
103 c#  .net  guid  uuid 

2
ตัวอย่างการสร้าง UUID โดยใช้ Boost ใน C ++
ฉันต้องการสร้าง UUID แบบสุ่มเนื่องจากอินสแตนซ์ในโปรแกรมของฉันมีตัวระบุที่ไม่ซ้ำกันเป็นสิ่งสำคัญ ฉันตรวจสอบBoost UUIDแล้ว แต่ไม่สามารถจัดการเพื่อสร้าง UUID ได้เพราะฉันไม่เข้าใจว่าจะใช้คลาสและวิธีการใด ฉันจะขอบคุณถ้ามีคนให้ตัวอย่างวิธีการบรรลุเป้าหมายนี้
96 c++  boost  uuid  boost-uuid 

6
การชนกันเมื่อสร้าง UUID ใน JavaScript?
สิ่งนี้เกี่ยวข้องกับคำถามนี้ ฉันใช้รหัสด้านล่างจากคำตอบนี้เพื่อสร้าง UUID ใน JavaScript: 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) { var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); return v.toString(16); }); โซลูชันนี้ดูเหมือนจะใช้งานได้ดี แต่ฉันได้รับการชนกัน นี่คือสิ่งที่ฉันมี: เว็บแอปที่ทำงานใน Google Chrome ผู้ใช้ 16 คน ผู้ใช้เหล่านี้สร้าง UUID ประมาณ 4000 รายการในช่วง 2 เดือนที่ผ่านมา ฉันได้รับการชนกันประมาณ 20 ครั้ง - เช่น UUID ใหม่ที่สร้างขึ้นในวันนี้เหมือนกับเมื่อประมาณ 2 เดือนที่แล้ว (ผู้ใช้คนละคน) …


6
การใช้ UUID เป็นคีย์หลักในโมเดล Django (ผลกระทบของความสัมพันธ์ทั่วไป)
ด้วยเหตุผลหลายประการ ^ ฉันต้องการใช้ UUID เป็นคีย์หลักใน Django บางรุ่นของฉัน หากฉันทำเช่นนั้นฉันจะยังสามารถใช้แอปภายนอกเช่น "Contrib.comments", "django-vote" หรือ "django-tagging" ซึ่งใช้ความสัมพันธ์ทั่วไปผ่าน ContentType ได้หรือไม่ การใช้ "django-vote" เป็นตัวอย่างรูปแบบการโหวตจะมีลักษณะดังนี้: class Vote(models.Model): user = models.ForeignKey(User) content_type = models.ForeignKey(ContentType) object_id = models.PositiveIntegerField() object = generic.GenericForeignKey('content_type', 'object_id') vote = models.SmallIntegerField(choices=SCORES) ดูเหมือนว่าแอปนี้จะสมมติว่าคีย์หลักสำหรับโมเดลที่โหวตเป็นจำนวนเต็ม ดูเหมือนว่าแอปความคิดเห็นในตัวจะสามารถจัดการ PK ที่ไม่ใช่จำนวนเต็มได้แม้ว่า: class BaseCommentAbstractModel(models.Model): content_type = models.ForeignKey(ContentType, verbose_name=_('content type'), related_name="content_type_set_for_%(class)s") object_pk = …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.