สถานะต้นฉบับ
หนังสือเล่มนี้อยู่ในสถานะ v1.0 Complete Book Draft
หมายความว่า:
- มีโครงสร้างครบทั้งเล่ม
- มีหน้าแรกและแผนทั้งเล่ม
- มีเนื้อหาครบ 7 ภาค
- มีบทหลักครบ 40 บท
- มีภาคผนวกสำหรับเปิดดูเร็ว
- ทุกบทมีเนื้อหาพื้นฐาน, ตัวอย่างโค้ด หรือ checklist สำหรับเขียนต่อ
- บทที่ 1-5 ถูกขยายเป็น draft ที่อ่านตามได้จริงแล้ว
- บทที่ 6-10 ถูกขยายเป็น draft สำหรับ REST API ที่อ่านและทำตามได้จริงแล้ว
- บทที่ 11-15 ถูกขยายเป็น draft สำหรับ PostgreSQL, JPA, Repository และ CRUD ที่อ่านตามได้จริงแล้ว
- บทที่ 16-20 ถูกขยายเป็น draft สำหรับ validation, exception handling, DTO, response format และ pagination ที่อ่านตามได้จริงแล้ว
- บทที่ 21-26 ถูกขยายเป็น draft สำหรับ register, password hashing, login, JWT, current user และ protected endpoints ที่อ่านตามได้จริงแล้ว
- บทที่ 27-31 ถูกขยายเป็น draft สำหรับ role, admin-only endpoints, admin user list, change role/status และ audit log ที่อ่านตามได้จริงแล้ว
- บทที่ 32-40 ถูกขยายเป็น draft สำหรับ logging, transaction, Flyway, profiles/env, OpenAPI, testing, Docker Compose และ build/deploy ที่อ่านตามได้จริงแล้ว
- มีตัวอย่างโค้ด controller แรกใน
examples/chapter-05-first-controller/ - มีตัวอย่างโค้ด User API แบบ in-memory ใน
examples/chapter-07-user-api-in-memory/ - มีตัวอย่างโค้ดการแยก layer ใน
examples/chapter-08-layered-architecture/ - มีชุด request สำหรับทดสอบ API ใน
examples/chapter-09-postman-testing/ - มีตัวอย่าง config PostgreSQL ใน
examples/chapter-11-postgresql-config/ - มีตัวอย่าง entity/repository ใน
examples/chapter-12-jpa-entity/และexamples/chapter-13-jpa-repository/ - มีตัวอย่าง User CRUD กับ database ใน
examples/chapter-14-user-crud-database/ - มีตัวอย่าง update endpoint ใน
examples/chapter-15-update-user/ - มีตัวอย่าง validation ใน
examples/chapter-16-validation/ - มีตัวอย่าง global exception handler ใน
examples/chapter-17-exception-handling/ - มีตัวอย่าง DTO ใน
examples/chapter-18-dto/ - มีตัวอย่าง response wrapper ใน
examples/chapter-19-response-format/ - มีตัวอย่าง pagination, sorting และ filtering ใน
examples/chapter-20-pagination-sorting-filtering/ - มีตัวอย่าง register ใน
examples/chapter-21-register-design/ - มีตัวอย่าง password hashing ใน
examples/chapter-22-password-hashing/ - มีตัวอย่าง login ใน
examples/chapter-23-login/ - มีตัวอย่าง JWT service และ resource server config ใน
examples/chapter-24-jwt-token/ - มีตัวอย่าง current user endpoint ใน
examples/chapter-25-current-user/ - มีตัวอย่าง protected/admin endpoints ใน
examples/chapter-26-protect-endpoints/ - มีตัวอย่าง role/status และ JWT role claim ใน
examples/chapter-27-roles/ - มีตัวอย่าง admin-only endpoint ใน
examples/chapter-28-admin-only-endpoints/ - มีตัวอย่าง admin user list ใน
examples/chapter-29-admin-user-list/ - มีตัวอย่าง change role/status ใน
examples/chapter-30-change-role-status/ - มีตัวอย่าง audit log ใน
examples/chapter-31-audit-log/ - มีตัวอย่าง logging ใน
examples/chapter-32-logging/ - มีตัวอย่าง transaction ใน
examples/chapter-33-transaction/ - มีตัวอย่าง Flyway migration ใน
examples/chapter-34-flyway/ - มีตัวอย่าง profiles/env ใน
examples/chapter-35-profiles-env/ - มีตัวอย่าง OpenAPI/Swagger ใน
examples/chapter-36-openapi-swagger/ - มีตัวอย่าง unit test ใน
examples/chapter-37-unit-test/ - มีตัวอย่าง integration test ใน
examples/chapter-38-integration-test/ - มีตัวอย่าง Docker Compose ใน
examples/chapter-39-docker-compose/ - มีตัวอย่าง build/deploy checklist ใน
examples/chapter-40-build-deploy/ - มีโปรเจกต์รวมท้ายเล่มใน
examples/final-backend-api/ - โปรเจกต์รวมท้ายเล่มรัน
testและbootJarผ่านแล้วด้วย JDK 25 - มีหน้าอธิบาย final project ใน
appendix/final-project - มี Postman collection และ environment สำหรับ final project ใน
examples/final-backend-api/postman/ - มี GitHub Actions workflow สำหรับ deploy เว็บหนังสือขึ้น GitHub Pages
- มีหน้าอธิบายขั้นตอน deploy ใน
appendix/github-pages-deploy
สิ่งที่ยังควรทำก่อนเผยแพร่จริง
Section titled “สิ่งที่ยังควรทำก่อนเผยแพร่จริง”รอบถัดไปก่อนเผยแพร่จริงควรทำตามลำดับนี้:
- ตรวจเทียบ code snippet รายบทกับ
final-backend-apiอีกรอบ เพื่อให้ชื่อ class/package ตรงกันมากที่สุด - เพิ่มภาพ diagram เช่น request flow, layered architecture, JPA flow, JWT flow, admin flow, deployment flow
- ตรวจภาษาไทย ความลื่น และความสม่ำเสมอของคำศัพท์ทั้งเล่ม
- ตรวจลิขสิทธิ์ dependency/version และ pin version ที่ใช้ในหนังสือ
Definition of Done สำหรับแต่ละบท
Section titled “Definition of Done สำหรับแต่ละบท”บทหนึ่งบทจะถือว่าพร้อมเผยแพร่เมื่อมีครบ:
- เป้าหมายของบท
- ภาพรวมแนวคิด
- ขั้นตอนลงมือทำ
- code snippet ที่ทดสอบแล้ว
- วิธีทดสอบด้วย Postman หรือ command line
- ปัญหาที่พบบ่อย
- แบบฝึกหัดท้ายบท
แนวทางเขียนต่อ
Section titled “แนวทางเขียนต่อ”ให้เขียนแบบ “รันได้ก่อน แล้วค่อยอธิบาย” เพราะกลุ่มเป้าหมายเป็นมือใหม่ Spring Boot การเห็นผลลัพธ์เร็วจะช่วยให้ผู้อ่านไม่หลุดตั้งแต่ช่วง setup