Tag: stdlib

79 รายการ

Blog

นากมิ้นต์กางกล่องหลายใบบนโต๊ะไม้แล้วเทของรวมเป็นกองเดียว สื่อถึงการ unpack ใน comprehension
pythonpython-3-15pep

Python 3.15 แตกลิสต์ใน comprehension ได้แล้ว: PEP 798 คืออะไร

อัปเดต Python 3.15 ที่ให้ใช้ * และ ** ใน list/set/dict comprehension อ่านแล้วรู้ว่าเมื่อไหร่ควรใช้แทน nested loop และผลกระทบกับโค้ดเดิม

น้องกาย
นากต้นฉบับใช้แผ่นวัดสีอำพันตรวจลิ้นชักบนรางก่อนดึงออกจากขอบเขต
javabounds-checkstdlib

Java Objects.checkIndex: ตรวจ index ก่อนแตะ array และ ByteBuffer

ใช้ Objects.checkIndex รวม boundary check แบบ fail-fast พร้อมแยก index จาก from-to range และแปลง exception ที่ API boundary

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

Zig std.mem.tokenizeAny: แยกคำเมื่อ delimiter มีหลายตัว

ใช้ tokenizeAny แยกข้อความด้วยช่องว่าง comma slash หรือ pipe โดยไม่คืน token ว่าง พร้อมเทียบ tokenizeScalar และ splitAny

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

Go maps.DeleteFunc: ล้างสมาชิกที่ไม่ผ่านเงื่อนไขใน map เดิม

ใช้ maps.DeleteFunc ลบ cache ที่หมดอายุหรือค่าที่ไม่ผ่าน policy พร้อมระวัง nil map, side effect และการแก้ map ระหว่าง callback

พี่โชว์
อิกัวนาต้นฉบับกำลังชี้หมุดต่ำสุดและสูงสุดบนรางข้อมูลเส้นเดียวในห้องทำงานสว่าง
zigstdlibslice

Zig std.mem.findMinMax: หา index ค่าน้อยสุดและมากสุดในรอบเดียว

ใช้ findMinMax บน slice ที่ไม่ว่าง พร้อมจัดการ empty input และ tie behavior ด้วย test บน Zig 0.17

พี่โชว์
นากกายกำลังติดป้ายชื่อและที่อยู่แยกช่องบนซองจดหมายมิ้นต์ ไม่ตัดสตริงด้วยมือ
pythonemailheaderregistry

Python email.headerregistry: อ่านหัวอีเมลแบบมีชนิด ไม่ต้องตัดสตริงเอง

ใช้ HeaderRegistry และ Address แยกชื่อกับที่อยู่ พร้อมทดสอบ Content-Type แบบมีพารามิเตอร์

น้องกาย
นากกายกำลังห่อกล่องข้อความทุกช่องด้วยเครื่องหมายคำพูดก่อนส่งผ่านสายพานข้ามเครื่อง
pythoncsvunix_dialect

Python csv.unix_dialect: ส่งไฟล์ CSV ข้ามเครื่องโดยไม่พังเพราะขึ้นบรรทัดใหม่

ใช้ dialect ที่ quote ทุกฟิลด์และขึ้นบรรทัดแบบ LF พร้อมทดสอบความต่างจาก excel

น้องกาย
กระรอกดินต้นฉบับกำลังต่อถาดข้อมูลสามใบเข้ารางใหม่บนโต๊ะสีมิ้นต์ โดยถาดต้นทางยังวางแยกอยู่
goslicesstdlib

Go slices.Concat: รวมหลาย slice โดยไม่ผูกผลลัพธ์กับ backing array เดิม

ใช้ slices.Concat รวมข้อมูลหลายก้อน พร้อมทดสอบ aliasing, capacity และกรณีที่ append เดิมอ่านยาก

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

Go slices.CompactFunc: รวมข้อมูลซ้ำที่ติดกันด้วยกติกาของเรา

ลดข้อมูลซ้ำแบบ adjacent โดยกำหนด equality เอง พร้อมแยกกรณีที่ต้อง sort ก่อนและผลต่อ backing array

พี่โชว์
อิกัวนาต้นฉบับกำลังหมุนถาดแบ่งช่องสีเขียวให้ข้อมูลสองช่องหน้าเลื่อนไปท้าย
zigstdlibmemory

Zig std.mem.rotate: หมุน slice in-place สำหรับคิวแบบวงแหวน

