/images/avatar.jpg

Kiosk Studio (2022)

认识eBPF

eBPF 是从 BPF(Berkeley Packet Filter)技术扩展而来,最初就是为了实现快速包过滤而实现的一门技术,因为可以直接在内核中执行,避免了向用户态复制每一个数据包,从而极大提升了包过滤的性能。后来由于这个思路非常受到欢迎,在各个场景都需要内核态的快速开发,使得BPF不再限于网络栈,而是内核的一个顶级子系统。即成了现在的 eBPF 。

https://img1.kiosk007.top/static/images/blog/ebpf_logo.png

ebpf_logo

Redis为什么这么快?

一提到 Redis ,首先的一个印象就是快!但是之前很少研究过Redis底层的一些实现。之前接触Redis比较少,有一个项目是做限流用到了 Redis,大致原理是记录最近访问过的IP和时间,如果下次再有请求到来匹配IP查找之前是否有过访问,如果有则判断时间差是否小于一小时,小于则禁掉,大于则更新时间戳,如果没有就是第一次访问。

实现一个Web服务-(一)

熟悉 Golang 的话就会知道,用官方提供的 net/http 标准库搭建一个 Web Server,是一件非常简单的事。既然 Golang 利用其精简的语法实现了 Web Server,那么是有必要知其然和知其所以然。最近看到很多文章都介绍了如何实现一个 Web ,那么今天做一个总结。

了解golang的defer

golang 中有一个关键字 defer ,golang 的 defer 语句用于延迟调用。defer 会在当前函数返回之前执行 defer 注册的函数。

在 defer 语句所在的函数退出之前调用。defer 可以代替其它语言中 try…catch… 语句,也可以用来处理释放资源等收尾操作,比如关闭文件句柄、关闭数据库连接等。defer 还能用于 panic 的 recovery。

再见Hexo,你好Hugo

最近两年一直在用 hexo 来写博客,第一个认识的 hexo 静态托管类网站记得还是小米运维部的网站 noops.me ,但是时光荏苒,小米的技术博客16年就停更了。hexo 的生态也比较完整,也有很多不错的博客主题,但是这次想着和 hexo 说再见了。