“小抄”一詞大家應該不會陌生,它有個學名叫做“速查表”(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)
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)
Star 數:2.9k|中文:否
很多人都說 Rust 易學不易寫。救星來啦!該專案不僅提供了基礎的語法速查,還有執行順序詳解和編寫時需要關注的注意事項。如果你覺得還不夠,專案還包含了示例程式碼(EX)、書籍(BK)、標準(STD)等相關資料的擴充套件。
1.4 JavaScript(modern-js-cheatsheet)
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 !"
另外,這裡還有份 React+TypeScript 的速查表,一併奉上:
這個專案不同於之前的專案,它是以問答的方式引出知識點,並給出解答和示例程式碼。
二、命令
在編碼中除了程式語言之外,還離不開很多其它的東西,比如:工具、系統、服務等等,需要高效地使用他們就需要牢記命令,但是命令太雜、太多了記不全。下面這些專案覆蓋了,常用的 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
這還有一份 GitHub 官方製作的 Git 速查表。
地址:https://education.github.com/git-cheat-sheet-education.pdf
2.2 Linux(linux-command)
Star 數:19k|中文:是
開發者通常都離不開 Linux 作業系統,而且 Linux 伺服器又是命令列操作,如果你不知道命令連個檔案都打不開,但是 Linux 的命令實在是太多了,真心記不住全。有了這個專案,你就能隨用隨搜了,而且還支援中文搜尋。
除此之外,還有個大而全的專案不得不提一下就是 tldr:
一個開源的 Linux 命令查詢工具,簡化版的 man 且“藥到病除”,可稱之為《新版 Linux 命令百科全書》(英文)。
2.3 Kubernetes(cheatsheet-kubernetes-A4)
Star 數:1.5k|中文:否
隨著雲原生的勢不可擋,K8s 也成為了運維和程式設計師必會的技能之一。該專案試圖在一張 A4 紙上展示其常用命令,因此而得名。
值得一提的是該作者還寫了 Docker 版本,好事成雙。
三、綜合
見過了上面細分領域的速查表,下面介紹幾個綜合型別的專案,這部分介紹的專案使用方式各有特色:有可以列印出來的,也有命令列直接查的,還有網頁能線上使用的,說真的寫到這裡我都想給自己點個「贊」了!
3.1 資料處理(ds-cheatsheets)
Star 數:10.7k|中文:否
資料處理是一個涉及面很廣的領域,知識點很多包括:SQL、R、Pandas、Jupyter、大資料、資料視覺化等。這個專案涵蓋了我上述的所有內容,而且從基礎到實用都有。重點!提供了高顏值、全綵的 PDF 可以列印出來,貼在牆上、螢幕下方便時常查閱。
3.2 線上網站(cheatsheets)
Star 數:11.8k|中文:否
這是一個開源、全面的速查表網站,涵蓋了前端、後端、運維、IDE 多個方面,而且介面友好簡潔支援線上檢視。
3.2 命令列(cheat.sh)
Star 數:29.2k|中文:否
最後這個專案厲害了,號稱「你唯一需要的速查表」。它不僅支援命令列直接查詢:
還支援網站線上查詢:
不管哪種方式,都極客範兒十足!
四、最後
以上就是本期分享的所有「開源小抄」專案,有沒有找到你的菜?
往往用得最順手的小抄,就是自己做的小抄!希望本期的這些開源專案能給你的小抄本增加一些內容,又或者在使用方式的便利上提供一些思路,從而構建出最適合自己、最趁手的“神兵利器”!
可能有人會問:現在都有 AI 程式設計助手了(Copilot)還需要啥小抄呢?
Copilot 確實更加方便,但我覺得做小抄的過程也是知識的梳理和沉澱的過程,而且持續維護一份開源小抄不僅能留下自己變強的輒印,還能幫助他人何樂而不為呢!俗話說得好:“取自開源,回饋開源”。
最後,如果您覺得本期內容還不錯:求贊、求分享、求轉發,您的支援是對我最大的鼓勵!我們下期見~