《HelloGitHub》第 74 期
興趣是最好的老師,HelloGitHub 讓你對(duì)編程感興趣!

簡(jiǎn)介
HelloGitHub 分享 GitHub 上有趣、入門(mén)級(jí)的開(kāi)源項(xiàng)目。
https://github.com/521xueweihan/HelloGitHub
這里有實(shí)戰(zhàn)項(xiàng)目、入門(mén)教程、黑科技、開(kāi)源書(shū)籍、大廠開(kāi)源項(xiàng)目等,涵蓋多種編程語(yǔ)言 Python、Java、Go、C/C++、Swift...讓你在短時(shí)間內(nèi)感受到開(kāi)源的魅力,對(duì)編程產(chǎn)生興趣!
以下為本期內(nèi)容|每個(gè)月 28 號(hào)更新
C 項(xiàng)目
1、entr:在文件有改動(dòng)時(shí)自動(dòng)觸發(fā)任意命令的工具。采用 kqueue 或 inotify 事件通知接口監(jiān)聽(tīng)文件改動(dòng)事件,避免輪詢?cè)斐傻馁Y源浪費(fèi),可用于實(shí)現(xiàn)自動(dòng)編譯、重啟、測(cè)試、同步等功能
#?自動(dòng)?make?
find?src/?|?entr?sh?-c?'make?|?head?-n?20'
#?自動(dòng)重啟服務(wù)
ls?*.js?|?entr?-r?node?app.js
地址:https://github.com/eradman/entr
2、open-gpu-kernel-modules:英偉達(dá)開(kāi)源的 Linux GPU 內(nèi)核驅(qū)動(dòng)。關(guān)于開(kāi)源的原因網(wǎng)友們眾說(shuō)紛紜黑客勒索、被 Linus 罵的、擁抱開(kāi)源,但無(wú)論如何這是件好事,至于這件事后續(xù)對(duì) Linux 系統(tǒng)的影響就讓我們拭目以待吧
地址:https://github.com/NVIDIA/open-gpu-kernel-modules
3、sioyek:免費(fèi)開(kāi)源的 PDF 閱讀器。支持交互式快速搜索文檔,而且就算文檔中的引用沒(méi)有鏈接也可以直接跳轉(zhuǎn),特別適合 PC 端閱讀和研究論文、技術(shù)文檔等

地址:https://github.com/ahrm/sioyek
4、ServerStatus:多服務(wù)器云監(jiān)控。輕松監(jiān)控多臺(tái)服務(wù)器狀態(tài)的工具,用于解決多個(gè)不同平臺(tái)下的服務(wù)器狀態(tài)監(jiān)控問(wèn)題

地址:https://github.com/cppla/ServerStatus
5、FreeRDP:完全免費(fèi)的遠(yuǎn)程桌面管理工具。此項(xiàng)目為遠(yuǎn)程桌面協(xié)議(RDP)的一個(gè)開(kāi)源實(shí)現(xiàn),通過(guò)它可以輕松實(shí)現(xiàn) macOS 或 Linux 遠(yuǎn)程操作 Windows 桌面系統(tǒng)反之亦可,使用起來(lái)十分方便和流暢

地址:https://github.com/FreeRDP/FreeRDP
C# 項(xiàng)目
6、TowerDefense-GameFramework-Demo:開(kāi)源的塔防游戲示例。此項(xiàng)目主要用來(lái)上手和學(xué)習(xí)基于 Unity 引擎的游戲框架 GameFramework,感興趣的同學(xué)可以把玩一下。游戲共有五個(gè)關(guān)卡,玩家通過(guò)擊殺敵人和建造能量塔獲取資源,消耗能量建造防御塔阻止敵人攻擊基地

地址:https://github.com/DrFlower/TowerDefense-GameFramework-Demo
C++ 項(xiàng)目
7、Cpp_Primer_Practice:《C++ Primer》中文版第 5 版的學(xué)習(xí)筆記。該項(xiàng)目不僅包含學(xué)習(xí)筆記還有課后習(xí)題的答案
地址:https://github.com/applenob/Cpp_Primer_Practice
8、serenity:開(kāi)源桌面操作系統(tǒng)。一款披著復(fù)古外衣現(xiàn)代的類 Unix 開(kāi)源操作系統(tǒng)。從內(nèi)核到 Web 瀏覽器均采用 C++ 編寫(xiě),沒(méi)有依賴現(xiàn)成的第三方庫(kù),外觀模仿 90 年代操作系統(tǒng)界面的風(fēng)格,我認(rèn)為這是一封極客致敬經(jīng)典的情書(shū)

