A walkthrough of an O(N log N) algorithm to count binary string substrings with more 1s than 0s. The approach converts the problem by mapping 1→+1 and 0→-1, then uses prefix sums so that a valid substring corresponds to a pair where the later prefix sum exceeds the earlier one. Coordinate compression reduces the prefix sum range, and a Fenwick Tree efficiently counts how many previously seen prefix sums are smaller than the current one in O(log N) per query. A dry run, complexity table, and Java implementation are included.
Nguồn: https://www.csharp.com/article/count-substrings-with-more-1s-than-0s. 8sync News chỉ tóm tắt và dẫn link; bản quyền nội dung thuộc tác giả và nguồn gốc.
Java 26 bổ sung nhiều cải tiến về hiệu năng, bảo mật và tính năng ngôn ngữ. …
Bài viết hướng dẫn từng bước triển khai mô hình LLM-as-a-Judge trong Spring AI bằng cách sử dụng recursive advisors, nơi LLM thứ hai đánh giá và cho điểm phản hồi của LLM sinh ra dựa trên tiêu chí rubric, sau đó phản hồi phê bình được đưa trở lại prompt để tinh chỉnh. Quá trình lặp lại cho đến khi đạt ngưỡng chất lượng hoặc giới hạn số lần thử tối đa.
Làm việc với LLM-as-a-Judge trong Spring AI giúp tối ưu hóa chất lượng phản hồi của AI bằng cách kết hợp đánh giá tự động và phản hồi lặp đi lặp lại, giảm thiểu sai sót và tăng hiệu suất cho các ứng dụng tự động hóa.
Hướng dẫn thực hành xây dựng truy vấn SQL động trong Java bằng StringBuilder, StringJoiner và PreparedStatement. Nêu rõ các lỗi phổ biến như mệnh đề WHERE không hợp lệ khi bộ lọc tùy chọn là null, đồng thời giới thiệu kỹ thuật "WHERE 1=1" để an toàn khi nối thêm điều kiện AND. Có ví dụ mã trên GitHub.
Lập trình viên nên đọc bài này để tránh rủi ro khi xây dựng các câu lệnh SQL động bằng Java, từ đó bảo vệ hệ thống khỏi các lỗi SQL injection và xử lý hiệu quả các trường hợp điều kiện NULL trong WHERE clause.

Bản phát hành LTS mới Red Hat build of Quarkus 3.33 mang đến nhiều cải tiến quan trọng như nâng cấp Hibernate ORM 7.2, Reactive 3.2, Search 8.2, hỗ trợ Java 25 đầy đủ, kiểm soát bảo mật OIDC chi tiết hơn, cùng công nghệ AOT caching (dưới dạng preview) để giảm thời gian khởi động JVM. Ngoài ra, phiên bản này còn bổ sung tích hợp Jakarta Data, mặc định TLS 1.3, băm credential SHA-512, và cải thiện trải nghiệm nhà phát triển với nhiều backend cache, vòng đời đóng gói Maven mới, cũng như hỗ trợ Kafka request-reply (dưới dạng preview).
Lập trình viên phát triển ứng dụng Java doanh nghiệp nên đọc để cập nhật về Quarkus 3.33 LTS, từ đó tối ưu hiệu suất, ổn định và tính bảo mật cho dự án với các tính năng mới như Java 25, TLS 1.3, và cải tiến ORM/Hibernate, đồng thời khám phá các công nghệ tiên tiến như AOT và Kafka SmallRye để nâng cao hiệu suất và kinh nghiệm phát triển.
BlueJ 6.0 tích hợp hỗ trợ Kotlin, cung cấp cú pháp ngắn gọn, an toàn null và phân biệt val/var nhằm đơn giản hóa lập trình OOP cho sinh viên. JetBrains cũng cung cấp tài liệu hướng dẫn và giáo án dành cho giảng viên.
Lập trình viên học lập trình cơ sở hoặc chuyển đổi sang Kotlin từ Java sẽ tìm hiểu cách BlueJ 6.0 tích hợp Kotlin giúp giảm thiểu công việc lặp lại và làm sáng tỏ cách ngôn ngữ này tối ưu hóa OOP với tính năng null safety và syntax ngắn gọn.
ScarfBench là bộ tiêu chuẩn mở của IBM Research nhằm đánh giá khả năng di chuyển framework Java doanh nghiệp (Spring, Jakarta EE, Quarkus) của các AI coding agent. Thay vì so sánh code sinh ra với mẫu tham chiếu, nó đo lường liệu ứng dụng sau di chuyển có build, triển khai và giữ nguyên hành vi runtime hay không, phát hiện các agent thường báo cáo thành công quá mức (ví dụ: Claude Code báo 29/30 build thành công nhưng thực tế chỉ 22). Quá trình di chuyển mang tính lặp đi lặp lại, tập trung nhiều vào cấu hình, và gặp trở ngại từ môi trường (Docker cache, Maven) ngay cả khi code đã di chuyển xong, đặc biệt khó khăn với Jakarta EE. Bộ tiêu chuẩn này cung cấp mã nguồn mở, bảng xếp hạng công khai, dữ liệu và cơ sở hạ tầng đánh giá.
Một lập trình viên chuyên về Java và chuyển đổi hệ thống doanh nghiệp nên đọc bài này để hiểu cách đánh giá hiệu quả thực tế của các công cụ AI hỗ trợ trong việc di chuyển ứng dụng từ Spring sang Jakarta EE hay Quarkus, giúp tránh những sai lầm về tự tin sai lầm và tối ưu hóa quy trình chuyển đổi hiệu quả.
Hibernate 7.2 bổ sung toán tử like regexp trong HQL, cho phép truy vấn chuỗi bằng regex mà không cần SQL native. Mỗi database dịch sang hàm regex riêng (Oracle: REGEXP_LIKE, PostgreSQL: ~, MySQL: REGEXP), nhưng cú pháp HQL có thể không tương thích hoàn toàn giữa các hệ thống do khác biệt về regex engine.
Lập trình viên cần đọc bài này để khám phá cách sử dụng tìm kiếm biểu thức chính quy (regex) trong HQL một cách hiệu quả, tránh phụ thuộc vào SQL nguyên sinh và tối ưu hóa các truy vấn tìm kiếm phức tạp trên các cơ sở dữ liệu khác nhau.
Kafka gặp lỗi CommitFailedException khi consumer bị loại khỏi nhóm do vượt quá timeout MAX_POLL_INTERVAL_MS khi chưa kịp poll dữ liệu, xảy ra khi xử lý record lâu hơn khoảng thời gian cấu hình. Giải pháp gồm điều chỉnh MAX_POLL_INTERVAL_MS/MAX_POLL_RECORDS_CONFIG hoặc chuyển sang xử lý bất đồng bộ bằng virtual threads kèm theo theo dõi offset theo partition. Phương pháp bất đồng bộ sử dụng CompletableFuture, ConcurrentHashMap và ConsumerRebalanceListener để commit an toàn các offset đang xử lý. Thêm vào đó, nên triển khai idempotency và Dead Letter Queue cho các message lỗi.
Lập trình viên cần đọc bài này để khắc phục lỗi CommitFailedException trong Kafka khi xử lý dữ liệu chậm, từ đó tối ưu hiệu suất và đảm bảo không mất dữ liệu trong trường hợp tái cân bằng nhóm.