-
Java Virtual Threads Explained: How They Work and When to Use Them
How Java Virtual Threads work under the hood, why they simplify concurrency, and when I choose them over async code.
-
Why Blocking I/O Hurts and How Asynchronous Fixes It
Blocking I/O wastes CPU cycles and limits scalability. This post explains how asynchronous programming solves the problem and improves performance.
-
Bloom Filter and How I Prevent Tons of Message Duplication
Bloom Filter is a probabilistic data structure with low memory cost, used to test whether an object is a member of a set.
-
Choosing the Right Password Hashing Algorithm
A practical guide to secure password hashing, comparing Argon2id, bcrypt, scrypt, and PBKDF2 to prevent offline brute-force attacks.
-
Error Handling in Programming: Best Practices and Techniques
Error handling is one of those topics every developer uses daily, but rarely stops to think about systematically. This post will show you an overview about error handling and best practice.