在实际开始讨论数据结构与算法之前,需要先讨论一些基础知识,这些基础知识要么很重要,要么是看上去不太重要容易被忽略的。
可以不考研,但不能不学 408。 —— 我自己
我不想在这里再去重申那个经典的 Why,What,How 灵魂拷问,408 的这四门课程在 IT 研究来看不可谓不重要,它不但仅仅是考研的头秃专业课,更是从事 IT 工作必备的技能。我并不打算在国内考研,但这四门课程是不能不学的。
在 408 四门课程之中,绝大多数院校的培养方案都将数据结构作为第一门课程,因为在数据结构课程之中打下的编程能力的基础为后续课程做了良好的铺垫,并且后续的课程多少都会用到数据结构和算法的思想,有助于后续课程的展开和快速理解。
终于有一天,我的 vscode 因为装了大量插件他终于速度慢的我有点无法忍受了。
尤其是在我这台可怜的 Surface Go 2 上,每次打开都慢的要命不说,使用起来也非常卡顿。
偶然听说 Neovim 这个现代化的 Vim 编辑器,并且有良好的插件生态,所以我打算尝试一下。
最近在做一个工具,估计很快就能和大家见面了。
这是我第一次用 Go 写 CLI 工具,功能意外的还蛮多蛮复杂,其中涉及到一些 Linux 运维的工作,包括对网络接口进行操作,对 IPtables 的维护等。
不可避免的,这个过程中需要调用 Syscall,Go 的 Syscall 不像 C 那样直接,虽然 Go 提供了 golang.org/x/sys/unix 包,其中打包了一些常用的 Syscall,但就我们的案例而言需要去调用裸 Syscall,因此研究了一下 Go 调用 Syscall 的正确打开方式。
第一个 Lab,使用 xv6 提供的 Sys Call 写一些工具。