Using Docker Compose to Set Up Your Own Development Environment

Docker is not a new technology, but a tool that puts old wine in new bottles. Actually, I used Docker when I was in college, around 2017, when Docker was in its heyday. It was just used to start various lightweight applications, such as magnetic link downloaders, personal network disks, etc. Until recently, my understanding of Docker was still relatively vague. As I continued to encounter requirements at work, I also continued to understand Docker, so I decided to write an article to summarize my recent use of Docker.

Some Practices and Thoughts on Writing Maintainable Code

Some Practices and Thoughts on Writing Maintainable Code Recently, I have been modifying a piece of historical code that has a distinct style and has been handled by many hands. I found that there are many mistakes in the design of the code. This makes it very difficult for me to modify the code and add new features. This article is written with personal emotions, so there may be some subjectivity.

Why do I use bidirectional links for note-taking?

The value of a person lies in finding connections between memorized information. I previously recommended bidirectional link software to my friends for rote memorization, and many people asked me “Why use bidirectional links? What are the benefits?”. I will write a short article here to answer these questions. I have tried many note-taking software before, such as Notion, Evernote, and even Typora managed directly with git. Most of the time, I didn’t have the motivation to take notes.

About Anxiety and Procrastination

Procrastination always allows us to live in peace, but the problem does not disappear. – “Pomodoro Technique Illustrated” Current Issues Stress causes anxiety, there is always a lot of pressure in Internet companies, some come from overly high OKRs, some come from colleagues' push, and even you will put a lot of pressure on yourself. For me, it might be all of these, and possibly the pressure given by the morning meeting and weekly report.

Golang: How to Handle Growing Interfaces

The bigger the interface, the weaker the abstraction. Go Proverbs Let’s start with the conclusion. If your Golang interface has too many functions that make it difficult for you to expand horizontally, then split it into multiple interfaces according to its responsibilities, and then use embed to combine them. Problem Encountered Recently, when refactoring a component that manages configurations, we have an interface and more than 5 structs implement this interface.