地址:https://github.com/SerenityOS/serenity
9、polybar:超酷的 Linux 桌面狀態(tài)欄工具。使用時(shí)無(wú)需精通 shell 就能上手,輕松完成高度自定義的狀態(tài)欄。還有更多現(xiàn)成的主題,拿來(lái)即用

地址:https://github.com/polybar/polybar
CSS 項(xiàng)目
10、weui:微信開(kāi)源的原生基礎(chǔ)樣式庫(kù)。為微信內(nèi)網(wǎng)頁(yè)和小程序量身設(shè)計(jì)的樣式庫(kù),包括按鈕、徽章、進(jìn)度條、圖標(biāo)、對(duì)話框等各式元素

地址:https://github.com/Tencent/weui
Go 項(xiàng)目
11、httprunner:開(kāi)源的 API 測(cè)試工具。支持豐富的網(wǎng)絡(luò)協(xié)議,涵蓋接口測(cè)試、性能測(cè)試等測(cè)試類型的測(cè)試工具
多種網(wǎng)絡(luò)協(xié)議:支持 HTTP(S)/HTTP2/WebSocket/RPC 等 多格式可選:測(cè)試用例支持 YAML/JSON/go test/pytest 格式 雙執(zhí)行引擎:同時(shí)支持 Golang/Python 兩個(gè)執(zhí)行引擎 一鍵部署:一條命令在 macOS/Linux/Windows 完成安裝部署 網(wǎng)絡(luò)性能采集:在場(chǎng)景化接口測(cè)試的基礎(chǔ)上,可額外采集網(wǎng)絡(luò)鏈路性能指標(biāo)

地址:https://github.com/httprunner/httprunner
12、fx:命令行 JSON 瀏覽工具。看似簡(jiǎn)單卻十分實(shí)用的 JSON 命令行查詢工具,支持流式和交互式兩種查詢方式

地址:https://github.com/antonmedv/fx
13、zinc:輕量級(jí)全文搜索引擎。Go 語(yǔ)言下的輕量級(jí)搜索引擎,支持中文搜索自帶 Web 管理界面

地址:https://github.com/zinclabs/zinc
14、ants:高性能 goroutine 池。實(shí)現(xiàn)了大規(guī)模下的 goroutine 調(diào)度和復(fù)用,從而節(jié)省資源提高執(zhí)行效果。還有如任務(wù)提交、動(dòng)態(tài)調(diào)整 pool 大小、查詢運(yùn)行狀態(tài)等實(shí)用接口
地址:https://github.com/panjf2000/ants
Java 項(xiàng)目
15、jclasslib:Java 字節(jié)碼瀏覽器。支持可視化操作、查看、編輯編譯好的 Java 類文件的開(kāi)發(fā)工具

地址:https://github.com/ingokegel/jclasslib
16、RuoYi:開(kāi)箱即用的權(quán)限管理系統(tǒng)。基于 SpringBoot 開(kāi)發(fā)的后臺(tái)管理系統(tǒng),包含用戶管理、部門(mén)管理、角色管理、登錄日志、定時(shí)任務(wù)、服務(wù)監(jiān)控等功能,可以用來(lái)快速構(gòu)建 CMS、CRM、OA 等系統(tǒng)

地址:https://github.com/yangzongzhuan/RuoYi
17、debezium:捕獲數(shù)據(jù)更改(CDC)的流式處理平臺(tái)。可以監(jiān)控?cái)?shù)據(jù)庫(kù)中的數(shù)據(jù)變動(dòng),把每一個(gè)行級(jí)別的數(shù)據(jù)改動(dòng),通過(guò)流的方式實(shí)時(shí)同步給其他服務(wù)。適用于更新緩存、更新搜索、雙寫(xiě)等場(chǎng)景

地址:https://github.com/debezium/debezium
18、shardingsphere:一套開(kāi)源的分布式數(shù)據(jù)庫(kù)增強(qiáng)計(jì)算引擎。可將多種數(shù)據(jù)庫(kù)轉(zhuǎn)換為分布式數(shù)據(jù)庫(kù)的生態(tài)系統(tǒng),就是把多種不同類型的數(shù)據(jù)整合成對(duì)外是一個(gè)整體的數(shù)據(jù)庫(kù),即化零為整。充分合理地利用數(shù)據(jù)庫(kù)的計(jì)算和存儲(chǔ)能力,解決數(shù)據(jù)分片、數(shù)據(jù)加密、異構(gòu)數(shù)據(jù)查詢等痛點(diǎn)

