欢迎来到 Xiaoheng 的作业游乐场 (Homework Playground)!🚀
这份 README 作为您在此 VS Code 环境中打开的第一个文件,旨在帮助您快速了解当前的运行环境、作业目录结构以及如何运行和复现代码。
为了保证作业的复现和随时随地的便捷访问,当前您正处于一个基于**家里云(Home Lab)**搭建的定制化开发环境中:
- 底层架构:基于虚拟机 (Virtual Machine) 运行,提供完整且稳定的系统级体验。
- 操作系统基底:运行 Arch Linux 操作系统,搭配轻量级的 XFCE 桌面环境,并通过 noVNC 将画面无缝串流到您的浏览器中。
- 作业同步机制:当前环境不会自动同步最新的代码。若需获取最新作业内容,您需要手动使用 Git 同步,或者直接运行
sync.sh脚本,它会强制拉取并覆盖当前的作业仓库 (https://github.com/CodingXiaoheng/homework_hznu)。
您可以像使用本地电脑一样,在这个网页端的完整 Linux 桌面中编写、调试和运行代码。
请注意,当前您所在的虚拟机环境支持持久化存储,您的文件和修改都会被保留。但是,为了维护开发环境的稳定性:
- 请勿随意安装软件! 为了保证作业环境的绝对纯净和高可复现性,请避免随意使用系统包管理器(如
pacman)安装全局软件。- 环境依赖问题已通过局部的包管理器(如下文提到的 Nix)解决,请尽量依赖这些工具进行隔离开发。
- 尽管存储是持久化的,仍建议将重要修改使用 Git 提交并推送到远程仓库,以免被其他用户同步代码时覆盖 (
git commit&git push)。
按照 学科名 / 日期 的格式进行分类整理,方便您快速定位到特定的作业:
homework_hznu/
├── data_structure(数据结构)/
│ ├── 20260311/
│ │ └── ... (代码)
│ └── ...
├── sync.sh (环境代码同步脚本)
└── README.md
对于一般的作业代码,您只需在 VS Code 中打开对应的文件,使用终端(Ctrl + ~ 或 Terminal -> New Terminal)进入相应目录,使用对应的编译器或解释器运行即可(如 python main.py 或 gcc main.c -o main && ./main)。
为了彻底解决“在我的电脑上能跑”的环境依赖问题,部分作业使用了 Nix 包管理器。这也是为什么我们要求您不要在宿主机随意安装软件的原因。
- 如何识别:如果某个作业的目录下包含
shell.nix文件,说明该作业依赖 Nix 构建隔离环境。 - 如何运行(全自动):您不需要手动配置任何东西! 相关的运行脚本(如
.sh或.py)开头已经内置了检测逻辑。当您直接运行脚本时,它会检查当前是否处于nix-shell环境中;如果不在,脚本会自动在nix-shell中重启自身并下载所需的依赖。
- GitHub 仓库地址:CodingXiaoheng/homework_hznu
祝您批阅/浏览愉快!