PAC2023娱乐赛

7.6 举办了 PAC2023 的开幕赛,以轻松娱乐为主,我还没有体验过在短时间内完成优化工作(不过今天的工作量倒也不大)。这场娱乐赛给了我别样的体验,也让我发现了我有好的好多不足,以及一些以前没有注意到的坏习惯。 ...

2023 7月 06 · 4 分钟 · vaaandark

数据库复习之关系代数

关系代数 关系代数(数据库) 计算机科学家 Codd 对关系代数的形成作出了很大的贡献,他的代数的六个原始运算是「选择」、「投影」、「笛卡尔积」、「并集」、「差集」、「重命名」。 ...

2023 6月 19 · 2 分钟 · vaaandark

CPU 流水线

流水线级 一条流水线的每个分步骤被称为流水线级。它们被流水线寄存器分开。下文中没有说明是流水线寄存器的都是普通 CPU 寄存器。 现代计算机流水线级数已经达到了 10-20 级,在 2000-2010 年间,流水线级数的竞赛达到了最高峰,那时候的处理器甚至可以有高达 31 级的流水线。但是超深的流水线带来的是结构上的复杂和显著增大的动态调度模块设计难度,因此,从那以后就没有再出现过使用这么多级流水线的 CPU 了。 ...

2023 4月 22 · 5 分钟 · vaaandark

CS246 Finding Similar Items: Locality Sensitive Hashing

最近在上大数据分析的课程,老师使用的是斯坦福大学的教材和 PPT ,感觉挺有趣的,记录一下其中的一些算法。 背景 很多问题可以被归化为寻找相似集合的问题: 论文差重 寻找购买相似商品的人群 寻找有相似特征的图片 不妨将这次的目的设置为:给定大量的文档,发现其中有抄袭嫌疑的 ...

2023 3月 15 · 5 分钟 · vaaandark

MIT6.S081 Lab: Xv6 and Unix Utilities

这是 MIT6.S081 的第一个 Lab ,目的是为了让学生熟悉 Xv6 和 Unix 的一些实用程序,例如 sleep find xargs 等。 sleep 这一关是实现 sleep 命令。由于在 user/user.h 目录中给出来了可以直接由 C 语言调用的函数 int sleep(int) ,这一关非常简单: ...

2023 3月 02 · 3 分钟 · vaaandark

Awesome WM 基于迭代器的小组件

由于 i3wm 支持的功能有限,定制性并没有那么强大,最近换成使用 Awesome WM 了,它使用 Lua 作为配置语言,所以可配置性极强。举个例子,i3wm 配置无法像真正的编程语言一样使用 if ... else 语句等,但 Awesome WM 可以,对于同一个快捷键就可以在不同时候有不同的功能。 ...

2023 2月 25 · 2 分钟 · vaaandark

Btrfs 为什么是神?

最近发现 Windows 这几个月开机不超过 10 次,寻思着将 Windows 中的空间挪一点到 Linux 中来。说干就干,在 Windows 里面划出来了 80 GB 的空间。 遗憾地,这 80 GB 空间物理上在我需要扩容的空间的前面,由于开头的扇区存放有很多元数据,因此是不能简单扩容的,只能寻求其他的方法。 ...

2023 2月 25 · 1 分钟 · vaaandark

Rust 自引用结构

今天和朋友交流的时候遇到了自引用问题,之前就在看 Rust Bible 的时候看到过,但是一直没用 Rust 写过什么数据结构,所以没有使用这个的机会,所以今天就来尝试一下。 ...

2023 2月 23 · 1 分钟 · vaaandark

MIT6.S081 实验环境配置

最近开始学习操作系统的相关知识,选择学 MIT6.S081 的课程。 首先在 课程官方网站 上拉取仓库配置环境。 $ git clone git://g.csail.mit.edu/xv6-labs-2020 $ cd xv6-labs-2020 $ git checkout util $ make qemu make 时发现有报错: user/sh.c: In function ‘runcmd’: user/sh.c:58:1: error: infinite recursion detected [-Werror=infinite-recursion] 58 | runcmd(struct cmd *cmd) | ^~~~~~ 打开该文件发现: ...

2023 2月 21 · 1 分钟 · vaaandark

Lua 打印 Table

之前在 Lua 代码的编写中写过一些打印表的函数用于调试,这次在看 z.lua 的实现中看到了非常完美的打印表的方法,于是在将代码改得更规范后记录一下: 使用 luacheck 检查 Lua 代码中的错误和不规范之处 ...

2023 2月 11 · 1 分钟 · vaaandark