Hi there
When given the choice between being right or being kind, choose kind.
Managing Protobuf with Buf

Before Buf, projects using Protobuf had to manage dependencies and protobuf-compiler-plugins themselves, which added significant cognitive load for developers.
Score 容器化服务编排的抽象层

最近在逛 daily.dev 的时候,发现一个有趣的项目,它通过自定义的 Specification,定义容器编排的配置,再通过 CLI 转化为各平台的 YAML 配置文件……
Aptabase Application Analytics Platform

Aptabase is an open-source application analytics system developed with C#, serving as an open-source alternative to Google Analytics…
ACME Server 实践之 CDNS

CDNS 是专门为了解决内网私有化 PKI 而开发 DNS 服务,主要用于解决 Traefik 在内网环境中通过 dnsChallenge 申请通配证书的问题……
Migrating Blog to Vercel

I just migrated my blog from Upyun to Vercel. Although there wasn’t much traffic cost on Upyun, applying for Let’s Encrypt certificates always caused problems…
ACME Server 实践之 ACME DNS

前几期的文章已经介绍了如何通过 Traefik 和 Step-CA 实现自动申请 HTTPS 证书,但是美中不足的是无法支持通配证书……
Traefik 结合 Step-CA 实现自动 HTTPS

Traefik 对 ACME 的支持以及对 Docker 生态的支持,是我选择他的原因,本文主要介绍 Traefik 如何通过 ACME 协议从 Let’s Encrypt 获取证书…..
Private Deployment of Expose for Internal Network Tunneling

I often encounter people who need to preview a demo of my internal network service, but don’t want to set up a complete system on a public server, so I thought of the open-source project Expose…
Trusting Self-Signed CA Certificates in Local Docker Environment

When deploying services locally with self-signed certificates, container-to-container communication often fails due to certificate trust issues…
Understanding Docker Proxy Configuration and Common Misconceptions

Recently, due to certain indescribable reasons, Docker-related services have been banned, necessitating the use of proxies to pull or build images…