เข้าใจทิศทาง amount, ค่าเกินความยาว และ trade-off ของการหมุนข้อมูลจริงเทียบกับเก็บ head index

พี่โชว์
งูต้นฉบับจับคู่ตุ้มน้ำหนักสองแถวแล้วส่งผลคูณไปสะสมในชามเดียว
pythonmathsumprod

Python math.sumprod: คูณเป็นคู่แล้วรวมอย่างอ่านตรงโจทย์

ใช้ math.sumprod ทำ dot product และ weighted total พร้อมตรวจความยาว input และชนิดตัวเลข

พี่โชว์
อิกัวนาต้นฉบับเลื่อนไม้ชี้จากธงเริ่มสีเขียวไปยังลูกปัดตัวคั่นสีอำพันถัดไป
zigstdlibparsing

Zig indexOfScalarPos: ค้นตัวคั่นต่อจาก cursor โดยไม่ตัด slice ซ้ำ

ใช้ std.mem.indexOfScalarPos ทำ parser แบบเดิน cursor พร้อมเข้าใจ null และขอบเขตเริ่มค้นหา

พี่โชว์
กระรอกดินต้นฉบับเดินเก็บของจากท้ายถาดมาหน้าตามลูกศรย้อน โดยของในถาดเดิมไม่ถูกสลับ
goslicesiterators

Go slices.Backward: วนจากท้ายโดยไม่กลับลำดับข้อมูลต้นฉบับ

ใช้ iterator ย้อนลำดับใน Go เมื่ออยากอ่านจากท้ายไปหน้า โดยไม่ mutate slice และไม่เขียน index loop เอง

พี่โชว์
นากมิ้นต์ต้นฉบับแปะป้ายชื่อบนกล่องไม้เล็กๆ บนโต๊ะมิ้นต์ แทนการสร้างชั้นวางทั้งหลัง
pythontypessimplenamespace

Python SimpleNamespace: ทำวัตถุ attribute เร็วๆ โดยไม่ต้องเขียนคลาส

ใช้ types.SimpleNamespace เก็บค่าแบบจุดเข้าถึงด้วยชื่อ พร้อมเทียบกับ dict และทดสอบการอัปเดต attribute

น้องกาย
นากมิ้นต์ต้นฉบับแขวนป้ายคิวเก็บกวาดที่ประตูทางออกห้องแล็บ ก่อนปิดไฟดวงสุดท้าย
pythonatexitcleanup

Python atexit: จองคิวเก็บกวาดก่อนโปรเซสจบ

ลงทะเบียนฟังก์ชันด้วย atexit.register ให้รันตอน interpreter ปกติจะจบ พร้อมทดสอบลำดับ LIFO และกรณีที่ handler ไม่ถูกเรียก

น้องกาย
นากมิ้นต์ต้นฉบับติดป้ายหมายเลขเรียงแถวบนโต๊ะครีม โดยเครื่องปั๊มเลขสีอำพันพิมพ์เลขถัดไปให้อัตโนมัติ
pythonenumstdlib

Python enum.auto: ให้เลขสมาชิกเอง ไม่ต้องไล่พิมพ์เอง

ใช้ enum.auto() ไล่ค่าอัตโนมัติใน IntEnum/Enum พร้อมทดสอบว่าลำดับประกาศคือลำดับตัวเลข และกันสับสนตอนแทรกสมาชิกใหม่

น้องกาย
แถวการ์ดเรียงแล้วมีการ์ดใหม่สอดกลางอย่างเป็นระเบียบ
pythonbisectstdlib

Python bisect.insort: สอดค่าใหม่แล้วยังเรียงอยู่

ใช้ bisect.insort คงลิสต์เรียงตอนแทรก พร้อมตัวอย่าง unittest — เหมาะคิวคะแนน/ตารางเวลาเล็ก ๆ

น้องกาย
กราฟจุดสองชุดบนสมุดมิ้นต์พร้อมไม้บรรทัดแนวโน้ม
pythonstatisticsstdlib

Python statistics.correlation: วัดแนวโน้มสองชุดตัวเลขใน stdlib

ใช้ statistics.correlation (3.10+) คำนวณ Pearson พร้อม unittest รันจริง — ไม่ต้องดึง NumPy แค่ดูความสัมพันธ์คร่าว ๆ

น้องกาย
นากกายวางแสตมป์ override ทับเมธอดลูกบนสมุดมิ้นต์
pythontypingpep698

