Stream khiến mã trông gọn gàng ngay cả khi nó khó hiểu — và đó là cái bẫy
Ba cách viết cùng một phép tính, tách chuỗi không tốn thêm lần duyệt, và bốn dấu hiệu cho biết bạn nên quay về vòng lặp.
Ba cách viết cùng một phép tính, tách chuỗi không tốn thêm lần duyệt, và bốn dấu hiệu cho biết bạn nên quay về vòng lặp.
Java bắt bạn cầm thẻ hội viên 'implements'; Go thì interface là bản mô tả công việc do người dùng viết, ai làm được việc là đủ tư cách. Vì sao interface nên nhỏ, nên khai ở phía người dùng, và cách kiểm lúc biên dịch.
Bean Validation như một tấm khuôn úp lên dữ liệu đến: mỗi chú thích kiểm một ô phải vừa khuôn, và nó chỉ soát HÌNH DẠNG chứ không soát sự thật. @Valid khác @Validated, gom hết lỗi một lần, thông báo tiếng Việt, và ranh giới 400 với 409.
Method receiver giá trị như đọc một tài liệu (bản photo cũng được); receiver con trỏ như ký sửa nó (cần bản gốc). Method gắn ngoài kiểu, method set khác nhau giữa giá trị và con trỏ, và vì sao khác biệt đó chỉ lộ ra khi gán vào interface.
RestController như người phiên dịch đứng giữa hai thứ tiếng: bên ngoài nói HTTP, bên trong nói Java. Nó bóc phong bì request thành tham số, gói kết quả thành response. Ánh xạ URL/method, path variable, query param, body, và ResponseEntity để cầm mã trạng thái lẫn header.
Cộng mảng ngang nhau, lọc và gom nhóm chậm hơn khoảng 10–15%, danh sách nhỏ chậm hơn bốn lần — và vì sao con số đó vẫn không quyết định được bạn nên viết gì.