1. multithreading vs parallel stream

    Trong Java, có hai cách phổ biến để xử lý tác vụ song song: Multithreading truyền thống (dùng Thread, ExecutorService, CompletableFuture) và Parallel Stream (từ Java 8). Tuy cùng mục đích tận dụng nhiều CPU core, nhưng chúng khác nhau về mô hình, kiểm soát, và use case phù hợp.

    2026/05/20 Software Development

  2. high-performance java techniques

    Ngoài bitwise, Java có rất nhiều techniques ít developer biết mà framework authors và library developers dùng hàng ngày để đạt performance vượt trội. Bài này tổng hợp tất cả — từ memory layout, object pooling, lock-free algorithms đến JVM-level optimizations.

    2026/05/20 Software Development

  3. leetcode - two sum

    # đề bài & tổng quan

    2026/04/30 Software Development

  4. new features in java 25

    In September 2025, Java 25 was released as a new Long-Term Support (LTS) version. As with every LTS release, it brings language updates, JVM improvements, and new tools for observability and performance tuning.

    2026/03/19 Software Development

  5. acid in sql

    Là một kỹ sư phần mềm, chắc hẳn chúng ta đều không ít lần phải “đau đầu” với những bug liên quan đến dữ liệu bị sai lệch, mất mát hoặc deadlock khi hệ thống có nhiều người dùng cùng lúc. Nguyên nhân cốt lõi thường nằm ở việc quản lý Transaction chưa được chuẩn.

    2026/03/09 Software Development

  6. mdc tracing

    Trong kỷ nguyên của Microservices và Event-Driven Architecture, một request từ người dùng hiếm khi dừng lại ở một service duy nhất. Nó rẽ nhánh, kích hoạt hàng loạt các side-effects, đi qua API Gateway, lọt vào Message Brokers (RabbitMQ, Kafka), và chạm đến nhiều database khác nhau. Khi hệ thống gặp sự cố, việc tìm kiếm nguyên nhân gốc rễ (root cause) giữa hàng triệu dòng log phi cấu trúc chẳng khác nào mò kim đáy bể.

    2026/03/08 Software Development

  7. keycloak new

    Trong bức tranh kiến trúc phần mềm hiện đại, việc để các dịch vụ tự lo liệu bài toán xác thực (Authentication) và phân quyền (Authorization) giống như việc mỗi căn nhà trong thành phố phải tự xây dựng một nhà máy phát điện riêng. Nó cồng kềnh, rủi ro và phá vỡ nguyên tắc tối giản (Danshari) trong việc thiết kế hệ thống.

    2026/03/02 Software Development

  8. microservice communicate pattern

    Hành trình chuyển đổi từ một khối monolithic khổng lồ sang kiến trúc microservices mang lại sự tự do, nhưng đồng thời cũng mở ra một chiếc hộp Pandora về sự phức tạp. Ở thế giới phân tán, mạng lưới không bao giờ đáng tin cậy. Các node có thể “ngã quỵ” bất cứ lúc nào, độ trễ là kẻ thù giấu mặt, và việc gỡ lỗi có thể biến thành một cuộc mò kim đáy bể.

    2026/02/21 Software Development

  9. kafka advance

    “Biết dùng Kafka là một chuyện. Vận hành Kafka ở production mà ngủ ngon là chuyện khác.”

    2026/02/11 Software Development

  10. grpc - toàn tập

    Trong thế giới hệ thống phân tán và Microservices, khi bài toán không chỉ dừng lại ở việc các service “nói chuyện” được với nhau, mà phải là giao tiếp với độ trễ cực thấp (low latency) và thông lượng cực cao (high throughput), thì REST/JSON dần bộc lộ những giới hạn vật lý của nó. Đó là lúc chúng ta cần một tiêu chuẩn giao tiếp ở cấp độ kỹ thuật phần mềm sâu sắc hơn: gRPC.

    2026/02/08 Software Development