macrozheng
Author

macrozheng

Dedicated to Java tech sharing and dissecting top open-source projects. Topics include Spring Boot, Spring Cloud, Docker, Kubernetes and more. Author’s GitHub project “mall” has 50K+ stars.

1.3k
Articles
0
Likes
3.2k
Views
0
Comments
Recent Articles

Latest from macrozheng

100 recent articles max
macrozheng
macrozheng
Nov 20, 2025 · Backend Development

How to Build a Spring Boot OSS Starter Compatible with Amazon S3

This guide walks through creating a reusable Spring Boot starter that abstracts object storage services (OSS) via the Amazon S3 API, covering project setup, Maven dependencies, configuration properties, template interfaces, implementation, auto‑configuration, packaging, and a simple test case.

Amazon S3OSSStarter
0 likes · 15 min read
How to Build a Spring Boot OSS Starter Compatible with Amazon S3
macrozheng
macrozheng
Nov 18, 2025 · Backend Development

Why Using the String "null" as a Username Leads to Hidden Bugs

The article explains how treating the literal string "null" as an empty value in user registration can cause subtle backend errors, illustrates the issue with Java code examples, and offers proper validation techniques to avoid such pitfalls.

JavaValidationnull string
0 likes · 3 min read
Why Using the String "null" as a Username Leads to Hidden Bugs
macrozheng
macrozheng
Nov 15, 2025 · R&D Management

Why Most Developers Never Become Software Architects – Insights from Top‑Voted Zhihu Answers

The article compiles several highly up‑voted Zhihu answers explaining why only a small fraction of programmers become software architects, highlighting differences in mindset, the limited need for architects in small teams, career trade‑offs, and the practical challenges of gaining high‑scale architecture experience.

MicroservicesR&Dcareer advice
0 likes · 5 min read
Why Most Developers Never Become Software Architects – Insights from Top‑Voted Zhihu Answers
macrozheng
macrozheng
Nov 8, 2025 · Backend Development

Should try‑catch Be Inside or Outside a for Loop? Pros, Cons, and Performance

This article explains how placing a try‑catch block inside or outside a Java for loop affects exception handling, loop termination, and performance, providing code examples, execution results, memory analysis, and practical guidance for choosing the appropriate approach based on business needs.

Performanceexception-handlingfor-loop
0 likes · 5 min read
Should try‑catch Be Inside or Outside a for Loop? Pros, Cons, and Performance
macrozheng
macrozheng
Nov 7, 2025 · Operations

Run Windows Apps Seamlessly on Linux with WinBoat – A Complete Guide

WinBoat is an open‑source Electron‑based tool that lets Linux users run Windows applications as native windows by leveraging Docker containers, FreeRDP, and RemoteApp, offering seamless integration, automatic deployment, full compatibility, file‑system sharing, and flexible desktop modes, with detailed installation steps for both binary and source builds.

DockerElectronLinux
0 likes · 5 min read
Run Windows Apps Seamlessly on Linux with WinBoat – A Complete Guide
macrozheng
macrozheng
Nov 6, 2025 · Backend Development

Explore Cordys CRM: An Open-Source AI‑Powered Customer Management Platform

Cordys CRM is an open‑source, AI‑enhanced customer relationship management platform built with Spring Boot, Vue.js, Docker, and integrated tools like DataEase, SQLBot, and MaxKB, offering flexible UI, secure private deployment, powerful data visualization, and intelligent agents, with step‑by‑step Docker installation and usage guides.

AICRMDocker
0 likes · 7 min read
Explore Cordys CRM: An Open-Source AI‑Powered Customer Management Platform
macrozheng
macrozheng
Nov 5, 2025 · Backend Development

Why Java Records Outshine Lombok @Data: A Practical Migration Guide

This article examines the drawbacks of using Lombok in Java projects, demonstrates how replacing Lombok annotations with Java Records, explicit constructors, and MapStruct improves code readability, IDE support, and runtime safety, and shares the measurable benefits of the migration.

JavaMapStructbackend development
0 likes · 5 min read
Why Java Records Outshine Lombok @Data: A Practical Migration Guide
macrozheng
macrozheng
Nov 2, 2025 · Backend Development

12 Toxic Coding Habits That Destroy Readability (And How to Avoid Them)

The article humorously outlines twelve detrimental coding habits—from over‑splitting microservices to avoiding logs—that cripple readability and maintainability, illustrating each with a fictional programmer “Er Gou” and warning developers not to follow these anti‑patterns.

Microservicesbad practiceslogging
0 likes · 12 min read
12 Toxic Coding Habits That Destroy Readability (And How to Avoid Them)
macrozheng
macrozheng
Oct 31, 2025 · Fundamentals

Master Java Generics: Decoding T, E, K, V, and ? Symbols

This comprehensive guide explains the purpose and proper use of Java generic symbols T, E, K, V, and ?, covering their history, practical code examples, scope nuances, wildcard rules, advanced constraints, and best‑practice recommendations for writing safer, more flexible code.

BestPracticesGenericsJava
0 likes · 20 min read
Master Java Generics: Decoding T, E, K, V, and ? Symbols