Prometheus Tutorial: Everything You Need to Know
As the “default” monitoring system in the cloud-native ecosystem, Prometheus is gaining increasing attention. Today, we’ll write a tutorial about Prometheus’s design philosophy, examining how it uses very simple designs to support such complex functionality. First, let’s think about what the challenges would be in building a monitoring system similar to Prometheus: Each service has different monitoring requirements. How should a monitoring system design its data model to balance ease of us...
Building a Simple High-Performance Java IP Address Country Lookup Tool
A very simple and high-performance tool for determining the country of an IP address. DataThe IP address database can be downloaded from http://download.ip2location.com/lite/. You can write a simple scheduled task to periodically pull the latest data. Since IP address updates are not very frequent, updating once a month or so is sufficient. Format123456789```...16781312,JP16785408,CN16793600,JP...``` The data format is shown above. Each line represents an IP address range, including the ra...
Configuring SSH Bookmarks in iTerm2 for Password Storage and Auto Login
If you’re like me and frequently need to access different remote servers, recording server IPs and entering passwords can be very tedious. Fortunately, by making some configurations in iTerm2, this pain point can be well addressed. The final result is similar to configuring SSH bookmarks, enabling iTerm2 to remember SSH passwords and achieve passwordless and automatic login. iTerm2 (https://iterm2.com/) is a widely used terminal alternative on Mac, providing many powerful features. To achie...
How to Give a Good Tech Talk
Tech talks exist in nearly every company. The effectiveness varies from person to person and team to team. In some teams, tech talks gradually become a useless time killer due to various reasons. This article aims to improve the baseline of tech talks through some fundamental rules, starting from topic selection and other aspects, striving to help 80% of people deliver a tech talk that scores above 80 points. Topic SelectionBasic PrinciplesFirst, you need to understand that in-person tech t...
What Exactly is Cloud Native?
In recent years, cloud native has become an increasingly popular concept across the open-source community. But what exactly is cloud native? Is it an architecture? A platform? What does it affect? System security? Development efficiency? So today, let’s dig deep and sort out what cloud native really is. To understand what cloud native is, we need to start with its name. The English name for cloud native is “cloud native,” which obviously contains two parts: cloud and native. Cloud means the...
Book Notes: Kazuo Inamori's 'Amoeba Management' — Reflecting on How We Should Work
“Amoeba Management” is a classic book about work attitudes and work methods. In today’s world of severe labor-capital conflicts and increasingly rigid class structures, it’s difficult to fully practice the philosophy of the book’s author, Kazuo Inamori. But this doesn’t mean the book has no value. Working hard and enhancing one’s own value has always been a spiritual pursuit hidden deep within the human heart. What we need to do is ensure that the returns from value enhancement go to ourselve...
The Personal Value of Code Review
In a typical development workflow, there are various review stages — product spec reviews, design reviews, test case reviews, code reviews, and so on. To conduct these reviews, meetings are inevitably introduced. Some people might think these activities are useless and a waste of time. In reality, they are extremely important. If you have the impression that reviews don’t matter, it’s likely due to one of two reasons: either a lack of understanding, or poor review practices in your environmen...
Hukou, Big Tech, High Salary, Life — Career Choices for Fresh Graduates
Today I want to talk about career choices for fresh graduates, primarily focused on backend development (the topic of role selection is also quite broad, and I may write a separate article about it if I get the chance). Over the past few years, I’ve worked in state-owned enterprises, large companies, and small companies, so I feel I have some real perspective on what different companies are like. Career choice ultimately comes down to two key decisions: city and company. Choosing a city is ...
Is Encapsulating All RPC Interface Inputs and Outputs into Classes a Sound Design?
Regarding the inputs and outputs of RPC interfaces, there has long been a school of thought that advocates wrapping all inputs and outputs into individual request and response classes. In this article, we will analyze whether this approach constitutes a sound design. Let’s start with inputs. I’ll state the conclusion first: encapsulation should only be done when there are excessive input parameters. In all other cases, there is absolutely no justification for encapsulation. The reasons given ...
The Value of Business Development for Programmers
Let me share my personal experience. At my first company right after graduation, I was actually doing infrastructure middleware development. But during that work, I realized I didn’t enjoy the feeling of being so far removed from real business. So when I later changed jobs, I deliberately chose a business-oriented department. Today, I want to explain why I made this choice. Why I Don’t Do Infrastructure DevelopmentFirst, I want to address a common misconception: that infrastructure developm...














