Tag: api-design

7 รายการ

Blog

นากต้นฉบับตรวจกล่องแรกที่ว่างก่อนดึงคันเปิดตู้สำรองซึ่งมีของอยู่
javaoptionallazy

Java Optional.or: ต่อ Fallback แบบ Lazy โดยไม่แกะ Optional กลางทาง

ใช้ Optional.or จัดลำดับ cache, database และ default supplier พร้อมพิสูจน์ว่า fallback ไม่ถูกเรียกเมื่อมีค่าหลัก

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

Java RandomGenerator: เปลี่ยนอัลกอริทึมสุ่มโดยไม่ผูก Business Logic กับ Random

ใช้ RandomGenerator และ RandomGeneratorFactory บน Java 17 เลือกกลยุทธ์ สร้าง seed ทำซ้ำได้ และไม่เผลอใช้ PRNG กับ secret

พี่โชว์
งูต้นฉบับมองช่องแผนที่สีเขียวผ่านฝาครอบใสที่ล็อกการแตะ แต่ข้อมูลด้านในยังเปลี่ยนตามเจ้าของ
pythonmappingapi-design

Python MappingProxyType: แจก View อ่านอย่างเดียวโดยไม่แช่แข็งข้อมูลต้นทาง

ใช้ types.MappingProxyType ป้องกัน caller เขียน dict ผ่าน API แต่ยังเห็นการอัปเดตจาก owner พร้อมข้อควรระวังเรื่องค่าซ้อน

พี่โชว์
นากต้นฉบับถือค่าหลักผ่านประตู ขณะที่เครื่องสร้างค่าทดแทนด้านข้างยังดับอยู่
javanull-safetyobjects

Java requireNonNullElseGet: สร้าง Default แบบ Lazy และห้าม Supplier คืน null

เลือก fallback ที่แพงเฉพาะเมื่อจำเป็นด้วย Objects.requireNonNullElseGet พร้อมทดสอบว่า supplier ไม่ถูกเรียกเมื่อมีค่าหลัก

พี่โชว์
กระรอกดินสีฟ้าเขียวต้นฉบับใช้กรรไกรตัดสายลูกปัดตรงปมสุดท้ายบนโต๊ะสีครีม
gogolangbytes

Go 1.27 bytes.CutLast: แยกส่วนท้ายโดยไม่ Index เอง

ใช้ bytes.CutLast แยก key กับ suffix จาก separator ตัวสุดท้าย พร้อมทดสอบกรณีไม่พบ delimiter และอธิบายเรื่อง slice aliasing

พี่โชว์
ภาพเส้นทาง import หลายสายจากโฟลเดอร์ภายในถูกรวมผ่านประตู public API เดียว ก่อนเข้าสู่เครื่องตรวจ TypeScript สีเขียว
react-nativetypescriptmobile

React Native 0.87 เปิด Strict TypeScript API เป็นค่าเริ่มต้น: อัปเกรดอย่างไรไม่ให้ type พังทั้งแอป

เข้าใจ WHY ของ public API ที่สร้าง type จาก source พร้อม migration checklist เรื่อง deep import, ref types และทางถอยชั่วคราวใน React Native 0.87

พี่โชว์
ภาพสายพานสีเขียวสามช่วง แปลงข้อมูลวงกลมเป็นสี่เหลี่ยมและผลลัพธ์สีอำพัน โดยมีตัวละครคล้ายโกเฟอร์กำลังตรวจการทำงาน
gogolanggenerics

Go 1.27 มี Generic Methods แล้ว: จัดสายพานแปลงข้อมูลให้อ่านจากซ้ายไปขวา

พี่โชว์พาดูเหตุผลที่ Go 1.27 เพิ่ม type parameter ให้ concrete method พร้อมตัวอย่าง Map ที่รันทดสอบจริง และข้อจำกัดเรื่อง interface ที่ต้องรู้ก่อนออกแบบ API

พี่โชว์