บล็อกและองค์ความรู้

บทความและบันทึกเชิงลึกด้านวิศวกรรมซอฟต์แวร์, สถาปัตยกรรมระบบ, Odoo ERP, DevOps และประสบการณ์จริงจากสนามงาน Production

FEATURED POST // 01 System Architecture
18 ก.พ. 2025 8 นาทีในการอ่าน

เบื้องหลังสถาปัตยกรรม Odoo ERP 17 + SvelteKit: ซิงค์ข้อมูล Real-time ระดับ 100,000+ รายการโดยไร้คอขวด

การเชื่อมต่อ E-Commerce หน้าบ้านเข้ากับ ERP หลังบ้าน มักเจอปัญหา Database Lock, สต็อกเพี้ยนช่วง Flash Sale และ Query ช้า บทความนี้จะเล่าเทคนิคการใช้ CDC (Change Data Capture), Redis Cache และ Background Workers ในการแก้ปัญหาจริง

แก่นสำคัญเชิงสถาปัตยกรรม

แยก Read/Write path ออกจากกัน, ใช้ PostgreSQL WAL-based streaming, และลดภาระของ Odoo ORM ด้วย Event Queue

#Odoo ERP#SvelteKit#PostgreSQL#Redis#High Concurrency
Nat (ntdotjsx) & Auto Sirawit · Co-Founders & Principal Engineers
บทความทางเทคนิค

องค์ความรู้และบทเรียนจากงานจริง

Frontend Engineering 10 ก.พ. 2025
POST // 01
6 นาทีในการอ่าน
Nat (ntdotjsx)

สรุปบทเรียนย้ายโปรเจกต์ขนาดใหญ่สู่ Svelte 5 Runes: ทำไมโค้ดถึงสั้นลง 40% และ Reactivity เสถียรขึ้น

เจาะลึกการใช้งาน $state, $derived, $effect และ universal .svelte.ts stores ในงานโปรดักชันจริง พร้อมวิธีหลีกเลี่ยง infinite loop effect และการจัดการ Memory leak

สรุปสาระสำคัญ:

Runes ทำให้ Reactivity ชัดเจนแบบ explicit จัดการ state ข้าม component ได้สะอาดกว่า Store แบบเดิมมาก

#Svelte 5#TypeScript#Frontend#Reactivity
DevOps & Cloud 28 ม.ค. 2025
POST // 02
7 นาทีในการอ่าน
Auto Sirawit

คู่มือตั้งค่า Zero-Downtime Deployment สำหรับ Odoo ERP ด้วย Docker Swarm และ Traefik

วิธี Deploy อัปเดตโมดูลใน Odoo โดยที่พนักงานในโรงงานยังคีย์ข้อมูลได้ต่อเนื่อง ไม่ต้องสั่งปิดระบบช่วงบ่าย พร้อมระบบ Automated Rollback เมื่อเกิด Database Schema mismatch

สรุปสาระสำคัญ:

ใช้ Rolling updates คู่กับ Healthcheck endpoint และทำ Database migration ผ่าน staging sandbox ก่อนเสมอ

#Docker Swarm#Odoo#Traefik#CI/CD#DevOps
System Architecture 15 ม.ค. 2025
POST // 03
9 นาทีในการอ่าน
Engineering Team

การจัดการข้อมูล IoT Telemetry 5 ล้าน Records ต่อวันด้วย TimescaleDB และ MQTT

เมื่อเซนเซอร์ในโรงงานส่งข้อมูลอุณหภูมิและความชื้นมาทุกๆ 500ms เราออกแบบตาราง Hypertables, Continuous Aggregates และ Data Retention Policy อย่างไรให้กินพื้นที่น้อยลง 85%

สรุปสาระสำคัญ:

บีบอัดข้อมูลแบบ Columnar Compression และคำนวณสถิติ Rollup ล่วงหน้าเพื่อลดภาระ Query ในแดชบอร์ด

#TimescaleDB#IoT#MQTT#PostgreSQL#Data Engineering
Odoo ERP 02 ม.ค. 2025
POST // 04
5 นาทีในการอ่าน
Nat (ntdotjsx)

7 ข้อผิดพลาดที่พบบ่อยในการเขียน Custom Module ใน Odoo และวิธีแก้อย่างมืออาชีพ

หลีกเลี่ยง N+1 Query ใน Computed fields, การใช้ sudo() อย่างปลอดภัย, การจัดการ User Security Rules (ir.model.access) และการเขียน Unit Test เพื่อไม่ให้ระบบพังเมื่ออัปเกรดเวอร์ชัน

สรุปสาระสำคัญ:

ใช้ @api.depends อย่างรัดกุม, หลีกเลี่ยง search ใน loop, และแยก business logic ออกจาก controller

#Odoo#Python#ORM#Best Practices#Security
Frontend Engineering 19 ธ.ค. 2024
POST // 05
4 นาทีในการอ่าน
Engineering Team

ทำไมเราถึงเปลี่ยนมาใช้ Tailwind CSS v4 ในทุกโปรเจกต์ใหม่: เร็วขึ้น 10 เท่า และ Config ง่ายขึ้นมาก

เปรียบเทียบ Oxide engine ตัวใหม่ใน Tailwind v4, การใช้ @theme CSS variable โดยไม่ต้องพึ่ง tailwind.config.js และผลลัพธ์ Build Time ที่ลดลงจาก 4.2s เหลือเพียง 350ms

สรุปสาระสำคัญ:

Native CSS Cascade Layers และ CSS First configuration ช่วยลด bundle footprint และเพิ่ม DX อย่างมหาศาล

#Tailwind CSS v4#CSS#Vite#Frontend Performance
Engineering Strategy 05 ธ.ค. 2024
POST // 06
6 นาทีในการอ่าน
Auto Sirawit

กลยุทธ์ Automated Testing สำหรับโปรเจกต์ SME: คุ้มค่าที่สุดโดยไม่ทำให้โปรเจกต์ล่าช้า

ทำไมการตั้งเป้า Code Coverage 100% อาจไม่คุ้มค่าสำหรับทีมขนาดเล็ก และวิธีเน้น Integration Test ในจุด Critical Paths เช่น การตัดเงิน, การคำนวณภาษี และการตัดสต็อก

สรุปสาระสำคัญ:

เน้นทดสอบ Business Critical Flows ด้วย Playwright และ Unit test เฉพาะ pure domain functions

#Testing#Playwright#Vitest#QA#Agile
ENGINEERING NEWSLETTER

รับอัปเดตบทความวิศวกรรมและ Case Study ใหม่ล่าสุด

เราแชร์บทเรียนจริงจากงานพัฒนาซอฟต์แวร์ สถาปัตยกรรมระบบ และทิปส์การทำ ERP ทุก 2 สัปดาห์ (ไม่มีสแปมแน่นอน)

Bi-weekly updates · 0% Spam · Unsubscribe anytime