“小抄”一词大家应该不会陌生,它有个学名叫做“速查表”(cheatsheet)是用来快速找到你知识点和答案的表格,因为其有体积小、不易察觉等特点,频繁出现在考场和演讲中...
友情提示⚠️:考试作弊一时爽,抓到就是火葬场!
记得我大学时有一次考试,老师允许我们每个人带一张 A4 纸大小的“小抄”进入考场,正反面可以随便写东西。我带着那张密密麻麻没有一块空白的“小抄”,信心满满地踏入考场。这门课是我所有课里考的分数最高的一门,后来补考的同学纷纷找我复印这张“小抄”。
时至今日,虽然我已不会再考试,但手边还是会常备小抄。比如:写代码的时候突然想不起了语法、代码片段、命令,这个时候小抄(速查表)可以发挥奇效!有了它瞬间就能找到答案,复制/粘贴 就能解决问题,极大地提高了开发效率。
下面,就是专为程序员准备的「开源小抄」集合,内容包含了 Python、JavaScript、Linux、Git、K8s 等,由于种类众多便于阅读,我将它们分成了:语言、命令和综合三大类。
闲话少说,直接上项目!
一、语言类写代码就像写作文都有提笔忘字的时候,但绝不能让这种情况打断沉浸式地编码的氛围。下面的速查表项目涵盖:Python、C++、Rust、JS 语言,能让你在忘记语法时、运行不通过时,瞬间找回记忆重切换回编码进程。
1.1 Python(python-cheatsheet)Star 数:29.5k|中文:否
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 的小伙伴们,觉得好用记得回来点赞!
1.2 C++(cpp-cheatsheet)在线:https://gto76.github.io/python-cheatsheet
项目:https://github.com/gto76/python-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 << ...;}
1.3 Rust(cheats.rs)项目:https://github.com/mortennobel/cpp-cheatsheet
Star 数:2.9k|中文:否
很多人都说 Rust 易学不易写。救星来啦!该项目不仅提供了基础的语法速查,还有执行顺序详解和编写时需要关注的注意事项。如果你觉得还不够,项目还包含了示例代码(EX)、书籍(BK)、标准(STD)等相关资料的扩展。
1.4 JavaScript(modern-js-cheatsheet)在线:https://cheats.rs
项目:https://github.com/ralfbiedert/cheats.rs
Star 数:23k|中文:否
现在后端多多少少都会写点前端,或许因为没有系统学习过 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 速查表。
2.2 Linux(linux-command)地址:https://education.github.com/git-cheat-sheet-education.pdf
Star 数:19k|中文:是
开发者通常都离不开 Linux 操作系统,而且 Linux 服务器又是命令行操作,如果你不知道命令连个文件都打不开,但是 Linux 的命令实在是太多了,真心记不住全。有了这个项目,你就能随用随搜了,而且还支持中文搜索。
在线:https://wangchujiang.com/linux-command
项目:https://github.com/jaywcjlove/linux-command
除此之外,还有个大而全的项目不得不提一下就是 tldr:
一个开源的 Linux 命令查询工具,简化版的 man 且“药到病除”,可称之为《新版 Linux 命令百科全书》(英文)。
2.3 Kubernetes(cheatsheet-kubernetes-A4)项目:https://github.com/tldr-pages/tldr
Star 数:1.5k|中文:否
随着云原生的势不可挡,K8s 也成为了运维和程序员必会的技能之一。该项目试图在一张 A4 纸上展示其常用命令,因此而得名。
项目: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 可以打印出来,贴在墙上、屏幕下方便时常查阅。
3.2 在线网站(cheatsheets)项目:https://github.com/FavioVazquez/ds-cheatsheets
Star 数:11.8k|中文:否
这是一个开源、全面的速查表网站,涵盖了前端、后端、运维、IDE 多个方面,而且界面友好简洁支持在线查看。
3.2 命令行(cheat.sh)在线:https://devhints.io
项目:https://github.com/rstacruz/cheatsheets
Star 数:29.2k|中文:否
最后这个项目厉害了,号称「你唯一需要的速查表」。它不仅支持命令行直接查询:
还支持网站在线查询:
不管哪种方式,都极客范儿十足!
四、最后在线:https://cheat.sh
项目:https://github.com/chubin/cheat.sh
以上就是本期分享的所有「开源小抄」项目,有没有找到你的菜?
往往用得最顺手的小抄,就是自己做的小抄!希望本期的这些开源项目能给你的小抄本增加一些内容,又或者在使用方式的便利上提供一些思路,从而构建出最适合自己、最趁手的“神兵利器”!
可能有人会问:现在都有 AI 编程助手了(Copilot)还需要啥小抄呢?
Copilot 确实更加方便,但我觉得做小抄的过程也是知识的梳理和沉淀的过程,而且持续维护一份开源小抄不仅能留下自己变强的辄印,还能帮助他人何乐而不为呢!俗话说得好:“取自开源,回馈开源”。
最后,如果您觉得本期内容还不错:求赞、求分享、求转发,您的支持是对我最大的鼓励!我们下期见~