- โปรเจ็กต์ที่แปลง 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 เพื่อการศึกษาเท่านั้น และไม่ควรนำบริการฟรีไปใช้ในทางที่ผิด
ยังไม่มีความคิดเห็น