Real-world backend tasks you do every day — API development, databases, async communication, security, resiliency, advanced patterns, and observability with Spring Boot. For backend devs, by backend devs.
REST CRUD — พื้นฐานที่ทุก backend dev ทำทุกวัน
gRPC — เมื่อ REST ไม่เร็วพอ
GraphQL — ให้ client เลือกเองว่าจะเอาอะไร
OpenAPI — document as code ไม่ต้องเขียนเอง
Batch processing — ประมวลผลข้อมูลเป็นก้อน
LLM connectivity — backend ยุคใหม่ต้องคุยกับ AI
Icon/UI management — คุมหน้าบ้านจากหลังบ้าน
Data Management Platform — SQL ข้ามหลาย source
Environment variables — 12-factor config
Config files — จัดการ config หลาย environment
Vault injection — ไม่เก็บ secret ใน code
Caching — เร็วขึ้นด้วย Redis/Memcached
Object storage — จัดเก็บไฟล์ด้วย S3/MinIO
Query optimization — แก้ slow query และ N+1
Batch vs one-by-one — เลือกอย่างไรให้เหมาะสม
WebSocket — real-time สองทาง
Streaming — Kafka vs RabbitMQ เลือกอะไร
Cronjob — งานตั้งเวลาที่ทุก backend ต้องมี
Message Queue — งานเข้าคิว ทำทีละอัน
Pub/Sub — Kafka ส่งต่อให้ทุกคนที่สนใจ
Thread pool — จำกัดทรัพยากร คุม concurrency
Reactive — async non-blocking สำหรับ I/O หนัก
Actor model — no shared state, message passing
BFF — หนึ่ง API ต่อหนึ่ง frontend
API Gateway — ประตูเดียวเข้าสู่ระบบ
Serverless — Spring Boot บน Lambda/Azure Functions
Virtual Waiting Queue — จัดการต่อแถวตอนลูกค้าเยอะ
Event Sourcing — เก็บ event ไม่ใช่ state
CQRS — แยก model สำหรับอ่านและเขียน
Saga — distributed transaction ที่ทำได้จริง
Orchestrator — Temporal คุม workflow ยาว ๆ
Choreography — ไม่มีตัวคุมกลาง ทุกคนฟัง event
Service Mesh — Istio/Linkerd เพิ่มความสามารถโดยไม่แก้ code
AuthN & AuthZ — Spring Security พื้นฐาน
User login — OAuth2/JWT สำหรับ user
API Key — service-to-service auth
OAuth 2.0 — backend-to-backend
OWASP best practices — checklist ความปลอดภัย
CI/CD Jenkins — pipeline สำหรับ Spring Boot
CI/CD GitHub Actions — pipeline สมัยใหม่
Distributed config — จัดการ config กลาง
Circuit breaker — ป้องกัน cascading failure
Retry — ลองใหม่เมื่อ fail ชั่วขณะ
Rate limit — จำกัด request ป้องกัน abuse
Timeout — ทุก external call ต้องมี
Load testing — หาจุดที่ระบบรับไม่ไหวก่อนจะกระทบ user
Metrics — Prometheus + Micrometer
Logging — ELK/Splunk สำหรับค้นหา log
Tracing — ตาม request ข้ามหลาย service
Observability strategy — รวมทั้งหมดเป็นระบบ
Code review ช่วยทั้งหา bug ปรับโค้ดให้อ่านง่าย และลด cognitive load ให้คนที่มาอ่านต่อ