Trong phần 1, chúng ta đã tìm hiểu về một số khái niệm trong lập trình reactive. Bây giờ, ở phần 2, chúng ta sẽ hiểu lý do Webflux được […]
[Java] Spring Webflux – Ứng dụng Java Reactive – Phần 1
Gần đây, lập trình phản ứng ngày càng mở rộng và được nhiều ngôn ngữ tiếp cận. Nhưng trong Java, liệu bạn có thấy mới mẻ không? Vậy thì loạt […]
[Video] Demo khai thác lỗ hổng Log4J CVE-2021-44228 – Log4J Exploit Demo
Demo khai thác lỗ hổng Log4J CVE-2021-44228 – Log4J Exploit Demo. Sử dụng Spring Boot, Netcat, LDAP Server Link Marshalsec LDAPServer: https://github.com/tunghuynh/marshalsec
[Java] Java Streams: Phương pháp tiếp cận
Trong hướng dẫn này, chúng ta sẽ tìm hiểu Stream là gì trong Java và cách chúng ta có thể tiếp cận nó. Mình sẽ so sánh Stream API với […]
Lộ trình cho Java developer 2019
Chào các bạn! Lâu lâu ngồi lướt DZone thấy bài hay lại dịch cho anh em nào lười đọc tiếng Anh =)) Bài dịch này và các bài sau (nếu […]
[Java] Phần 18 – Xác thực và phân quyền API bằng JWT và Spring Security [2/2]
Chào các bạn đã quay trở lại! Ở phần trước mình đã liên thiên về API, JSON, JWT và cách tích hợp JWT vào API Java. [Java] Phần 18 – […]
[Java] Phần 17 – Xác thực và phân quyền API bằng JWT và Spring Security [1/2]
Hi everybody 😀 Vào đề luôn. Tại sao người ta lại dùng API ? Application Programming Interface (API) – Nói đến API chắc hẳn nhiều bạn cũng đã từng nghe […]
[Java] Phần 16 – Tạo tiến trình chạy ngầm cực kỳ đơn giản với Spring Schedule
Chào các bạn! Mở bài quen thuộc 🙂 Các bạn đã từng sử dụng hoặc từng nghe đến “cronjob” trên hosting chưa, hoặc là “crontab” trong linux? Nếu rồi thì […]
[Java] Phần 15 – Lợi ích của Cache và cách sử dụng Redis cache trong ứng dụng Java
Chào các bạn, hôm nay mình sẽ đề cập đến một chủ đề khá quen thuộc trong lập trình, đặc biệt là lập trình web. Đó là Cache. Nhắc đến […]
[Java] Phần 14 – Log 3: Ghi log bất đồng bộ vào Database sử dụng ExecutorService
Chào các bạn, ở 2 phần trước về ghi log [Java] Phần 12 – Log 1: Tầm quan trọng của ghi log trong phát triển phần mềm [Java] Phần 13 […]