9 คะแนน โดย xguru 2024-07-27 | 2 ความคิดเห็น | แชร์ทาง WhatsApp
  • อิมพลีเมนเทชันของเซิร์ฟเวอร์ Git LFS (Large File Storage, ที่เก็บไฟล์ขนาดใหญ่) ที่เขียนด้วย TypeScript
  • ออกแบบมาสำหรับการเซลฟ์โฮสต์บนเครื่องโลคัลเพื่อใช้งานส่วนตัว
  • รองรับการใช้งานหลายผู้ใช้ได้ แต่จำเป็นต้องใช้การยืนยันตัวตนแบบ HTTP พื้นฐาน (ควรใช้งานหลัง HTTPS proxy เช่น Caddy, Traefik)
  • รันไทม์
    • Granary สามารถรันได้บน Bun, Deno และ Node
    • เขียนโค้ดด้วยแพตเทิร์น adapter โดยมี Deno เป็นรันไทม์หลัก ส่วนอะแดปเตอร์สำหรับ Bun และ Node มีเพียงการติดตั้งขั้นต่ำ
    • ใช้ serveFile จาก standard library ของ Deno เพื่อจัดการงานดาวน์โหลด
    • ระหว่างอัปโหลด ใช้ Web Crypto เพื่อคำนวณ SHA-256 และสตรีมไฟล์ไปพร้อมกัน
    • แต่ละรันไทม์ใช้ HTTP server เฉพาะของตนเอง: Bun.serve, Deno.serve, createServer ของ Node
  • สัญญาอนุญาต MIT

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

 
alstjr7375 2024-07-27

การจัดการไฟล์ไบนารีด้วย git มันยากเกินไปจริงๆ
หวังว่าจะมีการปรับปรุงให้ดีขึ้นบ้าง

 
halfenif 2024-07-27

จริง ๆ แล้วมันไม่ใช่ของสำหรับติดตามการเปลี่ยนแปลงของไฟล์ไบนารี หรือพูดอีกอย่างคือไม่ได้มีไว้เพื่อการจัดการเวอร์ชันนั่นแหละ