《HelloGitHub》第 71 期
興趣是最好的老師,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、h2o:高性能 HTTP 服務(wù)器。相較于傳統(tǒng) Web 服務(wù)器,它充分利用了 HTTP/2 的資源加載優(yōu)先級(jí)和服務(wù)器推送技術(shù),所以在靜態(tài)文件方面性能明顯優(yōu)于 Nginx 服務(wù)器

地址:https://github.com/h2o/h2o
2、chibicc:迷你 C 編譯器。雖然它只是一個(gè)玩具級(jí)的編譯器,但是實(shí)現(xiàn)了大多數(shù) C11 特性,而且能夠成功編譯幾十萬(wàn)行的 C 語(yǔ)言項(xiàng)目,其中包括 Git、SQLite 等知名項(xiàng)目。而且它項(xiàng)目結(jié)構(gòu)清晰、每次提交都是精心設(shè)計(jì)、代碼容易理解,對(duì)編譯器感興趣的同學(xué)可以從第一個(gè)提交開(kāi)始學(xué)習(xí)
地址:https://github.com/rui314/chibicc
C# 項(xiàng)目
3、CliWrap:執(zhí)行外部命令的 C# 庫(kù)。提供啟動(dòng)進(jìn)程、輸入/輸出重定向、等待完成、管道等功能,支持 Windows、Linux、macOS 操作系統(tǒng)
using?CliWrap;
var?result?=?await?Cli.Wrap("path/to/exe")
????.WithArguments("--foo?bar")
????.WithWorkingDirectory("work/dir/path")
????.ExecuteAsync();
????
//?輸出包括:
//?--?result.ExitCode????????(int)
//?--?result.StartTime???????(開(kāi)始時(shí)間)
//?--?result.ExitTime????????(結(jié)束時(shí)間)
//?--?result.RunTime?????????(執(zhí)行命令耗時(shí))

地址:https://github.com/Tyrrrz/CliWrap
4、DreamScene2:小巧的 Windows 動(dòng)態(tài)桌面工具。適用于 Windows10/11 系統(tǒng),支持視頻、網(wǎng)頁(yè)動(dòng)畫(huà)播放

地址:https://github.com/he55/DreamScene2
C++ 項(xiàng)目
5、vcpkg:微軟開(kāi)源的 C/C++ 包管理工具。安裝和管理 C/C++ 依賴(lài)的命令行工具,適用于 Windows、Linux 和 macOS 操作系統(tǒng)

地址:https://github.com/microsoft/vcpkg
6、finalcut:用于創(chuàng)建基于文本的用戶(hù)界面的 C++ 庫(kù)。它除了支持鼠標(biāo)操作和同時(shí)處理多個(gè)文本窗,還提供了常見(jiàn)的對(duì)話框、按鈕、復(fù)選框、單選按鈕、輸入行、列表框、狀態(tài)欄等控件

地址:https://github.com/gansm/finalcut
CSS 項(xiàng)目
7、magic:炫酷的 CSS3 動(dòng)畫(huà)庫(kù)

地址:https://github.com/miniMAC/magic
Go 項(xiàng)目
8、nali:離線查詢(xún) IP 地理信息和 CDN 服務(wù)提供商的命令行工具
$?nali?1.2.3.4
1.2.3.4?[澳大利亞?APNIC?Debogon-prefix網(wǎng)絡(luò)]
地址:https://github.com/zu1k/nali
9、revive:快速且易擴(kuò)展的 Go 代碼檢查工具。它比 golint 更快、更靈活,深受廣大 Go 開(kāi)發(fā)者的喜愛(ài)

地址:https://github.com/mgechev/revive
10、go-chart:Go 原生圖表庫(kù)。支持折線圖、柱狀圖、餅圖等
package?main
import?(
?"os"
?"github.com/wcharczuk/go-chart/v2"
)
func?main()?{
?graph?:=?chart.Chart{
??Series:?[]chart.Series{
???chart.ContinuousSeries{
????XValues:?[]float64{1.0,?2.0,?3.0,?4.0,?5.0},
????YValues:?[]float64{1.0,?2.0,?3.0,?4.0,?5.0},
???},
??},
?}
?f,?_?:=?os.Create("output.png")
?defer?f.Close()
?graph.Render(chart.PNG,?f)
}

地址:https://github.com/wcharczuk/go-chart
11、filestash:在線文件管理工具。在瀏覽器上管理 FTP、SFTP、Git、S3、MySQL、Dropbox 等服務(wù)中的文件和數(shù)據(jù),支持編輯文件、圖片管理、視頻轉(zhuǎn)碼、Office 文檔、全文搜索等功能

