• โปรเจ็กต์ที่แปลง Google Calendar ให้เป็นระบบไฟล์ FUSE
    • สร้างระบบไฟล์จาก Google Calendar เดิม หรือสร้างขึ้นใหม่
    • อ่านและเขียนไฟล์กับไดเรกทอรีได้
    • เมานต์ระบบไฟล์ปฏิทิน WhenFS ของเพื่อนเพื่อแชร์ไฟล์ได้
  • ภาพประกอบอ้างอิง: ตัวอย่างการอัปโหลดภาพ Mona Lisa ไปยัง Google Calendar
    • ข้อมูลภาพถูกแบ่งออกเป็นคำอธิบายอีเวนต์ปฏิทินขนาดเล็กหลายร้อยรายการ
    • ระบบไฟล์ทั้งหมดถูกประกอบขึ้นจากการจัดการอีเวนต์ใน Google Calendar
  • การเมานต์ระบบไฟล์ของเพื่อน (Demo):
    • WhenFS สามารถเมานต์ Google Calendar ที่ถูก WhenFS-ed ไว้อยู่แล้วได้ หากได้รับ calendar ID และ event ID ของอีเวนต์ปฏิทินสำหรับกู้คืนระบบไฟล์
  • การส่งไฟล์ผ่าน Google Calendar (Demo)
    • WhenFS สามารถส่งไฟล์ขนาด 3 KiB ไปยัง Google Calendar ได้ใน 7 วินาที
    • ความเร็วอัปโหลด 400 ไบต์ต่อวินาที

หลักการทำงาน

  • การทำงานของ WhenFS เริ่มต้นที่เลเยอร์ระบบไฟล์ FUSE
    • ระบบไฟล์วางอยู่บน object cache แบบ write-through ซึ่งอยู่บนอินเทอร์เฟซการจัดเก็บข้อมูลแบบนามธรรม และ backend ของ Calendar API ที่สามารถสลับเปลี่ยนได้
  • อาจมีบั๊ก กรณีขอบ และฟีเจอร์ที่ยังไม่สมบูรณ์อยู่ และไม่มีแผนจะแก้ไขสิ่งเหล่านี้

ทำไมถึงทำโปรเจ็กต์นี้?

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

ใช้อย่างไร?

  • ใช้เวลาทำไดอะแกรมนานเกินไปจนไม่เหลือพลังงานพอจะเขียนทูทอเรียล
  • ถ้าคุณหาวิธีใช้ได้แล้ว อยากให้ช่วยบอกด้วย
  • พูดกันจริงจัง Google Calendar เป็นบริการที่ยอดเยี่ยม ขอแนะนำให้ใช้เพื่อการศึกษาเท่านั้น การนำบริการฟรีไปใช้ในทางที่ผิดไม่ใช่เรื่องที่เหมาะสม

สรุปโดย GN⁺

  • WhenFS เป็นโปรเจ็กต์ที่น่าสนใจซึ่งแปลง Google Calendar ให้เป็นระบบไฟล์ FUSE
  • สามารถใช้เป็นโอกาสที่ดีในการเรียนรู้ Rust และระบบไฟล์ FUSE
  • แม้โค้ดเบสจะรกมาก แต่การสร้างความยุ่งเหยิงระหว่างกระบวนการเรียนรู้สิ่งใหม่ก็เป็นเรื่องสำคัญ
  • แนะนำให้ใช้ Google Calendar เพื่อการศึกษาเท่านั้น และไม่ควรนำบริการฟรีไปใช้ในทางที่ผิด

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น