postgre-sql
Đi một vòng PostgreSQL: MVCC, WAL chạy ra sao, đánh index thế nào cho đúng, và mấy kinh nghiệm tối ưu hiệu năng "xương máu" khi dùng chung với Spring Boot.
Welcome to MikeDaDev's Blog – notes on Java, backend & system design.
ExploreĐi một vòng PostgreSQL: MVCC, WAL chạy ra sao, đánh index thế nào cho đúng, và mấy kinh nghiệm tối ưu hiệu năng "xương máu" khi dùng chung với Spring Boot.
Chữ ký số (digital signature) trong Java, dùng qua class java.security.Signature, giúp xác thực dữ liệu đến từ đâu và chắc chắn nó chưa bị ai sửa. Cơ chế dựa trên mã hoá bất đối xứng: người gửi dùng private key để ký, người nhận dùng public key tương ứng để kiểm tra lại.
Keycloak từ chuyện IAM cơ bản tới cách dùng nó trong hệ thống microservices lớn
Spring Security kết hợp JWT (JSON Web Token) là cách phổ biến để bảo mật RESTful API. Thay vì stateful (Session/Cookie lưu trên server), xác thực chuyển sang stateless: mọi thông tin nằm trong token, nên hệ thống dễ scale hơn và đỡ tốn bộ nhớ trên server.
Dựng Multi-Module Spring Boot 3 với Gradle hiện đại: bỏ anti-pattern subprojects/allprojects, dùng Convention Plugins để tái sử dụng cấu hình, quản lý dependency tập trung bằng Version Catalog (libs.versions.toml), hiểu compile avoidance giữa api và implementation, và xử lý xung đột bootJar vs jar.
Filter Chain, tích hợp OAuth2/JWT và mấy thứ cần làm cho chuẩn khi đưa bảo mật lên production.
Cookie là mấy mẩu dữ liệu nhỏ nằm ngay trên trình duyệt. Khi làm đăng nhập, Session giữ trạng thái trên server và dùng cookie để mang Session ID qua lại, còn JWT thì stateless: nhét luôn thông tin người dùng đã ký vào token, server đỡ phải nhớ gì.
Concurrency trong Java 21 & Spring Boot 3.x: Virtual Threads, ScopedValue và các pattern xử lý bất đồng bộ trong hệ thống phân tán hiệu năng cao.
Lambda và Functional Interface chạy thế nào bên trong JVM: vì sao lambda không phải Anonymous Inner Class, invokedynamic và LambdaMetafactory làm gì, tại sao biến phải effectively final, và cách dựng một Policy Engine bằng hàm.