http abstractions
Các class và interface HTTP của Spring (ResponseEntity, HttpHeaders, MediaType, RestTemplate, WebClient, RestClient...) gói HTTP thô thành object dễ dùng, giúp code độc lập với web server bên dưới và dễ unit test hơn.
Welcome to MikeDaDev's Blog – notes on Java, backend & system design.
ExploreCác class và interface HTTP của Spring (ResponseEntity, HttpHeaders, MediaType, RestTemplate, WebClient, RestClient...) gói HTTP thô thành object dễ dùng, giúp code độc lập với web server bên dưới và dễ unit test hơn.
Các tính năng ngôn ngữ đáng dùng trong Java 17-21: record, sealed class, pattern matching, text block, sequenced collections...
Hiểu cho đúng mấy cơ chế bảo mật của trình duyệt: Same-Origin Policy thật ra là gì, preflight OPTIONS tốn thêm bao nhiêu, cái bẫy Access-Control-Allow-Origin dùng wildcard, và vì sao nên gom cấu hình CORS về API Gateway.
Virtual Threads trong Java 21: vì sao thread truyền thống khó scale, virtual thread chạy thế nào bên dưới, cách dùng cơ bản và mấy chỗ cần để ý (pinning, ThreadLocal, giới hạn tài nguyên).
A practical guide to building observable Spring microservices with Logback, MDC and distributed tracing: the patterns that work, the traps teams fall into, and fixes that held up in production.
Nhìn kỹ Java Optional: mỗi instance tốn 16-24 bytes heap và khi nào thì chuyện đó thật sự đáng lo, 6 anti-pattern hay gặp, khác biệt quan trọng giữa orElse và orElseGet, và cách làm null-safety bài bản hơn với JSpecify.
Vì sao ArrayList gần như luôn nhanh hơn LinkedList trong Java: chuyện CPU Cache Line và spatial locality, chỗ hao bộ nhớ của Node header, cái hiểu lầm sách giáo khoa về tốc độ chèn của LinkedList, và ArrayDeque, lựa chọn nên dùng thay thế.
Mổ xẻ bên trong các loại Map của Java, mỗi loại tốn kém ở đâu, và chọn loại nào cho đúng khi hệ thống chịu tải cao
Đào xuống tầng low-level xem ArrayList, LinkedList chạy thế nào, vì sao lý thuyết nói một đằng mà hiệu năng thực tế một nẻo, và mấy cái bẫy dễ dính khi chạy đa luồng.