開源月刊《HelloGitHub》第 62 期
- 2021 年 5 月 28 日
- 筆記
- HelloGitHub
興趣是最好的老師,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:一款免費、開源的Android漫畫閱讀器。支援:
- 多種漫畫源
- 閱讀本地漫畫
- 更新漫畫章節
- 等等
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: //docs.python.org/3/tutorial/controlflow.html
@see: //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:一款免費、開源、沒有廣告的Podcast應用(Android 和 iOS)。由Podcast愛好者用愛開發和維護,支援在線播放和音頻下載等功能,同時內置數以百萬計的免費和付費Podcast源,從獨立播主到大型新聞機構出版社,如 BBC、NPR 和 CNN 應有盡有,也可自行導入Podcast源
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 公眾號不僅可以收到第一時間的更新。點擊菜單欄->往期->月刊
往期月刊所有的內容盡收眼底一次看過癮!還有更多開源項目的介紹和寶藏項目等待你的發現。