All Posts

Socket.IO 小坑总结

最近在接手一个 Web 推送的网关,主要功能其实就是通过 Socket.IO 协议接收前端的连接,然后推送消息给对应的前端,但是,在调试的时候,遇到了一个不能成功连接的问题,这里做一个总结。

HTTP 上传下载实现

在互联网中,上传和下载都是非常常见的操作,而且不同于内网环境,通常这些操作都是通过 HTTP 协议实现的,所以在这篇文章中我尝试解释一下 HTTP 常用的上传和下载的实现,并且在协议层尝试解释一下 HTTP 的实现原理。

如何隐藏一个 Linux 进程

最近看到一个项目:libprocesshider,它可以用于隐藏一个 Linux 进程,处于好奇,就尝试了一下,发现涉及到几个有意思的点,所以记录一下。

editor.md 插件支持

Editor.md 是我非常喜欢的一个 Web 端 Markdown 编辑器,我经常用他写笔记和博客文章,因为用得多了,所以对它有一些要求,就需要自己开发了,这篇文章就是介绍如何用插件扩展它。

Linux TCP 的未来拼接技术 Sockmap 解读

在收藏夹中一直压着一篇 Clouflare 介绍他们使用 SOCKMAP 的文章,在清库存的时候就想顺便总结一下这篇文章那个,因为这里使用的是我在这两年很想尝试的 eBPF 技术,这篇文章给了我一些思路。

Prometheus 的 Summary 和 Histogram

在日常的软件监控中,对于一些离散且数量庞大的值我们通常会以统计学的方式来进行监控,例如常说的 TP99。在 Prometheus 中,有两个基本数据类型可以实现这个功能,本文就将介绍他们分别是如何做的以及如何选择他们。

使用 FFMPEG 编辑视频

经常在观看视频或者处理视频的时候,总是有一些很简单的小需求,例如截取视频某一段时间的内容,或者将一个视频按照比赛场次分割成多个视频,因为这个需求太简单了,所以特地安装一个视频处理软件就不太划算,刚好,我知道有个开源的工具 FFMPEG 是许多视频处理软件的底层依赖,所以我就尝试学习如何用它处理一个简单的视频,本文就总结一下我用到的命令。

Kafka 基础知识

虽然我一直感觉我做过 Kafka 的笔记,但是却没有找到,所以最近因为有项目使用了 Kafka,为了项目使用的每一个细节,不得不认真学习一下 Kafka(结果证明这是很正确的),顺便整理了一下主要的学习内容。

Go 框架 Gin 解析:HTTP 的处理

Gin 作为一个流行的 HTTP 框架,使用的人数非常多,但是实际上 Gin 也是足够的简单,以至于没有太多可以讲的。但是,虽然可讲的不多,也是有一些描述和思路值得一提,这篇文章是系列文章的第一篇,主要是介绍一下 Gin 是如何处理 HTTP 请求的。因为 Gin 本质上是扩展原生的 HTTP Server,所以在网络模型上没有太多的介绍之处,所以这里主要关注 Gin 的一些主要数据结构,以及这些数据结构是如何与原生的 HTTP Server 结合起来的。

Flutter 安装配置

最近趁着假期又在新机器上玩了一下 Flutter,感觉流畅度比 3 年(2020)前好多了,整个从零开始过程几乎没遇到问题,流畅地完成了新手指导,所以顺带记录一下这个过程,以及把之前遇到的问题整理了进来。