地址:https://github.com/apache/shardingsphere
19、hertzbeat:易用友好的云監(jiān)控系統(tǒng)。適用于應(yīng)用服務(wù)、數(shù)據(jù)庫(kù)、網(wǎng)站、API、操作系統(tǒng)等監(jiān)控的場(chǎng)景,可以幫助中小型團(tuán)隊(duì)快速搭建監(jiān)控系統(tǒng)

地址:https://github.com/dromara/hertzbeat
JavaScript 項(xiàng)目
20、fortune-sheet:類似 Excel 的電子表格組件。使用簡(jiǎn)單無(wú)需繁瑣的配置,內(nèi)置多種 Excel 常用功能,并且支持在線協(xié)同編輯
import?React?from?'react';
import?ReactDOM?from?'react-dom';
import?{?Workbook?}?from?"@fortune-sheet/react";
import?"@fortune-sheet/react/dist/index.css"
ReactDOM.render(
??<Workbook?data={[{?name:?"Sheet1"?}]}?>Workbook>,
??document.getElementById('root')
);

地址:https://github.com/ruilisi/fortune-sheet
21、xterm.js:功能齊全的終端前端組件。用 TypeScript 編寫(xiě)的前端組件,提供了完整的終端功能、支持鼠標(biāo)事件、豐富的 Unicode 支持。在眾多流行開(kāi)源項(xiàng)目中都能看到它的身影,比如 VS Code、Hyper 和 Theia 等

地址:https://github.com/xtermjs/xterm.js
22、WebGAL:易于開(kāi)發(fā)的網(wǎng)頁(yè)端視覺(jué)小說(shuō)引擎。無(wú)需開(kāi)發(fā)基礎(chǔ)分分鐘就能學(xué)會(huì)所有語(yǔ)法,馬上開(kāi)始創(chuàng)作自己的 Galgame

地址:https://github.com/MakinoharaShoko/WebGAL
23、bytemd:掘金社區(qū)開(kāi)源的 Markdown 編輯器組件。基于 Svelte 構(gòu)建的 Markdown 編輯器組件,功能齊全還可以通過(guò)插件擴(kuò)展功能,默認(rèn)安全且兼容 SSR,適用于 React、Vue 和 Angular 框架
//?React
import?{?Editor,?Viewer?}?from?'@bytemd/react'
import?gfm?from?'@bytemd/plugin-gfm'
const?plugins?=?[
??gfm(),
??//?Add?more?plugins?here
]
const?App?=?()?=>?{
??const?[value,?setValue]?=?useState('')
??return?(
????<Editor
??????value={value}
??????plugins={plugins}
??????onChange={(v)?=>?{
????????setValue(v)
??????}}
????/>
??)
}

地址:https://github.com/bytedance/bytemd
Kotlin 項(xiàng)目
24、PermissionX:解決 Android 運(yùn)行時(shí)權(quán)限的庫(kù)。該項(xiàng)目本是作者寫(xiě)的一本書(shū)中的練手項(xiàng)目,后來(lái)經(jīng)過(guò)不斷優(yōu)化和功能迭代,已經(jīng)可以真正做到簡(jiǎn)化 Android 運(yùn)行時(shí)權(quán)限處理的工作,所以就有了我們現(xiàn)在看到的 PermissionX。時(shí)至今日它依舊在持續(xù)更新,沒(méi)有停下變得更好的腳步,或許這就是工匠精神的體現(xiàn)吧

地址:https://github.com/guolindev/PermissionX
PHP 項(xiàng)目
25、framework:簡(jiǎn)約大方的論壇項(xiàng)目。這是一個(gè)用 PHP+Mithril 開(kāi)發(fā)的免費(fèi)、美觀、簡(jiǎn)單、速度快的論壇系統(tǒng)

