Tag: filesystem

14 รายการ

Blog

งูต้นฉบับกำลังตามริบบิ้นทางลัดจากป้ายเชื่อมไปยังกล่องปลายทาง
pythonpathlibsymlink

Python Path.readlink: อ่านปลายทาง symlink โดยไม่เผลอ resolve ทั้งเส้น

แยกการอ่านค่าที่ symlink เก็บจากการ resolve path จริง พร้อมทดสอบ relative target และ broken link ด้วย pathlib

พี่โชว์
นากกายเดินสำรวจต้นไม้โฟลเดอร์บนโต๊ะมินต์ถือแผนที่ path
pythonpathlibfilesystem

Python Path.walk: เดินต้นไม้โฟลเดอร์แบบ pathlib โดยไม่ต้อง os.walk

ใช้ Path.walk ตั้งแต่ Python 3.12 ได้ dirpath/dirnames/filenames คล้าย os.walk แต่เป็น Path object ลดการต่อสตริงเอง

น้องกาย
งูต้นฉบับสำรวจต้นไม้โฟลเดอร์และถือกุญแจสำหรับเปิดของในกิ่งปัจจุบัน
pythonfilesystemdir-fd

Python os.fwalk: เดินต้นไม้ไฟล์พร้อม dir_fd เพื่อลด path race

ใช้ os.fwalk เปิดไฟล์แบบอ้างอิงไดเรกทอรีปัจจุบัน พร้อมอธิบายอายุของ descriptor และ unittest ที่รันจริง

น้องกาย
นากกายต้นฉบับกำลังเลื่อนแฟ้มที่ปิดผนึกจากถาดเตรียมไปยังช่องเผยแพร่ในจังหวะเดียว
javaniofilesystem

Java Files.move กับ ATOMIC_MOVE: เผยแพร่ไฟล์เมื่อเขียนเสร็จทั้งก้อน

เขียนลงไฟล์ชั่วคราวบน filesystem เดียวกันแล้ว atomic move พร้อมวาง fallback อย่างไม่กล่าวเกินจริง

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

Zig 0.16 renamePreserve: ย้ายไฟล์โดยไม่เขียนทับปลายทางเงียบ ๆ

ใช้ Io.Dir.renamePreserve ทำ publish แบบ fail-closed และแยกกรณีปลายทางมีอยู่จากการ replace

พี่โชว์
งูสีเขียวต้นฉบับกำลังตรวจเส้นทางไม้สองเส้น โดยหยุดเส้นที่ชื่อคล้ายกันแต่เลี้ยวออกนอกรั้ว
pythonfilesystemsecurity

Python os.path.commonpath: ตรวจขอบเขต path โดยไม่หลง prefix ที่หน้าตาเหมือนกัน

เทียบ commonpath กับ commonprefix และย้ำว่าต้อง resolve symlink ก่อนใช้เป็น security boundary

พี่โชว์
งูต้นฉบับอ่านป้ายชนิดไฟล์ที่ติดมากับตะกร้า directory scan ขณะนาฬิกาทรายเตือนว่าป้ายอาจเก่า
pythonpathlibfilesystem

Python 3.14 Path.info: ใช้ type cache จาก directory scan โดยไม่เผลอเชื่อข้อมูลเก่า

ใช้ pathlib.Path.info ลดการเรียก filesystem ซ้ำหลัง iterdir พร้อมเข้าใจ cache freshness และวิธีตรวจสถานะปัจจุบัน

พี่โชว์
โฟลเดอร์สองใบบนโต๊ะมิ้นต์มีเส้นโค้งสีเขียวปีนขึ้นแล้วลงพร้อมจุดอำพัน
pythonpathlibstdlib

Path.relative_to(..., walk_up=True): หาพาธญาติเมื่อเป้าหมายอยู่นอกต้นไม้เดิม

อธิบายพารามิเตอร์ walk_up ของ pathlib.Path.relative_to ตาม docs — ใช้เมื่อต้องปีนขึ้นก่อนแล้วค่อยลงไปโฟลเดอร์พี่น้อง

น้องกาย
ขนมปังกลมต้นฉบับกำลังลากตะแกรงลายดาวผ่านกองแฟ้มเพื่อแยกแฟ้มสีเขียว
bunjavascriptfilesystem

Bun.Glob: สแกนไฟล์ตาม pattern โดยตั้งขอบเขต symlink ให้ชัด

ใช้ Bun.Glob จับคู่และสแกนไฟล์ พร้อมค่า dot, followSymlinks และ onlyFiles ที่ต้องเลือกก่อนแตะ repository จริง

พี่โชว์
นากกายต้นฉบับเดินตามกิ่งโฟลเดอร์บนกระดานแล้วปิดประตูรากด้วยสลักอำพัน
javaniofilesystem

Java Files.walk: เดินต้นไม้ไฟล์แล้วปิด Stream ให้ทัน

ใช้ Files.walk ใน try-with-resources เพื่อไม่ค้าง directory handles พร้อมตัวอย่างนับไฟล์ที่สร้างและล้างเองได้

พี่โชว์
งูต้นฉบับใช้กรอบวัดตรวจเส้นทางโฟลเดอร์ครบจากต้นถึงไฟล์ โดยทางลัดหนึ่งเส้นถูกกั้นไว้
pythonpathlibvalidation

Python pathlib.full_match: ตรวจ Path ทั้งเส้นโดยไม่เผลอรับไฟล์นอกกฎ

เทียบ full_match กับ match สำหรับ allowlist ของ path พร้อมตัวอย่าง PurePath ที่ทดสอบได้โดยไม่แตะ filesystem

พี่โชว์
กระรอกดินต้นฉบับจัดกล่องแฟ้มสีมิ้นต์บนแผนผังต้นไม้ไฟล์จำลอง
gotestingfilesystem

Go testing/fstest.MapFS: เทสต์สัญญาไฟล์โดยไม่ต้องสร้าง temp directory

ใช้ MapFS จำลองต้นไม้ไฟล์แบบเล็กและ deterministic พร้อมข้อจำกัดที่ต้องรู้ก่อนแชร์ข้าม goroutine

พี่โชว์
โฟลเดอร์สองใบบนโต๊ะมิ้นต์มีลูกศรอำพันเชื่อม และนากกายยืนข้ามระหว่างโฟลเดอร์
pythonstdlibcontextlib

contextlib.chdir: เปลี่ยนโฟลเดอร์ชั่วคราวแบบปลอดภัยใน with

สอนใช้ contextlib.chdir ตั้งแต่ Python 3.11 เทียบกับ os.chdir เปล่าๆ พร้อมตัวอย่างที่รันตรวจได้

น้องกาย
งูสีมิ้นต์ต้นฉบับเดินตามทางสีครีมผ่านต้นไม้แตกแขนง โดยตัดกิ่งสีอำพันที่ไม่ต้องสำรวจ
pythonpathlibfilesystem

Python Path.walk: เดินโฟลเดอร์แบบ prune ได้และไม่ตาม symlink โดยปริยาย

ใช้ pathlib.Path.walk ค้นไฟล์อย่างอ่านง่าย พร้อมตัด subtree และทดสอบด้วย temporary directory

น้องกาย