Sirius
Sirius
Home avatar

Fan的博客

linux如何不进入bios切换efi启动顺序

在 Linux 系统下,您可以使用 efibootmgr 这个命令行工具来列出和管理 UEFI 启动项。这个工具允许您查看当前的启动顺序、每个启动项的详细信息,以及修改它们。

在大多数现代 Linux 发行版中,如果您的系统是以 UEFI 模式安装的,efibootmgr 通常已经预装。如果尚未安装,您可以使用您的发行版的包管理器来安装它。

naive proxy 服务端搭建

使用了一段时间非常稳定, 记录一下以便于下次安装

部署 NaiveProxy 服务器需要结合 Caddy Web 服务器及其 forwardproxy 模块。NaiveProxy 的核心是利用 Chrome 的网络栈来伪装流量,使其看起来像普通的 HTTPS 流量,从而有效抵抗审查。

Go 语言 读写锁

Go 语言中的读写锁(sync.RWMutex)是 sync 包提供的一个核心同步原语,用于解决读多写少场景下的并发性能问题。它允许多个读操作并发执行,但写操作必须独占访问资源。

Linux下 Bash 向内核写日志, 写dmesg可以看的日志

在 Bash 中向系统写日志,使其能被 dmesg 查看,可以通过向 /dev/kmsg 写入,因为这个设备文件专门用于向内核消息缓冲区发送信息。你也可以使用 logger 命令向系统日志(如 syslog)发送消息,这同样可以查看,但它不会直接出现在 dmesg 输出中,而是出现在 /var/log 下的其他日志文件中,可以通过 journalctl 或其他日志查看工具查看。 

golang 1.24 引入的 Swiss map 算法原理理解

本文主要讲解 Go 1.24 中引入的 Swiss Map . 我们首先需要回顾一下之前的 map 是如何工作的。 然后讲解 Swiss Map 原理

在 1.24 版本之前,Go 的 map 实现是一种经典的链式哈希表。其核心思想如下:

Golang 内存分配

Go 的内存分配器是其高性能并发能力的核心基石之一。它并非直接向操作系统申请和释放每一次内存,而是实现了一套高效、分层的内存管理机制。其设计深受 Google 自家的 TCMalloc (Thread-Caching Malloc) 影响,核心思想是通过多级缓存来减少锁的竞争,从而提高并发分配的性能