Python typing.override: แสตมป์บอก type checker ว่าตั้งใจทับเมธอดแม่

ใช้ @override จาก typing (PEP 698) เพื่อจับชื่อเมธอดทับผิด พร้อม unittest รันไทม์

น้องกาย
นากกายถือการ์ดข้อมูลสองใบ ใบใหม่แก้แค่ช่องสีอำพันบนโต๊ะมิ้นต์
pythondataclassesstdlib

Python dataclasses.replace: คัดลอกแล้วแก้บางฟิลด์แบบปลอดภัย

ใช้ dataclasses.replace กับ dataclass ธรรมดาและ frozen พร้อม unittest

น้องกาย
นากกายดันกล่องเข้าคิววงกลมบนโต๊ะมิ้นต์ กล่องเก่าหล่นออกด้านท้าย
pythoncollectionsdeque

Python deque(maxlen): คิววงกลมที่ตัดของเก่าให้อัตโนมัติ

ใช้ collections.deque แบบ maxlen เพื่อเก็บหน้าต่างล่าสุด N ชิ้น พร้อม unittest

น้องกาย
นากกายกดปุ่มชื่อเมธอดบนแผงมิ้นต์ แล้วการ์ดออบเจ็กต์เรียงตัวเอง
pythonoperatorstdlib

Python operator.methodcaller: เรียกเมธอดเป็นคีย์เรียง/แมปโดยไม่เขียนแลมบ์ดา

ใช้ operator.methodcaller สร้าง callable ที่เรียกเมธอดชื่อเดิม พร้อมอาร์กิวเมนต์ คู่กับ sorted/map

น้องกาย
นากกายรับกล่องงานสามใบที่เสร็จไม่พร้อมกันบนสายพานมิ้นต์
pythonconcurrencyfutures

Python as_completed: เก็บผลงานขนานทีละชิ้นตามลำดับเสร็จ

ใช้ concurrent.futures.as_completed เพื่อประมวลผล future ที่เสร็จก่อนโดยไม่รอทั้งหมด พร้อม unittest

น้องกาย
งูต้นฉบับกำลังปล่อยเมล็ดผ่านผืนผ้าทรงโค้งให้กองหนาแน่นตรงกลางและบางลงสองด้าน
pythonstatisticscapacity-planning

Python NormalDist: แปลงค่าเฉลี่ยกับส่วนเบี่ยงเบนเป็น threshold ที่อธิบายได้

ใช้ statistics.NormalDist คำนวณ percentile และ probability พร้อมเตือนเรื่องสมมติฐานการกระจายปกติ

พี่โชว์
งูต้นฉบับกำลังจัดก้อนหินสามก้อนตามความสูงบนทางลาดสีเขียวอ่อน
pythonfunctoolsdomain-model

Python total_ordering: ลด comparison boilerplate แต่เก็บกฎลำดับไว้จุดเดียว

สร้าง value object ที่เรียงได้จาก __eq__ และ comparator หนึ่งตัว พร้อมขอบเขตของ NotImplemented

พี่โชว์
งูต้นฉบับกำลังดูแลชั้นเก็บของที่ช่องหนึ่งค่อย ๆ ว่างเมื่อเจ้าของยกกล่องออกไป
pythoncachememory

Python WeakValueDictionary: ทำ cache ที่ไม่ยื้ออายุ object

ใช้ weak reference ให้ cache ปล่อยค่าเมื่อไม่มีเจ้าของจริง พร้อมอธิบาย race และชนิดที่เก็บไม่ได้

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

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

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

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

Rust core::range::Range: เก็บ span แบบ Copy โดยไม่ให้ range เป็น iterator

ใช้ range ชุดใหม่ของ Rust แยกข้อมูลช่วงออกจากสถานะ iteration พร้อมข้อควรระวังเรื่อง syntax เดิม

พี่โชว์
กระรอกดินต้นฉบับกำลังสอดชิ้นงานผ่านแม่แบบรูปทรงก่อนวางลงถาดรับ
goreflectionperformance

Go reflect.TypeAssert: ตรวจชนิดจาก reflect.Value โดยไม่สร้าง interface กลาง

ย้ายจาก Value.Interface().(T) มาใช้ reflect.TypeAssert พร้อมอธิบายกรณีที่แก้ได้และขอบเขตของ reflection

พี่โชว์
นากกายใช้คีมคีบป้ายชื่อฟิลด์จากกล่องออบเจ็กต์บนโต๊ะมิ้นต์
pythonoperatorstdlib