地址:https://github.com/flarum/framework
Python 項(xiàng)目
26、pyenv:簡(jiǎn)單易用的 Python 版本管理工具。開(kāi)發(fā)者有時(shí)候因?yàn)闅v史遺留問(wèn)題,需要維護(hù)依賴不同 Pyhton 版本的項(xiàng)目,這時(shí)就需要安裝和管理多個(gè) Python 版本,這是一件十分痛苦的事情。而 pyenv 恰好完美地解決了這一痛點(diǎn),它支持 global、local、shell 三種模式,開(kāi)發(fā)者可以根據(jù)情況靈活地切換不同的 Python 版本,這一切僅需一條命令
安裝 pyenv:brew install pyenv
安裝 Python:pyenv install 3.10.4
切換版本:pyenv shell|local|global
shell:當(dāng)前 shell
local:當(dāng)前目錄
global:全局

地址:https://github.com/pyenv/pyenv
27、Archery:在線 SQL 審核平臺(tái)。采用 Django+Bootstrap 框架開(kāi)發(fā)而成,支持 MySQL、Oracle 等數(shù)據(jù)庫(kù)的 SQL 上線、備份、慢日志查詢等功能

地址:https://github.com/hhyo/Archery
28、xxh:在 SSH 服務(wù)器時(shí)帶上自己喜歡的 shell。你的 shell 里是不是塞滿了快捷腳本、工具和顏色,但在 SSH 遠(yuǎn)程連接服務(wù)器時(shí),你就會(huì)失去這一切。xxh 可以把你最喜歡的 shell 帶到任何地方
Oh My Zsh:source?xxh.zsh?anyhost?+I?xxh-plugin-zsh-ohmyzsh?+if?+q?
xonsh:xxh anyhost +s xonsh

地址:https://github.com/xxh/xxh
29、Handright:模擬手寫(xiě)體中文的 Python 庫(kù)。基于 PIL 開(kāi)發(fā)實(shí)現(xiàn)的工具庫(kù),能夠輸出手寫(xiě)體中文的圖片,支持自定義背景圖
#?coding:?utf-8
from?PIL?import?Image,?ImageFont
from?handright?import?Template,?handwrite
text?=?"分享?GitHub?上有趣、入門(mén)級(jí)開(kāi)源項(xiàng)目"
template?=?Template(
????background=Image.new(mode="1",?size=(1024,?2048),?color=1),
????font=ImageFont.truetype("path/to/my/font.ttf",?size=100),
)
images?=?handwrite(text,?template)
for?im?in?images:
????assert?isinstance(im,?Image.Image)
????im.show()

地址:https://github.com/Gsllchb/Handright
30、OneForAll:功能強(qiáng)大的子域收集工具。具有強(qiáng)大的子域收集能力、支持子域驗(yàn)證、速度快等特點(diǎn)的子域掃描工具

地址:https://github.com/shmilylty/OneForAll
Ruby 項(xiàng)目
31、solidus:開(kāi)源的簡(jiǎn)約電商平臺(tái)。基于 Ruby on Rails 構(gòu)建的電商平臺(tái),界面清爽代碼完全開(kāi)源

地址:https://github.com/solidusio/solidus
Rust 項(xiàng)目
32、mdBook:Rust 官方開(kāi)源的 Markdown 電子書(shū)構(gòu)建工具。類似 Gitbook 可以將 Markdown 文件制作成在線書(shū)籍,簡(jiǎn)單易用非常適合創(chuàng)建教程、課程材料、開(kāi)源書(shū)籍等文稿
地址:https://github.com/rust-lang/mdBook
Swift 項(xiàng)目
33、TermiWatch:終端風(fēng)格的 iWatch 手表面

地址:https://github.com/kuglee/TermiWatch
其它
34、opensource.guide:GitHub 官方的開(kāi)源指南。為想學(xué)習(xí)如何創(chuàng)建和貢獻(xiàn)開(kāi)源項(xiàng)目的個(gè)人、社區(qū)和公司提供的資源集合

地址:https://github.com/github/opensource.guide
35、pinball:谷歌開(kāi)源的彈珠臺(tái)游戲。使用 Flutter 和 ?Firebase 平臺(tái)開(kāi)發(fā)的彈珠臺(tái)游戲,可運(yùn)行在 Android、iOS、Windows、macOS、Linux 操作系統(tǒng)

地址:https://github.com/flutter/pinball
36、A-Programmers-Guide-to-English:專為程序員編寫(xiě)的英語(yǔ)學(xué)習(xí)指南。一位程序員提升英語(yǔ)水平的實(shí)踐經(jīng)驗(yàn)分享,還有相關(guān)訓(xùn)練方法和用到的工具
地址:https://github.com/yujiangshui/A-Programmers-Guide-to-English
37、code996:根據(jù) git 的提交時(shí)間推斷工作強(qiáng)度的工具。通過(guò)分析 git 提交記錄,得出是否加班、工作強(qiáng)度的可視化圖表的工具

