一大波开源小抄来袭

“小抄”一词大家应该不会陌生,它有个学名叫做“速查表”(cheatsheet)是用来快速找到你知识点和答案的表格,因为其有体积小、不易察觉等特点,频繁出现在考场和演讲中...

1.png

友情提示⚠️:考试作弊一时爽,抓到就是火葬场!

记得我大学时有一次考试,老师允许我们每个人带一张 A4 纸大小的“小抄”进入考场,正反面可以随便写东西。我带着那张密密麻麻没有一块空白的“小抄”,信心满满地踏入考场。这门课是我所有课里考的分数最高的一门,后来补考的同学纷纷找我复印这张“小抄”。

时至今日,虽然我已不会再考试,但手边还是会常备小抄。比如:写代码的时候突然想不起了语法、代码片段、命令,这个时候小抄(速查表)可以发挥奇效!有了它瞬间就能找到答案,复制/粘贴 就能解决问题,极大地提高了开发效率。

下面,就是专为程序员准备的「开源小抄」集合,内容包含了 Python、JavaScript、Linux、Git、K8s 等,由于种类众多便于阅读,我将它们分成了:语言、命令和综合三大类。

闲话少说,直接上项目!

一、语言类

写代码就像写作文都有提笔忘字的时候,但绝不能让这种情况打断沉浸式地编码的氛围。下面的速查表项目涵盖:Python、C++、Rust、JS 语言,能让你在忘记语法时、运行不通过时,瞬间找回记忆重切换回编码进程。

1.1 Python(python-cheatsheet)

Star 数:29.5k|中文:

2.png

Python 的语法很简单,也正是因为简单很多人不会花时间去刻意记忆,有了这个项目你就更不用被语法了。它对 Python 常用的数据类型、函数、库进行了分类,可以帮助你快速找到想要的代码片段和语法解释,仅需“填空”这些代码就可以马上跑来了。

from threading import Thread, RLock, Semaphore, Event, Barrier
from concurrent.futures import ThreadPoolExecutor

<Thread> = Thread(target=<function>) # Use `args=<collection>` to set the arguments.
<Thread>.start()                     # Starts the thread.
<bool> = <Thread>.is_alive()         # Checks if the thread has finished executing.
<Thread>.join()                      # Waits for the thread to finish.

强烈推荐给刚接触 Python 的小伙伴们,觉得好用记得回来点赞!

在线:https://gto76.github.io/python-cheatsheet

项目:https://github.com/gto76/python-cheatsheet

1.2 C++(cpp-cheatsheet)

Star 数:1.9k|中文:

C++ 是我当年上大学时必修课!也是很多大学生的第一门编程语言(噩梦),如果你提到 C++ 语法脑子里是一团浆糊,那不如看看这个项目兴许你就能构建起清晰的 C++ 知识体系,最不济也能复制/粘贴写出能跑的 C++ 代码 。

#include <iostream>         // Include iostream (std namespace)
cin >> x >> y;              // Read words x and y (any type) from stdin
cout << "x=" << 3 << endl;  // Write line to stdout
cerr << x << y << flush;    // Write to stderr and flush
c = cin.get();              // c = getchar();
cin.get(c);                 // Read char
cin.getline(s, n, '\n');    // Read line into char s[n] to '\n' (default)
if (cin)                    // Good state (not EOF)?
                            // To read/write any type T:
istream& operator>>(istream& i, T& x) {i >> ...; x=...; return i;}
ostream& operator<<(ostream& o, const T& x) {return o << ...;}

项目:https://github.com/mortennobel/cpp-cheatsheet

1.3 Rust(cheats.rs)

Star 数:2.9k|中文:

3.png

很多人都说 Rust 易学不易写。救星来啦!该项目不仅提供了基础的语法速查,还有执行顺序详解和编写时需要关注的注意事项。如果你觉得还不够,项目还包含了示例代码(EX)、书籍(BK)、标准(STD)等相关资料的扩展。

4.png

在线:https://cheats.rs

项目:https://github.com/ralfbiedert/cheats.rs

1.4 JavaScript(modern-js-cheatsheet)

Star 数:23k|中文:

5.png

现在后端多多少少都会写点前端,或许因为没有系统学习过 JavaScript 语法,多数情况都是边查边写。该项目的代码示例特别丰富,希望借此可以拯救挣扎在 JS 语法谜团中的小伙伴们。

async function getUser() { // The returned promise will be rejected!
  throw "User not found !";
}

async function getAvatarByUsername(userId) => {
  const user = await getUser(userId);
  return user.avatar;
}

async function getUserAvatar(username) {
  var avatar = await getAvatarByUsername(username);
  return { username, avatar };
}

getUserAvatar('mbeaudru')
  .then(res => console.log(res))
  .catch(err => console.log(err)); // "User not found !"