地址:https://github.com/mickael-kerjean/filestash
12、vitess:用于橫向擴(kuò)展 MySQL 數(shù)據(jù)庫(kù)的集群系統(tǒng)。基于 Go 語(yǔ)言的并發(fā)特性,它能夠輕松處理數(shù)千個(gè)連接。還可以根據(jù)配置好的規(guī)則,自動(dòng)優(yōu)化影響數(shù)據(jù)庫(kù)性能的查詢(xún),運(yùn)維方面支持自動(dòng)處理主故障轉(zhuǎn)移和備份等功能

地址:https://github.com/vitessio/vitess
Java 項(xiàng)目
13、thingsboard:完全開(kāi)源的物聯(lián)網(wǎng) IoT 平臺(tái)。它使用行業(yè)的標(biāo)準(zhǔn)物聯(lián)網(wǎng)協(xié)議 MQTT、CoAP 和 HTTP 連接設(shè)備,支持?jǐn)?shù)據(jù)收集、處理、可視化和設(shè)備管理等功能。通過(guò)該項(xiàng)目可快速實(shí)現(xiàn)物聯(lián)網(wǎng)平臺(tái)搭建,從而成為眾多大型企業(yè)的首選,行業(yè)覆蓋電信、智慧城市、環(huán)境監(jiān)測(cè)等

地址:https://github.com/thingsboard/thingsboard
14、from-java-to-kotlin:展示 Java 和 Kotlin 語(yǔ)法上差別的項(xiàng)目。讓有 Java 基礎(chǔ)的程序員可以快速上手 Kotlin

地址:https://github.com/MindorksOpenSource/from-java-to-kotlin
15、graal:Oracle 開(kāi)源的高性能跨語(yǔ)言虛擬機(jī)。用它啟動(dòng)的程序占用內(nèi)存更低、啟動(dòng)時(shí)間更短,而且支持運(yùn)行多種編程語(yǔ)言,比如 Python、Ruby、C/C++、Java 等。通過(guò) Polyglot API 更是打破了不同語(yǔ)言之間的壁壘,實(shí)現(xiàn)多語(yǔ)言混合編程。目前部分功能還處于實(shí)驗(yàn)階段,生產(chǎn)環(huán)境慎用
import?org.graalvm.polyglot.*;
class?Polyglot?{
????public?static?void?main(String[]?args)?{
????????Context?context?=?Context.newBuilder().allowIO(true).build();
????????Value?array?=?context.eval("python",?"[1,2,42,4]");
????????int?result?=?array.getArrayElement(2).asInt();
????????System.out.println(result);
????}
}
/**
?*?運(yùn)行結(jié)果
?*?執(zhí)行:javac Polyglot.java
?*?輸出:42
?*/

地址:https://github.com/oracle/graal
16、glide:流暢快速的 Android 圖片加載庫(kù)。為了實(shí)現(xiàn)快速加載和展示圖像,Glide 會(huì)自動(dòng)縮減像素采樣、緩存、積極重用減少垃圾回收。使用上一行代碼就可以實(shí)現(xiàn)圖片加載和展示,同時(shí)網(wǎng)絡(luò)請(qǐng)求部分可靈活接入任何庫(kù)
Glide.with(fragment).load(url).into(imageView);

地址:https://github.com/bumptech/glide
17、jjwt:適用于 Java 和 Android 的 JWT(JSON Web Token)庫(kù)
import?io.jsonwebtoken.Jwts;
import?io.jsonwebtoken.SignatureAlgorithm;
import?io.jsonwebtoken.security.Keys;
import?java.security.Key;
Key?key?=?Keys.secretKeyFor(SignatureAlgorithm.HS256);
String?jws?=?Jwts.builder().setSubject("HelloGitHub").signWith(key).compact();
//?得到?JWS?字符串
地址:https://github.com/jwtk/jjwt
JavaScript 項(xiàng)目
18、handle:漢字版 Wordle 游戲

地址:https://github.com/antfu/handle
19、noclip:電子游戲關(guān)卡的數(shù)字博物館。該項(xiàng)目包含了很多游戲的場(chǎng)景模型,可在線自由瀏覽

地址:https://github.com/magcius/noclip.website
20、ts-node:可直接在 Node.js 上執(zhí)行 TypeScript 代碼的庫(kù)。通過(guò) JIT 方式將 TypeScript 代碼轉(zhuǎn)換成 JavaScript,實(shí)現(xiàn)不需要預(yù)編譯即可在 Node.js 上運(yùn)行 TypeScript 代碼

