What Exactly Are Design Patterns? A Deep Dive into Their Principles
Hello everyone, I’m Liusha. Design patterns are something every programmer encounters frequently, but I believe many people still have questions about what design patterns really are. So today, let’s talk about this — the main goal is to help you understand the purpose of design patterns and the right mindset for approaching them. PrerequisitesWhen we mention design patterns, the first thing to understand clearly is object-oriented thinking. I believe that even if you can’t describe it very...
My Tips for Improving Development Efficiency
Hi everyone, I’m Liusha, a programmer with nearly six years of work experience. My career has spanned companies with very different cultures and atmospheres. I’ve collaborated with many different types of people and observed numerous inefficiencies. At the same time, I’ve always felt that my own development efficiency is quite high. Throughout my career, I’ve rarely had to handle work tasks outside of my eight-hour workday. Even when forced to work overtime due to company policy, I was usuall...
Reducing Software Development Complexity Through Proper Design
For a programmer, the word most often mentioned in daily work is probably “complex” — this code is too complex, this logic is too complex. So, in this article, let’s take a thorough look at where “complexity” actually comes from and how to avoid it. The Origins of ComplexityLet’s first list what we’re actually talking about when we say something is “complex”: No module division, just a massive blob of code sitting there Large amounts of duplicate code The overall logic of the code is incom...
Information Attenuation During Transmission
Seeing this title, you might think this is going to be about information science. It’s actually not — I just recently observed some things and felt compelled to share my thoughts. I happened to come across two statements online where I happened to be quite familiar with the facts, so I感慨ed that second-hand information is truly unreliable. The first case involves a primary school called Sanfan Affiliated Primary School in the Desheng district of Xicheng, Beijing. Because students can directl...
House Hunting Notes — 2020 Beijing School District
I started looking at houses around the National Day holiday this year, and made a decision by early last month. I didn’t expect to settle so quickly — I’d say destiny just had its way. Looking back at the experience, I feel it’s worth documenting, as it’s one of the biggest decisions in life. Actually, I had been thinking about buying school district housing since the beginning of the year when my child was born. However, my current property wouldn’t reach the five-year mark until early nex...
Book Reflections: Civilization, Modernization, Value Investing, and China
“Civilization, Modernization, Value Investing, and China” is a book by the renowned value investor Mr. Lu Li. It discusses the development of civilization, the emergence of modernization, and value investing, and explores these topics in the context of China’s actual situation. I personally feel this is an extremely valuable book worth reading repeatedly. It is of great help in understanding the logic of how this world operates and in building correct investment philosophy. As the title sug...
Book Notes: I Walked on the Edge of Breakdown
The book I’m discussing today, “I Walked on the Edge of Breakdown: Yu Minhong’s Personal Account of New Oriental’s Entrepreneurial Development,” is an autobiographical work by Mr. Yu Minhong, recounting his many experiences and psychological journey since founding New Oriental. Today, I’ll summarize the content of this book and share my personal reflections. The book begins before Yu Minhong founded New Oriental. Yu Minhong was originally a teacher at Peking University, and he left the univ...
[Translation] [On Distributed Architecture and System Design] Patterns of Distributed Systems - Overview
(I recently reorganized this article. Welcome to read the latest version: https://lichuanyang.top/posts/45718/) This article is translated from https://martinfowler.com/articles/patterns-of-distributed-systems/. The original author summarizes various distributed systems used in enterprise architectures, extracting common “patterns.” As the first article in this series, it introduces the characteristics of distributed systems and some common issues. I highly recommend reading this article and ...
Redis Objects
In the previous article, we introduced the low-level data structures defined in Redis. Next, in this article, we will combine these with the objects provided by Redis to see how these data structures are used in practice. Redis primarily includes the following objects: strings, lists, hashes, sets, sorted sets, HyperLogLog, GEO, etc. This article will mainly cover how these objects are implemented. For their commands, you can refer to the official Redis documentation, which provides detaile...
Redis Data Structures
Redis, as a widely used in-memory database, has made many extreme optimizations at the code level to achieve better performance. An important part of this is the use of underlying data structures. Redis optimizes the usage of different structures based on data volume, data size, and other factors, thereby achieving better operational efficiency and memory usage. Redis’s core data structures include Simple Dynamic Strings, linked lists, dictionaries, skip lists, integer sets, and compressed li...







![[Translation] [On Distributed Architecture and System Design] Patterns of Distributed Systems - Overview](/en/img/3914.jpg)






