All Posts

升级 CentOS8 内核

之前我写过在 CentOS 7 上升级内核,但是在 CentOS 8 上有些操作已经不适用了,所以我又整理一下 CentOS 8 上的版本。

gRPC Web 实现

本文介绍 gRPC 在浏览器端的实现,众所周知,gRPC 是基于 HTTP2 的双向流 RPC 协议和库,那么在浏览器场景下 gRPC 又是如何实现这个特性的呢?这个很值得一学,本文将介绍 gRPC 是如何实现的。

KVM Qemu Libvirt 的简介与实操

在这篇文章里面,我将简单介绍一下 KVM 相关的一些虚拟化的概念,因为这些概念可能都听过,但是缺又说不清楚他们的具体区别,所以我在本文中做个小小的总结,帮助你理解他们。

自建 Bitwarden 服务

这是一个简单的自建 Bitwarden(密码管理)服务的过程,主要是通过 Docker 运行 Bitwarden 服务。

Linux 安装配置 VSCode(Go)

介绍通用的 Linux 环境下安装 VSCode 的方法以及配置一个 Go 开发者的环境过程介绍。

Mac 环境下管理多套 Go 版本

因为有很多个项目要维护,同时因为这些项目的历史背景不一,有些可能是自己写的,有些是从别人那接过来的,所以,目前面临的一个问题就是 Go 版本可能不一致,但是,你又不敢冒冒然地就升级成一致的版本,毕竟测试的覆盖度还不足以给我信心这么做。 所以,当前阶段我还是先维持使用项目指定的 Go 版本,所以就有了在本地使用多个 Go 版本的需求。本文虽然说的是 Mac 环境,但是,实际上在 Linux 环境应该也是想通的。

HTTPS 握手过程

这是一篇放了两三年的存货文章了,因为没有啥特别的,所以一直没有放出来。最近因为在做一个需求的时候用到了一些 HTTPS 的内容,所以又翻到了这篇文章,所以简单总结了一下就发布了,没啥特别的,就是老生常谈 HTTPS 建立过程的事情,本来应该还可以扩展介绍一下 HTTP2 和 QUIC 的相关内容,但是基于目前写的意愿不是很大,所以就没有展开来聊聊了。

通过 Cloudflare Tunnel 开放 VM

在之前我已经介绍过如何通过 Vagrant 创建 VM 了,但是一般来说,家用的机器都不会有公网 IP,即使有公网 IP 运营商也是会屏蔽掉流行端口,所以如果你想将 VM 放到公网上使用,那么需要使用一些额外的技术,本文就介绍其中一种免费方便的:Cloudflare Tunnel

Linux 下使用 Vagrant 管理 VM

如果你也想像我一样创建管理一些 VM,又想兼具简单和可迁移,那么可以考虑一下在这篇文章中我向你介绍的 Vagrant 工具,这是一个 Hashicorp 出品的 VM 管理工具,让你可以像 Docker 管理容器一样来管理 VM,值得一试。

尝试使用 go generate

在 Go 里面,有个不成文的习惯,就是很多人喜欢用生成代码,大的例如项目的目录结构,grpc 的 stub code 都是用工具生成的,小的例如静态文件嵌入到代码里面,自动生成 enum 类型的 String 形式等,反正生成代码的模式总是可以看到。