Tag: resources
5 รายการ
Blog
Python importlib.resources.files: อ่านไฟล์ใน package โดยไม่เดา path
ใช้ Traversable API อ่าน resource ที่มากับ package รองรับ wheel/zip และทดสอบผ่าน temporary package
Python ExitStack.pop_all: โอนสิทธิ์ cleanup เมื่อทุกขั้นเตรียมสำเร็จ
ใช้ ExitStack.pop_all ทำ all-or-nothing resource setup พร้อม unittest ที่ตรวจ cleanup ก่อนและหลังโอน ownership
Java Cleaner: มี fallback cleanup แต่ยังต้องปิด resource แบบ explicit
ใช้ java.lang.ref.Cleaner เป็น safety net โดยไม่จับ owner ค้าง พร้อม Java 17 assertions และขอบเขตที่ห้ามพึ่งเวลาของ GC
Python weakref.finalize: วาง cleanup สำรองโดยไม่ทำให้ object อยู่ค้าง
ใช้ weakref.finalize ลงทะเบียน cleanup แบบไม่ยึด owner ไว้ พร้อมทดสอบ idempotency และย้ำว่า context manager ยังเป็นเส้นทางหลัก
Python AsyncExitStack: รวม cleanup แบบ sync และ async ไว้ในจุดเดียว
จัดการ resource ที่เปิดตามเงื่อนไขด้วย contextlib.AsyncExitStack และยืนยันลำดับปิดย้อนกลับด้วย unittest