1 คะแนน โดย GN⁺ 2025-02-26 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

ความสนใจเกี่ยวกับระบบไฟล์

  • ผู้เขียนเริ่มสนใจระบบไฟล์ตั้งแต่สมัย Macintosh ในปี 1984
  • ตอนที่มีความเป็นไปได้ว่า Apple จะเข้าซื้อ Be Inc. ผู้เขียนคาดหวังกับ Be File System มาก แต่ท้ายที่สุด Apple กลับเข้าซื้อ NeXT และพัฒนา Mac OS X
  • ในงาน WWDC ปี 2017 Apple ได้ประกาศเปิดตัว Apple File System (APFS) สำหรับ macOS

ความสามารถหลักของ APFS

  • APFS เป็นระบบไฟล์ที่ก้าวหน้ากว่า HFS+ อย่างมาก
  • ความสามารถหลัก ได้แก่ สแนปชอตแบบจุดเวลา และโคลนแบบ copy-on-write
  • สแนปชอตช่วยให้การสำรองข้อมูลด้วย Time Machine มีความน่าเชื่อถือและมีประสิทธิภาพมากขึ้น
  • ไฟล์โคลนจะแชร์ข้อมูลร่วมกับไฟล์ต้นฉบับ ทำให้การคัดลอกไฟล์ใน Finder เกิดขึ้นได้ทันที

ไอเดียการประหยัดพื้นที่ดิสก์

  • ผู้เขียนได้คิดหาวิธีใช้ไฟล์โคลนของ APFS เพื่อประหยัดพื้นที่ดิสก์
  • และพบว่าสามารถประหยัดพื้นที่ดิสก์ได้ด้วยการแปลงไฟล์ที่มีเนื้อหาเหมือนกันให้เป็นโคลน
  • ผู้เขียนทดสอบความเป็นไปได้ในการประหยัดพื้นที่ดิสก์ด้วยสคริปต์ Perl และพบว่าสามารถประหยัดพื้นที่ได้มากพอสมควร

การพัฒนาแอป Hyperspace

  • ผู้เขียนตัดสินใจพัฒนาแอปที่ช่วยประหยัดพื้นที่ดิสก์ได้
  • จึงพัฒนาแอปชื่อ Hyperspace และเปิดตัวบน Mac App Store
  • Hyperspace ดาวน์โหลดได้ฟรี แต่หากต้องการใช้ฟีเจอร์ประหยัดพื้นที่จะต้องชำระเงิน

ประสบการณ์และเทคโนโลยีที่ใช้พัฒนา

  • Hyperspace พัฒนาด้วย SwiftUI และ Swift 6
  • ผู้เขียนระบุว่าการพัฒนาโดยใช้ Swift 6 ตั้งแต่ช่วงแรกทำได้ง่ายกว่า
  • แอปมีความเสี่ยงอยู่บ้างเพราะต้องแก้ไขไฟล์ แต่ผู้เขียนคาดว่าจะเป็นประโยชน์ต่อผู้ใช้จำนวนมาก

