Chuyên mục

Backend

APIs, databases and distributed systems.

99 Ngày Java — Ngày 09: Chuỗi String cơ bản

Ngày 09 của 99 Ngày Java: vì sao String bất biến và mọi method đều trả chuỗi mới, String pool và bẫy kinh điển equals vs ==, hộp đồ nghề method hay dùng (length, substring, strip, split…), nối chuỗi bằng + và bẫy hiệu năng trong vòng lặp.

6 thg 8, 20266 phút77
99 Ngày Spring — Ngày 08: Cấu hình với properties & YAML

Ngày 08 của 99 Ngày Spring: vì sao cấu hình phải ra khỏi code, application.properties vs application.yml, @Value cho giá trị lẻ, @ConfigurationProperties + record cho nhóm type-safe, relaxed binding và ghi đè bằng biến môi trường ở production.

5 thg 8, 20265 phút79
99 Ngày Java — Ngày 08: Mảng (Arrays)

Ngày 08 của 99 Ngày Java: khai báo & khởi tạo mảng, chỉ số từ 0 và ArrayIndexOutOfBoundsException, duyệt bằng for/for-each, mảng 2 chiều & răng cưa, hộp đồ nghề java.util.Arrays — và bẫy tham chiếu: gán mảng không phải là copy.

5 thg 8, 20267 phút131
99 Ngày Java — Ngày 07: Vòng lặp for, while, do-while

Ngày 07 của 99 Ngày Java: for khi biết số lần, while/do-while khi lặp theo điều kiện, break & continue lái dòng chảy, label cho vòng lặp lồng nhau — và 3 cái bẫy: dấu chấm phẩy thừa, lặp vô hạn, off-by-one.

4 thg 8, 20266 phút80
99 Ngày Spring — Ngày 07: Bean scope & lifecycle

Ngày 07 của 99 Ngày Spring: singleton/prototype/request scope, vì sao singleton phải stateless (câu phỏng vấn thread-safe kinh điển), vòng đời bean với @PostConstruct & @PreDestroy, và @Lazy cho bean nặng hiếm dùng.

4 thg 8, 20265 phút200
99 Ngày Java — Ngày 06: Câu lệnh điều kiện if & switch

Ngày 06 của 99 Ngày Java: if–else if chạy nhánh đúng đầu tiên rồi dừng, guard clause dẹp if lồng nhau, switch cổ điển với bẫy fall-through và switch expression đời mới với ->, yield, exhaustiveness.

3 thg 8, 20266 phút79
99 Ngày Spring — Ngày 06: @Configuration & @Bean

Ngày 06 của 99 Ngày Spring: đăng ký bean thủ công bằng @Configuration & @Bean — khi component scan không với tới (class thư viện ngoài), tiêm phụ thuộc giữa các @Bean, và CGLIB proxy giữ singleton khi gọi chéo method.

3 thg 8, 20264 phút106
99 Ngày Java — Ngày 05: Ép kiểu (casting)

Ngày 05 của 99 Ngày Java: widening tự động vs narrowing phải cast tường minh, cast cắt chứ không làm tròn, char chỉ là mã Unicode, và 3 cái bẫy ép kiểu gặp hoài trong code thật.

1 thg 8, 20265 phút167
99 Ngày Spring — Ngày 05: @Component & component scan

Ngày 05 của 99 Ngày Spring: component scan tìm bean thế nào, bộ stereotype @Component/@Service/@Repository, quy tắc vàng main class ở gốc package, và bẫy basePackages thay thế chứ không bổ sung.

1 thg 8, 20264 phút187