《HelloGitHub》第 69 期
興趣是最好的老師,HelloGitHub 讓你對編程感興趣!

簡介
HelloGitHub 分享 GitHub 上有趣、入門級的開源項目。
https://github.com/521xueweihan/HelloGitHub
這里有實戰(zhàn)項目、入門教程、黑科技、開源書籍、大廠開源項目等,涵蓋多種編程語言 Python、Java、Go、C/C++、Swift...讓你在短時間內(nèi)感受到開源的魅力,對編程產(chǎn)生興趣!
以下為本期內(nèi)容|每個月 28 號更新
C 項目
1、quadsort:一種比快速排序快,穩(wěn)定的歸并排序算法。項目包含原理講解、C 語言實現(xiàn)、性能對比和排序過程

地址:https://github.com/scandum/quadsort
2、minilisp:用 1000 行 C 語言寫的 Lisp 解釋器。實現(xiàn)了整數(shù)、符號、局部變量、條件語句、宏和垃圾回收等功能,為了讓讀者更好地理解項目,代碼中包含了豐富的注釋
(println?3)??;?prints?"3"
(+?1?2?3)??;?->?6
(define?a?(+?1?2))
(+?a?a)??;?->?6
地址:https://github.com/rui314/minilisp
3、mpv:功能強大、免費開源、支持多平臺的極簡播放器。底層采用了 MPlayer、mplayer2 和 FFmpeg 等開源項目,支持多種音視頻格式、高清視頻、GPU 解碼、自定義等功能,追求極簡的命令行啟動+快捷鍵操作方式,讓它成為了技術(shù)愛好者的首選視頻播放器

地址:https://github.com/mpv-player/mpv
C# 項目
4、jynew:采用 Unity 重制的《金庸群俠傳》3D 版

地址:https://github.com/jynew/jynew
C++ 項目
5、cutter:一款免費開源的逆向工程平臺。采用 Rizin 作為核心引擎并集成了 Ghidra 反編譯器,它界面簡潔功能強大,深受逆向工程師們的喜愛
支持多種語言和主題 二進制搜索 十六進制編輯器 Python 腳本和插件 支持 Linux、macOS、Windows

地址:https://github.com/rizinorg/cutter
6、bpftrace:Linux 高級追蹤工具和語言。該工具基于 eBPF 和 BBC 實現(xiàn)了通過探針機制采集內(nèi)核和程序運行的信息,然后用圖表等方式將信息展示出來,幫助開發(fā)者找到隱藏較深的 Bug、安全問題和性能瓶頸

地址:https://github.com/iovisor/bpftrace
7、Cataclysm-DDA:《大災(zāi)變:黑暗之日》是一款以世界末日為背景的生存游戲。游戲中沒有任何任務(wù),唯一的目標就是活下去。玩家可以通過尋找食物、裝備等資源建造避難所,還支持車輛改裝、制作物品等特色機制,支持 Windows、Linux、macOS、Android 系統(tǒng)

地址:https://github.com/CleverRaven/Cataclysm-DDA
CSS 項目
8、heti:專為中文內(nèi)容展示設(shè)計的排版樣式。它會讓你的中文網(wǎng)站變得好看
貼合網(wǎng)格的排版 全標簽樣式美化 預(yù)置多種排版樣式 簡/繁體中文支持 移動端支持

地址:https://github.com/sivan/heti
Go 項目
9、k9s:監(jiān)控和管理 K8s 集群的命令行工具。它安裝簡單功能齊全,命令行交互的操作方式可以輕松地解決日常問題

地址:https://github.com/derailed/k9s
10、kind:使用 Docker 容器作為節(jié)點,在本地快速運行起 Kubernetes 集群的工具。通過該工具可以快速創(chuàng)建媲美 k8s 原生的本地環(huán)境,而且占用資源相對較少啟動速度快。多用于本地開發(fā)和測試 k8s 原生組件,不能用于線上環(huán)境

地址:https://github.com/kubernetes-sigs/kind
11、air:有代碼變動就會自動重啟服務(wù)的 Go 工具。在開發(fā) Go Web 項目時,每次修改后都需要手動編譯、重啟服務(wù),這個工具會在文件和目錄發(fā)生變動后,自動編譯并重啟服務(wù),大大提高了開發(fā)效率

