บันทึกจากการลงมือทำ
แบ่งปันเพื่อการสร้างต่อ
บทความด้านซอฟต์แวร์ สถาปัตยกรรม และรายละเอียดเล็ก ๆ ที่ทำให้ระบบทำงานได้ดี จากประสบการณ์จริงของผม
บทความเพิ่มเติม
CQRS และ Event Sourcing: Trade-offs ที่แท้จริง
เมื่อไหร่ที่ CQRS คุ้มค่า เมื่อไหร่ที่ Event Sourcing ทำให้แย่ลง และเมื่อไหร่ที่ CRUD ธรรมดาคือคำตอบที่ถูกต้อง พร้อมตัวอย่าง TypeScript และ Anti-patterns ที่ควรหลีกเลี่ยง
Backpressure และ Flow Control ใน Async Systems
เมื่อ producer ทำงานเร็วกว่า consumer — Node streams, Go channels, Rust async, RxJS, และ Kafka consumer lag กับ pattern ที่คุมการใช้ memory ได้จริง
Strangler Fig Pattern: ย้าย legacy monolith โดยไม่ต้อง big-bang rewrite
playbook ที่ใช้ได้จริงสำหรับการแทนที่ระบบ legacy แบบ in-place — routing, dual-write, shared data, การแบ่งทีม และลำดับงานที่ส่งของได้จริง
เจาะลึก PostgreSQL Internals: MVCC, VACUUM และ HOT Updates
Postgres เก็บแถวข้อมูลจริง ๆ อย่างไร — tuple, xmin/xmax, HOT update, table bloat และทำไม VACUUM จึงเป็นคำสั่งที่ถูกเข้าใจผิดมากที่สุดในฐานข้อมูลของคุณ
Code Review และ Commit Hygiene ที่ช่วยได้จริง
Conventional Commits, PR ขนาดเล็ก, วัฒนธรรมการ Review และ PR Templates ที่คนจะกรอกจริง — วิธี Review โค้ดเพื่อให้ Developer คนต่อไป (รวมถึงตัวคุณในอนาคต) ยังสามารถทำงานได้เร็ว
การออกแบบ RESTful API Endpoints: Best Practices สำหรับ HTTP Methods และโครงสร้าง URL
คู่มือครบวงจรสำหรับการออกแบบ RESTful API — ครอบคลุม HTTP Methods (GET, POST, PUT, PATCH, DELETE) โครงสร้าง URL, Status Codes, รูปแบบ Pagination, Error Handling ด้วย RFC 7807 และการ Implement จริงใน TypeScript, Java, Python และ C#
Database Diagrams: คู่มือปฏิบัติสำหรับออกแบบและจัดทำเอกสาร Schema
คู่มือครบวงจรเกี่ยวกับ Database Diagrams — ครอบคลุม ERD notation (Chen, Crow's Foot, UML) การวาดด้วย Mermaid และ PlantUML ตัวอย่าง Schema จริง และ Best Practices สำหรับจัดทำเอกสาร Database Design
JWT for Service-to-Service Authentication : การยืนยันตัวตนระหว่างเซิร์ฟเวอร์ใน Microservices
คำแนะนำการใช้งาน JWT สำหรับการยืนยันตัวตนระหว่างเซิร์ฟเวอร์อย่างครบถ้วน — ครอบคลุม JWT ที่เซ็นระหว่างเซิร์ฟเวอร์, asymmetric keys (RS256/ES256) สำหรับการตรวจสอบแบบกระจาย, รูปแบบการส่งต่อ token และการใช้งานกับ Node.js
Service Mesh Identity (SPIFFE/SPIRE) : การยืนยันตัวตนระหว่างเซิร์ฟเวอร์ใน Microservices
คำแนะนำครบถ้วนเกี่ยวกับ SPIFFE/SPIRE สำหรับ workload identity ใน microservices — ครอบคลุมรูปแบบ SPIFFE ID, SVID, สถาปัตยกรรมและส่วนประกอบของ SPIRE, การผสานกับ Istio/Envoy และรูปแบบ zero-trust networking
OAuth 2.0 Client Credentials Grant : การยืนยันตัวตนระหว่างเซิร์ฟเวอร์ใน Microservices
คำแนะนำการใช้งาน OAuth 2.0 Client Credentials Grant อย่างครบถ้วนสำหรับการยืนยันตัวตนระหว่างเครื่อง — ครอบคลุม client credentials flow, token caching และการรีเฟรช, การตรวจสอบ scope และ audience, และการใช้งานกับ Node.js และ identity provider หลายเจ้า





