add CMake, Docker for tools and CMU 15445 for Database courses

This commit is contained in:
XiaHanyu 2021-12-12 22:04:37 +08:00
parent f456f5f77b
commit b49b49970b
4 changed files with 30 additions and 0 deletions

View File

@ -0,0 +1,5 @@
## 为什么学习CMake
CMake 是类似于 GNU make 的跨平台自动软件构件工具,使用 CMakeLists.txt 定义构建规则,相比于 make 它提供了更多的功能在各种软件构建上广泛使用。__强烈建议学习使用 make 和熟悉 Makefile 后再学习CMake__。
## 如何学习CMake
CMakeLists.txt 比 Makefile 更为抽象,理解和使用难度也更大。现阶段很多 IDE (如 Visual Studio, CLion)提供了自动生成 CMakeLists.txt 的功能,但掌握 CMakeLists.txt 的基本用法仍然很有必要。除了[CMake 官方 Tutorial](https://cmake.org/cmake/help/latest/guide/tutorial/index.html)外,上海交通大学 IPADS 组新人培训也提供了[大约一小时的视频教程](https://www.bilibili.com/video/BV14h41187FZ?spm_id_from=333.999.0.0)

View File

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

View File

@ -0,0 +1,16 @@
# CMU 15-445: Database Systems
## 课程简介
- 所属大学CMU
- 先修要求C++,数据结构与算法
- 编程语言C++
- 课程难度:🌟🌟🌟🌟
- 预计学时100小时
作为CMU数据库的入门课这门课由数据库领域的大牛 Andy Pavlo讲授“这个世界上我只在乎两件事一是我的老婆二就是数据库”。15-445会自底向上地教你数据库系统的基本组成部分存储、索引、查询以及并发事务控制。
这门课的亮点在于CMU db专门为此课开发了一个教学用的关系型数据库[bustub](https://github.com/cmu-db/bustub),并要求你对这个数据库的组成部分进行修改,实现上述部件的功能。此外 bustub作为一个C++编写的中小型项目涵盖了程序构建、代码规范、单元测试等众多要求,可以作为一个优秀的开源项目学习。
## 课程资源
- [课程网站](https://15445.courses.cs.cmu.edu/fall2019/schedule.html)
- 课程视频:课程网站免费观看
- 课程教材:无
- 课程作业4个Project

View File

@ -11,7 +11,9 @@ nav:
- Git: '必学工具/Git.md'
- Github: '必学工具/Github.md'
- Makefile: '必学工具/Makefile.md'
- CMake: '必学工具/CMake.md'
- Latex: '必学工具/Latex.md'
- Docker: '必学工具/Docker.md'
- 实用工具箱: '必学工具/tools.md'
- 好书推荐: '好书推荐.md'
- 数学基础:
@ -56,6 +58,7 @@ nav:
- 'Stanford CS144: Computer Network': '计算机网络/CS144.md'
- 数据库系统:
- 'UCB CS186: Introduction to Database System': '数据库系统/CS186.md'
- 'CMU 15-445: Database Systems': '数据库系统/15445.md'
- 编译原理:
- 'Stanford CS143: Compilers': '编译原理/CS143.md'
- Web开发: