计算机教育中缺失的一课
missing-semester-cn/missing-semester-cn.github.io
大学的计算机主要介绍的都是操作系统、机器学习这些大主题的课程,但是对如何精通工具却留给学生自行探索。在这个课程中,作者讲授了如何使用命令行、文本编辑器、版本控制系统。此课程是很多工程能力的起航,本人在此课程的基础上推荐一些进一步加深学习的资料。
中文目录
-
课程概览与shell
介绍shell基本知识,可掌握基础的linux任务,使用大多数程序的基本功能。
-
shell工具和脚本
可掌握需要一系列操作的组合,以及使用条件或循环的复杂控制流。
进一步学习,可参考《Linux命令行与Shell脚本编程大全》。
-
编辑器(vim)
可掌握vim的基本操作和部分进阶操作。
进一步学习,可参考VIM官网。
-
数据整理
可掌握正则表达式,sed筛选数据和awk处理文本。
进一步学习,可参考《The AWK Programming Language》,《sed and awk 101 hacks》。
-
命令行环境
可掌握任务控制和终端多路复用,使用别名加快效率。通过配置文件方便使用,以及远程连接使用服务器。
-
版本控制(git)
包含git的数据模型,暂存区和git的命令行接口,并推荐了大量git的资源。
进一步学习,可参考《Pro git》。 -
调试及性能分析
包含python和常用的gdb调试器,对性能分析进行了讲解。
-
元编程
介绍大型项目的基本结构,包括构建系统,依赖管理,CI/CD。
-
安全和密码学
可学习到密码学的入门,另外推荐《深入浅出密码学》可系统的入门密码学。
-
大杂烩
-
提问&回答