operator.attrgetter: ดึงฟิลด์เรียง/แมปโดยไม่เขียน lambda ซ้ำ

ใช้ operator.attrgetter ดึง attribute เดี่ยวหรือหลายตัว รวม dotted path สำหรับ sorted และ map

น้องกาย
นากกายตัดแถบกระดาษยาวให้สั้นลงบนโต๊ะมิ้นต์ มีจุดไข่ปลาเป็น placeholder
pythontextwrapstdlib

textwrap.shorten: ตัดสรุปยาวให้พอดีการ์ด UI

ใช้ textwrap.shorten ยุบช่องว่างแล้วตัดข้อความให้กว้างตามที่กำหนด พร้อม placeholder

น้องกาย
นากกายเทียบแท่งลายเซ็นสองอันบนโต๊ะมิ้นต์ มีไฟอำพันที่จุดเทียบที่ปลอดภัย
pythonhmacsecurity

hmac.compare_digest: เทียบลายเซ็นแบบกัน timing attack

ใช้ hmac.compare_digest เทียบ digest แทน == เพื่อลดความเสี่ยง timing side-channel ตามเอกสาร Python stdlib

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

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

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

พี่โชว์
งูสีเขียวต้นฉบับกำลังตรวจบัตรสถานะที่เรียงต่อกันและแยกบัตรค่าซ้ำออกจากแถว
pythonenumvalidation

Python enum.verify: ให้คลาส Enum ล้มตั้งแต่ import เมื่อค่าผิดสัญญา

ใช้ UNIQUE และ CONTINUOUS ตรวจ enum ตอนประกาศ พร้อมเลือกกฎให้ตรงกับ domain

พี่โชว์
งูสีเขียวต้นฉบับกำลังดมตัวอย่างริบบิ้นข้อมูลแล้วแยกลงถาดเครื่องหมายคั่นสองแบบ
pythoncsvparsing

Python csv.Sniffer: เดารูปแบบไฟล์ได้ แต่ต้องมี fallback ที่คาดเดาได้

ใช้ Sniffer ตรวจ delimiter จาก sample พร้อมรับมือข้อมูลสั้น กำกวม และ input ที่ไม่น่าเชื่อถือ

พี่โชว์
กระรอกดินต้นฉบับกำลังรวมกุญแจรูปทรงเดียวกันจากหลายถาดเข้าสู่ช่องเก็บกลางเพียงช่องเดียว
gostdlibperformance

Go unique.Handle: ทำคีย์ซ้ำให้เหลือตัวแทนเดียวก่อนเก็บในแคช

ใช้ unique.Make สร้าง handle ที่เทียบได้เร็ว พร้อมขอบเขตเรื่องอายุข้อมูลและหน่วยความจำ

พี่โชว์
ม้วนกระดาษบนโต๊ะมิ้นต์ล้นจากถาด RAM ไปยังดิสก์สีอำพัน
pythontempfilestdlib

Python SpooledTemporaryFile: เก็บใน RAM ก่อน แล้วค่อยกลิ้งลงดิสก์เมื่อใหญ่เกิน

ใช้ tempfile.SpooledTemporaryFile เมื่อยังไม่รู้ขนาด — ตั้ง max_size แล้ว rollover() เมื่อต้องการ fileno

น้องกาย
สองกล่องโปรเซสบนโต๊ะมิ้นต์แชร์แผ่นหน่วยความจำเดียวกันตรงกลาง
pythonmultiprocessingshared-memory

Python SharedMemory: แชร์ไบต์ข้ามโปรเซสโดยไม่ pickle ทั้งก้อน

สรุป multiprocessing.shared_memory — สร้างบล็อก ตั้งชื่อ แนบจากโปรเซสอื่น แล้ว close/unlink ให้ครบ

น้องกาย
สองวงกลมเครือข่ายทับกันบนโต๊ะมิ้นต์ มีจุดอำพันตรงจุดซ้อน
pythonipaddressnetworking

Python ipaddress: เช็กเครือข่ายทับกันด้วย overlaps() ก่อนเปิด firewall

ใช้ IPv4Network/IPv6Network.overlaps() จาก stdlib ตรวจว่าสองซัปเน็ตชนกันไหม — พร้อมตัวอย่างที่รันได้

น้องกาย
ปูต้นฉบับกำลังใส่ชิ้นงานคนละแบบลงช่อง array ที่เรียงต่อกัน
rustarrayownership

