Database Migration với Flyway
Vấn đề — Tại sao ddl-auto=update nguy hiểm trong Production Từ Bài 5, chúng ta đã sử dụng cấu hình này: Cấu hình này yêu cầu Hibernate: “So sánh entity […]
Vấn đề — Tại sao ddl-auto=update nguy hiểm trong Production Từ Bài 5, chúng ta đã sử dụng cấu hình này: Cấu hình này yêu cầu Hibernate: “So sánh entity […]
Tại sao không nên trả Entity trực tiếp? DTO Pattern Các vấn đề khi trả Entity trực tiếp Vấn đề 1: Lộ cấu trúc nội bộ — Client thấy passwordHash, […]
Kiến trúc phân tầng — Controller → Service → Repository Ba tầng và quy tắc Quy tắc 1: Dependency chảy xuống dưới. Controller → Service → Repository. Quy tắc 2: […]
Repository Pattern — Tìm hiểu sâu Repository Pattern là gì? Repository pattern là design pattern trừu tượng hóa truy cập dữ liệu phía sau một interface sạch. Ý tưởng đơn […]
Các kiểu quan hệ trong Cơ sở dữ liệu quan hệ Trong thực tế, dữ liệu luôn có liên kết. Người dùng viết bài viết. Bài viết có bình luận. […]
Tại sao cần Cơ sở dữ liệu quan hệ? Ôn lại SQL Vấn đề với lưu trữ trong bộ nhớ Trong Bài 2 và 3, chúng ta lưu dữ liệu […]
Vấn đề — Tại sao không viết SQL thuần trong Java? Trong Bài 4, bạn đã viết SQL trực tiếp trong shell MariaDB. Điều đó ổn cho quản trị database, […]
REST là gì? Nguyên tắc và Ràng buộc Trong Bài 1, chúng ta đã đề cập ngắn gọn về REST API. Bây giờ hãy đi sâu hơn vào REST thực […]
Ôn lại — Từ Java main() đến Web Server đang chạy Trong Bài 1, chúng ta đã tạo một ứng dụng Spring Boot với HelloController đơn giản. Hãy nhanh chóng […]
Web hoạt động như thế nào — Chu trình Request/Response của HTTP Trước khi viết bất kỳ dòng code Spring Boot nào, bạn cần hiểu điều gì thực sự xảy […]