实用工具
名校课程推荐 | MIT《CS 实用工具课程》-机器内省
机器内省 机器有时会发生故障,你会想知道它为什么会这样。有些工具可以帮你找出原因。 但首先,我们要确保你能进行自我检查。通常,系统内省要求你拥有某些权限,比如是一个组的成员(比如 power 用于关闭)。 Root…
名校课程推荐 | MIT《CS 实用工具课程》-包管理和依赖管理
包管理和依赖管理 软件通常构建在另一个(一系列)软件之上,这就需要依赖管理。 包/依赖管理程序是针对特定语言的,但很多都有相同的逻辑。 包存储库 包存储在 包存储库 中。不同语言有不同的包存储库(有时同一种语言会有多个存储库),比 PyPI…
名校课程推荐 | MIT《CS 实用工具课程》-程序内省
程序内省 调试器 如果通过打印不能满足你的调试需求,可以使用调试器。 调试器是一种可以让我们和正在执行的程序进行交互的程序,它可以做到: 到达指定行后暂停程序 一次一条指令地逐步执行程序 查看变量的值 其他高级功能 GDB/LLDB GDB…
名校课程推荐 | MIT《CS 实用工具课程》-网页和浏览器
网页和浏览器 除了终端,你会发现你在网页浏览器上会花费大量时间。所以花点时间学会如何高效使用网页浏览器是值得的。 快捷方式 在浏览器中用鼠标点击不是最快的方式,熟悉掌握一些常见的快捷键长期来看很有用 Middle Button Click…
名校课程推荐 | MIT《CS 实用工具课程》-OS自定义
OS自定义 除了设置菜单中提供的功能之外,你可以自己自定义你自己的操作系统(operating system…
名校课程推荐 | MIT《CS 实用工具课程》-命令行环境
命令行环境 别名和函数 可以想象,输入一长串包含多个flag或verbose选项的长命令很麻烦。不过,大多数shell支持 设置别名 。例如,bash…
名校课程推荐 | MIT《CS 实用工具课程》-安全与隐私
安全与隐私 虽然世界并没有想象中的那么可怕,但这也不意味着你准备好把你所有的秘密都公之于众。安全(与隐私)通常是为了提高攻击门槛。找出你的威胁模式,然后围绕它设计你的安全机制。如果威胁模式是NSA或者Mossad…
名校课程推荐 | MIT《CS 实用工具课程》-数据整理
数据整理 你是否有过大量文本,要对它进行处理?肯定有过对吧,这就是数据整理要做的!具体来说,就是将数据从一种格式转换成另一种格式,直到最终得到我们想要的结果。 我们已经见过一些数据整理的基本技术,比如 journalctl | grep…
名校课程推荐 | MIT《CS 实用工具课程》-Shell和Scripting
Shell 和 Scripting shell 是一个高效的文本计算机接口。 shell 提示符:打开一个终端,你会看到shell提示符,它会让你运行程序和命令;常见的shell提示符有: cd 更改目录 ls 列出文件和目录 mv…
名校课程推荐 | MIT《CS 实用工具课程》-版本控制
版本控制 如果你需要不定期对工作内容进行改动,那么能追踪这些改动的功能就非常有用。它可以记录哪些地方发生了改动、如何撤销改动、谁进行了改动,甚至为什么有这样的改动。版本控制系统(VCSs…
名校课程推荐 | MIT《CS 实用工具课程》-配置文件
配置文件(Dotfiles) 很多程序都是用名为"dotfiles"的纯文本文件进行配置(因为文件名以 . 开头,比如 ~/.gitconfig ),这样它们就默认隐藏在 ls…
名校课程推荐 | MIT《CS 实用工具课程》-备份
备份 如果把人分成两种,那就是: 会备份的人 马上要备份的人 任何没有备份的数据都可能随时永远消失。这里我们要介绍一些有关备份的基础知识以及一些方法的缺陷。 3-2-1 法则 3-2-1法则 是备份数据的推荐策略,它说的是你应该有 至少…
名校课程推荐 | MIT《CS 实用工具课程》-远端设备
远端设备 对于程序员来说,在日常工作中使用远程服务器已经变得越来越普遍。如果你需要使用远程服务器来部署后端软件,或者需要用到更高算力的服务器,那么你可以使用Secure Shell(SSH)。与所介绍的大多数工具一样,SSH…
名校课程推荐 | MIT《CS 实用工具课程》-自动化
自动化 有时候你为某个任务写了一个脚本,但是你希望它能定期运行,比如备份任务。你可以写一个临时的解决方案,在后台运行并定期上线。不过,大多数UNIX系统都有cron后台常驻程序,它会根据简单的规则每分钟定期执行任务。 在大多数UNIX…