Tag: resources

5 รายการ

Blog

งูต้นฉบับหยิบแฟ้มจากกล่องแพ็กเกจผ่านช่องทางที่กำหนด แทนการเดาตำแหน่งบนชั้น
pythonimportlibresources

Python importlib.resources.files: อ่านไฟล์ใน package โดยไม่เดา path

ใช้ Traversable API อ่าน resource ที่มากับ package รองรับ wheel/zip และทดสอบผ่าน temporary package

พี่โชว์
งูต้นฉบับกำลังส่งพวงกุญแจ cleanup จากตะขอชั่วคราวไปยังกล่องผู้รับผิดชอบใบใหม่
pythoncontextlibresources

Python ExitStack.pop_all: โอนสิทธิ์ cleanup เมื่อทุกขั้นเตรียมสำเร็จ

ใช้ ExitStack.pop_all ทำ all-or-nothing resource setup พร้อม unittest ที่ตรวจ cleanup ก่อนและหลังโอน ownership

พี่โชว์
นากกายต้นฉบับปิดวาล์วทรัพยากรด้วยมือ ขณะที่สายสำรองต่อเข้ากลไกปิดอัตโนมัติ
javacleanerresources

Java Cleaner: มี fallback cleanup แต่ยังต้องปิด resource แบบ explicit

ใช้ java.lang.ref.Cleaner เป็น safety net โดยไม่จับ owner ค้าง พร้อม Java 17 assertions และขอบเขตที่ห้ามพึ่งเวลาของ GC

พี่โชว์
งูต้นฉบับผูกเชือกสำรองจากกล่องทรัพยากรไปยังคันปล่อยอัตโนมัติบนโต๊ะสว่าง
pythonweakrefresources

Python weakref.finalize: วาง cleanup สำรองโดยไม่ทำให้ object อยู่ค้าง

ใช้ weakref.finalize ลงทะเบียน cleanup แบบไม่ยึด owner ไว้ พร้อมทดสอบ idempotency และย้ำว่า context manager ยังเป็นเส้นทางหลัก

พี่โชว์
งูต้นฉบับดึงเชือกเส้นเดียวให้ฝาครอบ ประตู และวาล์วปิดย้อนลำดับ
pythonasynciocontextlib

Python AsyncExitStack: รวม cleanup แบบ sync และ async ไว้ในจุดเดียว

จัดการ resource ที่เปิดตามเงื่อนไขด้วย contextlib.AsyncExitStack และยืนยันลำดับปิดย้อนกลับด้วย unittest

พี่โชว์