Rust array::from_fn: สร้าง array ของค่าที่ไม่ใช่ Copy ทีละช่อง

ใช้ closure ที่รับ index สร้าง fixed array พร้อมทดสอบลำดับและกรณี array ว่าง

พี่โชว์
นากกายต้นฉบับคุมประตูงานที่มีบัตรผ่านจำนวนจำกัดและรับบัตรคืนหลังจบงาน
javaconcurrencybackpressure

Java Semaphore: จำกัดงานพร้อมกันด้วย permit ที่คืนเสมอ

ควบคุมจำนวนงานที่เข้าทรัพยากรพร้อมกันด้วย try/finally และเข้าใจ fairness ของ Semaphore

พี่โชว์
นากกายต้นฉบับเรียงลูกปัดเหตุการณ์ลงช่องนาทีบนหน้าปัดวงกลมที่มีเส้นตัดชัด
javatimeanalytics

Java Instant.truncatedTo: จัด event ลง bucket นาทีโดยไม่ปัดผิดเขตเวลา

แยกเวลา UTC ของ event จากวันท้องถิ่น และทดสอบการตัดวินาทีด้วย ChronoUnit

พี่โชว์
นากกายต้นฉบับเลื่อนถาดงานเข้าสายพานด้านหนึ่งและหยิบออกอีกด้านตามลำดับ
javacollectionsqueue

Java ArrayDeque: คิวงานสองด้านโดยไม่ต้องใช้ LinkedList

ใช้ addLast/removeFirst เป็น FIFO และ addFirst/removeFirst เป็น stack พร้อมข้อห้ามเรื่อง null และ thread safety

พี่โชว์
งูต้นฉบับกำลังวางชิ้นส่วนสองขนาดบนตาชั่งให้ได้อัตราส่วนพอดี
pythonmathprecision

Python Fraction: เก็บอัตราส่วนให้ตรงตั้งแต่รับค่า

แยกการสร้าง Fraction จาก string กับ float และใช้ limit_denominator อย่างมีขอบเขต

พี่โชว์
งูต้นฉบับกำลังเทียบแถบกระดาษสองชุดและเลื่อนชิ้นที่เพิ่มเข้าช่องกลาง
pythondiffcode-review

Python difflib: อ่านการเปลี่ยนบรรทัดด้วย opcode ก่อนทำ review

ใช้ SequenceMatcher.get_opcodes แยกส่วนที่เท่ากัน เพิ่ม ลบ และแทนที่ พร้อมข้อจำกัดของ similarity score

พี่โชว์
สายพาน map สองแถวบนโต๊ะมิ้นต์ แถวสั้นมีธงอำพัน strict
pythonbuiltinsstdlib

Python 3.14: map(..., strict=True) — จับความยาว iterable ไม่เท่ากันแบบ zip

สรุปพารามิเตอร์ strict ของ built-in map ใน Python 3.14 ให้พฤติกรรมคล้าย zip(..., strict=True)

น้องกาย
กองฮีปกลับหัวบนโต๊ะมิ้นต์ ลูกบนสุดเป็นสีอำพัน
pythonheapqstdlib

Python 3.14: heapq มี heapify_max / heappush_max — เลิกกลับเครื่องหมายเอง

สรุปตัวช่วย max-heap ใหม่ใน heapq 3.14 — heapify_max, heappush_max, heappop_max, heapreplace_max, heappushpop_max

น้องกาย
สวิตช์บริบทบนโต๊ะมิ้นต์ มีโทเค็นสีอำพันค้างอยู่ในบล็อก with
pythoncontextvarsstdlib

Python 3.14: Token ของ contextvars ใช้ with ได้ — set แล้วรีเซ็ตอัตโนมัติ

สรุป contextvars.Token เป็น context manager ใน Python 3.14 — with var.set(value): … แล้วค่าเดิมกลับเอง

น้องกาย
หน้าต่างโปรเซสลูกบนโต๊ะมิ้นต์ มีลูกศร onExit ชี้ไปกล่อง callback สีอำพัน
javaprocessasync

Java ProcessHandle.onExit — รู้เมื่อโปรเซสลูกจบโดยไม่บล็อกเธรดหลัก

ใช้ ProcessHandle.onExit() ได้ CompletableFuture เมื่อโปรเซสจบ — เหมาะกับเฝ้า CLI/agent ลูก พร้อมตัวอย่าง verified บน JDK 21