地址:https://github.com/hellodigua/code996
38、Thanks-Mirror:國(guó)內(nèi)公共倉(cāng)庫(kù)鏡像的集合。該項(xiàng)目包含開(kāi)發(fā)常用的庫(kù)、軟件、系統(tǒng)鏡像地址以及使用的方法
地址:https://github.com/eryajf/Thanks-Mirror
39、flutter_floatwing:Flutter 的 Android 浮動(dòng)窗口插件。該插件能夠讓開(kāi)發(fā)者使用 Flutter 完成浮動(dòng)窗口的功能開(kāi)發(fā),同時(shí)無(wú)需任何原生 Android 開(kāi)發(fā)的背景

地址:https://github.com/jiusanzhou/flutter_floatwing
40、wechat-report:自制微信聊天年度報(bào)告。教你如何生成和女朋友微信聊天記錄的年度報(bào)告項(xiàng)目

地址:https://github.com/myth984/wechat-report
開(kāi)源書(shū)籍
41、TCP-IP-NetworkNote:《TCP/IP 網(wǎng)絡(luò)編程》學(xué)習(xí)筆記。除了筆記還包含書(shū)中的代碼實(shí)現(xiàn)和課后習(xí)題回答
地址:https://github.com/riba2534/TCP-IP-NetworkNote
42、machine-learning-yearning-cn:《Machine Learning Yearning》中文版。《機(jī)器學(xué)習(xí)訓(xùn)練秘籍》樣稿吳恩達(dá)著

地址:https://github.com/deeplearning-ai/machine-learning-yearning-cn
43、the-unix-workbench:《The Unix Workbench》該書(shū)面向剛接觸編程和類 Unix(如 macOS)和 Linux 操作系統(tǒng)的開(kāi)發(fā)者,幫你快速上手命令行以及搞懂相關(guān)知識(shí)
地址:https://github.com/seankross/the-unix-workbench
機(jī)器學(xué)習(xí)
44、WantWords:拯救詞窮的字典。由清華大學(xué) NLP 實(shí)驗(yàn)室開(kāi)源,可以根據(jù)你的意思返回相關(guān)詞匯,有效解決詞窮、話到嘴邊說(shuō)不出來(lái)的窘境

地址:https://github.com/thunlp/WantWords
45、mindsdb:用 SQL 開(kāi)啟機(jī)器學(xué)習(xí)的數(shù)據(jù)庫(kù)。把機(jī)器學(xué)習(xí)引入 SQL 數(shù)據(jù)庫(kù)將模型作為虛擬表(AI-table),從而省去了數(shù)據(jù)準(zhǔn)備、預(yù)處理等步驟,可以直接用 SQL 查詢時(shí)間序列、回歸、分類預(yù)測(cè)的結(jié)果,實(shí)現(xiàn)簡(jiǎn)化機(jī)器學(xué)習(xí)開(kāi)發(fā)流程的效果

地址:https://github.com/mindsdb/mindsdb
46、machine_learning_complete:全面的機(jī)器學(xué)習(xí)教程庫(kù)。一份包含 30 多個(gè) Jupyter Notebook 的集合庫(kù),內(nèi)容涵蓋機(jī)器學(xué)習(xí)所需的 Python 基礎(chǔ),數(shù)據(jù)操作、清洗、分析、可視化常用的庫(kù)和工具,以及經(jīng)典機(jī)器學(xué)習(xí)、NLP、計(jì)算機(jī)視覺(jué)等算法,一份面面俱到的機(jī)器學(xué)習(xí)入門(mén)教程

地址:https://github.com/Nyandwi/machine_learning_complete
最后
以上就是本期的所有內(nèi)容,還沒(méi)看過(guò)癮?點(diǎn)擊閱讀往期內(nèi)容。
找開(kāi)源項(xiàng)目就用:?HelloGitHub?小程序,如果安裝或運(yùn)行開(kāi)源項(xiàng)目遇到問(wèn)題,就看這篇文章吧!
如果您覺(jué)得本期內(nèi)容還不錯(cuò)的話?求贊、求分享,您的支持會(huì)讓?HelloGitHub 變得更好!??
?? 關(guān)注「HelloGitHub」收到第一時(shí)間的更新??
