add contribute guidance && add mini-docker

This commit is contained in:
zhongyinmin 2021-12-12 22:54:15 +08:00
parent fcc84c1eae
commit f1f35ac83d
4 changed files with 17 additions and 5 deletions

View File

@ -15,4 +15,9 @@
你可以[在线免费阅读这本书](https://pkuflyingpig.github.io/pku-cs-self-learning/)。
英文版请移步[这里](https://github.com/PKUFlyingPig/Self-learning-Computer-Science)。
英文版请移步[这里](https://github.com/PKUFlyingPig/Self-learning-Computer-Science)。
## 如何成为贡献者
一个人的力量终究是有限的,对于书中任意章节你若有想要补充的内容,欢迎各位提出[Pull Request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork)。如果你想贡献一门新的课程可以参考目前repo中的[template](./template.md)文件作为模版。
同时由于个人水平有限书中难免有笔误甚至概念错误之处也请各位不吝赐教在issue中提出来。

View File

@ -18,8 +18,12 @@ IDEIntegrated Development Environment集成开发环境说白了就
[Makefile](必学工具/Makefile.md)一款工程构建工具。善用Makefile会让你养成代码模块化的习惯同时也能让你熟悉一些大型工程的编译链接流程。
[CMake](必学工具/CMake.md)一款功能比Makefile更为强大的构建工具建议掌握Makefile之后再加以学习。
[LaTex](必学工具/Latex.md)<del>逼格提升</del>论文排版工具。
[Docker](必学工具/Docker.md):一款相较于虚拟机更轻量级的软件打包与环境部署工具。
[实用工具箱](必学工具/tools.md):除了上面提到的这些在开发中使用频率极高的工具之外,我还收集了很多实用有趣的免费工具,例如一些下载工具、设计工具、学习网站等等。
## 好书推荐

View File

@ -73,4 +73,4 @@
在这里我怀着崇敬之心真诚地感谢所有将课程资源无偿开源的各位教授们。这些课程倾注了他们数十年教学生涯的积淀和心血他们却选择无私地让所有人享受到如此高质量的CS教育。没有他们我的大学生活不会这样充实而快乐。很多教授在我给他们发了感谢邮件之后甚至会回复上百字的长文真的让我无比感动。他们也时刻激励着我做一件事就得用心做好无论是科研还是为人。
## 你也想加入到贡献者的行列
一个人的力量终究是有限的这本书也是我在繁重的科研之余熬夜抽空写出来的难免有不够完善之处。另外由于个人做的是系统方向很多课程侧重系统领域对于数学、理论计算机、高级算法相关的内容则相对少些。如果有大佬想在其他领域分享自己的自学经历与资源欢迎和我邮件联系zhongyinmin@pku.edu.cn
一个人的力量终究是有限的,这本书也是我在繁重的科研之余熬夜抽空写出来的,难免有不够完善之处。另外,由于个人做的是系统方向,很多课程侧重系统领域,对于数学、理论计算机、高级算法相关的内容则相对少些。如果有大佬想在其他领域分享自己的自学经历与资源,可以直接在项目中发起Pull Request欢迎和我邮件联系zhongyinmin@pku.edu.cn

View File

@ -1,6 +1,9 @@
## 为什么使用 Docker
使用别人写好的软件/工具最大的障碍是什么——必然是配环境。配环境带来的折磨能够极大地消解你对软件、编程本身的兴趣。虚拟机可以解决配环境的一部分问题,但它庞大笨重,且为了某个应用的环境配置好像真的不值得模拟一个全新的操作系统。
Docker 的出现让环境配置变得或许不再折磨。简单来说Docker 使用轻量级的“容器”container而不是整个操作系统去支持一个应用的配置。应用自身连同它的环境配置被打包为一个个image可以自由运行在不同平台的一个个container中这极大地节省了所有人的时间成本。
使用别人写好的软件/工具最大的障碍是什么——必然是配环境。配环境带来的折磨会极大地消解你对软件、编程本身的兴趣。虚拟机可以解决配环境的一部分问题,但它庞大笨重,且为了某个应用的环境配置好像也不值得模拟一个全新的操作系统。
[Docker](https://www.docker.com/)的出现让环境配置变得或许不再折磨。简单来说Docker使用轻量级的“容器”container而不是整个操作系统去支持一个应用的配置。应用自身连同它的环境配置被打包为一个个image可以自由运行在不同平台的一个个container中这极大地节省了所有人的时间成本。
## 如何学习Docker
[Docker 官方文档](https://docs.docker.com/)当然是最好的初学教材但最好的导师一定是你自己——尝试去使用Docker才能享受它带来的便利。Docker在工业界发展迅猛并已经非常成熟你可以下载它的桌面端并使用图形界面。
[Docker 官方文档](https://docs.docker.com/)当然是最好的初学教材但最好的导师一定是你自己——尝试去使用Docker才能享受它带来的便利。Docker在工业界发展迅猛并已经非常成熟你可以下载它的桌面端并使用图形界面。
当然,如果你像我一样,是一个疯狂的造轮子爱好者,那不妨自己亲手写一个[迷你Docker](https://github.com/PKUFlyingPig/rubber-docker)来加深理解。