All Posts

Go 中 Hijacker 的介绍和使用

最近看到了一段代码和 hijack 有关,因为以前从没遇到过 hijack,所以不太了解是啥东西,就顺带快速看了一下,发现挺有意思的,以后可能写一些基础库的时候会用到,所以就顺带稍微看了看,也顺便记录一下,看看以后会不会用到。

Nginx SSL 双向认证,key 生成和配置

正如你所访问的这个网站,你会发现 Chrome(或者你用的其他浏览器),一般情况下(只要不是版本太老)都会在网站的 URL 前面加上绿色标志,表示你访问的网站是真的我部署的,而不是受到恶意拦截或者 DNS 污染等而伪造的假网站。一般来说,普通的网友想要拥有一个被信任的 HTTPS 网站,一般都是需要向 SSL 证书提供商处认证然后获得被信任的证书,这里之所以能被信任,是因为你电脑中的浏览器内置了很多根证书,通过这个根证书首先能证明这些提供商是正版的,当你的浏览器确认这些提供商是正版的了之后,再帮我的网站证明我的网站是正版的,从而告诉你这个正在使用浏览器的人,你看的网站是真的。

【负载均衡】均衡算法

在日常的软件系统中,不管是 CS 架构还是 BS 架构,也无论是传统架构还是所谓的微服务架构,一般来说,正式的系统都不会是单台机器来承载业务。除去承压能力的问题,处于可用性的考虑也很可能会至少有两台机器负载,所以如何使用和分配这两台或者更多机器是一个很有挑战的话题。我对这些话题有一些兴趣,但是,必须说的是这是个无底洞,你总是不能找到一个吻合你所有需求的方案,同时还要满足架构的清晰性,所以,这里我就列举一些我知道或者用过的一个策略,希望能对有兴趣的同学做选择提供一些参考。

【frp 源码拆解】负载均衡的实现

最近在看 frp 的源代码,这不是一篇详细解析和介绍的文章,是作为一个记录和留存,同时也算是分享一下吧,可能造成的影响就是没头没尾,有兴趣的同学可以看看,这一篇我 review 的是 负载均衡的实现,其实这里的实现我觉得不是太合适,可以考虑改进。

【frp 源码拆解】服务端 Proxy 的生命周期

最近在看 frp 的源代码,这不是一篇详细解析和介绍的文章,是作为一个记录和留存,同时也算是分享一下吧,可能造成的影响就是没头没尾,有兴趣的同学可以看看,这一篇我 review 的是 proxy 的连接的生命周期管理,从创建到分发以及关闭等流程。

【frp 源码拆解】Client 主线 Review

最近在看 frp 的源代码,这不是一篇详细解析和介绍的文章,是作为一个记录和留存,同时也算是分享一下吧,可能造成的影响就是没头没尾,有兴趣的同学可以看看

【frp 源码拆解】Server 主线 Review

最近在看 frp 的源代码,这不是一篇详细解析和介绍的文章,是作为一个记录和留存,同时也算是分享一下吧,可能造成的影响就是没头没尾,有兴趣的同学可以看看

XMLHTTPRequest

最近因为玩一个不大不小的软件,其中有一些功能需要通过执行 Js 代码来实现,所以就重新抄起了 js 的工具,但是发现虽然一些年迈的技术很老套,却扎根于基础,底层且灵活、高效。虽然在开发效率上有些许影响,但是不伤大雅,毕竟我也是只用了一点点的功能,本文就个人回忆一下 XHR 的一些基础知识,做个记录。

Go 语言中的字符串

在 Go 语言中,字符串作为一个内置的类型,被广泛得使用,但是,虽然被用得多,你知道的未必多。在使用字符串的过程中,确实有很多不确定点可能会让代码的编写有一些被动的情况,例如在字符串和其他类型之间转换,如何传递字符串,如何比较字符串和如何切割字符串比较高效等,这些都是需要去考虑的问题。所以,我想一次性将这些问题都解决掉,因此在这篇文章中你都能看到这些问题的解答,以及更多的其他关于 Go 语言中字符串的知识。

Go 语言中的异常处理

对于 Go 语言的设计者来说,他们的追求一直是精简且高效,但是这就导致了很多人的吐槽,例如缺乏继承,异常处理不友好之类的,随着读写代码的慢慢变多,我发现我对 Go 的异常和错误有一些误解,所以就简单得总结了解了一番,顺带分享一下,希望没有误导其他同学。