地址:https://github.com/cosmtrek/air
12、juicefs:高性能 POSIX 共享文件系統(tǒng)。像使用本地存儲一樣高效使用海量云端存儲,可同時被多臺主機同時掛載讀寫

地址:https://github.com/juicedata/juicefs
13、sniffer:用于查看進程和連接的流量情況的命令行工具。界面簡潔美觀,支持進程、Socket 等不同視角查看流量數(shù)據(jù)

地址:https://github.com/chenjiandongx/sniffer
Java 項目
14、AndResGuard:混淆壓縮 APK 的工具。原理是采用資源混淆的方式,不涉及編譯過程僅通過變短資源路徑實現(xiàn)壓縮和混淆,使用方法簡單只需傳入一個打包好的 APK 文件
地址:https://github.com/shwenzhang/AndResGuard
15、datahub:基于 Java 開發(fā)的元數(shù)據(jù)治理平臺,可接入 Hive、Kafka、ES、MySQL 等數(shù)據(jù)源。隨著公司業(yè)務(wù)的發(fā)展,數(shù)據(jù)的復(fù)雜度會呈指數(shù)倍增長,通過文檔和口口相傳的方式管理數(shù)據(jù)關(guān)系的方式終將被淘汰。如果你體驗過到處問數(shù)據(jù)庫的字段含義、沒捋清某個字段導(dǎo)致線上事故、分析數(shù)據(jù)毫無頭緒等情況。這個時候就需要元數(shù)據(jù)治理平臺,它提供瀏覽、搜索和管理每個字段的含義、關(guān)系、來源等信息,通過元數(shù)據(jù)的方式更好的治理和挖掘數(shù)據(jù)的價值

地址:https://github.com/linkedin/datahub
16、termux-app:運行在 Android 上的開源終端模擬器。提供了 Linux 環(huán)境和 Shell 通過自帶的包管理器,能夠在手機上安裝和運行 ssh、Python、gcc、htop、git、vim 等工具

地址:https://github.com/termux/termux-app
17、questdb:高性能的開源時序數(shù)據(jù)庫。該項目主要采用 Java 代碼實現(xiàn),它通過面向列的存儲引擎、并行執(zhí)行、SIMD 指令等技術(shù)實現(xiàn)了出色的寫入和查詢性能,多用于物聯(lián)網(wǎng)、機器學(xué)習(xí)、金融等場景。還提供了 SQL 查詢方式以及交互式的 Web 操作平臺,一款值得期待的開源數(shù)據(jù)庫

地址:https://github.com/questdb/questdb
18、addax:支持多種異構(gòu)數(shù)據(jù)源離線同步工具。服務(wù)于大數(shù)據(jù)的 ETL 工具,可快速實現(xiàn) MySQL、HDFS、Hive、HBase 等數(shù)據(jù)源之間的數(shù)據(jù)同步,主要用于離線采集各類數(shù)據(jù)到數(shù)據(jù)倉庫或者大數(shù)據(jù)平臺

地址:https://github.com/wgzhao/addax
JavaScript 項目
19、arco-design:基于 ArcoDesign 的 React/Vue UI 組件庫。包含 60 多個開箱即用的高質(zhì)量組件,還提供了可視化的樣式配置平臺,可用于快速構(gòu)建企業(yè)級管理后臺
import?React?from?'react';
import?ReactDOM?from?'react-dom';
import?{?Button?}?from?'@arco-design/web-react';
import?'@arco-design/web-react/dist/css/arco.css';
function?App()?{
??return?(
????<Button?type='secondary'>
??????Hello?World
????Button>
??);
}
ReactDOM.render(<App?>App>,?document.getElementById('app'));

地址:https://github.com/arco-design/arco-design
20、context-note:帶上下文的網(wǎng)頁筆記瀏覽器插件。大多數(shù)時候我們使用書簽來標記網(wǎng)站鏈接,但在一些特定的場景中比如閱讀文章和瀏覽信息時,就需要對特定的句子及其上下文進行標記。這個項目提取了信息的內(nèi)容和位置,有上下文容易回顧,一鍵跳轉(zhuǎn)方便溯源

