Skip to content
LuTiao Programming
Author

LuTiao Programming

LuTiao Programming is a friendly community offering free programming lessons. We inspire learners to explore new ideas and technologies and quickly acquire job-ready skills.

243
Articles
0
Likes
1.8k
Views
0
Comments
Recent Articles

Latest from LuTiao Programming

100 recent articles max
LuTiao Programming
LuTiao Programming
Nov 4, 2026 · Backend Development

Complete Java Login Risk Control: From Brute-Force Detection to Adaptive Authentication

This article details a complete Java implementation of login risk control, covering rule-based risk scoring, device fingerprinting, impossible travel detection, adaptive multi-factor authentication, and a two-phase login API that dynamically adjusts security friction based on real-time risk signals like new devices, geo-anomalies, and recent security events.

Adaptive MFABrute Force ProtectionDevice Fingerprinting
0 likes · 26 min read
Complete Java Login Risk Control: From Brute-Force Detection to Adaptive Authentication
LuTiao Programming
LuTiao Programming
Nov 3, 2026 · Information Security

Java Trusted Device Login: Secure 30-Day 2FA Skip via Rotating Tokens

This article details a complete Java implementation for trusted device login, covering secure token generation, server-side validation, hash storage, token rotation, revocation via MFA versioning, risk-based signals, and user-facing device management, ensuring 30-day 2FA bypass without compromising security.

2FAJavaRevocation
0 likes · 21 min read
Java Trusted Device Login: Secure 30-Day 2FA Skip via Rotating Tokens
LuTiao Programming
LuTiao Programming
Nov 2, 2026 · Backend Development

Complete Java TOTP 2FA Implementation: QR Binding, Replay Protection & Recovery Codes

This article details a production-ready Java implementation of TOTP two-factor authentication covering QR code binding, secret encryption, time-drift handling, replay attack prevention via atomic step consumption, rate limiting, recovery codes with hashed storage, and secure 2FA disable flows requiring re-authentication.

JavaQR code bindingRFC 6238
0 likes · 23 min read
Complete Java TOTP 2FA Implementation: QR Binding, Replay Protection & Recovery Codes
LuTiao Programming
LuTiao Programming
Nov 1, 2026 · Backend Development

Complete Java Passkey Implementation: Registration, Auth, Anti-Replay & Multi-Device

This article provides a complete Java implementation guide for Passkey passwordless authentication, covering credential registration with challenge generation, public key storage, signature verification, anti-replay protection via one-time challenges, multi-device credential management, account recovery considerations, Spring Security WebAuthn integration, and a layered authentication architecture separating auth methods from session management.

Challenge-ResponseJavaMulti-Device Management
0 likes · 21 min read
Complete Java Passkey Implementation: Registration, Auth, Anti-Replay & Multi-Device
LuTiao Programming
LuTiao Programming
Oct 31, 2026 · Backend Development

Java Multi-Device Login: Session-Centric Architecture for Device Control & Concurrency

This article details a session-centric Java architecture for multi-device login, covering device session creation, JWT with session IDs, single-device logout, admin forced logout, per-device-type concurrency control using Redis atomic operations, login limits with LRU eviction, device ID generation, refresh token binding, and security considerations for immediate token revocation.

JWTJavaMulti-Device Login
0 likes · 18 min read
Java Multi-Device Login: Session-Centric Architecture for Device Control & Concurrency
LuTiao Programming
LuTiao Programming
Oct 29, 2026 · Backend Development

Java SMS One-Click Login: Complete Implementation with Rate Limiting & Anti-Brute Force

This article provides a complete Java implementation of SMS one-click login using Spring Boot 3, Redis, and JWT, covering business flow, configuration, Redis key design, code for verification code generation, rate limiting, blacklist, and login validation, plus production security optimizations like Lua scripts, CAPTCHA, channel fallback, and compliance.

Anti-Brute ForceJWTJava
0 likes · 10 min read
Java SMS One-Click Login: Complete Implementation with Rate Limiting & Anti-Brute Force
LuTiao Programming
LuTiao Programming
Sep 30, 2026 · Backend Development

Spring Boot Excel Export OOM: Replacing XSSFWorkbook with SXSSFWorkbook and Batch Processing

The author describes how exporting 500k order records caused a 2GB heap OOM, then fixed it by replacing XSSFWorkbook with streaming SXSSFWorkbook, switching from full entity loading to cursor-based batch queries with DTOs, reusing cell styles, and finally decoupling large exports from HTTP requests via async task processing.

Apache POIBatch ProcessingCursor Pagination
0 likes · 14 min read
Spring Boot Excel Export OOM: Replacing XSSFWorkbook with SXSSFWorkbook and Batch Processing
LuTiao Programming
LuTiao Programming
Sep 29, 2026 · Backend Development

Spring Boot Retry Pitfall: Timeout ≠ Failure — Idempotency & Concurrency Fixes

The article explains why naive retries after timeouts cause duplicate orders in Spring Boot, demonstrating how to properly classify retryable exceptions, implement idempotency with stable request IDs, handle non-idempotent third-party APIs via query-before-retry, add concurrency limits with @ConcurrencyLimit, and separate concerns into Service, Gateway, and Client layers using Spring Framework 7's @Retryable.

Backend PatternsConcurrency LimitResilience
0 likes · 14 min read
Spring Boot Retry Pitfall: Timeout ≠ Failure — Idempotency & Concurrency Fixes
LuTiao Programming
LuTiao Programming
Sep 28, 2026 · Backend Development

Java Discount Allocation: Solving the 1-Cent Rounding Error in Partial Refunds

The article presents a Java solution for allocating order-level discounts to individual items using integer arithmetic and deterministic remainder distribution, ensuring accurate partial refunds by persisting per-unit prices, allocated discounts, and payable amounts at checkout, with database schema and concurrency considerations.

BigIntegerJavaOrder Processing
0 likes · 12 min read
Java Discount Allocation: Solving the 1-Cent Rounding Error in Partial Refunds