Lua Table

之前学习 Lua 的时候就对它的 Table 很感兴趣,最近在看 Lua 解释器的源码,因此就想研究一下具体是怎么实现这个 Lua 之中最为重要的数据结构的。 Lua Table 简介 在 Lua 语言之...

2022 May 11 · 7 min · vaaandark

C语言异常处理

C 语言没有原生支持异常处理,但是可以使用setjmp和longjmp函数实现类似try ... except的功能。 本文主要参考: C Interfaces and Implementation Implementing exceptions in C setjmp.h...

2022 May 03 · 4 min · vaaandark

Rust闭包

Rust 支持函数式编程,因此高阶函数、闭包等特性都不可或缺。 本文主要参考了 Rust Course 和 Rust 标准库文档。 什么是闭包 闭包是在支持头等函数的编程语言中实现词法绑...

2022 Apr 26 · 4 min · vaaandark

Rust迭代器

最近一直在学习 Rust 语言,深感它的学习曲线很陡峭,因此会写几篇博客记录一下学习进度。 本文主要参考了 Rust Course 和 Rust 标准库文档。 什么是迭代器 迭代器(ite...

2022 Apr 25 · 4 min · vaaandark

华科寝室简易门禁

华科宿舍的大门门禁用学生卡开,而每个寝室的门却只能使用钥匙打开。这就导致了每次出门都要带上学生卡和钥匙,每次回来都要先掏出卡,再掏出钥匙。这...

2022 Mar 29 · 2 min · vaaandark

Lua入门

最近对脚本语言 Lua 很感兴趣,其一是因为它可以很方便地调用 C 语言库,其二是因为它是很多现代化工具的配置语言(比如 NeoVim ),另外 Lua 的源代码不是很长,因...

2022 Mar 23 · 6 min · vaaandark

一些Vim使用技巧(持续更新)

最近翻看了一下 《Vim使用技巧》 这本书,然后就发现我对 Vim 快捷键的了解很不深入。不过即使如此,我日常使用 Vim 写代码的效率也高于使用其他编辑器了,...

2022 Feb 20 · 5 min · vaaandark

gitignore文件如何书写

之前使用git基本只是把它当作提交到 GitHub 上的工具,最多使用到的功能就是恢复误删的文件而已。 在我之前的git命令使用之中,基本上用的就是git c...

2022 Feb 08 · 2 min · vaaandark

CSAPP Data Lab

最近本来在看 CSAPP 后面的内容,但突然发现自己前面可能还有一些知识掌握不完全,因此做一下 Lab 检验一下。 准备工作 在 CSAPP 的官网上找到 Lab,下载 Self-Study Hand...

2022 Feb 02 · 6 min · vaaandark

斐波那契堆

联创 Lab 组新人任务第一弹。 关于斐波那契堆 结构与特点 斐波那契堆是由一组最小堆有序树构成的。每个节点的度数为其子节点的数目。树的度数为其根节点的度...

2022 Jan 31 · 2 min · vaaandark