Đếm token và ước tính chi phí khi gọi LLM trong Java
Cách đếm token cục bộ bằng JTokkit, tính chi phí bằng BigDecimal, chặn request vượt ngân sách và đối chiếu với usage thực tế từ Spring AI.
Mỗi bài một chủ đề, giải thích từng bước kèm code chạy được — từ Java, Spring Boot tới AI, kiến trúc hệ thống và DevOps.
Cách đếm token cục bộ bằng JTokkit, tính chi phí bằng BigDecimal, chặn request vượt ngân sách và đối chiếu với usage thực tế từ Spring AI.
Dùng thiserror để định nghĩa kiểu lỗi rõ ràng cho library, dùng anyhow để gom lỗi và thêm context cho application, và kết hợp cả hai.
Phân biệt object declaration, object expression và companion object trong Kotlin, cách chúng tạo singleton, gọi từ Java và những lỗi hay gặp.
Dùng template literal types để sinh tên key, parse route param và viết event emitter an toàn kiểu, kèm test kiểu với Vitest và các bẫy cần tránh.
Cách chia sẻ dữ liệu giữa các thread bằng Arc<Mutex<T>>, truyền message bằng mpsc channel, và tránh deadlock, poisoning cùng các lỗi hay gặp.
Cấu hình Maven để Kotlin và Java gọi lẫn nhau, xử lý nullability, @JvmStatic, @JvmOverloads và các lỗi hay gặp trong Spring Boot.
Nhận từng token từ LLM API qua Server-Sent Events bằng HttpClient và WebClient, rồi đẩy tiếp về trình duyệt, kèm xử lý lỗi, timeout và test.
Cờ strict trong tsconfig bật những kiểm tra nào, mỗi kiểm tra bắt lỗi gì, nên bật thêm cờ nào ngoài strict, và cách chuyển dự án cũ sang strict.
Dùng by lazy để khởi tạo trễ an toàn với thread, dùng Delegates.observable và vetoable để theo dõi hoặc chặn thay đổi giá trị property.
Hiểu cách LLM gọi hàm của ứng dụng, từ JSON thô tới @Tool trong Spring AI. Bài có ví dụ tra cứu, huỷ đơn hàng và test không cần gọi model thật.
Dùng keyof, typeof và indexed access types để suy ra type từ dữ liệu có sẵn, giảm lặp code và để compiler bắt lỗi sai key thay cho bạn.
Xây dựng REST API CRUD bằng Axum 0.8, gồm routing, extractor, shared state, xử lý lỗi bằng IntoResponse và test handler không cần mở cổng mạng.
Cách khai báo function type, truyền và trả về lambda, dùng function reference, closure, lambda with receiver và inline trong Kotlin.
Khi nào dùng Box, Rc hay Arc trong Rust: cấp phát heap, chia sẻ ownership trong một thread và giữa nhiều thread, kèm Weak, RefCell và Mutex.
Cách ép LLM trả về JSON khớp schema trong Spring Boot: map vào record bằng Spring AI, bật JSON Schema native, validate, retry và viết test.
Cách cấu hình tsconfig và package.json để thư viện TypeScript sinh file .d.ts đúng chuẩn, có type đầy đủ cho người dùng và kiểm thử được bằng Vitest.
Hướng dẫn lập trình bất đồng bộ trong Rust với Tokio, gồm async/await, spawn task, join!, select!, timeout, channel, spawn_blocking và cách test code async.
Cách khai báo kiểu cho hàm async, dùng Promise<T>, Awaited, Promise.all, xử lý lỗi an toàn và tránh các bẫy hay gặp với callback async.
Thiết lập dự án Spring Boot 3 bằng Kotlin, viết REST API, entity JPA, cấu hình và test, kèm các lỗi hay gặp khi chuyển từ Java.
Các kỹ thuật prompt engineering thực dụng như system prompt, delimiter, few-shot, structured output và temperature, minh họa bằng Spring AI.