地址:https://github.com/TypeStrong/ts-node
21、summernote:基于 jQuery 的編輯器庫(kù)。可用來(lái)創(chuàng)建所見(jiàn)即所得(WYSIWYG)編輯器,支持 Bootstrap 3、4 和 5

地址:https://github.com/summernote/summernote
22、yn:面向程序員的本地 Markdown 筆記工具。一款適合程序員的筆記工具,擁有和其它工具不一樣的體驗(yàn)
技術(shù)筆記:可直接在文檔中運(yùn)行代碼塊(默認(rèn)支持 JS 代碼,其它語(yǔ)言需配置) 制作輔助工具:可在文檔中嵌入 HTML 組件來(lái)制作輔助工具 畫(huà)圖和圖表:支持嵌入多種圖形、思維導(dǎo)圖、Plantunl、Drawio、Mermaid 、ECharts 工作日?qǐng)?bào):支持任務(wù)代辦列表,使用“宏替換”功能可以方便地生成日?qǐng)?bào)周報(bào)

地址:https://github.com/purocean/yn
Kotlin 項(xiàng)目
23、RocketXPlugin:加速 Android APK 編譯的插件。它會(huì)自動(dòng)識(shí)別未改動(dòng)模塊并在編譯流程中替換為 AAR,最后只編譯改動(dòng)過(guò)的模塊,從而實(shí)現(xiàn)加速的效果
//?app?module?的?build.gradle?加入
apply?plugin:?'com.rocketx'
//?在根目錄的?build.gradle?加入
buildscript?{
????dependencies?{
????????classpath?'io.github.trycatchx:rocketx:1.0.17'
????}
}
依賴(lài)?AS?插件?android?studio?setting->plugins->?marketplace?搜索?RocketX?安裝

地址:https://github.com/trycatchx/RocketXPlugin
PHP 項(xiàng)目
24、codefever:由蒲公英團(tuán)隊(duì)開(kāi)源的代碼托管平臺(tái)。界面清爽后端采用 PHP 編寫(xiě),支持 Docker 一鍵部署
?? 完整開(kāi)源:毫無(wú)保留的完整開(kāi)源,無(wú)任何編譯或加密代碼 ?? 代碼對(duì)比:支持提交代碼的不同版本支持高亮顯示對(duì)比 ?????♀? 分支保護(hù):分支保護(hù)功能讓代碼提交安全可控,代碼 Review 更容易清晰 ?? 多人協(xié)作:支持多人團(tuán)隊(duì)協(xié)作,并可以設(shè)置每個(gè)成員的角色和權(quán)限 ?? Webhook:支持 Webhook 功能,可輕松和其它系統(tǒng)進(jìn)行集成

地址:https://github.com/PGYER/codefever
25、PrestaShop:PHP 寫(xiě)的開(kāi)源電商平臺(tái)。功能齊全、部署方便、適配移動(dòng)端。雖然前端支持高度自定義,但是現(xiàn)成的前端模版需要付費(fèi)

地址:https://github.com/PrestaShop/PrestaShop
Python 項(xiàng)目
26、Python:用 Python 實(shí)現(xiàn)所有算法。該項(xiàng)目是用 Python 語(yǔ)言實(shí)現(xiàn)各種算法的集合,主要用于教育和學(xué)習(xí)。包括搜索、排序、數(shù)據(jù)結(jié)構(gòu)、機(jī)器學(xué)習(xí)、密碼、神經(jīng)網(wǎng)絡(luò)等方面

地址:https://github.com/TheAlgorithms/Python
27、drf-yasg:為 Django Rest Framework 接口自動(dòng)生成 Swagger 接口文檔的庫(kù)

地址:https://github.com/axnsan12/drf-yasg
28、tstock:在命令行看股票走勢(shì)的工具

地址:https://github.com/Gbox4/tstock
29、python-mini-projects:一個(gè)簡(jiǎn)單的 Python 迷你腳本集合。雖然代碼簡(jiǎn)單但其中不乏實(shí)用的 Python 腳本,比如圖片添加水印、批量下載圖片、發(fā)送電子郵件、定時(shí)截屏等
地址:https://github.com/Python-World/python-mini-projects
Rust 項(xiàng)目
30、tui-rs:用來(lái)構(gòu)建豐富的終端用戶(hù)界面的庫(kù)

地址:https://github.com/fdehau/tui-rs
Swift 項(xiàng)目
31、vapor:流行的 Swift 語(yǔ)言 Web 框架。核心框架基于非阻塞事件驅(qū)動(dòng)庫(kù) SwiftNIO 構(gòu)建,除此之外還提供了 ORM、模版引擎、用戶(hù)身份驗(yàn)證等模塊,可用來(lái)快速創(chuàng)建網(wǎng)站、接口等服務(wù)
import?Vapor
?
let?app?=?try?Application(.detect())
defer?{?app.shutdown()?}
app.get("hello")?{?req?in
????return?"Hello,?world."
}
try?app.run()