地址:https://github.com/betterRunner/context-note
21、S2:高性能多維交叉分析表格工具。提供 KPI 趨勢表、占比表、對比表等多種表格樣式,開箱即用上手簡單擁有詳細的文檔。通過按需渲染和虛擬滾動等方式,實現(xiàn)在百萬級數(shù)據(jù)量秒級渲染、滾動不卡頓

地址:https://github.com/antvis/S2
22、prisma:適用于 Node.js 和 TypeScript 的 ORM。支持主流數(shù)據(jù)庫可用于開發(fā) REST API、GraphQL API、gRPC API 等任何需要連接數(shù)據(jù)庫的程序,項目還包括了數(shù)據(jù)遷移工具和管理數(shù)據(jù)的 GUI 工具
import?{?PrismaClient?}?from?'@prisma/client'
const?prisma?=?new?PrismaClient()
//?A?`main`?function?so?that?you?can?use?async/await
async?function?main()?{
??const?allUsers?=?await?prisma.user.findMany({
????include:?{?posts:?true?},
??})
??//?use?`console.dir`?to?print?nested?objects
??console.dir(allUsers,?{?depth:?null?})
}
main()
??.catch((e)?=>?{
????throw?e
??})
??.finally(async?()?=>?{
????await?prisma.$disconnect()
??})

地址:https://github.com/prisma/prisma
Objective-C 項目
23、vienna-rss:適用于 macOS 的免費 RSS 訂閱工具

地址:https://github.com/ViennaRSS/vienna-rss
PHP 項目
24、laravel-tips:Laravel 編碼技巧集合
地址:https://github.com/LaravelDaily/laravel-tips
25、PHPWord:提供了讀/寫多種文檔文件格式的 PHP 庫。支持 Microsoft Office、富文本(RTF)等文檔格式
require_once?'bootstrap.php';
//?新建文檔
$phpWord?=?new?\PhpOffice\PhpWord\PhpWord();
//?Adding?an?empty?Section?to?the?document...
$section?=?$phpWord->addSection();
//?Adding?Text?element?to?the?Section?having?font?styled?by?default...
$section->addText(
????'"Learn?from?yesterday,?live?for?today,?hope?for?tomorrow.?'
????????.?'The?important?thing?is?not?to?stop?questioning."?'
????????.?'(Albert?Einstein)'
);
地址:https://github.com/PHPOffice/PHPWord
Python 項目
26、orjson:更快更強的 Python JSON 庫。支持比如日期、numpy 數(shù)組等豐富的數(shù)據(jù)類型,而且速度更快
>>>?import?orjson,?datetime,?numpy
>>>?data?=?{
????"type":?"job",
????"created_at":?datetime.datetime(1970,?1,?1),
????"status":?"??",
????"payload":?numpy.array([[1,?2],?[3,?4]]),
}
>>>?orjson.dumps(data,?option=orjson.OPT_NAIVE_UTC?|?orjson.OPT_SERIALIZE_NUMPY)
b'{"type":"job","created_at":"1970-01-01T00:00:00+00:00","status":"\xf0\x9f\x86\x97","payload":[[1,2],[3,4]]}'
>>>?orjson.loads(_)
{'type':?'job',?'created_at':?'1970-01-01T00:00:00+00:00',?'status':?'??',?'payload':?[[1,?2],?[3,?4]]}
地址:https://github.com/ijl/orjson
27、tiler:將圖片轉(zhuǎn)化成各種較小圖塊拼接成的圖像工具。馬賽克風(fēng)格的圖片轉(zhuǎn)化工具,支持自定義拼接圖案和符號。工具實用方便、代碼簡單易懂,適合對圖像感興趣的小伙伴學(xué)習(xí)和上手

地址:https://github.com/nuno-faria/tiler
28、rumps:簡單的 macOS 狀態(tài)欄 Python 庫
import?rumps
class?AwesomeStatusBarApp(rumps.App):
[email protected]("Preferences")
????def?prefs(self,?_):
????????rumps.alert("jk!?no?preferences?available!")
[email protected]("Silly?button")
????def?onoff(self,?sender):
????????sender.state?=?not?sender.state
[email protected]("Say?hi")
????def?sayhi(self,?_):
????????rumps.notification("Awesome?title",?"amazing?subtitle",?"hi!!1")
if?__name__?==?"__main__":
????AwesomeStatusBarApp("Awesome?App").run()

