Skip to content

chestNutLsj/senjl-quartz-space

Repository files navigation

Tip

  • 不积跬步,无以至千里;不积小流,无以成江海。
  • 思而不学则罔,学而不思则殆。
  • 吾尝终日而思矣,不如须臾之所学也。
  • 悟已往之不谏,知来者之可追。
  • 为共产主义事业奋斗终身!

欢迎来到我的数字花园,这里是我在学习、生活中的经历、思考、学习记录,欢迎阅读、斧正。

这个数字花园基于 Obsidian+Quartz+GitHub Pages 搭建,你可以点击这里访问它。

为什么选择 Obsidian?

万恶之源自然是自本科阶段的学习始——任何一门科目的内容量都有了质的跃升,我的记忆力已经不再允许我仅凭大脑来完成海量的公式、知识点的长期记忆、快速搜索、知识框架构建等繁重任务。而动笔摘抄到物理媒介上的时空复杂度都堪称地狱级,并且在整理知识、迁移联系等方面,纸质媒介业已无法胜任 —— 电子笔记应运而生!

Obsidian 是一款功能强大、自定义性极强、可跨多终端的知识库管理软件,其中双链笔记的功能更是令我深深着迷,花样繁多的插件市场提供了应对千变万化的知识场景的可能,因此自考研始,我就将 Obsidian 作为个人知识库的管理助手,希望借此提升知识管理的水平。

这里有什么?

理论知识

content/1-Theory/ 目录下存放着关于计算机科学的基础学科的笔记,分别是:

  1. 数学基础:主要是研究生一年级学习的数学课程,如数值分析、矩阵分析、概率论等;
  2. 编程语言:目前主要在 学习/使用 的是 Cpp、Python、Rust 三种语言;
  3. 数据结构:主要内容是邓俊辉老师的《数据结构 C++版 3rd》,私以为称邓老师的 DS 课程作中国第一也毫不过誉;
  4. 算法:这里主要存放在洛谷、Codeforces、AcWing、LeetCode 中刷题的笔记1
  5. 计算机组成原理与体系结构:在备考 912 的过程中,我详细学习了 CSAPP、RISC-V 手册、THU 刘卫东老师的课程,
    1. CSAPP 的内容太多还未将笔记整理起来(今后估计也没有时间再整理了),因此主要摘抄自 B 站 up 主 fengmuzi2003 的重要知识点点拨的内容;
    2. RISC-V 是一个非常现代化的、精简的指令集,非常适合初学者入门(相较而言 x86 实在不够友好,混乱的指令格式、烦冗的后向兼容特性等等缺点);
    3. THU 刘老师的课程比较简略,只有我个人阅读其 PPT 时的收获,相当于照着 PPT 自己给自己讲了一遍;
  6. 操作系统原理:这里主要有《操作系统精髓与设计原理 9th》、《rCore Tutorial》两本书的内容,
    1. 《精髓与设计原理》是一本非常宏观的经典 OS 书籍,讲述了大量的 OS 设计原理和理念,我在备考 912 时看的第一本书就是它,总体而言虽不能言面面俱到,但也八九不离十;(不过如今我并不推荐学习这本书,因为 OSTEP 珠玉在前,在讲述原理上 OSTEP 更佳,并且此书中译版的错别字、翻译错误、插图错误实在太多,难以忍受)
    2. 《rCore Tutorial》是 THU 陈渝老师等人编著的使用 Rust 在 RISC-V 指令集上开发操作系统内核的教程,其中涉及了非常详细的 OS Kernel 开发流程,从宏观原理到微观指令无所不包,并且留下了许多有挑战的课题供读者研究、开发;(如果让我只推荐一本备考 912的 OS 课本,当然非此书莫属)
  7. 计算机网络:计算机网络我在本科时学习的是 Forouzan 的《数据通信与网络》一书,不过其中的内容实在太过偏向底层更像是电信专业的教材,学时懵懵懂懂极为痛苦,备考 912 的两年中以 THU 徐教授的 PPT 和《计算机网络:自顶向下方法》为主
    1. 《数据通信与网络》一书中讲述物理层用了 9 章内容,涵盖大量模拟信号调制等 EE 专业的知识,这对计算机专业的学生来说非常不友好,也不恰当;并且在网络层部分几乎没有提到 SDN 网络这一新兴技术,在传输层部分对滑动窗口协议的讲解也不够详细,因此我认为这本书不是一个适合计算机专业的学生的计网课本;
    2. 《计算机网络》,俗称龙书,塔嫩鲍姆的著作之一,是 THU 的课程参考书,里面讲解知识点确实丰富而又详细,但如果不使用电子笔记串联知识点,大量的内容将会让人怀疑仿佛白长了个脑子;
    3. 《自顶向下》这本书讲解应用层、传输层、网络层、链路层非常详细,并且由于最新版涉及了很多新的网络协议、特点,很贴近 912如今的考卷形式;(不过对于个别细节知识点的讲解比较简略,甚至需要翻查其他资料才能了解全貌)
  8. 机器学习基础:来自国立台湾大学林轩田老师的机器学习基础理论的课程;
  9. 深度学习:主要是《动手学深度学习 2nd》、LLM 基础、国立台湾大学李宏毅老师的课程、PyTorch 的官方文档等学习资料;
  10. 软件工程:来自清华大学刘强老师的软件工程课程;
  11. 一份计算机科学的 roadmap

