Welcome to MikeDaDev's Blog – notes on Java, backend & system design.

Explore
MikeDaDev's Blog

All posts

I like to write about stuff I'm into. You'll find a mix of web dev articles, tech news and random thoughts from my life. Use the search below to filter by title.

Team Leadership Essentials

Những thứ một Frontline Leader cần nắm: phân biệt Leadership và Management, ủy quyền theo tình huống, phản hồi kiểu Radical Candor, giữ an toàn tâm lý cho team và cách xử lý thành viên underperform.

jev engineering: make ai intelligent more like human

Sao phải đốt tiền gọi LLM cồng kềnh chỉ để kiểm tra một điều kiện Boolean? Bài này nói về Jev Engineering: mô hình AI System 1 phi tự hồi quy (Non-autoregressive), rẽ nhánh theo ngữ nghĩa với độ trễ cỡ 70-500ms, rẻ hơn LLM nhiều lần theo công bố của TypeSafe, và đầu ra luôn đúng kiểu.

Resilience4j trong Spring Boot

Một service downstream sập hoặc trả lời chậm rì thì làm sao để nó không kéo cả hệ thống microservices sập theo (cascading failure)? Bài này đi qua Resilience4j: Circuit Breaker với sliding window, Bulkhead để cô lập thread và RateLimiter, kèm cấu hình dùng được ngay.

in ai / llmops

llm evaluation & observability

Đưa AI lên production rồi thì đo độ chính xác và theo dõi nó kiểu gì? LLM-as-a-Judge, RAG Triad (Context Relevance, Faithfulness, Answer Relevance), Prompt Drift và tracing đầu cuối với Langfuse & OpenTelemetry.

Feature Flags với Unleash & Spring Boot

Feature Flags với Unleash trong Spring Boot 3: 4 nhóm toggle theo cách chia của Pete Hodgson, cách Unleash đánh giá flag ngay trong bộ nhớ phía client và đồng bộ qua Server-Sent Events, chuyện MurmurHash3 chia user khi gradual rollout, và dùng Strategy Pattern để thoát khỏi đống if-else.

Java Memory Model & happens-before

Đào vào Java Memory Model (JSR-133): giao thức MESI, Store Buffer, 4 loại Memory Barrier, quan hệ Happens-Before, chuyện False Sharing (@Contended), và Acquire/Release với VarHandle từ Java 9.

in ai / rag

RAG vs Fine-tuning

Khi nào nên dùng RAG, khi nào nên Fine-tuning? Hiểu sai hai cách này là có thể đốt cả trăm ngàn USD tiền GPU. Mô hình "nhớ" kiến thức ra sao, 7 trục đánh đổi khi chọn kiến trúc, bài toán TCO và cách ghép RAG với một SLM fine-tune riêng để chạy production.

cạm bẫy Virtual Threads trong production

Bật Virtual Threads trong Java 21 xong ứng dụng production lại treo? Bài này đi qua 4 chỗ hay dính: pinning carrier thread do synchronized (và chuyện JDK 24 đã sửa nó), ThreadLocal làm phình bộ nhớ, pool thread không cần thiết và connection pool bị đè bẹp, kèm cách xử lý cho từng cái.

bảo mật LLM & OWASP Top 10

Bảo mật cho hệ thống Generative AI và Agentic Workflows: vì sao Code Plane và Data Plane lẫn vào nhau trong LLM, các kiểu tấn công theo OWASP Top 10 for LLM, mô hình Dual-LLM Sandbox, Zero-Trust Tool Broker và Guardrails nhiều lớp (Defense-in-Depth) cho production.