January 20, 2025
·
21 min read

Do you really understand the video technology? What is the frame rate, resolution, bit rate and their relationships? Do you know the parameters p and K in the terminology 1080p and 4K? Do you know how to describe the video quality? What is the Blu-ray Disc on earth? What the difference between the codec such as H.264/AVC, H.265/HEVC, AV1? You may notice the Apple ProRes in apple, so do you really understand what it for? Do you know the HDR and Dolby Vision? So why there are so many tailers such as .mp4, .mkv, .flv, etc?
Now this Video Technology 101 will introduce them to you.
Read the full text -> A total of 4.34k words
January 19, 2025
·
12 min read

Message queues are a form of asynchronous service-to-service communication. They are important in enhancing a system’s scalability, reliability, and maintainability.
Read the full text -> A total of 2.47k words
January 19, 2025
·
7 min read

Do you know the basic method to manage the traffic? There are four methods: Load Balancers, Reverse Proxies, Forward Proxies, and API Gateways. And they have different features and usage scenarios.
Read the full text -> A total of 1.54k words
January 19, 2025
·
14 min read

In the daily life, we often hear about different kind of API, such as REST API, GraphQL API, WebSocket, Webhook, RPC and gRPC even the SOAP, so do you know the difference between them? How to choose the right API for your project?
Read the full text -> A total of 2.91k words
January 19, 2025
·
0 min read
Do you really know the encode and decode in Python?
Read the full text -> A total of 0.19k words
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.
Read the full text -> A total of 0.49k words
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;"])
Read the full text -> A total of 0.77k words
January 17, 2025
·
2 min read

This is a cheatsheet of docker.
Note: the docs will be updated from time to time.
Read the full text -> A total of 0.60k words
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.
Read the full text -> A total of 1.62k words
January 14, 2025
·
2 min read

So what is the difference between the Instance method, the Class method and the Static method?
Read the full text -> A total of 0.49k words