首頁 > 軟體

開源月刊《HelloGitHub》第 62 期

2021-05-28 13:00:20

興趣是最好的老師,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-statementThe while loop executes as long as the condition remains true. In Python, like in C, anynon-zero integer value is true; zero is false. The condition may also be a string or listvalue, in fact any sequence; anything with a non-zero length is true, empty sequences arefalse.The test used in the example is a simple comparison. The standard comparison operators arewritten the same as in C: < (less than), > (greater than), == (equal to), <= (less than orequal 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> variablevar x = Observable(0)// add a handlerx.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 就是專為機器學習準備的影象資料增強庫

最後

以上就是本期的所有內容了,看完還不過癮?

關注 HelloGitHub 不僅可以收到第一時間的更新,往期所有的內容盡收眼底一次看過癮!還有更多開源項目的介紹和寶藏項目等待你的發現。


IT145.com E-mail:sddin#qq.com