น้องกาย
ช่องข้อความบนโต๊ะมิ้นต์ มีแถบช่องว่างถูกตัดออกและไฟสถานะ isBlank สีอำพัน
javastringvalidation

Java String.isBlank / strip — เช็กช่องว่าง Unicode ให้ถูก ไม่ใช่แค่ trim()

สรุปความต่าง isBlank, isEmpty, strip, trim ใน Java — กันบั๊กฟอร์มว่างและช่องว่าง Unicode พร้อมตัวอย่างบน JDK 21

น้องกาย
กล่องลิสต์ต้นทางและสำเนาแข็งบนโต๊ะมิ้นต์ มีแม่กุญแจสีอำพันที่สำเนา
javacollectionsimmutability

Java List.copyOf — สแนปช็อตลิสต์แบบอ่านอย่างเดียวในคำสั่งเดียว

ใช้ List.copyOf สร้างสำเนา immutable จาก Collection — กัน caller แก้ลิสต์ต้นทางโดยไม่ตั้งใจ พร้อมตัวอย่าง verified บน JDK 21

น้องกาย
บัฟเฟอร์ bytearray บนโต๊ะมิ้นต์ ถูกดึงก้อน bytes ออกด้านขวาสีอำพัน
pythonbytearraystdlib

Python 3.15: bytearray.take_bytes — ดึง bytes ออกจากบัฟเฟอร์โดยไม่คัดลอกเกินจำเป็น

สรุป bytearray.take_bytes ใน Python 3.15 สำหรับพาร์สโปรโตคอล/บัฟเฟอร์เครือข่าย — คืน bytes แล้วตัดออกจาก bytearray

น้องกาย
กลุ่มการ์ดงาน asyncio บนโต๊ะมิ้นต์ มีปุ่มยกเลิกสีอำพันตรงกลาง
pythonasynciostdlib

Python 3.15: TaskGroup.cancel — ยกเลิกกลุ่มงาน asyncio แบบตรง ๆ

สรุป asyncio.TaskGroup.cancel ใน Python 3.15 — เลิกใช้ทริคยก exception ปลอมเพื่อหยุดกลุ่มเมื่องานเสร็จก่อนกำหนด

น้องกาย
โฟลเดอร์ซ้อนสามชั้นบนโต๊ะมิ้นต์ โฟลเดอร์กลางมีกุญแจ mode แยกสีอำพัน
pythonpathlibstdlib

Python 3.15: Path.mkdir(parent_mode=…) — ตั้งสิทธิ์โฟลเดอร์กลางทางแยกจากปลายทาง

สรุป pathlib.Path.mkdir parent_mode ใน Python 3.15 เมื่อ parents=True — ควบคุม mode ของ intermediate dirs แยกจากโฟลเดอร์สุดท้าย

น้องกาย
แฟ้มข้อมูลถูกบีบอัดเป็นกล่องเล็กลงบนโต๊ะมิ้นต์ มีลูกศร zstd
pythonzstdcompression

compression.zstd ใน stdlib: บีบไฟล์ .zst โดยไม่ติดตั้งแพ็กเกจนอก (Python 3.14)

ใช้ compression.zstd.compress/decompress และ open เขียนไฟล์ Zstandard ใน Python 3.14 ตาม PEP 784

น้องกาย
ต้นไม้งาน async บนโต๊ะมิ้นต์ มีโหนดงานลูกแขวนจากงานแม่
pythonasynciodebugging

asyncio.print_call_graph: ดูต้นไม้ task ค้างตอนดีบัก (Python 3.14)

ใช้ capture_call_graph / print_call_graph / format_call_graph ดูว่าคอร์รูทีนไหนรออะไร พร้อมตัวอย่าง static ที่รันบน 3.14

น้องกาย
โฟลเดอร์ต้นทางและปลายทางบนโต๊ะมิ้นต์ มีลูกศรคัดลอกและย้ายไฟล์
pythonpathlibstdlib

Python 3.14: Path.copy / Path.move — คัดลอกและย้ายไฟล์โดยไม่ต้องเรียก shutil แยก

สรุป pathlib.Path.copy, copy_into, move, move_into ใน Python 3.14 พร้อมตัวอย่าง verified และข้อควรระวัง metadata/symlink

น้องกาย
โฟลเดอร์กระดาษชั่วคราวบนโต๊ะมิ้นต์มีลูกศรวนลบสีอำพัน
pythontempfilestdlib

