All Posts

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 形式等,反正生成代码的模式总是可以看到。

Jetbrains 保存书签

在使用 Jetbrains 系列 IDE 的时候,我很喜欢使用书签的功能,尤其是刚接触一个新的项目的时候,我会使用他标记一些关键的代码,但是,这个功能有个问题是他没法备份,甚至于我丢失了一个跟了一周多的项目的书签,很是心疼,所以就找一下保存书签的方式。

Digital Ocean Function 开发

最近在体验一些云产品的功能,本来想尝试将某个比较少用的项目放到 Digital Ocean 上的 Function 上(因为之前用 VM),但是体验了一把,感觉还是不太行,所以就放弃了,但是,一些其中一些过程的记录还是可以分享一下。

Linux TProxy

TProxy 是 Linux 下的透明代理,本文将向你介绍什么是 TProxy 以及他的原理是啥。

iptables 和 Linux 内核的联系

iptables 在 Linux 是基本的防火墙工具,同时也是很常见的网络工作,但是 iptables 实际上只是应用层的东西,那么 iptables 是如何和 Linux 的内核网络栈联系起来的,这里我就这个问题进行一个简单的介绍。