From b49b49970b393aa62aa161252bd1c12aa69f81e1 Mon Sep 17 00:00:00 2001 From: XiaHanyu Date: Sun, 12 Dec 2021 22:04:37 +0800 Subject: [PATCH] add CMake, Docker for tools and CMU 15445 for Database courses --- docs/必学工具/CMake.md | 5 +++++ docs/必学工具/Docker.md | 6 ++++++ docs/数据库系统/15445.md | 16 ++++++++++++++++ mkdocs.yml | 3 +++ 4 files changed, 30 insertions(+) create mode 100644 docs/必学工具/CMake.md create mode 100644 docs/必学工具/Docker.md diff --git a/docs/必学工具/CMake.md b/docs/必学工具/CMake.md new file mode 100644 index 0000000..ca7fc51 --- /dev/null +++ b/docs/必学工具/CMake.md @@ -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) \ No newline at end of file diff --git a/docs/必学工具/Docker.md b/docs/必学工具/Docker.md new file mode 100644 index 0000000..58224f6 --- /dev/null +++ b/docs/必学工具/Docker.md @@ -0,0 +1,6 @@ +## 为什么使用 Docker +使用别人写好的软件/工具最大的障碍是什么——必然是配环境。配环境带来的折磨能够极大地消解你对软件、编程本身的兴趣。虚拟机可以解决配环境的一部分问题,但它庞大笨重,且为了某个应用的环境配置好像真的不值得模拟一个全新的操作系统。 +Docker 的出现让环境配置变得(或许)不再折磨。简单来说Docker 使用轻量级的“容器”(container)而不是整个操作系统去支持一个应用的配置。应用自身连同它的环境配置被打包为一个个image可以自由运行在不同平台的一个个container中,这极大地节省了所有人的时间成本。 + +## 如何学习Docker +[Docker 官方文档](https://docs.docker.com/)当然是最好的初学教材,但最好的导师一定是你自己——尝试去使用Docker才能享受它带来的便利。Docker在工业界发展迅猛并已经非常成熟,你可以下载它的桌面端并使用图形界面。 \ No newline at end of file diff --git a/docs/数据库系统/15445.md b/docs/数据库系统/15445.md index e69de29..5a7a1d1 100644 --- a/docs/数据库系统/15445.md +++ b/docs/数据库系统/15445.md @@ -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 \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index dfbe0c0..0a7854a 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -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开发: