興趣是最好的老師,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 個人首頁被訪問次數的項目。使用方法:

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 公眾號不僅可以收到第一時間的更新。點擊菜單欄->往期->月刊
往期月刊所有的內容盡收眼底一次看過癮!還有更多開源項目的介紹和寶藏項目等待你的發現。
