Web 反爬指南(或至少让其更难抓取)

Web 反爬指南(或至少让其更难抓取) 提示:这篇文章是我 Stack Overflow 这个问题 回答的扩展, 我把它整理在 Github 因为它实在是太长了,超过了 Stack Overflow 的字数限制(最多 3 万个字,这文章已经超过 4 万字) 欢迎大家修改、完善还有分享,本文使…

Golang 逃逸分析

Golang 逃逸分析 Golang 的垃圾回收机制可以进行自动内存管理让我们的代码更简洁,同时发生内存泄漏的可能性更小。 然而,GC 会定期停止并收集未使用的对象,因此还是会增加程序的开销。 Go 的编译器十分聪明,比如决定变量需要分…

深入剖析 Golang Pprof 标签

深入剖析 Golang Pprof 标签 Polar Signal 提供的持续分析工具可以和任何格式的 pprof 配置适配,Go 深度集成了 pprof 甚至支持了它的标签特性。然而,自从我们发布了我们持续分析的产品之后,我们收到了很多工程师的反馈,发现许多工程师不知道如…

用 kqueue 实现一个简单的 TCP Server

介绍 在 非阻塞 I/O 超简明介绍 中, 我们已经讨论过现代 Web 服务器可以处理大量并发请求,这得益于现代操作系统内核内置的事件通知机制。 受 Linux epoll [ 文档 ] 启发, FreeBSD 发明了 kqueue [ 论文 , 文档 ] 这篇文章我们将仔细研究下 kqueue…

译:HTTP/3 来了

英文原文链接:https://www.zdnet.com/article/http-over-quic-to-be-renamed-http3/

据 IETF 官方人员透露,HTTP-over-QUIC 实验方案将会被命名为 HTTP/3,并将成为 HTTP 协议的第三个官方版本。
在谷歌将 SPDY 技术发展成为 HTTP/2 协议之后,这是谷歌第二次将实验技术发展成为 HTTP 的官方协议版本。
HTTP-over-QUIC 协议是 HTTP 协议的升级,谷歌使用 QUIC 取代 TCP (Transmission Control Protocal) 作为 HTTP 的基础技术。
QUIC 全称 Quick UDP Internet Connections,是谷歌将 TCP 协议重写为一种结合了HTTP/2、TCP、UDP 和 TLS 的改进技术。

设计模式:工厂方法模式

工厂方法模式是简单工厂的升级。他创建一个用于实例化类的接口,并由工厂的子类决定实例化哪个类。工厂方法模式使得一个类的实例化延迟到子类。 下面仍然以“两个数字的运算”作为例子 operations.go // 运算类 package factory_method // 运算 type Operation interface { SetA(float64)…

设计模式:代理模式

代理模式即在真实类的基础上封装一层代理类,由代理类完成对真实类的调用。 以便可以在代理类中做一些额外的工作,如进行访问权限校验、保存Cache缓存等操作。 下面以"读取图片资源"为例说…

Linux:平均负载

平均负载是单位时间内“正在使用CPU”、“等待CPU”、“等待IO”的进程数量 平均负载和CPU使用率不一样,但是CPU密集型任务可能导致平均负载升高 由1,2可知,平均负载升高,不一定是由于CPU使用率…