项目:https://github.com/mbeaudru/modern-js-cheatsheet

另外,这里还有份 React+TypeScript 的速查表,一并奉上:

这个项目不同于之前的项目,它是以问答的方式引出知识点,并给出解答和示例代码。

项目:https://github.com/typescript-cheatsheets/react

二、命令

在编码中除了编程语言之外,还离不开很多其它的东西,比如:工具、系统、服务等等,需要高效地使用他们就需要牢记命令,但是命令太杂、太多了记不全。下面这些项目覆盖了,常用的 Git、Linux、K8s 命令,快快收藏起来总一天会用得上!

2.1 Git(git-tips)

Star 数:13.9k|中文:

Git 是版本管理工具,日常开发中经常用到。在明白了 工作区、commit、暂存区、本地仓库、远程仓库 概念之后就能上手了,但遇到一些特殊场景时,就需要下面这个项目来救场了!当你不知道用什么 Git 命令完成操作或者有什么简便方法时,直接在此项目中 Ctrl/Cmd+f 搜索即可,立马就能找到解决问题的命令。

删除已经合并到 master 的分支

git branch --merged master | grep -v '^\*\|  master' | xargs -n 1 git branch -d

项目:https://github.com/521xueweihan/git-tips

这还有一份 GitHub 官方制作的 Git 速查表。

地址:https://education.github.com/git-cheat-sheet-education.pdf

2.2 Linux(linux-command)

Star 数:19k|中文:

开发者通常都离不开 Linux 操作系统,而且 Linux 服务器又是命令行操作,如果你不知道命令连个文件都打不开,但是 Linux 的命令实在是太多了,真心记不住全。有了这个项目,你就能随用随搜了,而且还支持中文搜索。

6.gif

在线:https://wangchujiang.com/linux-command

项目:https://github.com/jaywcjlove/linux-command

除此之外,还有个大而全的项目不得不提一下就是 tldr:

一个开源的 Linux 命令查询工具,简化版的 man 且“药到病除”,可称之为《新版 Linux 命令百科全书》(英文)。

项目:https://github.com/tldr-pages/tldr

2.3 Kubernetes(cheatsheet-kubernetes-A4)

Star 数:1.5k|中文:

随着云原生的势不可挡,K8s 也成为了运维和程序员必会的技能之一。该项目试图在一张 A4 纸上展示其常用命令,因此而得名。

7.png

项目:https://github.com/dennyzhang/cheatsheet-kubernetes-A4

值得一提的是该作者还写了 Docker 版本,好事成双。

项目:https://github.com/dennyzhang/cheatsheet-docker-A4

三、综合

见过了上面细分领域的速查表,下面介绍几个综合类型的项目,这部分介绍的项目使用方式各有特色:有可以打印出来的,也有命令行直接查的,还有网页能在线使用的,说真的写到这里我都想给自己点个「赞」了!

3.1 数据处理(ds-cheatsheets)

Star 数:10.7k|中文:

数据处理是一个涉及面很广的领域,知识点很多包括:SQL、R、Pandas、Jupyter、大数据、数据可视化等。这个项目涵盖了我上述的所有内容,而且从基础到实用都有。重点!提供了高颜值、全彩的 PDF 可以打印出来,贴在墙上、屏幕下方便时常查阅。

8.png

项目:https://github.com/FavioVazquez/ds-cheatsheets

3.2 在线网站(cheatsheets)

Star 数:11.8k|中文:

这是一个开源、全面的速查表网站,涵盖了前端、后端、运维、IDE 多个方面,而且界面友好简洁支持在线查看。

9.png

在线:https://devhints.io

项目:https://github.com/rstacruz/cheatsheets

3.2 命令行(cheat.sh)

Star 数:29.2k|中文:

最后这个项目厉害了,号称「你唯一需要的速查表」。它不仅支持命令行直接查询:

10.png

还支持网站在线查询:

11.png

不管哪种方式,都极客范儿十足!

在线:https://cheat.sh

项目:https://github.com/chubin/cheat.sh

四、最后

以上就是本期分享的所有「开源小抄」项目,有没有找到你的菜?

往往用得最顺手的小抄,就是自己做的小抄!希望本期的这些开源项目能给你的小抄本增加一些内容,又或者在使用方式的便利上提供一些思路,从而构建出最适合自己、最趁手的“神兵利器”!

可能有人会问:现在都有 AI 编程助手了(Copilot)还需要啥小抄呢?

Copilot 确实更加方便,但我觉得做小抄的过程也是知识的梳理和沉淀的过程,而且持续维护一份开源小抄不仅能留下自己变强的辄印,还能帮助他人何乐而不为呢!俗话说得好:“取自开源,回馈开源”。 最后,如果您觉得本期内容还不错:求赞、求分享、求转发,您的支持是对我最大的鼓励!我们下期见~