地址:https://github.com/jaredks/rumps
其它
29、Simula:Linux 上的 VR 窗口管理工具。通過該工具+VR 設(shè)備可輕松實現(xiàn)“目光所及皆桌面”的效果,它基于 Godot 開發(fā)安裝簡單實用方便,支持 HTC Vive Pro、Valve Index 等 VR 設(shè)備

地址:https://github.com/SimulaVR/Simula
30、penpot:開源的設(shè)計和原型在線平臺。它不僅完全免費還提供 Docker 自建和在線使用,而且支持中文和團隊共享。缺點是平臺提供的組件太少了,第一次上手需要自己從形狀開始搞,不過可以自定義組件做到一勞永逸。如果你在尋找開源、免費的原型設(shè)計平臺,不妨試試它

地址:https://github.com/penpot/penpot
31、design-resources-for-developers:設(shè)計資源集合。項目包含了圖片、網(wǎng)站模版、CSS 框架、UI 等資源

地址:https://github.com/bradtraversy/design-resources-for-developers
32、koreader:電子墨水(E-Ink)設(shè)備的開源閱讀軟件。適用于 Kindle、Kobo、PocketBook、Android 和 Linux 等設(shè)備,擁有設(shè)置字體、行距、文本樣式等功能,最厲害的是適應(yīng)水墨屏設(shè)備的 PDF 文件排版優(yōu)化功能,極大的提高了 PDF 文件在 Kindle 等設(shè)備的閱讀體驗

地址:https://github.com/koreader/koreader
33、tabby:高顏值的終端工具。功能強大高度可配置,適用于 Windows、macOS、Linux 操作系統(tǒng)
支持自定義主題和配色 可配置快捷鍵和組合鍵 集成了 SSH、Telnet 等連接 分割窗口 等等

地址:https://github.com/Eugeny/tabby
34、doomcaptcha:毀滅戰(zhàn)士射擊游戲形式的驗證碼

地址:https://github.com/vivirenremoto/doomcaptcha
35、wsa_pacman:輕松地在 Windows11 安裝 Android 應(yīng)用的桌面工具。使用該工具可以實現(xiàn)雙擊安裝 Android 應(yīng)用,基于系統(tǒng)自帶的 WSA 實現(xiàn),不需要安裝第三方模擬器

地址:https://github.com/alesimula/wsa_pacman
36、appflowy:開源筆記工具。基于 Flutter 開發(fā)適用于各種操作系統(tǒng),目標是成為 Notion 的代替品

地址:https://github.com/AppFlowy-IO/appflowy
開源書籍
37、school-of-sre:領(lǐng)英開源的成為 SRE(網(wǎng)站可靠性工程師)的入門級教程。內(nèi)容涵蓋 Web、Linux、Git、計算機網(wǎng)絡(luò)、數(shù)據(jù)庫、安全等方面

地址:https://github.com/linkedin/school-of-sre
38、everything-curl:《關(guān)于 curl 的所有東西》。由 curl 項目發(fā)起者撰寫的書,內(nèi)容包括 curl 入門、開源、源碼、項目等方面

地址:https://github.com/bagder/everything-curl
機器學(xué)習(xí)
39、ML-For-Beginners:微軟開源的入門級機器學(xué)習(xí)教程

地址:https://github.com/microsoft/ML-For-Beginners
40、spleeter:基于 Tensorflow 實現(xiàn)的音軌分離工具。可以用于提取音樂中的人聲、鼓、鋼琴等樂器
#?用?conda?安裝依賴
conda?install?-c?conda-forge?ffmpeg?libsndfile
#?用?pip?安裝?spleeter
pip?install?spleeter
#?提取人聲
spleeter?separate?-p?spleeter:2stems?-o?output?音頻.mp3
地址:https://github.com/deezer/spleeter
最后
感謝您的閱讀,如果覺得本期內(nèi)容還不錯的話?求贊、求分享,您的支持將讓?HelloGitHub 變得更好!??
找開源項目就用:?HelloGitHub?小程序
安裝和運行開源項目遇到問題,就看這篇文章
以上就是第?69?期的全部內(nèi)容,最后提前祝大家元旦快樂!
?? 關(guān)注「HelloGitHub」第一時間收到更新??