1 ความคิดเห็น

 
GN⁺ 2025-02-26
ความคิดเห็นบน Hacker News
  • ดาวน์โหลดมาลองรันแล้ว มันบอกว่าสามารถจัดการไฟล์ได้ "900" ไฟล์ ไม่มีสรุปหรือรายการให้ดู แต่กลับมีข้อความให้ซื้อแอป ไม่แน่ใจว่าจะช่วยได้จริงไหม เลยสงสัยว่าทำไมต้องซื้อ

  • Hyperspace ไม่มีวิธีประสานเวลากับแอปอื่นทั้งหมดและ macOS เพื่อสลับแทนที่ไฟล์อย่างปลอดภัย ทำให้นึกสงสัยว่าทำไมตัวระบบไฟล์เองถึงไม่รันกระบวนการ deduplication อยู่เบื้องหลัง และข้อเสียของการทำสิ่งนี้อัตโนมัติภายใน APFS คืออะไร

  • ชอบโมเดลที่ให้สแกนฟรีก่อนแล้วดูว่าคุ้มหรือไม่ จากนั้นค่อยจ่ายตามผลลัพธ์จริง ผมเองก็เป็นคนเก็บไฟล์เยอะ และกู้คืนพื้นที่ได้ 7GB สำหรับผมอาจไม่ใช่ประโยชน์ใหญ่มาก แต่ก็ขอบคุณที่มีฟีเจอร์แบบนี้อยู่

  • ผมเคยทำยูทิลิตีบรรทัดคำสั่งชื่อ dedup ที่ทำงานแบบเดียวกัน มีโหมด dry-run และเลือกแหล่ง clone ที่เหมาะสมแบบ "ชาญฉลาด" เข้าใจทั้ง hard link และ clone ประเภทอื่น ๆ เก็บรักษา metadata และจัดการไฟล์บีบอัดของ HFS ได้อย่างถูกต้อง มันไม่เคยทำลายข้อมูลของผม แต่ก็เหมือนเครื่องมือระบบไฟล์ทุกตัวที่ควรใช้อย่างระมัดระวัง

  • ใน WWDC 2017 Apple เปิดตัว Apple File System (APFS) สำหรับ macOS ก่อนหน้านั้นเคยแปลง iPhone ทั้งหมดไปเป็น APFS แบบเงียบ ๆ ในการอัปเดต iOS 10.x แล้วก็ย้อนกลับไปเป็น HFS+ อีก เลยสงสัยว่าการย้อนการเปลี่ยนแปลงระบบไฟล์แบบนั้นทำได้อย่างไร

  • สงสัยว่าเขาใช้อัลกอริทึมอะไรในการตรวจสอบว่าไฟล์สองไฟล์เหมือนกันหรือไม่ มีหลายแบบทั้ง hash, การเปรียบเทียบระดับบิต ฯลฯ แต่เทคนิคเหล่านี้ก็มีข้อเสีย เลยอยากรู้ว่าวิธีที่ดีที่สุดสำหรับไฟล์จำนวนมากคืออะไร

  • ถ้ามีไฟล์ A อยู่สองตำแหน่ง แล้วรันเครื่องมือนี้ จากนั้นแก้ไข A_0 จะทำให้ A_1 ถูกแก้ไขด้วยหรือไม่ หรือจะสะท้อนแค่สถานะใหม่ของ A_0 เท่านั้นและ A_1 ยังคงเดิม

  • ลองกับโฟลเดอร์ขนาดใหญ่ของโปรเจกต์ NodeJS แล้ว แต่ในโฟลเดอร์ขนาด 8.1GB พบว่าประหยัดได้แค่ 1GB ลองใหม่โดยรวมโฟลเดอร์ home ของผู้ใช้ด้วย ก็ได้เพิ่มมาแค่ 1.3GB พยายามสแกน system และ library แต่โดนปฏิเสธเพราะปัญหาสิทธิ์ ใช้ pnpm เป็น package manager อยู่แล้ว เลยดูเหมือนการใช้พื้นที่ดิสก์ถูกปรับให้เหมาะสมอยู่ก่อนแล้ว ไอเดียดี แต่ราคาตอนนี้สูงเกินไปจนยากจะอธิบายความคุ้มค่า ถ้ารันเป็น background process เดือนละครั้งก็น่าจะดี

  • Hyperspace เป็นแอปที่อธิบายได้ยากนิดหน่อย เขาพยายามอธิบายยาวไว้ในเอกสาร หวังว่าจะกลายเป็นส่วนเสริมที่มีประโยชน์ต่อ ecosystem ของ Mac แต่คำอธิบายสั้น ๆ ว่าเป็น "ตัวลบไฟล์ซ้ำ" ก็น่าจะอธิบายได้เพียงพอ

  • บน Windows มีฟีเจอร์ "copy-on-write" คล้ายกันชื่อ "Dev Drive" ถ้ามันทำงานได้ดี ก็น่าจะกลายเป็นค่าเริ่มต้นได้ไม่ใช่หรือ