興趣是最好的老師,HelloGitHub 讓你對程式設計感興趣!
簡介
分享 GitHub 上有趣、入門級的開源專案。
這裡有實戰專案、入門教程、黑科技、開源書籍、大廠開源專案等,涵蓋多種程式語言 Python、Java、Go、C/C++、Swift...讓你在短時間內感受到開源的魅力,對程式設計產生興趣!
HelloGitHub 截止:2021.5.27 已獲得 4.2 萬星,感謝大家點亮的每一個 ✨
以下為本期內容|每個月 28 號更新
C 專案
1、discount:一個用 C 語言編寫的 Markdown 實現,可以輕鬆將 MD 文件轉換為 HTML 格式
C# 專案
2、maui:微軟官方開源的 .NET 跨平臺 UI 框架。這將意味著同一套程式碼和原生 UI 可以跑在幾乎所有的裝置上
3、EarTrumpet:一款 Windows 系統上的音量控制小工具
C++ 專案
4、kvrocks:基於 RocksDB 併相容 Redis 協議的 NoSQL 資料庫。磁碟型別的 Redis 為降低儲存成本而生,儲存成本可以降到 Redis 的 1/3 以上
CSS 專案
5、stylus-shortcut:基於 stylus 實現的快速編寫 CSS 樣式的庫
6、pattern.css:用漂亮的圖形填充背景的 CSS 庫
Go 專案
7、Cloudreve:支援多種儲存服務的雲檔案桌面管理工具。開箱即用,功能豐富
- 拖拽上傳、目錄上傳、流式上傳處理
- 客戶端直傳和限速下載
- 視訊、影像、音訊、文字、Office 文件線上預覽
8、duf:一款檢視磁碟空間情況的命令列工具,足以代替 df 命令。它上手簡單使用方便,介面簡潔且友好同時支援 Linux、macOS 和 Windows 作業系統
9、bubbletea:一個強大的 TUI(文字使用者介面)框架。Bubble Tea 非常適合構建複雜互動的終端應用程式,同時還能讓命令列程式變得多彩和炫酷
10、rosedb:一個完全用 Go 寫的 Key-Value 資料庫。rosedb 適合在找 Go 實戰專案的小夥伴們,因為專案程式碼簡潔、註釋清晰,配上作者錄製的講解視訊。你可以從中學到 Go 相關的知識
- 實用的高階特性,比如:goroutine、chan、mutex
- 資料結構及演算法相關知識,比如:連結串列、雜湊表、跳錶等
- 作業系統的一些知識,特別是檔案系統和記憶體對映
11、cointop:用於追蹤加密貨幣行情的命令列工具。介面仿照 htop 支援類似 Vim 的快捷鍵,程式設計師摸魚神器。線上體驗
Java 專案
12、onedev:一個用 Java 寫的 Git 倉庫管理平臺。包含 Git 版本管理、持續整合、Issue 管理、程式碼搜尋和審查等功能
13、Apktool:反編譯 Android 安裝包 APK 檔案的工具
JavaScript 專案
14、amis:通過 JSON 配置就能生成各種後臺頁面。這是百度開源的前端低程式碼框架,中文文件快速上手
15、playground-macos:模擬 macOS 桌面樣式的個人簡介展示頁
16、use-gesture:豐富滑鼠和觸控手勢的 React 庫
17、Ink-wash-docs:一款基於 egg.js+Vue.js 的線上文件管理平臺。功能包含:文件編輯和預覽、團隊管理、訪問許可權、協作編輯等
Kotlin 專案
18、tachiyomi:一款免費、開源的安卓漫畫閱讀器。支援:
- 多種漫畫源
- 閱讀本地漫畫
- 更新漫畫章節
- 等等
Objective-C 專案
19、UTM:執行在 iOS 和 macOS 系統上的虛擬機器。通過 UTM 你可以在無需“越獄”的情況下,在 iPhone 和 iPad 上執行 Windows、Linux 等作業系統
PHP 專案
20、github-profile-views-counter:用來展示 GitHub 個人首頁被訪問次數的專案。使用方法:![](https://komarev.com/ghpvc/?username=your-github-username&color=dc143c)
Python 專案
21、learn-python:一份以程式碼和註釋方式講解 Python 的免費教程。每個 Python 基礎語法和知識點都採用可以執行的程式碼為例講解,再配上適當的註釋和參考資料,讓你快速上手 Python。此專案不僅可以當做學習 Python 的資料,還可以留著做為速查表
"""WHILE statement
@see: https://docs.python.org/3/tutorial/controlflow.html
@see: https://docs.python.org/3/reference/compound_stmts.html#the-while-statement
The while loop executes as long as the condition remains true. In Python, like in C, any
non-zero integer value is true; zero is false. The condition may also be a string or list
value, in fact any sequence; anything with a non-zero length is true, empty sequences are
false.
The test used in the example is a simple comparison. The standard comparison operators are
written the same as in C: < (less than), > (greater than), == (equal to), <= (less than or
equal to), >= (greater than or equal to) and != (not equal to).
"""
def test_while_statement():
"""WHILE statement"""
# Let's raise the number to certain power using while loop.
number = 2
power = 5
result = 1
while power > 0:
result *= number
power -= 1
# 2^5 = 32
assert result == 32
22、BaoTa:寶塔 Linux 伺服器運維管理平臺。簡單好用的伺服器運維平臺,支援一鍵 LNMP 安裝、管理叢集、網站、資料庫等功能,可以有效的提高操作的規範性和安全性,降低出錯概率。這個開源專案是免費版,還有付費的專業版
23、recommenders:通過 Jupyter Notebook 形式呈現的推薦系統最佳實踐。這是微軟開源的推薦系統教程,專案中還包含推薦系統常用的 Python 工具箱
24、magic-wormhole:一條命令就能將檔案安全地傳送到另外一臺電腦上的工具。基於 PAKE(Password-Authenticated Key Exchange)協議實現檔案在公網的加密傳輸,傳送和接收均僅需一條命令
Swift 專案
25、Design-Patterns-In-Swift:設計模式 Swift 5.0 實現。中文版
26、IGListKit:Instagram 推出的一套資料驅動的 UICollectionView 框架,用來建立快速且靈活的列表介面。提供了更簡單的使用 UICollectionView 方式,並且支援對自己的資料模型進行自定義 diff 操作,提供更好的架構以複用 Cell 和元件
27、Observable-Swift:一個在 Swift 上實現 KVO 的輕量級工具。簡單易用地解決了 Swift 相對於 Objective-C 缺少 Key Value Observing(KVO)的問題
// create a Observable<Int> variable
var x = Observable(0)
// add a handler
x.afterChange += { println("Changed x from \($0) to \($1)") }
// without operators: x.afterChange.add { ... }
// change the value, prints "Changed x from 0 to 42"
x <- 42
// alternativelyL x ^= 42, without operators: x.value = 42
其它
28、AntennaPod:一款免費、開源、沒有廣告的播客應用(Android 和 iOS)。由播客愛好者用愛開發和維護,支援線上播放和音訊下載等功能,同時內建數以百萬計的免費和付費播客源,從獨立播主到大型新聞機構出版社,如 BBC、NPR 和 CNN 應有盡有,也可自行匯入播客源
29、react-resume-site:一款免費的簡歷線上製作工具。用寫 Markdown 的方式製作出好看的簡歷,線上嘗試
30、awesome-compose:豐富且實用的 Docker Compose 示例集合。該專案中的例子可以作為參考和模板,從而快速完成 Docker Compose 的編寫
31、tabix:一款 ClickHouse 的 Web 視覺化查詢和分析工具。通過它可以在瀏覽器上輕鬆查詢 CH 的資料,還有豐富的圖表幫助分析資料,最後還可選擇內網搭建或者直接線上使用
32、vulhub:一個面向大眾的開源漏洞環境集合。Vulhub 中包含了 180 餘個豐富且真實的漏洞與其相應的環境,無需 Docker 知識即可通過一條簡單的命令,跑起來一個存在某個漏洞的完整應用。安全研究人員能夠方便地復現與研究漏洞,省去了學習複雜的部署知識、尋找有漏洞的舊版本應用、搭建依賴的服務等麻煩,從而可以快速驗證修復方案
33、overleaf:一款支援線上協作的 LaTeX 編輯器
開源書籍
34、bitcoinbook:《Mastering Bitcoin 2nd Edition》精通比特幣第 2 版
35、python-parallel-programming-cookbook-cn:《Python Parallel Programming Cookbook》Python 並行程式設計。線上閱讀
機器學習
36、imgaug:這是個影像資料增強 Python 庫。資料集的數量和質量對於機器學習很重要,而資料增強就是讓有限的資料集產生更多的資料,增加訓練樣本的數量以及多樣性。imgaug 就是專為機器學習準備的影像資料增強庫
最後
如果你發現了 GitHub 上有趣的專案,就分享給大傢伙吧。
以上就是本期的所有內容了,看完還不過癮?
關注 HelloGitHub 公眾號不僅可以收到第一時間的更新。點選選單欄->往期->月刊
往期月刊所有的內容盡收眼底一次看過癮!還有更多開源專案的介紹和寶藏專案等待你的發現。