如何检查你的计算机使用的是 UEFI 还是 BIOS

# 如何检查你的计算机使用的是 UEFI 还是 BIOS

>
> 简介：这是一个快速的教程，来告诉你的系统使用的是现代 UEFI 或者传统 BIOS。同时提供 Windows 和 Linux 的说明。
>
>
>

当你尝试[双启动 Linux 和 Windows](https://itsfoss.com/guide-install-linux-mint-16-dual-boot-windows/) 时，你需要知道系统上是否有 UEFI 或 BIOS 启动模式。它可以帮助你决定安装 Linux 的分区。

我不打算在这里讨论[什么是 BIOS](https://www.lifewire.com/bios-basic-input-output-system-2625820)。不过，我想通过 BIOS 告诉你一些 [UEFI](https://www.howtogeek.com/56958/htg-explains-how-uefi-will-replace-the-bios/) 的优点。

UEFI 即（<ruby> 统一可扩展固件接口 <rt>  Unified Extensible Firmware Interface </rt></ruby>）旨在克服 BIOS 的某些限制。它增加了使用大于 2TB 磁盘的能力，并具有独立于 CPU 的体系结构和驱动程序。采用模块化设计，即使没有安装操作系统，也可以支持远程诊断和修复，以及灵活的无操作系统环境（包括网络功能）。

### UEFI 优于 BIOS 的地方

* UEFI 在初始化硬件时速度更快。
* 提供安全启动，这意味着你在加载操作系统之前加载的所有内容都必须签名。这为你的系统提供了额外的保护层。
* BIOS 不支持超过 2TB 的分区。
* 最重要的是，如果你是双引导，那么建议始终在相同的引导模式下安装两个操作系统。

如果试图查看你的系统运行的是 UEFI 还是 BIOS，这并不难。首先让我从 Windows 开始，然后看看如何在 Linux 系统上查看用的是 UEFI 还是 BIOS。

### 在 Windows 中检查使用的是 UEFI 还是 BIOS

在 Windows 中，在“开始”面板中的“系统信息”中，在 BIOS 模式下，可以找到启动模式。如果它显示的是 Legacy，那么你的系统是 BIOS。如果显示 UEFI，那么它是 UEFI。

**另一个方法**：如果你使用 Windows 10，可以打开文件资源管理器并进入到 `C:\Windows\Panther` 来查看你使用的是 UEFI 还是 BIOS。打开文件 setupact.log 并搜索下面的字符串。

```
Detected boot environment

```

我建议在 notepad++ 中打开这个文件，因为这是一个很大的文件，记事本很可能挂起（至少它对我来说是 6GB ！）。

你会看到几行有用的信息。

```
2017-11-27 09:11:31, Info IBS Callback_BootEnvironmentDetect:FirmwareType 1.
2017-11-27 09:11:31, Info IBS Callback_BootEnvironmentDetect: Detected boot environment: BIOS

```

### 在 Linux 中检查使用的是 UEFI 还是 BIOS

最简单地找出使用的是 UEFI 还是 BIOS 的方法是查找 `/sys/firmware/efi` 文件夹。如果使用的 BIOS 那么该文件夹不存在。

**另一种方法**：安装名为 efibootmgr 的软件包。

在基于 Debian 和 Ubuntu 的发行版中，你可以使用以下命令安装 efibootmgr 包：

```
sudo apt install efibootmgr

```

完成后，输入以下命令：

```
sudo efibootmgr

```

如果你的系统支持 UEFI，它会输出不同的变量。如果没有，你将看到一条消息指出 EFI 变量不支持。

### 最后的话

查看你的系统使用的是 UEFI 还是 BIOS 很容易。一方面，像快速和安全的引导为 UEFI 提供了优势，如果你使用的是 BIOS 也不必担心太多，除非你打算使用 2TB 硬盘。

---

via: <https://itsfoss.com/check-uefi-or-bios/>

作者：[Ambarish Kumar](https://itsfoss.com/author/ambarish/) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


如何在使用 Vim 时访问/查看 Python 帮助

Summary: 假设我的光标在 Python 的 print 关键字下，然后按下 F1，我想查看关键字 print 的帮助。

# 如何在使用 Vim 时访问/查看 Python 帮助

我是一名新的 Vim 编辑器用户。我用它编写 Python 代码。有没有办法在 vim 中查看 Python 文档而无需访问互联网？假设我的光标在 Python 的 `print` 关键字下，然后按下 F1，我想查看关键字 `print` 的帮助。如何在 vim 中显示 python `help()` ？如何在不离开 vim 的情况下调用 `pydoc3`/`pydoc` 寻求帮助？

`pydoc` 或 `pydoc3` 命令可以根据 Python 关键字、主题、函数、模块或包的名称显示文本文档，或在模块内或包中的模块对类或函数的引用。你可以从 Vim 中调用 `pydoc`。让我们看看如何在 Vim 编辑器中使用 `pydoc` 访问 Python 文档。

### 使用 pydoc 访问 python 帮助

语法是：

```
pydoc keyword
pydoc3 keyword
pydoc len
pydoc print

```

编辑你的 `~/.vimrc`：

```
$ vim ~/.vimrc

```

为 `pydoc3` 添加以下配置（python v3.x 文档）。在正常模式下创建 `H` 键的映射：

```
nnoremap <buffer> H :<C-u>execute "!pydoc3 " . expand("<cword>")<CR>

```

保存并关闭文件。打开 Vim 编辑器：

```
$ vim file.py

```

写一些代码：

```
#!/usr/bin/python3
x=5
y=10
z=x+y
print(z)
print("Hello world")

```

将光标置于 Python 关键字 `print` 的下方，然后按下 `Shift`，然后按 `H`。你将看到下面的输出：

[](https://www.cyberciti.biz/media/new/faq/2018/01/Access-Python-Help-Within-Vim.gif)

*按 H 查看 Python 关键字 print 的帮助*

### 如何在使用 Vim 时查看 python 帮助

[jedi-vim](https://github.com/davidhalter/jedi-vim) 是一个绑定自动补全库 Jed 的 Vim 插件。它可以做很多事情，包括当你按下 `Shift` 后跟 `K` （即按大写 `K`） 就显示关键字的帮助。

#### 如何在 Linux 或类 Unix 系统上安装 jedi-vim

使用 [pathogen](https://github.com/tpope/vim-pathogen)、[vim-plug](https://www.cyberciti.biz/programming/vim-plug-a-beautiful-and-minimalist-vim-plugin-manager-for-unix-and-linux-users/) 或 [Vundle](https://github.com/gmarik/vundle) 安装 jedi-vim。我使用的是 vim-plug。在 `~/.vimrc` 中添加以下行：

```
Plug 'davidhalter/jedi-vim'

```

保存并关闭文件。启动 Vim 并输入：

```
PlugInstall

```

在 Arch Linux 上，你还可以使用 `pacman` 命令从官方仓库中的 vim-jedi 安装 jedi-vim：

```
$ sudo pacman -S vim-jedi

```

它也可以在 Debian（比如 8）和 Ubuntu（ 比如 14.04）上使用 [apt-get command](https://www.cyberciti.biz/faq/ubuntu-lts-debian-linux-apt-command-examples/ "See Linux/Unix apt command examples for more info")/[apt-get command](https://www.cyberciti.biz/tips/linux-debian-package-management-cheat-sheet.html "See Linux/Unix apt-get command examples for more info") 安装 vim-python-jedi：

```
$ sudo apt install vim-python-jedi

```

在 Fedora Linux 上，它可以用 `dnf` 安装 vim-jedi：

```
$ sudo dnf install vim-jedi

```

Jedi 默认是自动初始化的。所以你不需要进一步的配置。要查看 Documentation/Pydoc，请按 `K`。它将弹出帮助窗口：

[](https://www.cyberciti.biz/media/new/faq/2018/01/How-to-view-Python-Documentation-using-pydoc-within-vim-on-Linux-Unix.jpg)

### 关于作者

作者是 nixCraft 的创建者，也是经验丰富的系统管理员和 Linux 操作系统/Unix shell 脚本的培训师。他曾与全球客户以及 IT、教育、国防和太空研究以及非营利部门等多个行业合作。在 [Twitter](https://twitter.com/nixcraft)、[Facebook](https://facebook.com/nixcraft)、[Google +](https://plus.google.com/+CybercitiBiz) 上关注他。

---

via: <https://www.cyberciti.biz/faq/how-to-access-view-python-help-when-using-vim/>

作者：[Vivek Gite](https://www.cyberciti.biz) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


440+ 个免费的编程 & 计算机科学的在线课程

Summary: 我编制了一个有 440 多个免费在线课程的清单，你可以从这个月开始去学习它了。

我编制了一个有 440 多个免费在线课程的清单，你可以从这个月开始去学习它了。

# 440+ 个免费的编程 & 计算机科学的在线课程

六年前，一些大学如 MIT 和斯坦福首次向公共免费开放了他们的在线课程。现在，全世界超过 800 所学校已经创建了成千上万的免费课程。

我编制了一个有 440 多个免费在线课程的清单，你可以从这个月开始去学习它了。为了这个清单，我使用了[<ruby> 班级中心 <rt>  Class Central </rt></ruby>](https://www.class-central.com/) 的数据库，它有超过 9000 门课程，我也包括了每个课程的平均评分。

*[班级中心](https://www.class-central.com/) 的主页*

按它们不同的级别，我将这些课程分成以下三类：

* 初级
* 中级
* 高级

对于首次出现的课程，我标记为 [NEW]。

这些课程中的大多数都是可以自学的。其余的将在二月份的某个时间为你奉上。在班级中心的 2018 年 [计算机科学](https://www.class-central.com/subject/cs)、[数据科学](https://www.class-central.com/subject/data-science)、和 [编程](https://www.class-central.com/subject/programming-and-software-development) 主题的页面上，你可以找到与这个技术相关的完整的清单。

我也知道，这个长长的清单，可能会让学习编程的新手望而却步。在这些课程中，你可以找到 [David Venturi](https://medium.com/@davidventuri) 推荐的非常有用的最佳 [数据科学在线课程](https://medium.freecodecamp.com/the-best-data-science-courses-on-the-internet-ranked-by-your-reviews-6dc5b910ea40)  —  即使你不想学习数据科学。以后，我想去创建更多的这种指南。

最后，如果你不知道如何去注册这些免费课程，没关系 —— 我也写了一篇 [如何去注册](https://medium.freecodecamp.org/how-to-sign-up-for-coursera-courses-for-free-98266efaa531) 的文章。

### 初级（112）

* [Python 交互式编程入门（第 1 部分）](https://www.class-central.com/mooc/408/coursera-an-introduction-to-interactive-programming-in-python-part-1) 来自 *Rice University* ★★★★★(3018)
* [计算机科学入门和使用 Python 编程](https://www.class-central.com/mooc/1341/edx-introduction-to-computer-science-and-programming-using-python) 来自 *Massachusetts Institute of Technology* ★★★★★(115)
* [学习编程：基本原理](https://www.class-central.com/mooc/385/coursera-learn-to-program-the-fundamentals) 来自 *University of Toronto* ★★★★★(100)
* [计算机科学入门](https://www.class-central.com/mooc/320/udacity-intro-to-computer-science) 来自 *University of Virginia* ★★★★☆(68)
* [CS50 的计算机科学入门](https://www.class-central.com/mooc/442/edx-cs50-s-introduction-to-computer-science) 来自 *Harvard University* ★★★★★(65)
* [Python 交互式编程入门（第 2 部分）](https://www.class-central.com/mooc/3196/coursera-an-introduction-to-interactive-programming-in-python-part-2) 来自 *Rice University* ★★★★★(52)
* [如何使用 Git 和 GitHub](https://www.class-central.com/mooc/2661/udacity-how-to-use-git-and-github)
* [Linux 入门](https://www.class-central.com/mooc/1857/edx-introduction-to-linux) 来自 *Linux Foundation* ★★★★☆(37)
* [因特网历史、技术、和安全](https://www.class-central.com/mooc/335/coursera-internet-history-technology-and-security) 来自 *University of Michigan* ★★★★★(36)
* [HTML 和 CSS 入门](https://www.class-central.com/mooc/2659/udacity-intro-to-html-and-css)
* [VBA/Excel 编程入门](https://www.class-central.com/mooc/1797/open-education-by-blackboard-introduction-to-vba-excel-programming) 来自 *Cal Poly Pomona* ★★★★☆(26)
* [[New] CS50 的理解技术](https://www.class-central.com/mooc/10142/edx-cs50-s-understanding-technology) 来自 *Harvard University*
* [[New] CS50 的为商务人士的计算机科学](https://www.class-central.com/mooc/10143/edx-cs50-s-computer-science-for-business-professionals) 来自 *Harvard University*
* [[New] Java 编程导论：如何开始编程（西班牙语）](https://www.class-central.com/mooc/10316/edx-introduccion-a-la-programacion-en-java-como-comenzar-a-programar) 来自 *Universidad Carlos iii de Madrid*
* [[New] 物联网 (IoT) 入门](https://www.class-central.com/mooc/9750/edx-introduction-to-the-internet-of-things-iot) 来自 *Curtin University*
* [[New] 使用 Git 管理版本](https://www.class-central.com/mooc/10166/coursera-version-control-with-git) 来自 *Atlassian*
* [JavaScript 基础](https://www.class-central.com/mooc/2660/udacity-javascript-basics)
* [CS101: 计算机科学 101](https://www.class-central.com/mooc/2175/stanford-openedx-cs101-computer-science-101) 来自 *Stanford University* ★★★★☆(15)
* [编程基础](https://www.class-central.com/mooc/1650/edx-programming-basics) 来自 *Indian Institute of Technology Bombay* ★★☆☆☆(13)
* [Web 安全基本原理](https://www.class-central.com/mooc/8726/edx-web-security-fundamentals) 来自 *KU Leuven University* ★★★★☆(12)
* [Python 编程基础](https://www.class-central.com/mooc/2013/udacity-programming-foundations-with-python)
* [网络：计算机网络入门](https://www.class-central.com/mooc/1578/stanford-openedx-networking-introduction-to-computer-networking) 来自 *Stanford University* ★★★★★(11)
* [DB：数据库入门](https://www.class-central.com/mooc/1580/stanford-openedx-db-introduction-to-databases) 来自 *Stanford University* ★★★★★(11)
* [数字多媒体 & 移动应用创意编程](https://www.class-central.com/mooc/529/coursera-creative-programming-for-digital-media-mobile-apps) 来自 *University of London International Programmes* ★★★★☆(10)
* [使用 JavaScript、HTML 和 CSS 基础](https://www.class-central.com/mooc/4256/coursera-programming-foundations-with-javascript-html-and-css) 来自 *Duke University* ★★★★☆(9)
* [实用安全](https://www.class-central.com/mooc/1727/coursera-usable-security) 来自 *University of Maryland, College Park* ★★★☆☆(9)
* [Bootstrap 入门 — 一个教程](https://www.class-central.com/mooc/3338/edx-introduction-to-bootstrap-a-tutorial) 来自 *Microsoft* ★★★☆☆(9)
* [HTML5 编码基础和最佳实践](https://www.class-central.com/mooc/3444/edx-html5-coding-essentials-and-best-practices) 来自 *World Wide Web Consortium (W3C)* ★★★★☆(9)
* [大家都来学 Python  —  浏览信息](https://www.class-central.com/mooc/7363/python-for-everybody-exploring-information)
* [学习编程：编写高品质代码](https://www.class-central.com/mooc/390/coursera-learn-to-program-crafting-quality-code) 来自 *University of Toronto* ★★★★☆(7)
* [使用 p5.js 入门视觉艺术编程](https://www.class-central.com/mooc/3770/kadenze-introduction-to-programming-for-the-visual-arts-with-p5-js) 来自 *University of California, Los Angeles* ★★★★★(7)
* [关系型数据库入门](https://www.class-central.com/mooc/3253/udacity-intro-to-relational-databases)
* [jQuery 入门](https://www.class-central.com/mooc/4062/edx-introduction-to-jquery) 来自 *Microsoft* ★★★★☆(5)
* [HTML5 和 CSS 基础](https://www.class-central.com/mooc/5764/edx-html5-and-css-fundamentals) 来自 *World Wide Web Consortium (W3C)* ★★★★☆(5)
* [Java 编程基础](https://www.class-central.com/mooc/6686/udacity-java-programming-basics)
* [Linux 命令行基础](https://www.class-central.com/mooc/4049/udacity-linux-command-line-basics)
* [Java 编程入门 — 第 1 部分](https://www.class-central.com/mooc/1983/edx-introduction-to-java-programming-part-1) 来自 *The Hong Kong University of Science and Technology* ★★★★☆(4)
* [Java 编程入门：用 Java 写代码](https://www.class-central.com/mooc/2813/edx-introduction-to-java-programming-starting-to-code-in-java) 来自 *Universidad Carlos iii de Madrid* ★★★★☆(4)
* [计算机编程范例 — 抽象和并发](https://www.class-central.com/mooc/2630/edx-paradigms-of-computer-programming-abstraction-and-concurrency)来自 *Université catholique de Louvain* ★★★★☆(4)
* [计算机编程范例 — 基本原理](https://www.class-central.com/mooc/2298/edx-paradigms-of-computer-programming-fundamentals) 来自 *Université catholique de Louvain* ★★★★★(4)
* [在 Scratch 中编程](https://www.class-central.com/mooc/2954/edx-programming-in-scratch) 来自 *Harvey Mudd College* ★★★★★(4)
* [使用 JavaScript 的 Web 编程](https://www.class-central.com/mooc/8518/edx-programming-for-the-web-with-javascript) 来自 *University of Pennsylvania* ★★★★★(2)
* [计算的美与乐 — AP® CS 原理 第 1 部分](https://www.class-central.com/mooc/2525/edx-the-beauty-and-joy-of-computing-ap-cs-principles-part-1) 来自 *University of California, Berkeley* ★★★★★(2)
* [Python 计算入门](https://www.class-central.com/mooc/7622/edx-introduction-to-computing-using-python) 来自 *Georgia Institute of Technology* ★★★★★(2)
* [面向对象的编程](https://www.class-central.com/mooc/1651/edx-object-oriented-programming) 来自 *Indian Institute of Technology Bombay* ★★★★☆(2)
* [思维·创新·代码](https://www.class-central.com/mooc/3231/edx-think-create-code) 来自 *University of Adelaide* ★★★★★(2)
* [智能手机中的计算技术](https://www.class-central.com/mooc/2809/edx-the-computing-technology-inside-your-smartphone) 来自 *Cornell University* ★★★★★(2)
* [Android 基础：编写你的第一个 App](https://www.class-central.com/mooc/7278/udacity-android-basics-make-your-first-app) 来自 *Google* ★★★★☆(2)
* [学习 Python 编程](https://www.class-central.com/mooc/3695/edx-learn-to-program-using-python) 来自 *University of Texas Arlington* ★★★★★(2)
* [HTML 和 JavaScript 入门](https://www.class-central.com/mooc/5923/edx-introduction-to-html-and-javascript) 来自 *Microsoft* ★★★★★(2)
* [大众计算机科学：计算机科学和 Python 编程入门](https://www.class-central.com/mooc/3483/edx-cs-for-all-introduction-to-computer-science-and-python-programming)来自 *Harvey Mudd College* ★★★★★(2)
* [JavaScript 入门](https://www.class-central.com/mooc/8059/udacity-intro-to-javascript)
* [Android 新手入门](https://www.class-central.com/mooc/7623/udacity-android-for-beginners)
* [网络：朋友、金钱和字节](https://www.class-central.com/mooc/359/coursera-networks-friends-money-and-bytes) 来自 *Princeton University* ★★★☆☆(1)
* [如何编码：数据基础](https://www.class-central.com/mooc/8202/edx-how-to-code-simple-data) 来自 *The University of British Columbia* ★★★★★(1)
* [使用 Wordpress 开发和设计 Web](https://www.class-central.com/mooc/6408/kadenze-web-development-and-design-using-wordpress) 来自 *California Institute of the Arts* ★★★★☆(1)
* [Android App 新手开发指南](https://www.class-central.com/mooc/7315/edx-android-app-development-for-beginners) 来自 *Galileo University* ★☆☆☆☆(1)
* [Android App 新手开发指南](https://www.class-central.com/mooc/7315/edx-android-app-development-for-beginners) 来自 *Galileo University* ★☆☆☆☆(1)
* [艺术家的 Web 编码基础](https://www.class-central.com/mooc/3781/kadenze-web-coding-fundamentals-for-artists) 来自 *National University of Singapore* ★★★★☆(1)
* [ReactJS 入门](https://www.class-central.com/mooc/8770/edx-introduction-to-reactjs) 来自 *Microsoft* ★★☆☆☆(1)
* [Node.js 入门](https://www.class-central.com/mooc/9597/edx-introduction-to-node-js) 来自 *Microsoft* ★★★★★(1)
* [学习 Java 编程](https://www.class-central.com/mooc/8718/edx-learn-to-program-in-java) 来自 *Microsoft* ★★★★★(1)
* [计算：艺术、魔法与科学](https://www.class-central.com/mooc/2195/edx-computing-art-magic-science) 来自 *ETH Zurich* ★★★★☆(1)
* [计算：艺术、魔法与科学 — 第 2 部分](https://www.class-central.com/mooc/4084/edx-computing-art-magic-science-part-ii) 来自 *ETH Zurich*
* [Cyber 安全：居家安全、在线与生活](https://www.class-central.com/mooc/6265/futurelearn-cyber-security-safety-at-home-online-in-life) 来自 *Newcastle University* ★★★☆☆(1)
* [软件工程师基础](https://www.class-central.com/mooc/8527/edx-software-engineering-essentials) 来自 *Technische Universität München (Technical University of Munich)* ★★★★★(1)
* [我的计算机科学: 计算机科学新手指南](https://www.class-central.com/mooc/2957/edx-mycs-computer-science-for-beginners) 来自 *Harvey Mudd College* ★★★☆☆(1)
* [使用 Git 管理版本](https://www.class-central.com/mooc/8430/udacity-version-control-with-git)
* [大众 Web 应用](https://www.class-central.com/mooc/7362/web-applications-for-everybody)
* [CS50’s AP® 计算机科学原理](https://www.class-central.com/mooc/7017/edx-cs50-s-ap-computer-science-principles) 来自 *Harvard University*
* [编程基础](https://www.class-central.com/mooc/9574/coursera-programming-fundamentals) 来自 *Duke University*
* [Cyber 安全入门](https://www.class-central.com/mooc/8651/edx-introduction-to-cybersecurity) 来自 *University of Washington*
* [Python 数据表现](https://www.class-central.com/mooc/9550/coursera-python-data-representations) 来自 *Rice University*
* [Python 编程基础](https://www.class-central.com/mooc/9549/coursera-python-programming-essentials) 来自 *Rice University*
* [软件工程师：入门](https://www.class-central.com/mooc/8205/edx-software-engineering-introduction) 来自 *The University of British Columbia*
* [Web 开发入门](https://www.class-central.com/mooc/7027/coursera-introduction-to-web-development) 来自 *University of California, Davis*
* [Java 编程入门 — 第 2 部分](https://www.class-central.com/mooc/3486/edx-introduction-to-java-programming-part-2) 来自 *The Hong Kong University of Science and Technology*
* [Excel/VBA 解决创意问题，第 2 部分](https://www.class-central.com/mooc/9943/coursera-excel-vba-for-creative-problem-solving-part-2) 来自 *University of Colorado Boulder*
* [AP 计算机科学 A：Java 编程的多态和高级数据结构](https://www.class-central.com/mooc/7219/edx-ap-computer-science-a-java-programming-polymorphism-and-advanced-data-structures) 来自 *Purdue University*
* [AP 计算机科学 A：Java 编程的循环和数据结构](https://www.class-central.com/mooc/7212/edx-ap-computer-science-a-java-programming-loops-and-data-structures)来自 *Purdue University*
* [AP 计算机科学 A：Java 编程的类和对象](https://www.class-central.com/mooc/7211/edx-ap-computer-science-a-java-programming-classes-and-objects) 来自 *Purdue University*
* [Android 开发的 Java 基础](https://www.class-central.com/mooc/7313/edx-java-fundamentals-for-android-development) 来自 *Galileo University*
* [很赚钱的 Android Apps 所使用的商业模式](https://www.class-central.com/mooc/7345/edx-monetize-android-apps-with-business-models) 来自 *Galileo University*
* [很赚钱的 Android Apps 所使用的商业模式](https://www.class-central.com/mooc/7345/edx-monetize-android-apps-with-business-models) 来自 *Galileo University*
* [Android 开发的 Java 基础](https://www.class-central.com/mooc/7313/edx-java-fundamentals-for-android-development) 来自 *Galileo University*
* [Java 编程入门：写出好代码](https://www.class-central.com/mooc/5735/edx-introduction-to-java-programming-writing-good-code) 来自 *Universidad Carlos iii de Madrid*
* [Cyber 安全基础：动手实践](https://www.class-central.com/mooc/7849/edx-cyber-security-basics-a-hands-on-approach) 来自 *Universidad Carlos iii de Madrid*
* [业务深度学习](https://www.class-central.com/mooc/9431/coursera-deep-learning-for-business) 来自 *Yonsei University*
* [TCP/IP 入门](https://www.class-central.com/mooc/9143/coursera-introduction-to-tcp-ip) 来自 *Yonsei University*
* [视频游戏设计和平衡](https://www.class-central.com/mooc/6660/edx-video-game-design-and-balance) 来自 *Rochester Institute of Technology*
* [Web 易用性](https://www.class-central.com/mooc/6531/udacity-web-accessibility) 来自 *Google*
* [移动 Web 开发](https://www.class-central.com/mooc/1046/udacity-mobile-web-development) 来自 *Google*
* [Python 编程入门](https://www.class-central.com/mooc/10134/edx-introduction-to-programming-using-python) 来自 *University of Texas Arlington*
* [Python 入门：从零开始](https://www.class-central.com/mooc/8671/edx-introduction-to-python-absolute-beginner) 来自 *Microsoft*
* [Python：基础](https://www.class-central.com/mooc/8650/edx-introduction-to-python-fundamentals) 来自 *Microsoft*
* [设计思想入门](https://www.class-central.com/mooc/8845/edx-introduction-to-design-thinking) 来自 *Microsoft*
* [逻辑和计算思维](https://www.class-central.com/mooc/8725/edx-logic-and-computational-thinking) 来自 *Microsoft*
* [像专家一样写代码](https://www.class-central.com/mooc/8808/edx-writing-professional-code) 来自 *Microsoft*
* [Java 中的面向对象编程](https://www.class-central.com/mooc/8723/edx-object-oriented-programming-in-java) 来自 *Microsoft*
* [CSS 基础 来自 *Microsoft*
* [JavaScript 入门](https://www.class-central.com/mooc/8496/edx-javascript-introduction) 来自 *World Wide Web Consortium (W3C)*
* [Python 的面向对象编程：创建你自己的冒险游戏](https://www.class-central.com/mooc/8884/futurelearn-object-oriented-programming-in-python-create-your-own-adventure-game) 来自 *Raspberry Pi Foundation*
* [学习 Swift 编程语法](https://www.class-central.com/mooc/3925/udacity-learn-swift-programming-syntax)
* [JavaScript 和 DOM](https://www.class-central.com/mooc/9990/udacity-javascript-and-the-dom)
* [能源行业中的区块链](https://www.class-central.com/mooc/9526/futurelearn-blockchain-in-the-energy-sector) 来自 *InnoEnergy*
* [虚拟现实入门](https://www.class-central.com/mooc/7379/udacity-introduction-to-virtual-reality)
* [ES6 — 改进后的 JavaScript](https://www.class-central.com/mooc/8543/udacity-es6-javascript-improved)
* [Python 入门](https://www.class-central.com/mooc/8577/udacity-introduction-to-python)
* [HTTP & Web 服务器](https://www.class-central.com/mooc/8374/udacity-http-web-servers)
* [GitHub & 合作](https://www.class-central.com/mooc/8542/udacity-github-collaboration)
* [Swift 新手指南](https://www.class-central.com/mooc/7494/udacity-swift-for-beginners)

### 中级（259）

* [机器学习](https://www.class-central.com/mooc/835/coursera-machine-learning) 来自 *Stanford University* ★★★★★(325)
* [算法，第 1 部分](https://www.class-central.com/mooc/339/coursera-algorithms-part-i) 来自 *Princeton University* ★★★★★(58)
* [算法，第 II 部分](https://www.class-central.com/mooc/340/coursera-algorithms-part-ii) 来自 *Princeton University* ★★★★★(21)
* [为音乐家和艺术家的机器学习](https://www.class-central.com/mooc/3768/kadenze-machine-learning-for-musicians-and-artists) 来自 *Goldsmiths, University of London* ★★★★★(57)
* [密码学 I](https://www.class-central.com/mooc/616/coursera-cryptography-i) 来自 *Stanford University* ★★★★★(49)
* [CS188.1x：人工智能](https://www.class-central.com/mooc/445/edx-cs188-1x-artificial-intelligence) 来自 *University of California, Berkeley* ★★★★★(30)
* [计算原理（第 1 部分）](https://www.class-central.com/mooc/1724/coursera-principles-of-computing-part-1) 来自 *Rice University* ★★★★★(29)
* [计算原理（第 2 部分）](https://www.class-central.com/mooc/3198/coursera-principles-of-computing-part-2) 来自 *Rice University* ★★★★☆(16)
* [[New] 算法设计和技术](https://www.class-central.com/mooc/10241/edx-algorithmic-design-and-techniques) 来自 *University of California, San Diego*
* [软件安全](https://www.class-central.com/mooc/1728/coursera-software-security)来自 *University of Maryland, College Park* ★★★★☆(25)
* [[New] 弹性计算入门](https://www.class-central.com/mooc/10053/nptel-introduction-to-soft-computing) 来自 *Indian Institute of Technology, Kharagpur*
* [[New] 云计算](https://www.class-central.com/mooc/10027/nptel-cloud-computing) 来自 *Indian Institute of Technology, Kharagpur*
* [[New] 数据库管理系统](https://www.class-central.com/mooc/9914/nptel-database-management-system) 来自 *Indian Institute of Technology, Kharagpur*
* [[New] Haskell 编程入门](https://www.class-central.com/mooc/10044/nptel-introduction-to-haskell-programming) 来自 *Chennai Mathematical Institute*
* [越来越容易的专业 Web 易访问性审计](https://www.class-central.com/mooc/5174/canvas-network-professional-web-accessibility-auditing-made-easy) 来自 *Chang School of Continuing Education* ★★★★★(21)
* [在 Rails 上使用 Ruby 进行敏捷开发 — 基础篇](https://www.class-central.com/mooc/443/edx-agile-development-using-ruby-on-rails-the-basics) 来自 *University of California, Berkeley* ★★★★★(19)
* [自动化理论](https://www.class-central.com/mooc/376/stanford-openedx-automata-theory) 来自 *Stanford University* ★★★★☆(18)
* [机器学习入门](https://www.class-central.com/mooc/2996/udacity-intro-to-machine-learning) 来自 *Stanford University* ★★★★☆(18)
* [Web 开发](https://www.class-central.com/mooc/324/udacity-web-development)
* [Android 开发新手指南](https://www.class-central.com/mooc/3579/udacity-android-development-for-beginners) 来自 *Google* ★★★★☆(16)
* [C 程序员学习 C++，Part A](https://www.class-central.com/mooc/671/coursera-c-for-c-programmers-part-a) 来自 *University of California, Santa Cruz* ★★★☆☆(16)
* [代码的本质](https://www.class-central.com/mooc/3777/kadenze-the-nature-of-code) 来自 *Processing Foundation* ★★★★★(16)
* [游戏开发的概念](https://www.class-central.com/mooc/1176/open2study-concepts-in-game-development) 来自 *Swinburne University of Technology* ★★★★☆(15)
* [算法的思想（第 1 部分）](https://www.class-central.com/mooc/1725/coursera-algorithmic-thinking-part-1) 来自 *Rice University* ★★★★☆(14)
* [算法的思想（第 2 部分）](https://www.class-central.com/mooc/3200/coursera-algorithmic-thinking-part-2) 来自 *Rice University* ★★★★☆(9)
* [计算机程序的设计](https://www.class-central.com/mooc/323/udacity-design-of-computer-programs) 来自 *Stanford University* ★★★★☆(13)
* [Java 编程：用软件解决问题](https://www.class-central.com/mooc/4305/coursera-java-programming-solving-problems-with-software) 来自 *Duke University* ★★★☆☆(13)
* [Web 响应设计](https://www.class-central.com/mooc/4200/coursera-responsive-web-design) 来自 *University of London International Programmes* ★★★★☆(12)
* [离散优化](https://www.class-central.com/mooc/487/coursera-discrete-optimization) 来自 *University of Melbourne* ★★★★☆(12)
* [游戏开发入门](https://www.class-central.com/mooc/4275/coursera-introduction-to-game-development) 来自 *Michigan State University* ★★★★★(12)
* [函数式编程入门](https://www.class-central.com/mooc/2147/edx-introduction-to-functional-programming) 来自 *Delft University of Technology* ★★★★☆(11)
* [开发 Android Apps](https://www.class-central.com/mooc/2211/udacity-developing-android-apps) 来自 *Google* ★★★☆☆(11)
* [面向对象的 JavaScript](https://www.class-central.com/mooc/2658/udacity-object-oriented-javascript) 来自 *Hack Reactor* ★★★★★(11)
* [编程语言](https://www.class-central.com/mooc/325/udacity-programming-languages) 来自 *University of Virginia* ★★★☆☆(10)
* [编程语言，Part B](https://www.class-central.com/mooc/6920/coursera-programming-languages-part-b) 来自 *University of Washington* ★★★★★(2)
* [编程语言，Part C](https://www.class-central.com/mooc/7187/coursera-programming-languages-part-c) 来自 *University of Washington* ★★★★★(1)
* [Web 响应设计基础](https://www.class-central.com/mooc/3255/udacity-responsive-web-design-fundamentals) 来自 *Google* ★★★★★(9)
* [图像和视频处理：从火星到好莱坞而止于医院](https://www.class-central.com/mooc/462/coursera-image-and-video-processing-from-mars-to-hollywood-with-a-stop-at-the-hospital) 来自 *Duke University* ★★★★☆(8)
* [密码学](https://www.class-central.com/mooc/1730/coursera-cryptography) 来自 *University of Maryland, College Park* ★★★★☆(8)
* [学习数据（机器学习入门）](https://www.class-central.com/mooc/366/learning-from-data-introductory-machine-learning-course) 来自 *California Institute of Technology* ★★★★★(8)
* [Julia 科学编程](https://www.class-central.com/mooc/7092/coursera-julia-scientific-programming) 来自 *University of Cape Town* ★★★★★(8)
* [云计算应用程序，第 1 部分：云系统和基础设施](https://www.class-central.com/mooc/2738/coursera-cloud-computing-applications-part-1-cloud-systems-and-infrastructure)来自 *University of Illinois at Urbana-Champaign* ★★★☆☆(7)
* [云计算概念：第 2 部分](https://www.class-central.com/mooc/2942/coursera-cloud-computing-concepts-part-2) 来自 *University of Illinois at Urbana-Champaign* ★★★★★(5)
* [Swift 编程入门](https://www.class-central.com/mooc/4248/coursera-introduction-to-swift-programming) 来自 *University of Toronto* ★☆☆☆☆(7)
* [Software 测试](https://www.class-central.com/mooc/365/udacity-software-testing) 来自 *University of Utah* ★★★★☆(7)
* [使用 MongoDB 管理数据](https://www.class-central.com/mooc/1479/udacity-data-wrangling-with-mongodb) 来自 *MongoDB University* ★★★★☆(7)
* [AJAX 入门](https://www.class-central.com/mooc/2997/udacity-intro-to-ajax)
* [计算机架构](https://www.class-central.com/mooc/342/coursera-computer-architecture) 来自 *Princeton University* ★★★★☆(6)
* [物联网：我们如何用它？](https://www.class-central.com/mooc/4276/coursera-internet-of-things-how-did-we-get-here) 来自 *University of California, San Diego*  ★★☆☆☆(6)
* [Meteor.js 开发入门](https://www.class-central.com/mooc/4328/coursera-introduction-to-meteor-js-development)来自 *University of London International Programmes* ★★★★☆(6)
* [DevOps 入门](https://www.class-central.com/mooc/4013/udacity-intro-to-devops) 来自 *Nutanix* ★★★☆☆(6)
* [全栈基础](https://www.class-central.com/mooc/3254/udacity-full-stack-foundations)
* [算法入门](https://www.class-central.com/mooc/364/udacity-intro-to-algorithms)
* [Java 中的软件架构](https://www.class-central.com/mooc/6469/edx-software-construction-in-java) 来自 *Massachusetts Institute of Technology* ★★★★★(5)
* [在 Rails 上使用 Ruby 进行敏捷开发  —  高级篇](https://www.class-central.com/mooc/558/edx-agile-development-using-ruby-on-rails-advanced) 来自 *University of California, Berkeley* ★★★★★(5)
* [计算机图形](https://www.class-central.com/mooc/548/edx-computer-graphics) 来自 *University of California, Berkeley* ★★★★☆(5)
* [软件开发过程](https://www.class-central.com/mooc/2335/udacity-software-development-process) 来自 *Georgia Institute of Technology* ★★★★☆(5)
* [计算机网络](https://www.class-central.com/mooc/2336/udacity-computer-networking) 来自 *Georgia Institute of Technology* ★★★★☆(5)
* [Java 编程：数组、列表、和数据结构](https://www.class-central.com/mooc/4362/coursera-java-programming-arrays-lists-and-structured-data) 来自 *Duke University* ★★★★★(5)
* [HTML5 游戏开发](https://www.class-central.com/mooc/551/udacity-html5-game-development) 来自 *Google* ★★★☆☆(5)
* [C++ 入门](https://www.class-central.com/mooc/4758/edx-introduction-to-c) 来自 *Microsoft* ★★★★☆(5)
* [软件调试](https://www.class-central.com/mooc/457/udacity-software-debugging) 来自 *Saarland University* ★★★★★(5)
* [并行编程概念](https://www.class-central.com/mooc/1701/openhpi-parallel-programming-concepts)
* [使用 Swift 开发 iOS App 入门](https://www.class-central.com/mooc/2861/udacity-intro-to-ios-app-development-with-swift)
* [物联网：配置你的 DragonBoard™ 开发平台](https://www.class-central.com/mooc/4260/coursera-internet-of-things-setting-up-your-dragonboard-development-platform)来自 *University of California, San Diego*  ★★★☆☆(4)
* [物联网 & 增强现实新技术](https://www.class-central.com/mooc/3934/coursera-internet-of-things-augmented-reality-emerging-technologies) 来自 *Yonsei University* ★★★☆☆(4)
* [Database 管理基础](https://www.class-central.com/mooc/4337/coursera-database-management-essentials) 来自 *University of Colorado System* ★★★★☆(4)
* [Web 网络性能优化](https://www.class-central.com/mooc/2189/udacity-website-performance-optimization) 来自 *Google* ★★★★☆(4)
* [移动开发者的 UX 设计](https://www.class-central.com/mooc/2212/udacity-ux-design-for-mobile-developers) 来自 *Google* ★★★★★(4)
* [使用 Transact-SQL 查询数据](https://www.class-central.com/mooc/3341/edx-querying-data-with-transact-sql) 来自 *Microsoft* ★★★★☆(4)
* [计算机图形交互](https://www.class-central.com/mooc/2067/coursera-interactive-computer-graphics) 来自 *The University of Tokyo* ★★☆☆☆(4)
* [jQuery 入门](https://www.class-central.com/mooc/2998/udacity-intro-to-jquery)
* [将 Python 用于研究](https://www.class-central.com/mooc/7204/edx-using-python-for-research) 来自 *Harvard University* ★★★☆☆(3)
* [图解网络：无需微积分](https://www.class-central.com/mooc/891/coursera-networks-illustrated-principles-without-calculus) 来自 *Princeton University* ★★★★☆(3)
* [VLSI CAD 第 I 部分：逻辑](https://www.class-central.com/mooc/428/coursera-vlsi-cad-part-i-logic) 来自 *University of Illinois at Urbana-Champaign* ★★★★★(3)
* [物联网：通讯技术](https://www.class-central.com/mooc/4173/coursera-internet-of-things-communication-technologies) 来自 *University of California, San Diego*  ★★★☆☆(3)
* [MATLAB 和 Octave 的新手指南](https://www.class-central.com/mooc/7376/edx-matlab-and-octave-for-beginners) 来自 *École Polytechnique Fédérale de Lausanne* ★★★☆☆(3)
* [无线通讯新技术](https://www.class-central.com/mooc/3936/coursera-wireless-communication-emerging-technologies) 来自 *Yonsei University* ★★★★☆(3)
* [JavaScript Promises](https://www.class-central.com/mooc/5680/udacity-javascript-promises) 来自 *Google* ★★★★★(3)
* [Android 基础：多屏 Apps](https://www.class-central.com/mooc/6549/udacity-android-basics-multiscreen-apps) 来自 *Google* ★★★★☆(3)
* [Android 基础：用户输入](https://www.class-central.com/mooc/7343/udacity-android-basics-user-input) 来自 *Google* ★★★★☆(3)
* [DevOps：开发者如何入门](https://www.class-central.com/mooc/6333/edx-devops-for-developers-how-to-get-started) 来自 *Microsoft* ★★★★☆(3)
* [自主移动机器人](https://www.class-central.com/mooc/1564/edx-autonomous-mobile-robots) 来自 *ETH Zurich* ★★★☆☆(3)
* [敏捷软件开发](https://www.class-central.com/mooc/6878/edx-agile-software-development) 来自 *ETH Zurich* ★★★★☆(3)
* [JavaScript 调试](https://www.class-central.com/mooc/3351/udacity-javascript-testing)
* [配置 Linux Web 服务器](https://www.class-central.com/mooc/4050/udacity-configuring-linux-web-servers)
* [JavaScript 设计模式](https://www.class-central.com/mooc/3082/udacity-javascript-design-patterns)
* [编译器](https://www.class-central.com/mooc/2716/stanford-openedx-compilers) 来自 *Stanford University* ★★★★☆(2)
* [LPL: 语言，验证和逻辑](https://www.class-central.com/mooc/2340/stanford-openedx-lpl-language-proof-and-logic) 来自 *Stanford University* ★★★★★(2)
* [移动应用程序体验 第 1 部分：从一个领域到一个应用程序创意](https://www.class-central.com/mooc/1523/edx-mobile-application-experiences-part-1-from-a-domain-to-an-app-idea)来自 *Massachusetts Institute of Technology* ★★★★★(2)
* [移动应用程序体验 第 2 部分：移动应用设计](https://www.class-central.com/mooc/5724/edx-mobile-application-experiences-part-2-mobile-app-design) 来自 *Massachusetts Institute of Technology*
* [移动应用程序体验 第 3 部分：构建移动应用程序](https://www.class-central.com/mooc/5633/edx-mobile-application-experiences-part-3-building-mobile-apps) 来自 *Massachusetts Institute of Technology*
* [机器学习：自主学习](https://www.class-central.com/mooc/1848/udacity-machine-learning-unsupervised-learning) 来自 *Brown University* ★★★★★(2)
* [响应式 Web 网站教程和示例](https://www.class-central.com/mooc/4356/coursera-responsive-website-tutorial-and-examples) 来自 *University of London International Programmes* ★★★★★(2)
* [iOS App 开发基础](https://www.class-central.com/mooc/4348/coursera-ios-app-development-basics) 来自 *University of Toronto* ★★★★☆(2)
* [编程、数据结构和算法](https://www.class-central.com/mooc/2778/nptel-programming-data-structures-and-algorithms) 来自 *Indian Institute of Technology Madras* ★★☆☆☆(2)
* [Android App 组件 — 服务、本地 IPC、以及内容提供者](https://www.class-central.com/mooc/7763/coursera-android-app-components-services-local-ipc-and-content-providers)来自 *Vanderbilt University* ★★★☆☆(2)
* [Android App 组件 — Intents、Activities、和广播接收器](https://www.class-central.com/mooc/5500/coursera-android-app-components-intents-activities-and-broadcast-receivers)来自 *Vanderbilt University* ★★★☆☆(2)
* [Android 移动应用程序开发入门](https://www.class-central.com/mooc/3758/edx-introduction-to-mobile-application-development-using-android) 来自 *The Hong Kong University of Science and Technology* ★★★★☆(2)
* [因特网新兴技术](https://www.class-central.com/mooc/3933/coursera-internet-emerging-technologies) 来自 *Yonsei University* ★★★☆☆(2)
* [面向对象的设计](https://www.class-central.com/mooc/9216/coursera-object-oriented-design) 来自 *University of Alberta* ★★★☆☆(2)
* [Android 基础：网络](https://www.class-central.com/mooc/6728/udacity-android-basics-networking) 来自 *Google* ★★★★☆(2)
* [浏览器底层优化](https://www.class-central.com/mooc/3524/udacity-browser-rendering-optimization) 来自 *Google* ★★★★☆(2)
* [Google 云平台基础：核心基础设施](https://www.class-central.com/mooc/7784/coursera-google-cloud-platform-fundamentals-core-infrastructure) 来自 *Google* ★★★★☆(2)
* [客户端-服务器通讯](https://www.class-central.com/mooc/6527/udacity-client-server-communication) 来自 *Google* ★★★★★(2)
* [开发国际化软件，第 1 部分](https://www.class-central.com/mooc/3996/edx-developing-international-software-part-1) 来自 *Microsoft* ★★★★☆(2)
* [使用 Power BI 分析和可视化数据](https://www.class-central.com/mooc/5156/edx-analyzing-and-visualizing-data-with-power-bi) 来自 *Microsoft* ★★★★★(2)
* [Web 开发者之网络](https://www.class-central.com/mooc/5965/udacity-networking-for-web-developers)
* [计算结构2：计算机架构](https://www.class-central.com/mooc/4810/edx-computation-structures-2-computer-architecture) 来自 *Massachusetts Institute of Technology* ★★★★☆(1)
* [软件开发基础](https://www.class-central.com/mooc/8516/edx-software-development-fundamentals) 来自 *University of Pennsylvania* ★★★☆☆(1)
* [软件架构与设计](https://www.class-central.com/mooc/3418/udacity-software-architecture-design) 来自 *Georgia Institute of Technology* ★★★★★(1)
* [数据库系统概念与设计](https://www.class-central.com/mooc/8573/udacity-database-systems-concepts-design) 来自 *Georgia Institute of Technology* ★★★★☆(1)
* [如何编码：复杂数据](https://www.class-central.com/mooc/8199/edx-how-to-code-complex-data) 来自 *The University of British Columbia* ★★★★★(1)
* [产品设计冲刺](https://www.class-central.com/mooc/5592/coursera-running-product-design-sprints) 来自 *University of Virginia* ★★★☆☆(1)
* [Android 之 Java](https://www.class-central.com/mooc/5446/coursera-java-for-android) 来自 *Vanderbilt University* ★☆☆☆☆(1)
* [使用 NodeJS、Express 和 MongoDB 进行服务器侧开发](https://www.class-central.com/mooc/8888/coursera-server-side-development-with-nodejs-express-and-mongodb) 来自 *The Hong Kong University of Science and Technology* ★★★★★(1)
* [Cyber 安全经济](https://www.class-central.com/mooc/6991/edx-cyber-security-economics) 来自 *Delft University of Technology* ★★☆☆☆(1)
* [Web 应用程序开发：基本概念](https://www.class-central.com/mooc/5497/coursera-web-application-development-basic-concepts) 来自 *University of New Mexico* ★★★★☆(1)
* [算法](https://www.class-central.com/mooc/5752/edx-algorithms) 来自 *Indian Institute of Technology Bombay* ★★★★★(1)
* [Android：Introducción a la Programación](https://www.class-central.com/mooc/2964/edx-android-introduccion-a-la-programacion) 来自 *Universitat Politècnica de València* ★★★★☆(1)
* [面向服务的架构](https://www.class-central.com/mooc/9219/coursera-service-oriented-architecture) 来自 *University of Alberta* ★★★★★(1)
* 设计模式][235](https://www.class-central.com/mooc/9215/coursera-design-patterns) 来自 *University of Alberta* ★☆☆☆☆(1)
* [Cybersecurity 和便捷性](https://www.class-central.com/mooc/6584/coursera-cybersecurity-and-mobility) 来自 *University System of Georgia* ★☆☆☆☆(1)
* [Google 云平台基础之 AWS 安全专家篇](https://www.class-central.com/mooc/8614/coursera-google-cloud-platform-fundamentals-for-aws-professionals) 来自 *Google Cloud* ★★☆☆☆(1)
* [Android 基础：用户界面](https://www.class-central.com/mooc/7342/udacity-android-basics-user-interface) 来自 *Google* ★★☆☆☆(1)
* [使用 Kubernetes 的弹性微服务](https://www.class-central.com/mooc/6275/udacity-scalable-microservices-with-kubernetes) 来自 *Google* ★★★★☆(1)
* [用 Java 开发弹性应用程序](https://www.class-central.com/mooc/2215/udacity-developing-scalable-apps-in-java) 来自 *Google* ★★★★☆(1)
* [Android 性能](https://www.class-central.com/mooc/3455/udacity-android-performance) 来自 *Google* ★★★★★(1)
* [Android 基础：点击按钮](https://www.class-central.com/mooc/7279/udacity-android-basics-button-clicks) 来自 *Google* ★★★☆☆(1)
* [Android 和 Java 的 Gradle](https://www.class-central.com/mooc/3584/udacity-gradle-for-android-and-java) 来自 *Google* ★★★★★(1)
* [VR 软件开发](https://www.class-central.com/mooc/7463/udacity-vr-software-development) 来自 *Google* ★★★★☆(1)
* [用 Python 开发弹性应用程序](https://www.class-central.com/mooc/3525/udacity-developing-scalable-apps-in-python) 来自 *Google* ★★★★☆(1)
* [Android 开发者的内容设计](https://www.class-central.com/mooc/3581/udacity-material-design-for-android-developers) 来自 *Google* ★★★★★(1)
* [中级 C++](https://www.class-central.com/mooc/7590/edx-intermediate-c) 来自 *Microsoft* ★★★★☆(1)
* [C# 入门](https://www.class-central.com/mooc/8823/edx-introduction-to-c) 来自 *Microsoft* ★★☆☆☆(1)
* [AngularJS：高级框架技术](https://www.class-central.com/mooc/7384/edx-angularjs-advanced-framework-techniques) 来自 *Microsoft* ★★★★☆(1)
* [机器学习原理](https://www.class-central.com/mooc/6511/edx-principles-of-machine-learning) 来自 *Microsoft* ★★★★★(1)
* [Javascript 异步编程](https://www.class-central.com/mooc/8002/edx-asynchronous-programming-with-javascript) 来自 *Microsoft* ★★★★★(1)
* [从第一原则构建现代化计算机：Nand 到 Tetris 第 II 部分（以项目为中心的课程）](https://www.class-central.com/mooc/8025/coursera-build-a-modern-computer-from-first-principles-nand-to-tetris-part-ii-project-centered-course) 来自 *Hebrew University of Jerusalem* ★★★★★(1)
* [物联网开发者指南](https://www.class-central.com/mooc/6040/coursera-a-developer-s-guide-to-the-internet-of-things-iot) 来自 *IBM* ★★★★☆(1)
* [云基础设施技术入门](https://www.class-central.com/mooc/6000/edx-introduction-to-cloud-infrastructure-technologies) 来自 *Linux Foundation* ★★★★☆(1)
* [使用 libGDX 开发 2D 游戏](https://www.class-central.com/mooc/4856/udacity-2d-game-development-with-libgdx) 来自 *Amazon* ★★★★★(1)
* [实时系统入门](https://www.class-central.com/mooc/4990/edx-introduction-to-real-time-systems) 来自 *IEEE* ★★★★☆(1)
* [算法设计与分析](https://www.class-central.com/mooc/3984/nptel-design-and-analysis-of-algorithms) 来自 *Chennai Mathematical Institute* ★★★☆☆(1)
* [如何赢得编码比赛：冠军的秘密](https://www.class-central.com/mooc/6300/edx-how-to-win-coding-competitions-secrets-of-champions) 来自 *ITMO University* ★★★☆☆(1)
* [HTML5 应用程序和游戏](https://www.class-central.com/mooc/4671/edx-html5-apps-and-games) 来自 *World Wide Web Consortium (W3C)* ★★★☆☆(1)
* [面试技术](https://www.class-central.com/mooc/6143/udacity-technical-interview) 来自 *Pramp* ★★★★★(1)
* [Android 基础：数据存储](https://www.class-central.com/mooc/6956/udacity-android-basics-data-storage)
* [计算机科学理论入门](https://www.class-central.com/mooc/455/udacity-intro-to-theoretical-computer-science)
* [算法：设计与分析](https://www.class-central.com/mooc/8984/stanford-openedx-algorithms-design-and-analysis) 来自 *Stanford University*
* [最短路径回访、完整 NP 问题以及如何实现](https://www.class-central.com/mooc/7351/coursera-shortest-paths-revisited-np-complete-problems-and-what-to-do-about-them) 来自 *Stanford University*
* [Java 中的高级软件结构](https://www.class-central.com/mooc/6475/edx-advanced-software-construction-in-java) 来自 *Massachusetts Institute of Technology*
* [算法设计与分析](https://www.class-central.com/mooc/8520/edx-algorithm-design-and-analysis) 来自 *University of Pennsylvania*
* [数据结构与软件设计](https://www.class-central.com/mooc/8517/edx-data-structures-and-software-design) 来自 *University of Pennsylvania*
* [R 中的 Neurohacking 入门](https://www.class-central.com/mooc/6420/coursera-introduction-to-neurohacking-in-r) 来自 *Johns Hopkins University*
* [数据库系统概念与设计](https://www.class-central.com/mooc/8994/edx-database-systems-concepts-and-design) 来自 *Georgia Institute of Technology*
* [软件分析与测试](https://www.class-central.com/mooc/8568/udacity-software-analysis-testing) 来自 *Georgia Institute of Technology*
* [在 C 中编写、运行和修复代码](https://www.class-central.com/mooc/9797/coursera-writing-running-and-fixing-code-in-c) 来自 *Duke University*
* [动画和 CGI 手势](https://www.class-central.com/mooc/7242/edx-animation-and-cgi-motion) 来自 *Columbia University*
* [Minecraft、编码和测试](https://www.class-central.com/mooc/7480/edx-minecraft-coding-and-teaching) 来自 *University of California, San Diego*
* [物联网：来自设备的传感和驱动](https://www.class-central.com/mooc/4182/coursera-internet-of-things-sensing-and-actuation-from-devices) 来自 *University of California, San Diego*
* [虚拟现实如何工作](https://www.class-central.com/mooc/8514/edx-how-virtual-reality-vr-works) 来自 *University of California, San Diego*
* [创建虚拟现实应用程序](https://www.class-central.com/mooc/8515/edx-creating-virtual-reality-vr-apps) 来自 *University of California, San Diego*
* [构建一个Cybersecurity 工具箱](https://www.class-central.com/mooc/8653/edx-building-a-cybersecurity-toolkit) 来自 *University of Washington*
* [Cybersecurity: The CISO’s View](https://www.class-central.com/mooc/8652/edx-cybersecurity-the-ciso-s-view) 来自 *University of Washington*
* [构建你自己的 iOS App](https://www.class-central.com/mooc/6235/coursera-build-your-own-ios-app) 来自 *University of Toronto*
* [算法设计与分析](https://www.class-central.com/mooc/3230/coursera--design-and-analysis-of-algorithms) 来自 *Peking University*
* [面向对象技术高级课程](https://www.class-central.com/mooc/1737/coursera--the-advanced-object-oriented-technology)来自 *Peking University*
* [如何编码：系统化程序设计 — Part 1](https://www.class-central.com/mooc/3465/edx-how-to-code-systematic-program-design-part-1) 来自 *The University of British Columbia* ★★★★☆(6)
* [如何编码：系统化程序设计 — Part 2](https://www.class-central.com/mooc/3466/edx-how-to-code-systematic-program-design-part-2) 来自 *The University of British Columbia*
* [如何编码：系统化程序设计 — Part 3](https://www.class-central.com/mooc/3464/edx-how-to-code-systematic-program-design-part-3) 来自 *The University of British Columbia*
* [软件结构：数据抽象](https://www.class-central.com/mooc/8200/edx-software-construction-data-abstraction) 来自 *The University of British Columbia*
* [软件结构：面向对象的设计](https://www.class-central.com/mooc/8201/edx-software-construction-object-oriented-design) 来自 *The University of British Columbia*
* [敏捷测试](https://www.class-central.com/mooc/6523/coursera-testing-with-agile) 来自 *University of Virginia*
* [数据科学中的 SQL](https://www.class-central.com/mooc/9725/coursera-sql-for-data-science) 来自 *University of California, Davis*
* [LAFF — 正确编程](https://www.class-central.com/mooc/7852/edx-laff-on-programming-for-correctness) 来自 *The University of Texas at Austin*
* [使用 NativeScript 进行跨平台移动 App 开发](https://www.class-central.com/mooc/8684/coursera-multiplatform-mobile-app-development-with-nativescript) 来自 *The Hong Kong University of Science and Technology*
* [前后端 JavaScript 框架：Angular](https://www.class-central.com/mooc/8681/coursera-front-end-javascript-frameworks-angular) 来自 *The Hong Kong University of Science and Technology*
* [使用 Web 技术开发跨平台移动 App：Ionic 和 Cordova](https://www.class-central.com/mooc/8683/coursera-multiplatform-mobile-app-development-with-web-technologies-ionic-and-cordova) 来自 *The Hong Kong University of Science and Technology*
* [使用 App Inventor 开发 Android Apps](https://www.class-central.com/mooc/8687/coursera-developing-android-apps-with-app-inventor) 来自 *The Hong Kong University of Science and Technology*
* [前后端 Web UI 框架和工具：Bootstrap 4](https://www.class-central.com/mooc/8682/coursera-front-end-web-ui-frameworks-and-tools-bootstrap-4) 来自 *The Hong Kong University of Science and Technology*
* [全球软件发布引擎](https://www.class-central.com/mooc/9119/edx-globally-distributed-software-engineering) 来自 *Delft University of Technology*
* [C++ 开发基础（俄语）](https://www.class-central.com/mooc/10071/coursera----c--) 来自 *Moscow Institute of Physics and Technology*
* [构建机器人和设备](https://www.class-central.com/mooc/7785/coursera-building-arduino-robots-and-devices) 来自 *Moscow Institute of Physics and Technology*
* [数据结构实现](https://www.class-central.com/mooc/5753/edx-implementation-of-data-structures) 来自 *Indian Institute of Technology Bombay*
* [数据结构基础](https://www.class-central.com/mooc/5755/edx-foundations-of-data-structures) 来自 *Indian Institute of Technology Bombay*
* [专业 Android App 开发](https://www.class-central.com/mooc/7346/edx-professional-android-app-development) 来自 *Galileo University*
* [专业 Android App 开发](https://www.class-central.com/mooc/7346/edx-professional-android-app-development) 来自 *Galileo University*
* [软件架构师代码：构建数字世界](https://www.class-central.com/mooc/4812/edx-the-software-architect-code-building-the-digital-world) 来自 *Universidad Carlos iii de Madrid*
* [Java 编程入门：数据结构和算法基础](https://www.class-central.com/mooc/7454/edx-introduction-to-java-programming-fundamental-data-structures-and-algorithms) 来自 *Universidad Carlos iii de Madrid*
* [企业软件生命周期管理](https://www.class-central.com/mooc/6304/edx-enterprise-software-lifecycle-management) 来自 *National Research Nuclear University MEPhI*
* [在软件开发中使用操作系统机制（俄语）](https://www.class-central.com/mooc/10036/coursera--------) 来自 *National Research Nuclear University MEPhI*
* [需求获取：加工和利益相关者分析](https://www.class-central.com/mooc/9811/coursera-requirements-elicitation-artifact-and-stakeholder-analysis) 来自 *University of Colorado System*
* [Linux 服务器管理与安全性](https://www.class-central.com/mooc/9319/coursera-linux-server-management-and-security) 来自 *University of Colorado System*
* [特殊需求：目标和冲突分析](https://www.class-central.com/mooc/9807/coursera-requirements-specifications-goals-and-conflict-analysis) 来自 *University of Colorado System*
* [软件需求优先级：风险分析](https://www.class-central.com/mooc/9810/coursera-software-requirements-prioritization-risk-analysis) 来自 *University of Colorado System*
* [国家安全与 Cybersecurity 的联系 — 它是恐怖主义者的公证人](https://www.class-central.com/mooc/8820/coursera-homeland-security-cybersecurity-connection-it-s-not-about-the-terrorists) 来自 *University of Colorado System*
* [SRS 文档：需求与图解](https://www.class-central.com/mooc/9808/coursera-srs-documents-requirements-and-diagrammatic-notations) 来自 *University of Colorado System*
* [安全软件开发的需求收集](https://www.class-central.com/mooc/9809/coursera-requirements-gathering-for-secure-software-development) 来自 *University of Colorado System*
* [软件测试管理](https://www.class-central.com/mooc/8171/edx-software-testing-management) 来自 *University System of Maryland*
* [企业云计算](https://www.class-central.com/mooc/8168/edx-cloud-computing-for-enterprises) 来自 *University System of Maryland*
* [云计算基础设施](https://www.class-central.com/mooc/8181/edx-cloud-computing-infrastructure) 来自 *University System of Maryland*
* [软件验证形式](https://www.class-central.com/mooc/8180/edx-formal-software-verification) 来自 *University System of Maryland*
* [软件测试基础](https://www.class-central.com/mooc/8179/edx-software-testing-fundamentals) 来自 *University System of Maryland*
* [云计算管理](https://www.class-central.com/mooc/8172/edx-cloud-computing-management) 来自 *University System of Maryland*
* [数据结构入门](https://www.class-central.com/mooc/7391/edx-introduction-to-data-structures) 来自 *University of Adelaide*
* [视频游戏设计者的 Gameplay 编程](https://www.class-central.com/mooc/6657/edx-gameplay-programming-for-video-game-designers) 来自 *Rochester Institute of Technology*
* [团队工作与协作](https://www.class-central.com/mooc/6658/edx-teamwork-collaboration) 来自 *Rochester Institute of Technology*
* [嵌入式系统的 Web 连接与安全](https://www.class-central.com/mooc/7415/coursera-web-connectivity-and-security-in-embedded-systems) 来自 *EIT Digital*
* [物联网设备的智能架构](https://www.class-central.com/mooc/6839/coursera-architecting-smart-iot-devices) 来自 *EIT Digital*
* [物联网智能架构入门](https://www.class-central.com/mooc/6748/coursera-introduction-to-architecting-smart-iot-devices) 来自 *EIT Digital*
* [Cybersecurity 和 X-Factor](https://www.class-central.com/mooc/6585/coursera-cybersecurity-and-the-x-factor) 来自 *University System of Georgia*
* [循序渐进介绍 Web 应用程序](https://www.class-central.com/mooc/6548/udacity-intro-to-progressive-web-apps) 来自 *Google*
* [高级 Android 应用程序开发](https://www.class-central.com/mooc/3580/udacity-advanced-android-app-development) 来自 *Google*
* [Google 地图 APIs](https://www.class-central.com/mooc/6477/udacity-google-maps-apis) 来自 *Google*
* [离线 Web 应用程序](https://www.class-central.com/mooc/5679/udacity-offline-web-applications) 来自 *Google*
* [Android 的 Firebase 基础](https://www.class-central.com/mooc/5055/udacity-firebase-essentials-for-android) 来自 *Google*
* [开发聪明的 Apps 和机器人](https://www.class-central.com/mooc/6357/edx-developing-intelligent-apps-and-bots) 来自 *Microsoft*
* [开发 SQL 数据库](https://www.class-central.com/mooc/7405/edx-developing-sql-databases) 来自 *Microsoft*
* [使用 Node.js 构建功能原型](https://www.class-central.com/mooc/8722/edx-building-functional-prototypes-using-node-js) 来自 *Microsoft*
* [使用 JavaScript 构建交互原型](https://www.class-central.com/mooc/8719/edx-building-interactive-prototypes-using-javascript) 来自 *Microsoft*
* [算法和数据结构](https://www.class-central.com/mooc/8937/edx-algorithms-and-data-structures) 来自 *Microsoft*
* [在 C# 中的算法和数据结构](https://www.class-central.com/mooc/9483/edx-algorithms-and-data-structures-in-c) 来自 *Microsoft*
* [创建系统化的 SQL 数据库对象](https://www.class-central.com/mooc/7401/edx-creating-programmatic-sql-database-objects) 来自 *Microsoft*
* [AngularJS：框架基础](https://www.class-central.com/mooc/7377/edx-angularjs-framework-fundamentals) 来自 *Microsoft*
* [TypeScript 2 入门](https://www.class-central.com/mooc/8633/edx-introduction-to-typescript-2) 来自 *Microsoft*
* [高级 CSS 概念](https://www.class-central.com/mooc/7208/edx-advanced-css-concepts) 来自 *Microsoft*
* [实现 In-Memory SQL 数据库对象](https://www.class-central.com/mooc/7399/edx-implementing-in-memory-sql-database-objects) 来自 *Microsoft*
* [优化基于 SQL 的应用程序](https://www.class-central.com/mooc/7398/edx-optimizing-performance-for-sql-based-applications) 来自 *Microsoft*
* [并发编程 (avec Java)](https://www.class-central.com/mooc/8369/edx-programmation-concurrente-avec-java) 来自 *Sorbonne Universités*
* [C 程序员学习 C++，Part B](https://www.class-central.com/mooc/6931/coursera-c-for-c-programmers-part-b) 来自 *University of California, Santa Cruz*
* [Kubernetes 入门](https://www.class-central.com/mooc/8764/edx-introduction-to-kubernetes) 来自 *Linux Foundation*
* [DevOps 入门：转变和改善运营](https://www.class-central.com/mooc/7506/edx-introduction-to-devops-transforming-and-improving-operations) 来自 *Linux Foundation*
* [DevOps 入门：转变和改善运营](https://www.class-central.com/mooc/7506/edx-introduction-to-devops-transforming-and-improving-operations) 来自 *Linux Foundation*
* [软件工程师的 UML 类示意图](https://www.class-central.com/mooc/7837/edx-uml-class-diagrams-for-software-engineering) 来自 *KU Leuven University*
* [Android 的移动适用性与设计](https://www.class-central.com/mooc/9701/udacity-mobile-usability-and-design-for-android) 来自 *Facebook*
* [IOS 的移动适用性与设计](https://www.class-central.com/mooc/9700/udacity-mobile-usability-and-design-for-ios) 来自 *Facebook*
* [并发](https://www.class-central.com/mooc/6493/concurrency) 来自 *AdaCore University*
* [Red Hat 企业 Linux 基础](https://www.class-central.com/mooc/8670/edx-fundamentals-of-red-hat-enterprise-linux) 来自 *Red Hat*
* [Containers 基础、Kubernetes、和 Red Hat OpenShift](https://www.class-central.com/mooc/9105/edx-fundamentals-of-containers-kubernetes-and-red-hat-openshift) 来自 *Red Hat*
* [程序员的 C++](https://www.class-central.com/mooc/8839/udacity-c-for-programmers)
* [学习 Backbone.js](https://www.class-central.com/mooc/4071/udacity-learn-backbone-js)
* [如何在 Android 中创建](https://www.class-central.com/mooc/4419/udacity-how-to-create-anything-in-android)
* [如何制作一个 iOS App](https://www.class-central.com/mooc/3527/udacity-how-to-make-an-ios-app)
* [iOS 持久化与核心数据](https://www.class-central.com/mooc/3526/udacity-ios-persistence-and-core-data)
* [UIKit 基础](https://www.class-central.com/mooc/3350/udacity-uikit-fundamentals)
* [使用 Swift 实现 iOS 网络](https://www.class-central.com/mooc/3393/udacity-ios-networking-with-swift)
* [设计 RESTful APIs](https://www.class-central.com/mooc/4887/udacity-designing-restful-apis)
* [VR 平台与应用程序](https://www.class-central.com/mooc/8422/udacity-vr-platforms-applications)
* [为开发者的 Swift 语言](https://www.class-central.com/mooc/7495/udacity-swift-for-developers)
* [Ruby 中的 MVC 模式](https://www.class-central.com/mooc/6797/udacity-the-mvc-pattern-in-ruby)
* [使用 Heroku 部署应用程序](https://www.class-central.com/mooc/6798/udacity-deploying-applications-with-heroku)
* [使用 Sinatra 开发动态 Web 应用程序](https://www.class-central.com/mooc/6796/udacity-dynamic-web-applications-with-sinatra)
* [构建 iOS 界面](https://www.class-central.com/mooc/7753/udacity-building-ios-interfaces)
* [VR 设计](https://www.class-central.com/mooc/8394/udacity-vr-design)
* [[New] Android 基础](https://www.class-central.com/mooc/7755/udacity-new-android-fundamentals)
* [iOS 设计模式](https://www.class-central.com/mooc/7754/udacity-ios-design-patterns)
* [VR 场景与对象](https://www.class-central.com/mooc/7380/udacity-vr-scenes-and-objects)

### 高级（78）

* [使用 TensorFlow 深度学习创新应用程序](https://www.class-central.com/mooc/6679/kadenze-creative-applications-of-deep-learning-with-tensorflow)
* [[New] 计算中的概率入门](https://www.class-central.com/mooc/10029/nptel-an-introduction-to-probability-in-computing) 来自 *Indian Institute of Technology Madras*
* [[New] 信息安全 — IV](https://www.class-central.com/mooc/9913/nptel-information-security-iv) 来自 *Indian Institute of Technology Madras*
* [[New] 数学计算的 Matlab 编程](https://www.class-central.com/mooc/10094/nptel-matlab-programming-for-numerical-computation) 来自 *Indian Institute of Technology Madras*
* [[New] 数字开关 — I](https://www.class-central.com/mooc/10051/nptel-digital-switching-i) 来自 *Indian Institute of Technology Kanpur*
* [[New] 高级图形理论](https://www.class-central.com/mooc/9817/nptel-advanced-graph-theory) 来自 *Indian Institute of Technology Kanpur*
* [[New] 计算机视觉中的深度学习](https://www.class-central.com/mooc/9608/coursera-deep-learning-in-computer-vision) 来自 *Higher School of Economics*
* [[New] 自然语言处理](https://www.class-central.com/mooc/9603/coursera-natural-language-processing) 来自 *Higher School of Economics*
* [[New] 实践强化学习](https://www.class-central.com/mooc/9924/coursera-practical-reinforcement-learning) 来自 *Higher School of Economics*
* [[New] 实时操作系统](https://www.class-central.com/mooc/9848/nptel-real-time-operating-system) 来自 *Indian Institute of Technology, Kharagpur*
* [[New] 传统的和非传统的优化工具](https://www.class-central.com/mooc/10066/nptel-traditional-and-non-traditional-optimization-tools) 来自 *Indian Institute of Technology, Kharagpur*
* [[New] 软件定义无线与实际应用程序](https://www.class-central.com/mooc/10088/nptel-basics-of-software-defined-radios-and-practical-applications) 来自 *Indian Institute of Technology Roorkee*
* [[New] 图像处理中的稀疏表示：从理论到实践](https://www.class-central.com/mooc/9135/edx-sparse-representations-in-image-processing-from-theory-to-practice) 来自 *Technion — Israel Institute of Technology*
* [人工智能入门](https://www.class-central.com/mooc/301/udacity-introduction-to-artificial-intelligence) 来自 *Stanford University* ★★★★☆(24)
* [机器学习之神经网络](https://www.class-central.com/mooc/398/coursera-neural-networks-for-machine-learning) 来自 *University of Toronto* ★★★★☆(22)
* [机器学习之数据科学与分析](https://www.class-central.com/mooc/4912/edx-machine-learning-for-data-science-and-analytics) 来自 *Columbia University* ★★★☆☆(15)
* [机器学习之交易](https://www.class-central.com/mooc/1026/udacity-machine-learning-for-trading) 来自 *Georgia Institute of Technology* ★★★☆☆(13)
* [神经网络与深度学习](https://www.class-central.com/mooc/9058/coursera-neural-networks-and-deep-learning) 来自 *deeplearning.ai* ★★★★★(9)
* [人工智能(AI)](https://www.class-central.com/mooc/7230/edx-artificial-intelligence-ai) 来自 *Columbia University* ★★★★☆(9)
* [计算神经科学](https://www.class-central.com/mooc/449/coursera-computational-neuroscience) 来自 *University of Washington* ★★★★☆(8)
* [计算机视觉入门](https://www.class-central.com/mooc/1022/udacity-introduction-to-computer-vision) 来自 *Georgia Institute of Technology* ★★★★★(6)
* [强化学习](https://www.class-central.com/mooc/1849/udacity-reinforcement-learning) 来自 *Brown University* ★★☆☆☆(6)
* [并行编程入门](https://www.class-central.com/mooc/549/udacity-intro-to-parallel-programming) 来自 *Nvidia* ★★★★☆(6)
* [互动 3D 图形](https://www.class-central.com/mooc/552/udacity-interactive-3d-graphics) 来自 *Autodesk* ★★★★☆(6)
* [机器学习](https://www.class-central.com/mooc/1020/udacity-machine-learning) 来自 *Georgia Institute of Technology* ★★★★★(5)
* [数据科学与分析的可用技术：物联网](https://www.class-central.com/mooc/4911/edx-enabling-technologies-for-data-science-and-analytics-the-internet-of-things) 来自 *Columbia University* ★☆☆☆☆(5)
* [应用密码学](https://www.class-central.com/mooc/326/udacity-applied-cryptography) 来自 *University of Virginia* ★★★★☆(5)
* [开发者的深度学习实践：第 1 部分](https://www.class-central.com/mooc/7887/practical-deep-learning-for-coders-part-1) 来自 *fast.ai* ★★★★☆(5)
* [高级操作系统](https://www.class-central.com/mooc/1016/udacity-advanced-operating-systems) 来自 *Georgia Institute of Technology* ★★★★★(4)
* [机器学习](https://www.class-central.com/mooc/7231/edx-machine-learning) 来自 *Columbia University* ★★★★★(4)
* [计算机架构入门](https://www.class-central.com/mooc/642/introduction-to-computer-architecture) 来自 *Carnegie Mellon University* ★★★★★(4)
* [概率图形模型 2：推测](https://www.class-central.com/mooc/7292/coursera-probabilistic-graphical-models-2-inference) 来自 *Stanford University* ★★★★☆(3)
* [Python 中应用机器学习](https://www.class-central.com/mooc/6673/coursera-applied-machine-learning-in-python) 来自 *University of Michigan* ★★★★☆(3)
* [定量形式模型与最坏性能分析](https://www.class-central.com/mooc/4864/coursera-quantitative-formal-modeling-and-worst-case-performance-analysis) 来自 *EIT Digital*  ★★★☆☆(3)
* [6.S191：深度学习入门](https://www.class-central.com/mooc/8083/6-s191-introduction-to-deep-learning) 来自 *Massachusetts Institute of Technology* ★★★★☆(2)
* [操作系统入门](https://www.class-central.com/mooc/3419/udacity-introduction-to-operating-systems) 来自 *Georgia Institute of Technology* ★★★★★(2)
* [近场合作过滤器](https://www.class-central.com/mooc/6927/coursera-nearest-neighbor-collaborative-filtering) 来自 *University of Minnesota* ★★☆☆☆(2)
* [6.S094：汽车自动驾驶之深度学习](https://www.class-central.com/mooc/8132/6-s094-deep-learning-for-self-driving-cars) 来自 *Massachusetts Institute of Technology* ★★★★☆(1)
* [高性能计算架构](https://www.class-central.com/mooc/1018/udacity-high-performance-computer-architecture) 来自 *Georgia Institute of Technology* ★★★★★(1)
* [可计算性、复杂性和算法](https://www.class-central.com/mooc/1024/udacity-computability-complexity-algorithms) 来自 *Georgia Institute of Technology* ★★★★(1)
* [计算摄影学](https://www.class-central.com/mooc/1023/udacity-computational-photography) 来自 *Georgia Institute of Technology* ★★★★☆(1)
* [信息安全入门](https://www.class-central.com/mooc/3420/udacity-intro-to-information-security) 来自 *Georgia Institute of Technology* ★☆☆☆☆(1)
* [AI 知识库：认知系统](https://www.class-central.com/mooc/1025/udacity-knowledge-based-ai-cognitive-systems) 来自 *Georgia Institute of Technology* ★★★☆☆(1)
* [嵌入式硬件和操作系统](https://www.class-central.com/mooc/6826/coursera-embedded-hardware-and-operating-systems) 来自 *EIT Digital*  ★☆☆☆☆(1)
* [学习 TensorFlow 与深度学习](https://www.class-central.com/mooc/8480/learn-tensorflow-and-deep-learning-without-a-ph-d) 来自 *Google* ★★★★☆(1)
* [DevOps 实践和原则](https://www.class-central.com/mooc/9475/edx-devops-practices-and-principles) 来自 *Microsoft* ★★☆☆☆(1)
* [信号与图像处理中的稀疏表示：基础](https://www.class-central.com/mooc/9133/edx-sparse-representations-in-signal-and-image-processing-fundamentals)来自 *Technion — Israel Institute of Technology* ★★★★★(1)
* [云计算和云原生软件架构入门](https://www.class-central.com/mooc/8387/edx-introduction-to-cloud-foundry-and-cloud-native-software-architecture)来自 *Linux Foundation* ★★★★★(1)
* [商业应用区块链 — Hyperledger 技术](https://www.class-central.com/mooc/9484/edx-blockchain-for-business-an-introduction-to-hyperledger-technologies)来自 *Linux Foundation* ★★★★☆(1)
* [计算结构 3：计算机组织](https://www.class-central.com/mooc/6245/edx-computation-structures-3-computer-organization) 来自 *Massachusetts Institute of Technology*
* [GT — Refresher — Advanced OS](https://www.class-central.com/mooc/4734/udacity-gt-refresher-advanced-os) 来自 *Georgia Institute of Technology*
* [高性能计算](https://www.class-central.com/mooc/1028/udacity-high-performance-computing) 来自 *Georgia Institute of Technology*
* [编译器：理论与实践](https://www.class-central.com/mooc/8572/udacity-compilers-theory-and-practice) 来自 *Georgia Institute of Technology*
* [Cyber-物理系统安全](https://www.class-central.com/mooc/8569/udacity-cyber-physical-systems-security) 来自 *Georgia Institute of Technology*
* [网络安全](https://www.class-central.com/mooc/8570/udacity-network-security) 来自 *Georgia Institute of Technology*
* [人工智能](https://www.class-central.com/mooc/8565/udacity-artificial-intelligence) 来自 *Georgia Institute of Technology*
* [信息安全：环境与入门](https://www.class-central.com/mooc/8123/coursera-information-security-context-and-introduction) 来自 *University of London International Programmes*
* [离散优化之基本模型](https://www.class-central.com/mooc/7759/coursera-basic-modeling-for-discrete-optimization) 来自 *University of Melbourne*
* [离散优化之高级模型](https://www.class-central.com/mooc/7757/coursera-advanced-modeling-for-discrete-optimization) 来自 *University of Melbourne*
* [代码的本质：JavaScript 中的生物学](https://www.class-central.com/mooc/6881/edx-nature-in-code-biology-in-javascript) 来自 *École Polytechnique Fédérale de Lausanne*
* [模型因子与高级技术](https://www.class-central.com/mooc/6933/coursera-matrix-factorization-and-advanced-techniques) 来自 *University of Minnesota*
* [系统验证：自动化与等价行为](https://www.class-central.com/mooc/6825/coursera-system-validation-automata-and-behavioural-equivalences) 来自 *EIT Digital*
* [系统验证(2)：建模过程行为](https://www.class-central.com/mooc/7420/coursera-system-validation-2-model-process-behaviour) 来自 *EIT Digital*
* [系统验证(4)：软件模型、协议和其它行为](https://www.class-central.com/mooc/7803/coursera-system-validation-4-modelling-software-protocols-and-other-behaviour) 来自 *EIT Digital*
* [DevOps 测试](https://www.class-central.com/mooc/9479/edx-devops-testing) 来自 *Microsoft*
* [深度学习说明](https://www.class-central.com/mooc/8746/edx-deep-learning-explained) 来自 *Microsoft*
* [人工智能入门](https://www.class-central.com/mooc/9164/edx-introduction-to-artificial-intelligence-ai) 来自 *Microsoft*
* [DevOps 之数据库](https://www.class-central.com/mooc/9480/edx-devops-for-databases) 来自 *Microsoft*
* [基础设施代码化](https://www.class-central.com/mooc/9476/edx-infrastructure-as-code) 来自 *Microsoft*
* [深度学习之自然语言处理](https://www.class-central.com/mooc/8097/deep-learning-for-natural-language-processing) 来自 *University of Oxford*
* [机器学习之统计学](https://www.class-central.com/mooc/8509/statistical-machine-learning) 来自 *Carnegie Mellon University*
* [信息物理系统：建模与仿真](https://www.class-central.com/mooc/9791/coursera-cyber-physical-systems-modeling-and-simulation) 来自 *University of California, Santa Cruz*
* [OpenStack 入门](https://www.class-central.com/mooc/7202/edx-introduction-to-openstack) 来自 *Linux Foundation*
* [计算机系统设计：现代微处理器的高级概念](https://www.class-central.com/mooc/7046/edx-computer-system-design-advanced-concepts-of-modern-microprocessors)来自 *Chalmers University of Technology*
* [可靠的分布式算法，第 2 部分](https://www.class-central.com/mooc/6603/edx-reliable-distributed-algorithms-part-2) 来自 *KTH Royal Institute of Technology*
* [深度学习暑期课程](https://www.class-central.com/mooc/8481/deep-learning-summer-school)
* [持续集成与部署](https://www.class-central.com/mooc/8021/udacity-continuous-integration-and-deployment)

---

作者简介：

[www.class-central.com](http://www.class-central.com%E2%80%8A) — 最流行的在线课程搜索引擎的创始人

---

via: <https://medium.freecodecamp.org/440-free-online-programming-computer-science-courses-you-can-start-in-february-e075f920cb5b>

作者：[Dhawal Shah](https://medium.freecodecamp.org/@dhawalhs) 译者：[qhwdw](https://github.com/qhwdw) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


使用 pelican 和 Github pages 来搭建博客

Summary: 这是一篇帮助你发布由 Github 托管的个人博客的教程。

这是一篇帮助你发布由 Github 托管的个人博客的教程。

# 使用 pelican 和 Github pages 来搭建博客

今天我将谈一下[我这个博客](https://rsip22.github.io)是如何搭建的。在我们开始之前，我希望你熟悉使用 Github 并且可以搭建一个 Python 虚拟环境来进行开发。如果你不能做到这些，我推荐你去学习一下 [Django Girls 教程](https://tutorial.djangogirls.org)，它包含以上和更多的内容。

这是一篇帮助你发布由 Github 托管的个人博客的教程。为此，你需要一个正常的 Github 用户账户 (而不是一个工程账户)。

你要做的第一件事是创建一个放置代码的 Github 仓库。如果你想要你的博客仅仅指向你的用户名 (比如 rsip22.github.io) 而不是一个子文件夹 (比如 rsip22.github.io/blog)，你必须创建一个带有全名的仓库。

*Github 截图，打开了创建新仓库的菜单，正在以 'rsip22.github.io' 名字创建一个新的仓库*

我推荐你使用 `README`、用于 Python 的 `.gitignore` 和 [一个自由软件许可证](https://www.gnu.org/licenses/license-list.html) 初始化你的仓库。如果你使用自由软件许可证，你仍然拥有这些代码，但是你使得其他人能从中受益，允许他们学习和复用它，并且更重要的是允许他们享有这些代码。

既然仓库已经创建好了，那我们就克隆到本机中将用来保存代码的文件夹下：

```
$ git clone https://github.com/YOUR_USERNAME/YOUR_USERNAME.github.io.git

```

并且切换到新的目录：

```
 $ cd YOUR_USERNAME.github.io

```

因为 Github Pages 偏好运行的方式是从 master 分支提供文件，你必须将你的源代码放到新的分支，防止 Pelican 产生的静态文件输出到 master 分支。为此，你必须创建一个名为 source 的分支。

```
$ git checkout -b source

```

用你的系统所安装的 Pyhton 3 创建该虚拟环境（virtualenv）。

在 GNU/Linux 系统中，命令可能如下:

```
$ python3 -m venv venv

```

或者像这样：

```
$ virtualenv --python=python3.5 venv

```

并且激活它:

```
$ source venv/bin/activate

```

在虚拟环境里，你需要安装 pelican 和它的依赖包。你也应该安装 ghp-import （来帮助我们发布到 Github 上）和 Markdown （为了使用 markdown 语法来写文章）。运行如下命令：

```
(venv)$ pip install pelican markdown ghp-import

```

一旦完成，你就可以使用 `pelican-quickstart` 开始创建你的博客了：

```
(venv)$ pelican-quickstart

```

这将会提示我们一系列的问题。在回答它们之前，请看一下如下我的答案：

```
> Where do you want to create your new web site? [.] ./
> What will be the title of this web site? Renata's blog
> Who will be the author of this web site? Renata
> What will be the default language of this web site? [pt] en
> Do you want to specify a URL prefix? e.g., http://example.com (Y/n) n
> Do you want to enable article pagination? (Y/n) y
> How many articles per page do you want? [10] 10
> What is your time zone? [Europe/Paris] America/Sao_Paulo
> Do you want to generate a Fabfile/Makefile to automate generation and publishing? (Y/n) Y **# PAY ATTENTION TO THIS!**
> Do you want an auto-reload & simpleHTTP script to assist with theme and site development? (Y/n) n
> Do you want to upload your website using FTP? (y/N) n
> Do you want to upload your website using SSH? (y/N) n
> Do you want to upload your website using Dropbox? (y/N) n
> Do you want to upload your website using S3? (y/N) n
> Do you want to upload your website using Rackspace Cloud Files? (y/N) n
> Do you want to upload your website using GitHub Pages? (y/N) y
> Is this your personal page (username.github.io)? (y/N) y
 Done. Your new project is available at /home/username/YOUR_USERNAME.github.io

```

关于时区，应该指定为 TZ 时区（这里是全部列表： [tz 数据库时区列表](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)）。

现在，继续往下走并开始创建你的第一篇博文！你可能想在你喜爱的代码编辑器里打开工程目录并且找到里面的 `content` 文件夹。然后创建一个新文件，它可以被命名为 `my-first-post.md` （别担心，这只是为了测试，以后你可以改变它）。在文章内容之前，应该以元数据开始，这些元数据标识标题、日期、目录及更多，像下面这样:

```
.lang="markdown" # DON'T COPY this line, it exists just for highlighting purposes

Title: My first post
Date: 2017-11-26 10:01
Modified: 2017-11-27 12:30
Category: misc
Tags: first, misc
Slug: My-first-post
Authors: Your name
Summary: What does your post talk about? Write here.

This is the *first post* from my Pelican blog. **YAY!**

```

让我们看看它长什么样?

进入终端，产生静态文件并且启动服务器。要这么做，使用下面命令：

```
(venv)$ make html && make serve

```

当这条命令正在运行，你应该可以在你喜爱的 web 浏览器地址栏中键入 `localhost:8000` 来访问它。

*博客主页的截图。它有一个带有 Renata's blog 标题的头部，第一篇博文在左边，文章的信息在右边，链接和社交在底部*

相当简洁，对吧?

现在，如果你想在文章中放一张图片，该怎么做呢？好，首先你在放置文章的内容目录里创建一个目录。为了引用简单，我们将这个目录命名为 `image`。现在你必须让 Pelican 使用它。找到 `pelicanconf.py` 文件，这个文件是你配置系统的地方，并且添加一个包含你的图片目录的变量：

```
.lang="python" # DON'T COPY this line, it exists just for highlighting purposes

STATIC_PATHS = ['images']

```

保存它。打开文章并且以如下方式添加图片：

```
.lang="markdown" # DON'T COPY this line, it exists just for highlighting purposes

```

你可以在终端中随时按下 `CTRL+C` 来中断服务器。但是你应该再次启动它并检查图片是否正确。你能记住怎么样做吗？

```
(venv)$ make html && make serve

```

在你代码完工之前的最后一步：你应该确保任何人都可以使用 ATOM 或 RSS 流来读你的文章。找到 `pelicanconf.py` 文件，这个文件是你配置系统的地方，并且编辑关于 RSS 流产生的部分:

```
.lang="python" # DON'T COPY this line, it exists just for highlighting purposes

FEED_ALL_ATOM = 'feeds/all.atom.xml'
FEED_ALL_RSS = 'feeds/all.rss.xml'
AUTHOR_FEED_RSS = 'feeds/%s.rss.xml'
RSS_FEED_SUMMARY_ONLY = False

```

保存所有，这样你才可以将代码上传到 Github 上。你可以通过添加所有文件，使用一个信息（“first commit”）来提交它，并且使用 `git push`。你将会被问起你的 Github 登录名和密码。

```
$ git add -A && git commit -a -m 'first commit' && git push --all

```

还有...记住在最开始的时候，我给你说的怎样防止 Pelican 产生的静态文件输出 master 分支吗。现在对你来说是时候产生它们了：

```
$ make github

```

你将会被再次问及 Github 登录名和密码。好了！你的新博客应该创建在 `https://YOUR_USERNAME.github.io`。

如果你在过程中任何一步遇到一个错误，请重新读一下这篇手册，尝试并看看你是否能发现错误发生的部分，因为这是调试的第一步。有时甚至一些简单的东西比如一个错字或者 Python 中错误的缩进都可以给我们带来麻烦。说出来并向网上或你的社区求助。

对于如何使用 Markdown 来写文章，你可以读一下 [Daring Fireball Markdown 指南](https://daringfireball.net/projects/markdown/syntax)。

为了获取其它主题，我建议你访问 [Pelican 主题](http://www.pelicanthemes.com/)。

这篇文章改编自 [Adrien Leger 的使用一个 Bottstrap3 主题来搭建由 Github 托管的 Pelican 博客](https://a-slide.github.io/blog/github-pelican)。

---

via: <https://rsip22.github.io/blog/create-a-blog-with-pelican-and-github-pages.html>

作者：[rsip22](https://rsip22.github.io) 译者：[liuxinyu123](https://github.com/liuxinyu123) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


如何使用 GNOME Shell 扩展

Summary: 这是一份详细指南，我将会向你展示如何手动或通过浏览器轻松安装 GNOME Shell 扩展（Extension）。

教程非常准确和完整, 给作者点个赞

# 如何使用 GNOME Shell 扩展

>
> 简介：这是一份详细指南，我将会向你展示如何手动或通过浏览器轻松安装 GNOME Shell <ruby> 扩展 <rt>  Extension </rt></ruby>。
>
>
>

在讨论 [如何在 Ubuntu 17.10 上安装主题](https://itsfoss.com/install-themes-ubuntu/) 一文时，我简要地提到了 GNOME Shell 扩展，它用来安装用户主题。今天，我们将详细介绍 Ubuntu 17.10 中的 GNOME Shell 扩展。

我可能会使用术语 GNOME 扩展而不是 GNOME Shell 扩展，但是这两者在这里具有相同的含义。

什么是 GNOME Shell 扩展？如何安装 GNOME Shell 扩展，以及如何管理和删除 GNOME Shell 扩展？我会一一解释所有的问题。

在此之前，如果你喜欢视频，我已经在 [FOSS 的 YouTube 频道](https://www.youtube.com/c/itsfoss?sub_confirmation=1) 上展示了所有的这些操作。我强烈建议你订阅它来获得更多有关 Linux 的视频。

### 什么是 GNOME Shell 扩展？

[GNOME Shell 扩展](https://extensions.gnome.org/) 根本上来说是增强 GNOME 桌面功能的一小段代码。

把它看作是你的浏览器的一个附加组件。例如，你可以在浏览器中安装附加组件来禁用广告。这个附加组件是由第三方开发者开发的。虽然你的 Web 浏览器默认不提供此项功能，但安装此附加组件可增强你 Web 浏览器的功能。

同样， GNOME Shell 扩展就像那些可以安装在 GNOME 之上的第三方附加组件和插件。这些扩展程序是为执行特定任务而创建的，例如显示天气状况、网速等。大多数情况下，你可以在顶部面板中访问它们。

也有一些 GNOME 扩展在顶部面板上不可见，但它们仍然可以调整 GNOME 的行为。例如，有一个这样的扩展可以让鼠标中键来关闭应用程序。

### 安装 GNOME Shell 扩展

现在你知道了什么是 GNOME Shell 扩展，那么让我们来看看如何安装它吧。有三种方式可以使用 GNOME 扩展：

* 使用来自 Ubuntu （或你的 Linux 发行版）的最小扩展集
* 在 Web 浏览器中查找并安装扩展程序
* 下载并手动安装扩展

在你学习如何使用 GNOME Shell 扩展之前，你应该安装 GNOME Tweak Tool。你可以在软件中心找到它，或者你可以使用以下命令：

```
sudo apt install gnome-tweak-tool

```

有时候，你需要知道你正在使用的 GNOME Shell 的版本，这有助于你确定扩展是否与系统兼容。你可以使用下面的命令来找到它：

```
gnome-shell --version

```

#### 1. 使用 gnome-shell-extensions 包 [最简单最安全的方式]

Ubuntu（以及其他几个 Linux 发行版，如 Fedora ）提供了一个包，这个包有最小集合的 GNOME 扩展。由于 Linux 发行版经过测试，所以你不必担心兼容性问题。

如果你不想费神，你只需获得这个包，你就可以安装 8-10 个 GNOME 扩展。

```
sudo apt install gnome-shell-extensions

```

你将需要重新启动系统（或者重新启动 GNOME Shell，我具体忘了是哪个）。之后，启动 GNOME Tweaks，你会发现一些扩展自动安装了，你只需切换按钮即可开始使用已安装的扩展程序。

#### 2. 从 Web 浏览器安装 GNOME Shell 扩展

GNOME 项目有一个专门用于扩展的网站，不干别的，你可以在这里找到并安装扩展，并管理它们，甚至不需要 GNOME Tweaks Tool。

* [GNOME Shell Extensions Website](https://extensions.gnome.org/)

但是为了安装 Web 浏览器扩展，你需要两件东西：浏览器附加组件和本地主机连接器。

**步骤 1： 安装 浏览器附加组件**

当你访问 GNOME Shell 扩展网站时，你会看到如下消息：

>
> “要使用此站点控制 GNOME Shell 扩展，你必须安装由两部分组成的 GNOME Shell 集成：浏览器扩展和本地主机消息应用。”
>
>
>

你只需在你的 Web 浏览器上点击建议的附加组件链接即可。你也可以从下面的链接安装它们：

* 对于 Google Chrome、Chromium 和 Vivaldi： [Chrome Web 商店](https://chrome.google.com/webstore/detail/gnome-shell-integration/gphhapmejobijbbhgpjhcjognlahblep)
* 对于 Firefox： [Mozilla Addons](https://addons.mozilla.org/en/firefox/addon/gnome-shell-integration/)
* 对于 Opera： [Opera Addons](https://addons.opera.com/en/extensions/details/gnome-shell-integration/)

**步骤 2： 安装本地连接器**

仅仅安装浏览器附加组件并没有帮助。你仍然会看到如下错误：

>
> “尽管 GNOME Shell 集成扩展正在运行，但未检测到本地主机连接器。请参阅文档以获取有关安装连接器的信息。”
>
>
>

这是因为你尚未安装主机连接器。要做到这一点，请使用以下命令：

```
sudo apt install chrome-gnome-shell

```

不要担心包名中的 “chrome” 前缀，它与 Chrome 无关，你无需再次安装 Firefox 或 Opera 的单独软件包。

**步骤 3： 在 Web 浏览器中安装 GNOME Shell 扩展**

一旦你完成了这两个要求，你就可以开始了。现在，你将看不到任何错误消息。

一件好的做法是按照 GNOME Shell 版本对扩展进行排序，但这不是强制性的。这是因为开发人员是为其当前的 GNOME 版本创建的扩展。而在一年之内，会发布两个或更多 GNOME 发行版本，但开发人员没有时间（在新的 GNOME 版本上）测试或更新他/她的扩展。

因此，你不知道该扩展是否与你的系统兼容。尽管扩展已经存在很长一段时间了，但是有可能在最新的 GNOME Shell 版本中，它也能正常工作。同样它也有可能不工作。

你也可以去搜索扩展程序。假设你想要安装有关天气的扩展，只要搜索它并选择一个搜索结果即可。

当你访问扩展页面时，你会看到一个切换按钮。

点击它，你会被提示是否要安装这个扩展：

显然，直接安装就好。安装完成后，你会看到切换按钮已打开，旁边有一个设置选项。你也可以使用设置选项配置扩展，也可以禁用扩展。

你也可以在 GNOME Tweaks Tool 中配置通过 Web 浏览器安装的扩展：

你可以在 GNOME 网站中 [已安装的扩展部分](https://extensions.gnome.org/local/) 下查看所有已安装的扩展。

使用 GNOME 扩展网站的一个主要优点是你可以查看扩展是否有可用的更新，你不会在 GNOME Tweaks 或系统更新中得到更新（和提示）。

#### 3. 手动安装 GNOME Shell 扩展

你不需要始终在线才能安装 GNOME Shell 扩展，你可以下载文件并稍后安装，这样就不必使用互联网了。

去 GNOME 扩展网站下载最新版本的扩展。

解压下载的文件，将该文件夹复制到 `~/.local/share/gnome-shell/extensions` 目录。到主目录下并按 `Ctrl+H` 显示隐藏的文件夹，在这里找到 `.local` 文件夹，你可以找到你的路径，直至 `extensions` 目录。

一旦你将文件复制到正确的目录后，进入它并打开 `metadata.json` 文件，寻找 `uuid` 的值。

确保该扩展的文件夹名称与 `metadata.json` 中的 `uuid` 值相同。如果不相同，请将目录重命名为 `uuid` 的值。

差不多了！现在重新启动 GNOME Shell。 按 `Alt+F2` 并输入 `r` 重新启动 GNOME Shell。

同样重新启动 GNOME Tweaks Tool。你现在应该可以在 Tweaks Tool 中看到手动安装的 GNOME 扩展，你可以在此处配置或启用新安装的扩展。

这就是安装 GNOME Shell 扩展你需要知道的所有内容。

### 移除 GNOME Shell 扩展

你可能想要删除一个已安装的 GNOME Shell 扩展，这是完全可以理解的。

如果你是通过 Web 浏览器安装的，你可以到 [GNOME 网站的以安装的扩展部分](https://extensions.gnome.org/local/) 那移除它（如前面的图片所示）。

如果你是手动安装的，可以从 `~/.local/share/gnome-shell/extensions` 目录中删除扩展文件来删除它。

### 特别提示：获得 GNOME Shell 扩展更新的通知

到目前为止，你已经意识到除了访问 GNOME 扩展网站之外，无法知道更新是否可用于 GNOME Shell 扩展。

幸运的是，有一个 GNOME Shell 扩展可以通知你是否有可用于已安装扩展的更新。你可以从下面的链接中获得它：

* [Extension Update Notifier](https://extensions.gnome.org/extension/1166/extension-update-notifier/)

### 你如何管理 GNOME Shell 扩展？

我觉得很奇怪不能通过系统更新来更新扩展，就好像 GNOME Shell 扩展不是系统的一部分。

如果你正在寻找一些建议，请阅读这篇文章： [关于最佳 GNOME 扩展](https://itsfoss.com/best-gnome-extensions/)。同时，你可以分享有关 GNOME Shell 扩展的经验。你经常使用它们吗？如果是，哪些是你最喜欢的？

---

via: <https://itsfoss.com/gnome-shell-extensions/>

作者：[Abhishek Prakash](https://itsfoss.com/author/abhishek/) 译者：[MjSeven](https://github.com/MjSeven) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


GNU GPL 许可证常见问题解答（五）

Summary: 本文由高级咨询师薛亮据自由软件基金会（FSF）的英文原文翻译而成，这篇常见问题解答澄清了在使用 GNU 许可证中遇到许多问题，对于企业和软件开发者在实际应用许可证和解决许可证问题时具有很强的实践指导意义。

# GNU GPL 许可证常见问题解答（五）

本文由高级咨询师薛亮据自由软件基金会（FSF）的[英文原文](https://www.gnu.org/licenses/gpl-faq.html)翻译而成，这篇常见问题解答澄清了在使用 GNU 许可证中遇到许多问题，对于企业和软件开发者在实际应用许可证和解决许可证问题时具有很强的实践指导意义。

1. [关于 GNU 项目、自由软件基金会（FSF）及其许可证的基本问题](/article-9062-1.html)
2. [对于 GNU 许可证的一般了解](/article-8834-1.html)
3. [在您的程序中使用 GNU 许可证](/article-8761-1.html)
4. [依据GNU许可证分发程序](/article-9222-1.html)
5. 在编写其他程序时采用依据 GNU 许可证发布的程序
6. 将作品与依据 GNU 许可证发布的代码相结合
7. 关于违反 GNU 许可证的问题

### 5 在编写其他程序时采用依据 GNU 许可证发布的程序

#### 5.1 我可以在同一台电脑上安装一个遵循 GPL 许可证的程序和一个不相关的非自由程序吗？（同 2.3）

可以。

#### 5.2 我可以使用遵循 GPL 许可证的编辑器（例如 GNU Emacs）来开发非自由程序吗？我可以使用遵循 GPL 许可证的工具（例如 GCC）来编译它们吗？

可以，因为编辑器和工具的版权并不覆盖您所编写的代码。从法律上来说，使用它们不会对适用于您代码的许可证施加任何限制。

有些程序出于技术原因将其自身某些部分复制到输出文件中，例如，Bison 将标准解析器程序复制到其输出文件中。在这种情况下，输出文件中复制的文本遵循其在源代码中所遵循的相同许可证。同时，源自程序输入部分的输出部分继承输入部分的版权状态。

正因为如此，Bison 也可以用来开发非自由程序。这是因为我们决定明确允许在 Bison 输出文件中不受限制地使用 Bison 标准解析器程序。我们之所以做出这个决定，是因为还有其他与 Bison 相媲美的工具已被许可用于非自由程序。

#### 5.3 有没有一些方法可以让使用我的程序的人们得到的输出物遵循 GPL？例如，如果我的程序用于开发硬件设计，我可以要求这些设计必须是自由的吗？（同 3.17）

一般来说，这在法律上是不可能的；针对人们通过使用您的程序获取数据形成的输出物如何使用，版权法并没有赋予您任何发言权。如果用户使用您的程序输入或转换自己的数据，输出物的版权属于他，而不是您。更一般来说，当程序将其输入物转换成其他形式时，输出物的版权状态将继承其得以生成的输入物的版权状态。

所以您对输出物的使用拥有发言权的唯一方式是输出物的实质部分（或多或少）是从您程序的文本中复制出来。例如，如果我们在这种具体情况下没有例外，那么Bison的一部分输出物（参见问题 5.2）将被 GNU GPL 所涵盖。

所以，即使没有技术原因，您也可以人为制作一个程序，将某些文本复制到其输出物中。但是，如果复制的文本没有实际用途，用户可以简单地从输出物中删除该文本，并且仅使用其余的内容。那么他就不必满足重新分发所复制文本的条件。

#### 5.4 在什么情况下，遵循 GPL 的程序其输出文件也必须遵循 GPL 呢？

程序的输出文件通常不受程序代码的版权保护。因此，程序代码的许可证不适用于输出文件，无论是将其导入文件，还是制作屏幕截图、屏幕录像或视频。

例外情况是，程序全屏显示来源于程序的文本和/或艺术品。该文本和/或艺术品的版权则会覆盖其输出文件。输出音频的程序（例如视频游戏）也将适用于此例外。

如果艺术品/音乐遵循 GPL，则无论您如何进行复制，GPL 都适用。不过，<ruby>   合理使用  <rp>  （ </rp> <rt>  fair use </rt> <rp>  ） </rp></ruby>可能仍然适用。

请记住，一些程序，特别是视频游戏，可以具有与底层遵循 GPL 的游戏分开许可的艺术品/音频。在这种情况下，艺术品/音频的许可证将规定视频/流媒体可以依之产生的条款。另请参阅：[1.6 我可以将GPL应用于软件以外的其他作品吗？](/article-8761-1.html#4_2799)

#### 5.5 如果我将我的程序移植到 GNU/Linux，这是否意味着我必须将其作为遵循 GPL 或其他自由软件许可证的自由软件进行发布？

一般来说，答案是否定的——这不是法律规定。具体来说，答案取决于您要使用哪些库以及许可证。大多数系统库都使用 [GNU LGPL 许可证](https://www.gnu.org/licenses/lgpl.html)，或者使用 GNU GPL 加上允许将库与任何东西链接的例外声明。这些库可以在非自由程序中使用；但是在 LGPL 的情况下，它确实有一些必须遵循的要求。

一些库依据 GNU GPL 单独发布；您必须使用与 GPL 兼容的许可证才能使用这些库。但是这些通常是更特定的库，而在另一个平台不会有任何类似它们的库，所以您可能不会想要简单地移植使用这些库。

当然，如果您的软件不是自由软件，它不会对我们的社区做出贡献，而重视软件自由的人也会拒绝使用它。只有愿意放弃软件自由的人才会使用您的软件，这意味着它将有效地成为人们失去软件自由的诱因。

如果您希望有一天回头看您的职业生涯，觉得它有助于发展一个善良和自由的社会，您需要使您的软件成为自由软件。

#### 5.6 我想将遵循 GPL 的软件纳入我的专有系统。我只依据 GPL 给予我的权限来使用该软件。我可以这样做吗？

您不能将遵循 GPL 的软件纳入专有系统。GPL 的目标是授予每个人复制、再分发、理解和修改程序的自由。如果您可以将遵循 GPL 的软件整合到非自由系统中，则可能会使遵循 GPL 的软件不再是自由软件。

包含遵循 GPL 程序的系统是该 GPL 程序的扩展版本。GPL 规定，如果它最终发布的话，任何扩展版本的程序必须依据 GPL 发布。这有两个原因：确保获得软件的用户获得自己应该拥有的自由，并鼓励人们回馈他们所做的改进。

但是，在许多情况下，您可以将遵循 GPL 的软件与专有系统一起分发。要有效地做到这一点，您必须确保自由和非自由程序之间的通信保持<ruby> 一定距离 <rp>  （ </rp> <rt>  arms length </rt> <rp>  ） </rp></ruby>，而不是将它们有效地结合成一个程序。

这种情况与“纳入”遵循 GPL 的软件之间的区别，部分是实质问题，部分是形式问题。实质上是这样的：如果两个程序结合起来，使它们成为一个程序的两个部分，那么您不能将它们视为两个单独的程序。所以整个作品必须遵循 GPL。

如果这两个程序保持良好的分离，就像编译器和内核，或者像编辑器和 shell 一样，那么您可以将它们视为两个单独的程序，但是您必须恰当执行。这个问题只是一个形式问题：您如何描述您在做什么。为什么我们关心这个？因为我们想确保用户清楚地了解软件集合中遵循 GPL 的软件的自由状态。

如果人们分发遵循 GPL 的软件，将其称为系统（用户已经知晓其中一部分为专有软件）的“一部分”，用户可能不确定其对遵循 GPL 的软件所拥有的权利。但是如果他们知道他们收到的是一个自由程序加上另外一个程序，那么他们的权利就会很清楚。

#### 5.7 如果我分发了一个与我修改后的遵循 LGPL v3 的库相链接的专有程序，那么为了确定我正在做出的明确的专利许可授权的范围，<ruby> “贡献者版本” <rp>  （ </rp> <rt>  contributor version </rt> <rp>  ） </rp></ruby>是什么？它仅是库，还是整个组合？

“贡献者版本”仅是您的库版本。

#### 5.8 依据 AGPL v3，当我根据第 13 节修改程序时，必须提供什么样的<ruby> 相应源代码 <rp>  （ </rp> <rt>  Corresponding Source </rt> <rp>  ） </rp></ruby>？

“相应源代码”在许可证的第 1 节中定义，您应该提供其列出的内容。因此，如果您的修改版本取决于遵循其他许可证的库，例如 Expat 许可证或 GPL v3，则相应源代码应包括这些库（除非是系统库）。如果您修改了这些库，则必须提供您修改后的源代码。

第 13 节第一段的最后一句只是为了强化大多数人所自然地认为的那样：尽管在第 13 节中通过特殊例外来处理与遵循 GPL v3 的代码相结合的情况，相应源代码仍然应该包括以这种方式与程序相结合的代码。这句话并不意味着您只需提供 GPL v3 所涵盖的源代码；而是意味着这样的代码不会从相应源代码的定义中排除。

#### 5.9 在哪里可以了解更多有关 GCC 运行时库例外的信息？

GCC 运行时库例外包含 libgcc、libstdc ++、libfortran、libgomp、libdecnumber 以及与 GCC 一起分发的其他库。这个例外是为了让人们根据自己选择的条件分发用 GCC 编译的程序，即使这些库的一部分作为编译过程的一部分被包含在可执行文件中。要了解更多信息，请阅读有关 [GCC 运行时库例外的常见问题](https://www.gnu.org/licenses/gcc-exception-faq.html)。

---

译者介绍：薛亮，集慧智佳知识产权咨询公司高级咨询师，擅长专利检索、专利分析、竞争对手跟踪、FTO 分析、开源软件知识产权风险分析，致力于为互联网企业、高科技公司提供知识产权咨询服务。


如何使用看板（kanban）创建更好的文档

Summary: 通过卡片分类和看板来给用户提供他们想要的信息。

通过卡片分类和看板来给用户提供他们想要的信息。

# 如何使用看板（kanban）创建更好的文档

>
> 通过卡片分类和看板来给用户提供他们想要的信息。
>
>
>

<img src="content_image/album_201803_16_001212j2osl7kr1aw25kwy.png" alt="" title="">

如果你正在处理文档、网站或其他面向用户的内容，那么了解用户希望找到的内容（包括他们想要的信息以及信息的组织和结构）很有帮助。毕竟，如果人们无法找到他们想要的东西，那么再出色的内容也没有用。

卡片分类是一种简单而有效的方式，可以从用户那里收集有关菜单界面和页面的内容。最简单的实现方式是在计划在网站或文档中的部分分类标注一些索引卡，并要求用户按照查找信息的方式对卡片进行分类。一个变体是让人们编写自己的菜单标题或内容元素。

我们的目标是了解用户的期望以及他们希望在哪里找到它，而不是自己弄清楚菜单和布局。当与用户处于相同的物理位置时，这是相对简单的，但当尝试从多个位置的人员获得反馈时，这会更具挑战性。

我发现[<ruby> 看板 <rt>  kanban </rt></ruby>](https://en.wikipedia.org/wiki/Kanban)对于这些情况是一个很好的工具。它允许人们轻松拖动虚拟卡片进行分类和排名，而且与专门卡片分类软件不同，它们是多用途的。

我经常使用 Trello 进行卡片分类，但有几种你可能想尝试的[开源替代品](https://opensource.com/alternatives/trello)。

### 怎么运行的

我最成功的看板体验是在写 [Gluster](https://www.gluster.org/) 文档的时候 —— 这是一个自由开源的可扩展的网络存储文件系统。我需要携带大量随着时间而增长的文档，并将其分成若干类别以创建导航系统。由于我没有必要的技术知识来分类，我向 Gluster 团队和开发人员社区寻求指导。

首先，我创建了一个共享看板。我列出了一些通用名称，这些名称可以为我计划在文档中涵盖的所有主题排序和创建卡片。我标记了一些不同颜色的卡片，以表明某个主题缺失并需要创建，或者它存在并需要删除。然后，我把所有卡片放入“未排序”一列，并要求人们将它们拖到他们认为这些卡片应该组织到的地方，然后给我一个他们认为是理想状态的截图。

处理所有截图是最棘手的部分。我希望有一个合并或共识功能可以帮助我汇总每个人的数据，而不必检查一堆截图。幸运的是，在第一个人对卡片进行分类之后，人们或多或少地对该结构达成一致，而只做了很小的修改。当对某个主题的位置有不同意见时，我发起一个快速会议，让人们可以解释他们的想法，并且可以排除分歧。

### 使用数据

在这里，很容易将捕捉到的信息转换为菜单并对其进行优化。如果用户认为项目应该成为子菜单，他们通常会在评论中或在电话聊天时告诉我。对菜单组织的看法因人们的工作任务而异，所以从来没有完全达成一致意见，但用户进行测试意味着你不会对人们使用什么以及在哪里查找有很多盲点。

将卡片分类与分析功能配对，可以让你更深入地了解人们在寻找什么。有一次，当我对一些我正在写的培训文档进行分析时，我惊讶地发现搜索量最大的页面是关于资本的。所以我在顶层菜单层面上显示了该页面，即使我的“逻辑”设置将它放在了子菜单中。

我发现看板卡片分类是一种很好的方式，可以帮助我创建用户想要查看的内容，并将其放在希望被找到的位置。你是否发现了另一种对用户友好的组织内容的方法？或者看板的另一种有趣用途是什么？如果有的话，请在评论中分享你的想法。

---

via: <https://opensource.com/article/17/11/kanban-boards-card-sorting>

作者：[Heidi Waterhouse](https://opensource.com/users/hwaterhouse) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


Linux 中的“大内存页”（hugepage）是个什么？

Summary: 学习 Linux 中的大内存页（hugepage）。理解什么是“大内存页”，如何进行配置，如何查看当前状态以及如何禁用它。

# Linux 中的“大内存页”（hugepage）是个什么？

>
> 学习 Linux 中的<ruby> 大内存页 <rt>  hugepage </rt></ruby>。理解什么是“大内存页”，如何进行配置，如何查看当前状态以及如何禁用它。
>
>
>

<img src="content_image/album_201803_16_002941pnzzezyqqqowny8u.png" alt="Huge Pages in Linux" title="Huge Pages in Linux">

本文中我们会详细介绍<ruby> 大内存页 <rt>  huge page </rt></ruby>，让你能够回答：Linux 中的“大内存页”是什么？在 RHEL6、RHEL7、Ubuntu 等 Linux 中，如何启用/禁用“大内存页”？如何查看“大内存页”的当前值？

首先让我们从“大内存页”的基础知识开始讲起。

### Linux 中的“大内存页”是个什么玩意？

“大内存页”有助于 Linux 系统进行虚拟内存管理。顾名思义，除了标准的 4KB 大小的页面外，它们还能帮助管理内存中的巨大的页面。使用“大内存页”，你最大可以定义 1GB 的页面大小。

在系统启动期间，你能用“大内存页”为应用程序预留一部分内存。这部分内存，即被“大内存页”占用的这些存储器永远不会被交换出内存。它会一直保留其中，除非你修改了配置。这会极大地提高像 Oracle 数据库这样的需要海量内存的应用程序的性能。

### 为什么使用“大内存页”？

在虚拟内存管理中，内核维护一个将虚拟内存地址映射到物理地址的表，对于每个页面操作，内核都需要加载相关的映射。如果你的内存页很小，那么你需要加载的页就会很多，导致内核会加载更多的映射表。而这会降低性能。

使用“大内存页”，意味着所需要的页变少了。从而大大减少由内核加载的映射表的数量。这提高了内核级别的性能最终有利于应用程序的性能。

简而言之，通过启用“大内存页”，系统具只需要处理较少的页面映射表，从而减少访问/维护它们的开销！

### 如何配置“大内存页”？

运行下面命令来查看当前“大内存页”的详细内容。

```
root@kerneltalks # grep Huge /proc/meminfo
AnonHugePages:         0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB

```

从上面输出可以看到，每个页的大小为 2MB（`Hugepagesize`），并且系统中目前有 `0` 个“大内存页”（`HugePages_Total`）。这里“大内存页”的大小可以从 `2MB` 增加到 `1GB`。

运行下面的脚本可以知道系统当前需要多少个巨大页。该脚本取之于 Oracle。

```
#!/bin/bash
#
# hugepages_settings.sh
#
# Linux bash script to compute values for the
# recommended HugePages/HugeTLB configuration
#
# Note: This script does calculation for all shared memory
# segments available when the script is run, no matter it
# is an Oracle RDBMS shared memory segment or not.
# Check for the kernel version
KERN=`uname -r | awk -F. '{ printf("%d.%d\n",$1,$2); }'`
# Find out the HugePage size
HPG_SZ=`grep Hugepagesize /proc/meminfo | awk {'print $2'}`
# Start from 1 pages to be on the safe side and guarantee 1 free HugePage
NUM_PG=1
# Cumulative number of pages required to handle the running shared memory segments
for SEG_BYTES in `ipcs -m | awk {'print $5'} | grep "[0-9][0-9]*"`
do
   MIN_PG=`echo "$SEG_BYTES/($HPG_SZ*1024)" | bc -q`
   if [ $MIN_PG -gt 0 ]; then
      NUM_PG=`echo "$NUM_PG+$MIN_PG+1" | bc -q`
   fi
done
# Finish with results
case $KERN in
   '2.4') HUGETLB_POOL=`echo "$NUM_PG*$HPG_SZ/1024" | bc -q`;
          echo "Recommended setting: vm.hugetlb_pool = $HUGETLB_POOL" ;;
   '2.6' | '3.8' | '3.10' | '4.1' ) echo "Recommended setting: vm.nr_hugepages = $NUM_PG" ;;
    *) echo "Unrecognized kernel version $KERN. Exiting." ;;
esac
# End

```

将它以 `hugepages_settings.sh` 为名保存到 `/tmp` 中，然后运行之：

```
root@kerneltalks # sh /tmp/hugepages_settings.sh
Recommended setting: vm.nr_hugepages = 124

```

你的输出类似如上结果，只是数字会有一些出入。

这意味着，你系统需要 124 个每个 2MB 的“大内存页”！若你设置页面大小为 4MB，则结果就变成了 62。你明白了吧？

### 配置内核中的“大内存页”

本文最后一部分内容是配置上面提到的 [内核参数](https://kerneltalks.com/linux/how-to-tune-kernel-parameters-in-linux/)  ，然后重新加载。将下面内容添加到 `/etc/sysctl.conf` 中，然后输入 `sysctl -p` 命令重新加载配置。

```
vm.nr_hugepages=126

```

注意我们这里多加了两个额外的页，因为我们希望在实际需要的页面数量之外多一些额外的空闲页。

现在，内核已经配置好了，但是要让应用能够使用这些“大内存页”还需要提高内存的使用阀值。新的内存阀值应该为 126 个页 x 每个页 2 MB = 252 MB，也就是 258048 KB。

你需要编辑 `/etc/security/limits.conf` 中的如下配置：

```
soft memlock 258048
hard memlock 258048

```

某些情况下，这些设置是在指定应用的文件中配置的，比如 Oracle DB 就是在 `/etc/security/limits.d/99-grid-oracle-limits.conf` 中配置的。

这就完成了！你可能还需要重启应用来让应用来使用这些新的巨大页。

（LCTT 译注：此外原文有误，“透明大内存页”和“大内存页”不同，而且，在 Redhat 系统中，“大内存页” 不是默认启用的，而“透明大内存页”是启用的。因此这个段落删除了。）

---

via: <https://kerneltalks.com/services/what-is-huge-pages-in-linux/>

作者：[Shrikant Lavhate](https://kerneltalks.com) 译者：[lujun9972](https://github.com/lujun9972) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


如何使用 Seahorse 管理 PGP 和 SSH 密钥

Summary: 学习使用 Seahorse GUI 工具去管理 PGP 和 SSH 密钥。

# 如何使用 Seahorse 管理 PGP 和 SSH 密钥

>
> 学习使用 Seahorse GUI 工具去管理 PGP 和 SSH 密钥。
>
>
>

安全即内心的平静。毕竟，安全是许多用户迁移到 Linux 的最大理由。但是为什么要止步于仅仅采用该平台，你还可以采用多种方法和技术去确保你的桌面或者服务器系统的安全。

其中一项技术涉及到密钥 —— 用在 PGP 和 SSH 中。PGP 密钥允许你去加密和解密电子邮件和文件，而 SSH 密钥允许你使用一个额外的安全层去登入服务器。

当然，你可以通过命令行接口（CLI）来管理这些密钥，但是，如果你使用一个华丽的 GUI 桌面环境呢？经验丰富的 Linux 用户可能对于脱离命令行来工作感到很不适应，但是，并不是所有用户都具备与他们相同的技术和水平，因此，使用 GUI 吧！

在本文中，我将带你探索如何使用 [Seahorse](https://wiki.gnome.org/Apps/Seahorse) GUI 工具来管理 PGP 和 SSH 密钥。Seahorse 有非常强大的功能，它可以：

* 加密/解密/签名文件和文本。
* 管理你的密钥和密钥对。
* 同步你的密钥和密钥对到远程密钥服务器。
* 签名和发布密钥。
* 缓存你的密码。
* 备份密钥和密钥对。
* 在任何一个 GDK 支持的格式中添加一个图像作为一个 OpenPGP photo ID。
* 创建、配置、和缓存 SSH 密钥。

对于那些不了解 Seahorse 的人来说，它是一个管理 GNOME 钥匙环中的加密密钥和密码的 GNOME 应用程序。不用担心，Seahorse 可以安装在许多的桌面环境上。并且由于 Seahorse 可以在标准的仓库中找到，你可以打开你的桌面应用商店（比如，Ubuntu Software 或者 Elementary OS AppCenter）去安装它。你可以在你的发行版的应用商店中点击去安装它。安装完成后，你就可以去使用这个很方便的工具了。

我们开始去使用它吧。

### PGP 密钥

我们需要做的第一件事情就是生成一个新的 PGP 密钥。正如前面所述，PGP 密钥可以用于加密电子邮件（通过一些工具，像 [Thunderbird](https://www.mozilla.org/en-US/thunderbird/) 的 [Enigmail](https://enigmail.net/index.php/en/) 或者使用 [Evolution](https://wiki.gnome.org/Apps/Evolution) 内置的加密功能）。PGP 密钥也可以用于加密文件。任何人都可以使用你的公钥加密电子邮件和文件发给你（LCTT 译注：原文此处“加密”误作“解密”）。没有 PGP 密钥是做不到的。

使用 Seahorse 创建一个新的 PGP 密钥对是非常简单的。以下是操作步骤：

1. 打开 Seahorse 应用程序
2. 在主面板的左上角点击 “+” 按钮
3. 选择 “<ruby> PGP 密钥 <rt>  PGP Key </rt></ruby>”（如图 1 ）
4. 点击 “<ruby> 继续 <rt>  Continue </rt></ruby>”
5. 当提示时，输入完整的名字和电子邮件地址
6. 点击 “<ruby> 创建 <rt>  Create </rt></ruby>”

*图 1：使用 Seahorse 创建一个 PGP 密钥。*

在创建你的 PGP 密钥期间，你可以点击 “<ruby> 高级密钥选项 <rt>  Advanced key options </rt></ruby>” 展开选项部分，在那里你可以为密钥添加注释信息、加密类型、密钥长度、以及过期时间（如图 2）。

*图 2：PGP 密钥高级选项*

增加注释部分可以很方便帮你记住密钥的用途（或者其它的信息）。

要使用你创建的 PGP，可在密钥列表中双击它。在结果窗口中，点击 “<ruby> 名字 <rt>  Names </rt></ruby>” 和 “<ruby> 签名 <rt>  Signatures </rt></ruby>” 选项卡。在这个窗口中，你可以签名你的密钥（表示你信任这个密钥）。点击 “<ruby> 签名 <rt>  Sign </rt></ruby>” 按钮然后（在结果窗口中）指出 “<ruby> 你是如何仔细的检查这个密钥的？ <rt>  how carefully you’ve checked this key? </rt></ruby>” 和 “<ruby> 其他人将如何看到该签名 <rt>  how others will see the signature </rt></ruby>”（如图 3）。

*图 3：签名一个密钥表示信任级别。*

当你处理其它人的密钥时，密钥签名是非常重要的，因为一个签名的密钥将确保你的系统（和你）做了这项签名工作并且完全信任这个重要的密钥。

谈到导入的密钥，Seahorse 可以允许你很容易地去导入其他人的公钥文件（这个文件以 `.asc` 为后缀）。你的系统上有其他人的公钥，意味着你可以加密发送给他们的电子邮件和文件（LCTT 译注：原文将“加密”误作“解密”）。然而，Seahorse 在很长的一段时间内都存在一个 [已知的 bug](https://bugs.launchpad.net/ubuntu/+source/seahorse/+bug/1577198)。这个问题是，Seahorse 导入使用 GPG 版本 1，但是显示的是 GPG 版本 2。这意味着，在这个存在了很长时间的 bug 被修复之前，导入公钥总是失败的。如果你想导入一个公钥文件到 Seahorse 中，你只能去使用命令行。因此，如果有人发送给你一个文件 `olivia.asc`，你想去导入到 Seahorse 中使用它，你将只能运行命令 `gpg2 --import olivia.asc`。那个密钥将出现在 GnuPG 密钥列表中。你可以打开该密钥，点击 “<ruby> 我信任签名 <rt>  I trust signatures </rt></ruby>” 按钮，然后在问题 “<ruby> 你是如何仔细地检查该密钥的？ <rt>  how carefully you’ve checked the key </rt></ruby>” 中，点击 “<ruby> 签名这个密钥 <rt>  Sign this key </rt></ruby>” 按钮去签名。

### SSH 密钥

现在我们来谈谈我认为 Seahorse 中最重要的一个方面 — SSH 密钥。Seahorse 不仅可以很容易地生成一个 SSH 密钥，而且它也可以很容易地将生成的密钥发送到服务器上，因此，你可以享受到 SSH 密钥验证的好处。下面是如何生成一个新的密钥以及如何导出它到一个远程服务器上。

1. 打开 Seahorse 应用程序
2. 点击 “+” 按钮
3. 选择 “Secure Shell Key”
4. 点击 “Continue”
5. 提供一个密钥描述信息
6. 点击 “Set Up” 去创建密钥
7. 输入密钥的验证密钥
8. 点击 OK
9. 输入远程服务器地址和服务器上的登录名（如图 4）
10. 输入远程用户的密码
11. 点击 OK

*图 4：上传一个 SSH 密钥到远程服务器。*

新密钥将上传到远程服务器上以备使用。如果你的服务器已经设置为使用 SSH 密钥验证，那就一切就绪了。

需要注意的是，在创建一个 SSH 密钥期间，你可以点击 “<ruby> 高级密钥选项 <rt>  Advanced key options </rt></ruby>”去展开它，配置加密类型和密钥长度（如图 5）。

*图 5：高级 SSH 密钥选项。*

### Linux 新手必备

任何 Linux 新手用户都可以很快熟悉使用 Seahorse。即便是它有缺陷，Seahorse 仍然是为你准备的一个极其方便的工具。有时候，你可能希望（或者需要）去加密或者解密一个电子邮件/文件，或者为使用 SSH 验证来管理 SSH 密钥。如果你想去这样做而不希望使用命令行，那么，Seahorse 将是非常适合你的工具。

*通过来自 Linux 基金会和 edX 的 ["Linux 入门"](https://training.linuxfoundation.org/linux-courses/system-administration-training/introduction-to-linux)  免费课程学习更多 Linux 的知识。*

---

via: <https://www.linux.com/learn/intro-to-linux/2018/2/how-manage-pgp-and-ssh-keys-seahorse>

作者：[JACK WALLEN](https://www.linux.com/users/jlwallen)  译者：[qhwdw](https://github.com/qhwdw) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


Linux 中国入驻专业区块链内容平台「虎尔财经」

Summary: “Linux中国”入驻专业区块链内容平台虎尔财经，粉丝登录则获 188 FCB Token 福利。从此，你的阅读、转发都有价值

# Linux 中国入驻专业区块链内容平台「虎尔财经」

如今区块链技术伴随着大众关注而席卷全球，抛开各种炒作和投机，其底层的区块链技术已经日益得到了技术领域、经济领域乃至于国家层面的强烈关注。作为一个技术专业社区，我们也对区块链及相关的技术非常关注。因此，我们也将编发更多的区块链技术方面的内容分享给诸位读者。

而从即日起，Linux 中国也将同时入驻区块链垂直媒体「虎尔财经」 APP，将在虎尔财经同步发布区块链方面的文章。 关注区块链技术的同学可以在「虎尔财经」上获得更多的专业内容。

为回馈 Linux 中国的用户，从 3 月 17 日 — 3 月 24 日登录「虎尔财经」 APP 的用户，将获得 188FCB 的专属 Token 奖励。 同时，通过「虎尔财经」 APP ，你阅读、转发 Linux 中国任何一篇文章，都可以获得 Token 奖励，共享平台发展和内容流量收益。

*通过微信扫一扫，扫码登录虎尔财经，即可获赠 188 FCB Token！*

### 为何入驻「虎尔财经」

「虎尔财经」是专业的区块链内容平台，为投资者提供专业的研究型内容和及时、全面、准确的财经资讯。

「虎尔财经」运用区块链技术重新构建了内容生产关系，通过去中心化的内容生产方式重塑了生态价值分配机制，用户创作、阅读、转发都将获得 Token 奖励，激励优质内容创作和高效分发，真正实现用户共享平台发展和内容流量收益。

### 关于 FCB Token

FCB 全称为 Finance Content Bank，FCB Token 用于激励用户在「虎尔财经」 APP 平台进行财经内容创作、阅读及转发，虎尔财经将不定期回购 FCB Token。

FCB 获得方式

1. 作为创作者入驻平台发布文章，文章每被 1 人阅读，则获得 0.4 FCB /人次的 Token 奖励，例如某篇文章获得 10 万阅读量，则获得 4 万 FCB 的 Token 奖励。（前 1000 名入驻发文并被阅读 100 以上，获 10000 FCB ）
2. 作为用户，每阅读一篇文章，或转发的文章被阅读，可获得 0.3 FCB /次的 Token 奖励，无上限。
3. 参加平台不定期举行的 FCB 赠送活动。