tempfile.TemporaryDirectory: โฟลเดอร์ชั่วคราวที่ลบเองเมื่อจบบล็อก

ใช้ TemporaryDirectory เป็น context manager ให้ได้ path ชั่วคราวแล้วลบอัตโนมัติ ตาม docs.python.org

น้องกาย
กุญแจและชิปโทเคนสุ่มวางบนโต๊ะมิ้นต์มีแถบสีอำพัน
pythonsecretssecurity

secrets.token_urlsafe: สร้างโทเคนสุ่มสำหรับลิงก์และคุกกี้

ใช้ secrets.token_urlsafe จาก stdlib สร้างสตริงสุ่มที่ใส่ใน URL ได้ พร้อมตัวอย่างรันจริง

น้องกาย
แท่งคะแนนบนโต๊ะมิ้นต์มีมงกุฎสีอำพันบนแท่งสูงสุดสามแท่ง
pythonheapqstdlib

heapq.nlargest / nsmallest: หยิบ Top-N โดยไม่ sort ทั้งก้อน

ใช้ heapq.nlargest และ nsmallest จาก docs.python.org ดึงค่าสูงสุด/ต่ำสุด n ตัว พร้อมตัวอย่างรันจริง

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

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

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

น้องกาย
แท่งข้อมูลเรียงสูงขึ้นมีเส้นประสีอำพันสามเส้นแบ่งช่วงควอนไทล์
pythonstatisticsstdlib

statistics.quantiles: ตัดคะแนนเป็นช่วงเปอร์เซ็นไทล์ใน stdlib

ใช้ statistics.quantiles แบ่งข้อมูลเป็น n กลุ่มอย่างเป็นระบบ พร้อมตัวอย่างคำนวณจริงจาก docs.python.org

น้องกาย
นากกายเปิดสมุดโน้ตคอนฟิกบนโต๊ะมิ้นต์มีกุญแจและค่าคู่กัน
pythonstdlibtoml

อ่านไฟล์ TOML ด้วย tomllib ในสแตนดาร์ดไลบรารี

สอนโหลดคอนฟิก TOML ด้วย tomllib.load / loads พร้อม unittest ที่รันจริง ไม่ต้องติดตั้งแพ็กเกจภายนอก

น้องกาย
นากกายสีมิ้นต์จัดกล่องเล็กเรียงเป็นแถวบนโต๊ะทำงานสว่าง
pythonstdlibitertools

Python itertools.batched: หั่นลิสต์เป็นก้อนคงที่แบบสั้น ๆ

สอนใช้ itertools.batched แบ่ง iterable เป็นทูเปิลขนาด n พร้อม unittest ที่รันจริง อ้างอิง docs.python.org

น้องกาย
งูต้นฉบับหยิบบัตรจากช่องคะแนนและเวลาแล้วจัดเรียงลงถาดบนโต๊ะสีครีม
pythonsortingoperator

Python itemgetter: เขียน sort key หลายช่องให้สั้นและเห็นลำดับชัด

ใช้ operator.itemgetter เรียง record ตามหลายฟิลด์ พร้อมจัดการค่ากลับทิศและข้อจำกัดของข้อมูลที่อาจขาด

พี่โชว์
นากกายจัดหมุดรูปร่างสีต่างๆ ลงถาดไม้บนโต๊ะมิ้นต์
pythonstdlibenum

Python StrEnum: ติดป้ายสถานะที่เป็นสตริงโดยไม่ต้อง .value ทุกครั้ง

ใช้ enum.StrEnum ให้สมาชิกเทียบและต่อสตริงได้ตรง ๆ พร้อม unittest อ้างอิงเอกสารมาตรฐาน

น้องกาย
นากกายชี้กระดานโน้ตซ้อนชั้นบนโต๊ะมิ้นต์
pythonstdlibperformance

Python lru_cache: จำผลคำนวณซ้ำให้ฟังก์ชันบริสุทธิ์เร็วขึ้น

อธิบาย functools.lru_cache แบบสั้น พร้อม unittest ที่พิสูจน์ว่าเรียกซ้ำไม่คำนวณใหม่

น้องกาย
นากกายต้นฉบับส่งบล็อกข้อมูลผ่านเครื่องแปลงเป็นกระเบื้องสีสองเฉดที่เรียงเป็นคู่
javahexencoding

Java HexFormat: แปลง byte กับ hexadecimal แบบมาตรฐานและเทสต์ round trip

