Chiwa Kantawong (Pea)·Jun 28SOLID Principle: หลักการเขียนโค้ดที่ทำให้ระบบอยู่รอดในโลก Productionหลายคนเริ่มเขียนโปรแกรมจากคำถามง่าย ๆ ว่า
Chiwa Kantawong (Pea)·Oct 10, 2025Code ไม่ได้สวยเพราะ format — แต่มันสวยเพราะ “คิดเป็นระบบ”โค้ดที่จัด indent สวย ฟอร์แมตเนี้ยบ แต่ “คิดไม่เป็นระบบ” ก็ยังอ่านยากอยู่ดี ความสวยที่แท้จริง คือโค้ดที่เล่าเรื่องได้เองว่าระบบทำงานยังไง…
Chiwa Kantawong (Pea)·Oct 8, 2025Service ชั้นเดียวไม่พอ: เข้าใจ Application Service vs Domain Service“Service ไม่ใช่ถังรวม logic” — มันมีหน้าที่แตกต่างกัน และถ้าเราเข้าใจแค่ชั้นเดียว ก็จะพลาดหัวใจของ Clean Architecture ไปครึ่งหนึ่ง
Chiwa Kantawong (Pea)·Oct 7, 2025อย่าฝัง Logic ไว้ใน Controller — แยก Service อย่างไรให้ Clean และ Test ได้จริงคอนโทรลเลอร์ควร “บาง” และ “ซื่อสัตย์ต่อ HTTP” เท่านั้น — ที่เหลือคือหน้าที่ของ Service / Application Layer
Chiwa Kantawong (Pea)·Sep 30, 2025Clean Architecture + SOLID Pattern in Spring Bootแนวทางที่เราใช้ในการจัดโครงสร้าง Spring Boot project เน้น Clean Architecture + SOLID เพื่อความเรียบง่าย อ่านง่าย ดูแลต่อได้จริง…
Chiwa Kantawong (Pea)·Sep 29, 2025Spring Boot — Global Exception Handlerรวม Global Exception Handler ที่พร้อมใช้งาน ครบทุกเคสสำคัญ (Spring MVC + Spring Data JPA + Hibernate + Security + Web/Multipart +…
Chiwa Kantawong (Pea)·Sep 26, 2025Java/Spring Exception Cheat Sheetคืออะไร → เกิดขึ้นได้ยังไง → วิธีรับมือ → วิธีป้องกัน เหมาะสำหรับ Spring Boot + Spring Data JPA + Hibernate
Chiwa Kantawong (Pea)·Sep 25, 2025Spring @Transactional ทำงานยังไงกันแน่?Dev Java หลายคนใช้ @Transactional กันทุกวัน แต่เคยสงสัยไหมครับว่ามันทำงานยังไง? จริง ๆ แล้วมันไม่ใช่เวทมนตร์อะไรเลย แต่เป็น AOP + Proxy ที่…
Chiwa Kantawong (Pea)·Sep 24, 2025EP3. Lombok Utilities Deep Diveครอบคลุม: @Cleanup, @SneakyThrows, @Synchronized, @UtilityClass, @Getter(lazy = true), var/val, @Jacksonized, @Delegate, @ExtensionMethod
Chiwa Kantawong (Pea)·Sep 23, 2025EP1. Lombok แบบละเอียด: ทุก FeatureLombok Builder Deep Dive — @Builder / @SuperBuilder/ @Singular กันแบบจุกๆ