跳到主要内容

代码格式化

· 阅读需 4 分钟

工具几年,发现在 C/C++ 开发中,可能是待得公司体量都不大吧,很少看到有同事使用代码格式化工具,是的代码格式风格整齐统一,这其实给其他人接手阅读时会带来很大的帮助。

平时团队进行合作的时候需要注意代码的格式,虽然很难统一每个人的编码风格,但是通过工具能够很好的管理代码格式。

PVE安装记录

· 阅读需 9 分钟

下载最新固件,使用Rufus烧录至U盘。上电R86S后立即按 F7 进入 BIOS 设置,选中U盘作为引导启动项,后续的按照提示操作即可。

提示

在系统安装引导界面,可以设置磁盘分配空间,我们可以预留一部分空间给Windows使用,如果有多系统需求的话。

如果需要在 eMMC 安装 Windows 系统作为应急备份。可以考虑先安装 Windows,再安装 PVE,否则 Windows 的 UEFI 分区可能会自动识别安装至 NVME 上。

软路由实践

· 阅读需 13 分钟

前言

2024/06/29

经过将近一年的使用体验,发现 All In One 模式的软路由,存在很多不足。

  • 使用的猫棒,发热量非常大,手放上去感觉会起水泡。这肯定会给稳定性带来影响。
  • 在折腾 软路由/NAS 的过程中,经常需要断网、重启等操作,这无疑会影响其他使用网络的人。
  • 软路由/NAS 基本就是代表着不稳定,所以网络体验给人带来的感觉就是不好。

这些不足,网上都有人描述。不过自己折腾了一遍,才深有体会。所以后续还是使用光猫 + 2.5G路由器的组合,顶多在 NAS 上根据实际需求,使用 iStroreOS 搭建旁路由。

调试定位CPU占用率高的问题

· 阅读需 4 分钟

今天面试嵌入式Linux C++开发工程师的时候,面试官问了我一个这样的问题:

如何定位 Linux CPU 占用率高的问题?

我想了很久,想不出来。只能支支吾吾的从嘴里出来几句:一般通过 Git 提交记录进行代码回溯,看看最近有哪些改动导致的CPU升高。然后适时加入一些日志看打印是否频繁。

嗯,我也感觉这样回答很不好,后续也没戏了,是我太菜了吧。这里借此在网上查一下资料,记录一下。

深圳自驾318

· 阅读需 2 分钟
amass
一个躺不平的板砖人

归来感受

10月3日凌晨,匆匆回到深圳。到7号现在还是晃不过神来,感觉20天跟做梦一样。一路上还是遗憾太多。准备感觉好像做了,又好像没做,一直在赶路。

科学上网

· 阅读需 10 分钟

貌似也是来到深圳之后,作为一个码农,有时候确实很需要 Google,GitHub,Docker 等服务。这个时候就不得不接触到科学上网了这一行为了。首先谈谈我自己对 GFW 的看法,我觉得这个墙的存在是非常必要的,尽管它的存在,给我的工作带来了少许麻烦,有时候也吐槽,国内我就是找不到啥资料啊,外网又被墙了,What fuck...

使用Boost.URL实现http路由

· 阅读需 4 分钟
amass
一个躺不平的板砖人

使用Boost.Beast实现http服务器时,一直没有一个好的方式解决路由的问题。Boost.URL的发布给了一个比较好的实现方案。

最开始是直接使用硬编码来实现的:

void handleRequest(const boost::beast::http::request<boost::beast::http::string_body> &request) {
if(request.target()=="/public") {
// do something
} else if(request.target()=="/login") {
// do something
} else if(request.target()=="/about") {
// do something
}
}

这是最简单粗暴的方式,当然缺点有很多。扩展性差,不易于维护,会出现代码文件爆炸的情况。

为博客添加搜索引擎

· 阅读需 3 分钟

一直在尝试各种不同的文本搜索引擎,是为了给博客添加一个搜索栏。

Algolia DocSearch

在使用上 Algolia DocSearch 是使用体验最好的,也是 Docusaurus 官方支持的,但是其不开源,但可以免费使用。

首先在 Algolia 免费创建 Applicaiton,跳过 Get Started

Data sources 找到 Crawler,先按照提示验证域名。然后添加 Crawler,选择 Technical documentation,再选择 Docusaurus v2.x or v3.x 作为模板。

创建完成之后,在 SETUPConfiguration 下关闭 Max URLs

然后开始爬取网站内容,爬取完成之后,Crawler 的名字就会作为一个 index。安装提示填入 Docusaurus 即可。

Algolia 限制了免费版的 Records 数量,免费版只有10K,实测某些 url 已经超出其限制,Algolia 选择直接跳过该 url 的爬取。

Typesense 作为 Algolia 的开源平替版,和 Docusaurus 集成度也还行,轻量简单易于本地部署。但是目前发现它对中文分词好像不太友好,没有 Meilisearch 好。

Meilisearch 对中文支持稍微友好一点。