Hi there

When given the choice between being right or being kind, choose kind.

Go 包内测试与包外测试

Go 包内测试与包外测试
一个生产就绪的项目往往离不开单元测试,Go 则原生提供了测试功能。
Read more →

Laravel 使用预签名 URL 上传文件

Laravel 使用预签名 URL 上传文件
为了避免大文件上传占用过多的后端服务器带宽,最好的方式就是客户端直接上传到 S3。
Read more →

iOS Safari 使用 Google 搜索引擎

iOS Safari 使用 Google 搜索引擎
虽然在 iOS 设置中可以将默认搜索引擎改为 Google,但是无法直接展示搜索结果,需要再点击跳转一次。
Read more →

在 QEMU 上启动最小的操作系统

在 QEMU 上启动最小的操作系统
通过学习操作系统的课程,可以发现操作系统的原理其实并不是很复杂,我们可以通过 QEMU 来模拟一个最小的 Linux 操作系统。
Read more →

使用 CoreDNS 搭建本地域名服务

使用 CoreDNS 搭建本地域名服务
团队协作时为了最大程度达成约定大于配置的的共识,我们经可能的使用 Docker 来搭建本地开发环境,并保持配置文件的一致性
Read more →

关于证书和公钥基础设施

关于证书和公钥基础设施
作为经常与这些基础设施打交道的开发人员,有必要了解其中的一些历史和现状,以便于形成完整的知识体系。
Read more →

基础设施搭建之——HTTPS 证书

基础设施搭建之——HTTPS 证书
我们虽然经常与证书打交道,但并不真正了解它,近期因为要实现内部的 PKI 所以深入研究了一下证书和相关概念。
Read more →

Go 使用 Workspace 实现本地扩展包

Go 使用 Workspace 实现本地扩展包
Go 使用 Workspace 实现本地扩展包,避免扩展包修改需要发布到 Gitlab,提高开发效率
Read more →

Go 使用私有项目作为扩展包

Go 使用私有项目作为扩展包
如何在 Go 项目中使用内部的 Gitlab 仓库作为扩展包
Read more →

Docker build multi-platform images

Docker build multi-platform images
随着 ARM 的普及,以及 Apple 大力推行 M1 系列的芯片,容器镜像的跨平台已经迫在眉睫。
Read more →