เลิกเขียนลูป String.format ทีละ byte แล้วใช้ API ที่กำหนดตัวพิมพ์และ delimiter ได้

พี่โชว์
งูต้นฉบับร้อยลูกปัด argument ผ่านกรอบเครื่องหมายคำพูดไปเป็นสายคำสั่งเดียว
pythonshellsecurity

Python shlex.join: แสดงคำสั่ง shell ให้คนอ่านโดย quote argument อย่างถูกขอบเขต

ประกอบ argv เป็นข้อความสำหรับ Unix shell แบบย้อนกลับด้วย shlex.split ได้ โดยไม่ชวนใช้ shell=True

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

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

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

พี่โชว์
ลูกบอลสีมิ้นต์เรียงเป็นแถวโยงด้วยเส้นอำพันเป็นคู่ และนากกายยืนปลายแถว
pythonitertoolsstdlib

itertools.pairwise: เดินคู่ติดกันในลำดับโดยไม่เขียน zip เอง

อธิบาย pairwise ตั้งแต่ Python 3.10 เทียบกับ zip(seq, seq[1:]) พร้อม unittest

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

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

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

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

statistics.fmean: ค่าเฉลี่ยทศนิยมเร็วเมื่อข้อมูลเป็น float

อธิบาย statistics.fmean จากมาตรฐาน Python เทียบกับ mean ทั่วไป พร้อมตัวอย่างรันได้

น้องกาย
นากกายจัดกล่องแคชสองใบบนโต๊ะมิ้นต์ ใบหนึ่งไม่จำกัดขนาด ใบหนึ่งมีช่อง LRU สีอำพัน
pythonstdlibfunctools

functools.cache กับ lru_cache: เมื่อไหร่ควรจำกัดขนาดแคช

เทียบ @cache กับ @lru_cache จากเอกสาร Python พร้อมตัวอย่างรันได้และเกณฑ์เลือกใช้

น้องกาย
นากกายหมุนเข็มนาฬิกาข้ามช่องว่างฤดูใบไม้ผลิบนโต๊ะมิ้นต์
pythonstdlibzoneinfo

zoneinfo: เก็บเวลาแบบ DST-safe โดยไม่เดาออฟเซ็ตเอง

ใช้ zoneinfo.ZoneInfo กับ fold และแปลงผ่าน UTC เพื่อข้ามช่วงเปลี่ยนเวลาฤดูร้อนอย่างถูกต้อง พร้อมตัวอย่างรันได้

น้องกาย
นากกายเสียบการ์ดฟิลด์ลงช่องสล็อตและแป้นคีย์เวิร์ดบนโต๊ะมิ้นต์
pythonstdlibdataclasses

dataclass(slots=True, kw_only=True): ล็อกฟิลด์และบังคับคีย์เวิร์ด

สรุป slots กับ kw_only ของ dataclasses พร้อมตัวอย่างรันได้ว่าทำไมถึงกันพิมพ์ผิดและลดหน่วยความจำ

น้องกาย
นากกายวางกล่องผลลัพธ์ซ้ำบนชั้นแคชขนาดจำกัดบนโต๊ะมิ้นต์
pythonstdlibfunctools

functools.lru_cache: จำผลคำนวณซ้ำโดยไม่ต้องเขียนแคชเอง

อธิบาย lru_cache จาก stdlib พร้อมตัวอย่างรันได้ ตารางเลือก maxsize และข้อควรระวังเรื่องอาร์กิวเมนต์ที่แฮชได้

น้องกาย
นากกายจัดโทเคนไม้สีลงถาดแยกประเภทบนโต๊ะมิ้นต์ สื่อการจัดหมวด enum
pythonstdlibenum

Python StrEnum: เมื่อค่า enum ต้องเป็นสตริงจริงๆ

เทียบ enum.Enum กับ enum.StrEnum แบบสั้น พร้อมตัวอย่างรันได้และตารางเลือกใช้

น้องกาย
โต๊ะมิ้นต์มีสมุดคอนฟิกและบล็อกพาร์สค่าที่เรียงเป็นชั้น
pythontomllibstdlib

python tomllib: อ่านไฟล์ตั้งค่า TOML ด้วยไลบรารีในมาตรฐาน

สอนใช้ tomllib ในมาตรฐาน Python เพื่ออ่านคอนฟิก TOML พร้อมตัวอย่างที่รันทดสอบได้

น้องกาย