摘要:
前言 疫情当下,出入医院等公共场所都被要求佩戴口罩。这篇博客将会介绍如何使用 Yolov4,训练一个人脸口罩检测模型(使用 Yolov4 的原因是目前只复现到了 v4 😇),代码地址为 https://github.com/zhiyiYo/yolov4。 Yolov4 Yolov4 的神经网络结构 阅读全文
摘要:
问题描述 当我们使用 QMediaPlayer 播放歌曲时,歌曲文件的句柄会被占用。如果想使用 mutagen 库对正在播放地歌曲进行数据写入,就会出现下述问题: Traceback (most recent call last): File "D:\Anaconda\envs\Groove\lib 阅读全文
摘要:
前言 因为不用考研,所以大四一整年可以自由自在地学习一直以来想学却又没时间去学的东西。快乐的大四时光总是显得十分短暂,这篇博客主要用来总结过去一年所学的知识。 基础类课程 计算机组成原理 上的是哈尔滨工业大学的慕课,讲了计算机的几个组成部分,包括CPU、存储器、总线和 IO,上起来没什么新鲜感,和大 阅读全文
摘要:
前言 操作系统为每个进程提供了一个假象:它拥有属于自己的大量的私有内存,可以有巨大的连续地址空间放入自己的代码和数据。用户程序中访问的地址都是虚拟地址,需要经过操作系统和硬件的协同工作将这个虚拟地址翻译为物理地址,找到想要的信息。之所以提供这样的假象,是为了隔离和保护,没有人会希望一个恶意进程随意修 阅读全文
摘要:
前言 酷狗、网抑云和 QQ 音乐都有桌面歌词功能,这篇博客也将使用 pyqt 实现桌面歌词功能,效果如下图所示: 代码实现 桌面歌词部件 LyricWidget 在 paintEvent 中绘制歌词。我们可以直接使用 QPainter.drawText 来绘制文本,但是通过这种方式无法对歌词进行描边 阅读全文
摘要:
# 前言 这是 Fall 2019 的最后一个实验,要求我们实现预写式日志、系统恢复和存档点功能,这三个功能分别对应三个类 `LogManager`、`LogRecovery` 和 `CheckpointManager`,下面进入正题。 # 代码实现 ## 日志管理器 为了达到原子性和持久性的目标, 阅读全文
摘要:
# 前言 经过前面两个实验的铺垫,终于到了给数据库系统添加执行查询计划功能的时候了。给定一条 SQL 语句,我们可以将其中的操作符组织为一棵树,树中的每一个父节点都能从子节点获取 tuple 并处理成操作符想要的样子,下图的根节点 $\pi$ 会输出最终的查询结果。 ![查询计划](https:// 阅读全文
摘要:
# 前言 该实验要求实现一个基于线性探测法的哈希表,但是与直接放在内存中的哈希表不同的是,该实验假设哈希表非常大,无法整个放入内存中,因此需要将哈希表进行分割,将多个键值对放在一个 Page 中,然后搭配上一个实验实现的 [Buffer Pool Manager](https://www.cnblo 阅读全文
摘要:
# 前言 这个实验有两个任务:时钟替换算法和缓冲池管理器,分别对应 `ClockReplacer` 和 `BufferPoolManager` 类,`BufferPoolManager` 会用 `ClockReplacer` 挑选被换出的页,并通过 `DiskManager` 将换出的页写到数据库文 阅读全文
摘要:
前言 这个实验主要用来测试大家对现代 C++ 的掌握程度,实验要求如下: 简单翻译一下上述要求,就是我们需要实现定义在 src/include/primer/p0_starter.h 中的三个类 Matrix、RowMatrix 和 RowMatrixOperations,其中 Matrix 是 R 阅读全文