January 18, 2025
·
2 min read

It has been a long time since the linux used init to manage the startup process, such as sudo /etc/init.d/apache2 start or service apache2 start, but the init is serial. To address this issue, the systemd was born. The d is the abbreviation of daemon, which means the systemd is a daemon manager. The systemd substitutes the initd and becomes the default main process PID 1.
...
January 18, 2025
·
3 min read
Normally, we often write a Dockerfile in the current directory.
- The
Dockerfile is a configuration file that describes how to build the image. You can refer to the official documentation for more details. - If you list more than one
CMD, only the last one takes effect. So if you have multiple commands to run, you better write them in a script file. - Docker is not the VMware, there is no
systemd in the container. Its startup program is the container application process. The container exists for the main process. Once the main process exits, the container loses its meaning of existence and thus exits. So when you execute multiple commands and if they are blocking, you better write the previous commands in nohup and the last command in the blocking command. (never use the command such as CMD service nginx start, the CMD only will execute as CMD [ "sh", "-c", "service nginx start"], when the sh is executed, the container will exit, the correct way is run it directly CMD ["nginx", "-g", "daemon off;"])
...
January 16, 2025
·
8 min read

Docker is a practical tool for everyday use, and like Git, you can learn it in just 30 minutes.
...
January 14, 2025
·
2 min read

So what is the difference between the Instance method, the Class method and the Static method?
...
January 8, 2025
·
6 min read

In today’s digital age, security is paramount. As we increasingly rely on technology for communication, commerce, and data storage, understanding the fundamentals of security becomes essential. This article provides an overview of key security concepts, including encryption, digest algorithms, and digital signatures. By exploring these topics, we aim to equip you with the knowledge to protect your digital assets and ensure the integrity and confidentiality of your information. Whether you’re a tech enthusiast or a professional in the field, this guide will offer valuable insights into the mechanisms that safeguard our digital world.
...
January 7, 2025
·
2 min read

Last week, I have made a python cli tool. To make it more convenient to use, I want to publish it as a pip module, so I have made some research and mistakes, and finally succeeded.
...
January 4, 2025
·
10 min read

HTTP protocol is the foundation of the Internet, and HTTPS is the secure version of HTTP. HTTP is an application layer protocol based on TCP/IP protocol. It does not involve packet (packet) transmission, mainly specifying the communication format between the client and the server, and the default port is 80.
...
January 4, 2025
·
3 min read

Recently, I have been working on DNS of my domain name. And then I need to set up the mail service of my domain name. When I tried many times, I always failed to receive the mail on my phone. Suddenly, I remembered that I didn’t set up IMAP service. So let’s review the mail service and protocol.
...
January 3, 2025
·
0 min read

Most of time, we need to reply the commiter to adjust some code, sometimes it’s not efficient. Instead, we can directly add the commit to the PR.
...
January 3, 2025
·
2 min read
Sometimes we make too many small commits during development, and it’s better to squash them into one clean commit before pushing. Here’s how to use git rebase -i to merge multiple commits.
...