开发技能

content/2-Develop/ 目录下是开发所需要的技能,包括前端、后端、移动端,目前我学习了前端框架 Vue3、后端框架 Flask、移动端 Android 开发等部分知识。

Important

最近两年的主要时间都花在考研上,因此开发技能的学习非常欠缺,这里 Vue3和 Flask 框架也只是在做毕业设计时用到了部分,学得很浅显,后续再次学到时再做补充吧。

如果考研顺利的话,我应该会在清深去搞 AI,并且我个人也非常喜欢 AI 这个方向,因此在 3-AI/ 这个目录下是我学习 AI 的经验,其中主要包括三个部分:传统机器学习、深度学习、强化学习。这里将会是我接下来重要更新的地方

考研还算顺利,我最终去了清华大学深圳国际研究生院的智能网络组,接下来一段时间研究方向是利用优化数据中心的拓扑等手段以加速LLM推理,我会重点更新这里的相关论文读后见解,欢迎大家一起交流。

工具使用

content/3-Tools/ 目录下是常用的工具的使用经验,诸如

  • 开发工具 CMake、Conda、Docker、GDB、Git、GNU Make、Maven、Vcpkg 等;
  • 也有知识管理、笔记内容方面的工具,如 Mermaid 用于画图、Obsidian 用于知识管理、Marp 用于制作 Slides;
  • 还有 Shell 命令行的使用、开发;
  • 以及网络抓包工具 WireShark 的使用;

学术研究

content/4-Scholar/ 目录下是我在阅读论文是所做批注、标记、总结,目前有以下内容:

  • 数据中心拥塞控制相关的论文
  • 数据中心加速 LLM 推理相关的论文
  • 以及 ...

Linux 或 Windows 的使用经验

content/5-OS-tips/ 目录下是我使用 Linux 系统和 Windows 系统的经验,包括:

  • Arch Linux 上的使用经验,部分问题的解决策略
  • 通用的 shell 命令、命令行工具的使用
  • WSL 的使用,如迁移至非系统盘、设置代理等
  • Windows 中包管理软件、更改默认编码为 UTF-8等诸多琐碎问题

身体健康

content/7-Health 目录下是我收集的如何锻炼身体、保养身体的方法。程序员的工作实在太过损耗身体,如果不加强身体锻炼和保养,头发不保都还是小事,甚至小命不保也有可能。

素材资源

content/0-Assets/content/6-SimpRead/ 目录下是为了完成笔记撰写而存放素材资源的地方,有待笔记使用后才有价值。

Footnotes

  1. 自 2024 年 4 月之后这里将断更若干时间(考研已上岸),下一次更新可能在 2026 年准备秋招时。