UUID V4 ทั้งหมด
(everyuuid.com)everyuuid.comเป็นหน้าเว็บแบบรายการเรียบง่ายที่แสดง ดัชนีตัวเลขและสตริง UUID คู่กัน- แต่ละรายการประกอบด้วย ตัวเลขที่เติม 0 ด้านหน้าเป็นจำนวนมาก พร้อมดัชนี และบรรทัดถัดไปเป็น UUID ที่มีเครื่องหมายขีดกลาง
- สตริง UUID ใช้ รูปแบบ V4 UUID โดยกลุ่มที่สามขึ้นต้นด้วย
4และมีการแสดงค่าอย่าง497dcba3-ecbf-4587-a2dd-5eb0665e6880 - ในเนื้อหาไม่มีคำอธิบายเกี่ยวกับ วิธีสร้าง วิธีใช้งาน API หรือโค้ด ทำให้ลักษณะใกล้เคียงกับการเปิดดูรายการนั้นเอง
- ช่วงที่ตรวจสอบได้คือ 0 ถึง 49 และข้อมูลหลักของหน้าเน้นที่ชื่อเรื่องกับรายการ UUID
โครงสร้างที่แสดงตัวเลขและ UUID เคียงกัน
- ชื่อเรื่องคือ Every UUID V4
- เนื้อหาประกอบด้วยรายการที่ทำซ้ำของตัวเลขและสตริง UUID
- ช่วงที่สรุปไว้คือ 0 ถึง 49
วิธีการแสดงแต่ละรายการ
- แต่ละรายการมีโครงสร้างสองบรรทัด
- บรรทัดแรก: สตริง
0ยาว ๆ ตามด้วยตัวเลขดัชนี - บรรทัดที่สอง: สตริง UUID ที่คั่นด้วยขีดกลาง
- บรรทัดแรก: สตริง
- ตัวอย่างช่วงต้นมีดังนี้
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 ที่ตรงเป๊ะเท่านั้น แต่พอรู้ว่ารองรับถึงขั้น full-text search ก็ยิ่งทึ่งกว่าเดิม
แน่นอนว่าผมภูมิใจด้วยที่มันให้ประโยชน์ใช้งานจริงได้มากขนาดนี้ ในที่สุดก็หา UUID ที่ตรงกับความต้องการมาใช้ได้พอดี
เดาแบบนั้นเพราะทุกครั้งที่เลื่อนไปมาระหว่างผลการค้นหา จะได้ผลลัพธ์ที่ต่างกัน เลยสงสัยว่าจริง ๆ แล้วมันสร้างขึ้นมากี่รายการ
ถึงอย่างนั้นก็ดูเป็นทริกที่เจ๋งดี
ไม่ใช่การค้นหาในคลังข้อความ แต่เหมือนใช้ข้อมูลที่ป้อนมาเพื่อสร้างดัชนีของคลังข้อความแทน ในที่นี้คือรายการ UUID ส่วนในตัวตรวจสะกดก็คือรายการคำในพจนานุกรม
ดูเหมือนมีแฮ็กเกอร์บางคนทำ UUID ทั้งหมด หลุดออกมา
ต้องไปเช็กแล้วว่า UUID ของฉันอยู่ในรายชื่อที่หลุดไหม
10b82756-f8b4-4fee-a508-adeadbeef5ebช่วยไม่ได้แฮะ ถึงเวลาฟอร์แมตแล้ว
มีประโยชน์มาก ถ้าลืม UUID จะมาเปิดอ้างอิง ผมก็ใช้เว็บนี้ตลอดเวลาต้องจำ private key ของบิตคอยน์: https://privatekeys.pw/keys/bitcoin/1
คีย์จริง: ตอนนี้ยอดคงเหลือกลายเป็น 0
บางครั้งพอสร้าง UUID ขึ้นมาแล้วไม่ได้เอาไปใช้ที่ไหน ก็รู้สึกผิดแปลก ๆ เหมือนทำให้มันสูญเปล่า
event_uuidซึ่งเป็นการรวม UUID, จำนวนเต็มขนาดใหญ่, หมายเลขบัญชี และตัวระบุอื่น ๆ อีกสัก 10 อย่างเข้าด้วยกันเวลาที่ไม่รู้ว่าควร join ด้วยคอลัมน์ไหน การ join ก็สะดวกมาก
SELECT TOP 1...ORDER BY NEWID()เพื่อเลือกเรคคอร์ดหนึ่งรายการจากตารางที่มีหลายล้านรายการUUID หลายล้านตัวถูกสร้างขึ้น และหนึ่งในนั้นบังเอิญถูกเลือกเพราะมีค่าต่ำที่สุด แล้วเรคคอร์ดที่เชื่อมโยงอยู่ก็ถูกส่งกลับมา เป็นการสิ้นเปลืองสุด ๆ
ส่วนที่บอกว่า “เบราว์เซอร์ไม่อยากเรนเดอร์หน้าต่างที่สูงกว่าหนึ่งล้านล้านของหนึ่งล้านล้านพิกเซล เลยต้องจัดการการเลื่อนและการเรนเดอร์เอง” น่าสนุกดี ถ้าลองทำจริง ๆ จะค่อนข้างน่าผิดหวัง และไปไม่ถึงใกล้ ๆ หนึ่งล้านล้านพิกเซลเลยด้วยซ้ำ
เมื่อ 5 ปีก่อนตอนทำงานที่ Fastmail มีลูกค้าที่ใช้ IE ใส่อีเมลประมาณ 200,000 ฉบับไว้ใน mailbox แล้ว scrollbar พัง เลยไปตรวจดูขีดจำกัด ได้ผลประมาณนี้ และบางอันเพิ่งกลับไปเช็กใหม่เมื่อกี้
Firefox เมื่อก่อนจะละทิ้ง declaration ที่ถูกตีความว่าเป็นค่ามากกว่า 17,895,697 พิกเซล ตอนนี้ clamp ไว้ตรงจุดนั้น แต่มีความต่างประมาณ 3 พิกเซล เลยยังไม่ชัดทันทีว่าเกิดอะไรขึ้นกันแน่
IE จะละทิ้ง declaration ที่ถูกตีความว่าเป็นค่าตั้งแต่ 10,737,418.23 พิกเซลขึ้นไป ส่วน WebKit จะ clamp ค่าแถว ๆ 2²⁵ หรือประมาณ 33,554,432 พิกเซล
ตอนทดสอบครั้งก่อน Chromium เหมือนกับ WebKit แต่ตอนนี้ clamp แถว ๆ 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 ที่ลบ-ระหว่างตัวเลขออก ขอให้การนำโค้ดกลับมาใช้ใหม่จงเจริญแล้วก็รอวันที่ผมจะรู้ว่าแพ็กเกจของคุณไม่ได้ทำสิ่งที่ผมต้องการเป๊ะ ๆ แล้วต้อง fork ด้วยนะ
นึกถึง https://libraryofbabel.info/ ตอนนี้ดูเหมือนจะล่มไปแล้ว ลองดูใน Archive ได้: https://web.archive.org/web/20241112121646/https://libraryof...
เป็นการทำให้ใช้งานได้จริงที่สนุก ๆ โดยได้แรงบันดาลใจจากเรื่องสั้น https://en.wikipedia.org/wiki/The_Library_of_Babel และบอกว่า “มีหน้าขนาด 3,200 ตัวอักษรทั้งหมดที่เป็นไปได้ในปัจจุบัน” อย่างไรก็ตาม ชุดอักขระถูกจำกัดและไม่มีเครื่องหมายไฮเฟน จึงหา UUID เหล่านี้ไม่เจอ
ถ้าเข้าใจตัวเลขขนาดมหึมา ก็เป็นงานอ่านที่ทั้งสนุกและน่ากลัว
นึกว่าจะเป็นรายชื่อโดเมน
.comทั้งหมดที่เป็น UUID ที่ถูกต้อง เลยสงสัยว่าจริง ๆ แล้วจะมีโดเมนแบบนั้นอยู่สักกี่อันอัปเดต: มีคนแชร์ไว้แล้วในคอมเมนต์อื่น: https://news.ycombinator.com/item?id=42342653
เทคโนโลยีการบีบอัดก้าวหน้ามากจนตอนนี้เราสามารถสำรวจหน้าเว็บที่มีขนาดมากกว่า 340 อันเดซิลเลียนไบต์ ได้แล้ว
เรากำลังอยู่ในยุคที่น่าทึ่งจริง ๆ
น่าทึ่งที่เป็นเว็บไซต์ซึ่งมีเนื้อหามากกว่าหนึ่งหน้าจออยู่ในคราวเดียว แต่ตอนเลื่อนกลับไม่มีแอนิเมชันโหลดหลายวินาทีโผล่มา
สงสัยว่านักพัฒนาเว็บแอปพลิเคชันสมัยใหม่จะหาทางใช้ประโยชน์จากเทคโนโลยีนี้ได้หรือไม่
ฮาร์ดแวร์คอมพิวเตอร์เร็วขึ้นกว่าเมื่อปี 1995 หรือ 30 ปีก่อนถึง 1,000 เท่า แต่ซอฟต์แวร์กลับบวมเทอะทะจนยังช้ากว่าเดิม เป็นเรื่องไร้สาระมาก
วิดีโอที่เกี่ยวข้อง: “Will Software Stop Getting Slower?” Jonathan Blow
https://www.youtube.com/watch?v=4ka549NNdDk