地址:https://github.com/vapor/vapor
32、DevUtils-app:macOS 上的開(kāi)發(fā)者實(shí)用工具箱。單機(jī)應(yīng)用無(wú)需聯(lián)網(wǎng),內(nèi)含開(kāi)發(fā)者開(kāi)發(fā)時(shí)經(jīng)常用到的 30 多種工具,比如:URL 解碼、JSON 格式化、正則匹配、時(shí)間戳轉(zhuǎn)化等,而且還會(huì)根據(jù)剪貼板的內(nèi)容,自動(dòng)推薦對(duì)應(yīng)的處理工具,實(shí)用且高效

地址:https://github.com/DevUtilsApp/DevUtils-app
其它
33、svg-path-editor:在線 SVG 編輯器

地址:https://github.com/Yqnn/svg-path-editor
34、Arduino:開(kāi)源電子平臺(tái),可用來(lái)制作嵌入式項(xiàng)目。Arduino 提供的電路板安裝簡(jiǎn)單、價(jià)格便宜,而且電路圖完全開(kāi)源。官方還提供了配套的開(kāi)發(fā)工具,加上交互式的開(kāi)發(fā)模式使得上手變得極為簡(jiǎn)單。軟硬件的完全開(kāi)源讓開(kāi)發(fā)者社區(qū)十分活躍,為社區(qū)提供了豐富的教程、實(shí)戰(zhàn)項(xiàng)目、三方資源。如果你想動(dòng)手做個(gè)機(jī)器人,就從 Arduino 開(kāi)始吧!

地址:https://github.com/arduino/Arduino
35、macos-web:在線體驗(yàn) macOS 系統(tǒng)。該項(xiàng)目使用 Svelte 復(fù)刻了 macOS 操作系統(tǒng)的部分操作體驗(yàn),雖然已實(shí)現(xiàn)的功能較少,但更新積極未來(lái)可期

地址:https://github.com/PuruVJ/macos-web
36、resume:簡(jiǎn)歷模板。不需要懂 LaTeX 語(yǔ)法就可以用,適合用來(lái)做一頁(yè)紙簡(jiǎn)歷

地址:https://github.com/billryan/resume
37、teslamate:自建特斯拉的日志平臺(tái)。該項(xiàng)目可以將車(chē)主的特斯拉行駛數(shù)據(jù)收集、存儲(chǔ)、展示,而且方便地支持 Docker 部署

地址:https://github.com/adriankumpf/teslamate
38、HowToCook:程序員做飯指南。一份極其詳盡的菜譜,里面沒(méi)有模糊的量詞和看不懂的操作,菜品從主食到甜品應(yīng)有盡有
地址:https://github.com/Anduin2017/HowToCook
39、db-tutorial:一份關(guān)于數(shù)據(jù)庫(kù)的教程。內(nèi)容涵蓋了 MySQL、Redis、ES、MongoDB 從入門(mén)到面試等多方面的知識(shí)

地址:https://github.com/dunwu/db-tutorial
40、pushdeer:無(wú) APP 推送服務(wù)。該項(xiàng)目可以實(shí)現(xiàn)不安裝龐大的應(yīng)用,就可以收到自定義的及時(shí)推送、告警和通知。還可以選擇自行搭建服務(wù)(免費(fèi))或使用已有的在線服務(wù)(收費(fèi)),支持快應(yīng)用、iOS、macOS、Android 等客戶(hù)端

地址:https://github.com/easychen/pushdeer
機(jī)器學(xué)習(xí)
41、ColossalAI:高效的分布式人工智能訓(xùn)練系統(tǒng)。它能幫助用戶(hù)在提升人工智能訓(xùn)練效率的同時(shí)降低訓(xùn)練成本,從而適應(yīng)快速迭代的算法和模型,將 AI 大模型以低成本便捷推廣到更多應(yīng)用場(chǎng)景

地址:https://github.com/hpcaitech/ColossalAI
最后
感謝您的閱讀!看完還不過(guò)癮?
找開(kāi)源項(xiàng)目:?HelloGitHub?小程序
開(kāi)源項(xiàng)目安裝或運(yùn)行遇到問(wèn)題,就看這篇文章
以上就是本期的全部?jī)?nèi)容,如果覺(jué)得本期內(nèi)容還不錯(cuò)的話?求贊、求分享,您的支持讓?HelloGitHub 變得更好!??
?? 關(guān)注「HelloGitHub」收到第一時(shí)間的更新??
