《HelloGitHub》第 93 期
興趣是最好的老師,HelloGitHub 讓你對(duì)編程感興趣!
簡介
HelloGitHub 分享 GitHub 上有趣、入門級(jí)的開源項(xiàng)目。
https://github.com/521xueweihan/HelloGitHub
這里有實(shí)戰(zhàn)項(xiàng)目、入門教程、黑科技、開源書籍、大廠開源項(xiàng)目等,涵蓋多種編程語言 Python、Java、Go、C/C++、Swift...讓你在短時(shí)間內(nèi)感受到開源的魅力,對(duì)編程產(chǎn)生興趣!
以下為本期內(nèi)容|每個(gè)月 28 號(hào)更新
C 項(xiàng)目
1、rsync:Linux 遠(yuǎn)程同步文件的工具。該項(xiàng)目提供了一種快速、增量的文件傳輸方式,即僅傳輸有變動(dòng)的部分,可用于遠(yuǎn)程同步和備份文件。
C# 項(xiàng)目
2、Kavita:一款功能豐富的在線閱讀平臺(tái)。該項(xiàng)目可以在本地架設(shè)一個(gè)閱讀漫畫和電子書的 Web 平臺(tái),在手機(jī)、平板、臺(tái)式機(jī)等設(shè)備上都有著出色的訪問體驗(yàn)。
3、LittleBigMouse:Windows 多顯示器鼠標(biāo)平滑移動(dòng)的工具。在 Windows 多顯示器、分辨率不一致的情況下,鼠標(biāo)在屏幕間移動(dòng)會(huì)出現(xiàn)跳躍,比如外接了一臺(tái) 4k 屏幕的和一臺(tái) 2k 的屏幕,從 4k 屏幕中間挪到 2k 屏幕,鼠標(biāo)就出現(xiàn)在底部了。該項(xiàng)目可以完美解決這個(gè)鼠標(biāo)跳躍的問題,實(shí)現(xiàn) Windows 多顯示器鼠標(biāo)平滑移動(dòng)。來自 @Wu Zheng 的分享
C++ 項(xiàng)目
4、Modern-CPP-Programming:現(xiàn)代 C++ 編程課程。該教程面向有一定編程基礎(chǔ)的人,內(nèi)容涵蓋 C++ 編程的基礎(chǔ)知識(shí)、高級(jí) C++ 語義和概念。
5、WechatExporter:微信聊天記錄遷移和備份工具。這是一個(gè)用于導(dǎo)出微信聊天記錄的工具,支持以 HTML、PDF 或文本格式保存聊天內(nèi)容,適用于 Windows 和 macOS 系統(tǒng)。
Go 項(xiàng)目
6、mailpit:帶 API 的電子郵件測試工具。這是一個(gè)小型、快速、多平臺(tái)的電子郵件測試工具,它可以充當(dāng)一個(gè) SMTP 服務(wù)器,自帶 Web 界面,支持模擬電子郵件接收、切換不同設(shè)備查看郵件等功能,還提供了可用于自動(dòng)集成測試的接口。
7、muffet:Go 寫的網(wǎng)站鏈接檢查工具。該項(xiàng)目通過多線程和遞歸的方式,檢查目標(biāo)網(wǎng)站中所有頁面的鏈接。它使用簡單、速度快,支持 a、img、link、script 等多種標(biāo)簽。
8、one-api:OpenAI 接口管理和分發(fā)系統(tǒng)。該項(xiàng)目集成了各種大模型,并統(tǒng)一轉(zhuǎn)化成了類似 OpenAI 接口的服務(wù)。它開箱即用、單文件,支持負(fù)載均衡、令牌管理、兌換碼、用戶分組、查看額度、邀請(qǐng)獎(jiǎng)勵(lì)等功能,可用于自建 ChatGPT 服務(wù)。
9、zen:一款適用于 PC 的廣告攔截器。該項(xiàng)目是采用 Go 語言 Wails 框架寫的能夠屏蔽各種廣告的桌面工具。它的工作原理是設(shè)置一個(gè)代理,攔截所有應(yīng)用的 HTTP 請(qǐng)求,從而阻止廣告和跟蹤行為的請(qǐng)求,支持 Windows、macOS 和 Linux 操作系統(tǒng)。
Java 項(xiàng)目
10、sensitive-word:用于過濾敏感詞的 Java 庫。該項(xiàng)目是基于 DFA 算法實(shí)現(xiàn)的高性能敏感詞過濾工具,詞庫收錄了 6w+ 內(nèi)容,支持自定義敏感詞、白名單、替換策略、數(shù)字常見形式的互換、忽略重復(fù)詞等功能。
11、SMS4J:Java 的短信服務(wù)聚合框架。該項(xiàng)目集成了國內(nèi)眾多第三方短信服務(wù),簡化了接入多個(gè)短信 SDK 的流程,僅通過修改配置文件,就能輕松實(shí)現(xiàn)發(fā)送短信的功能。來自 @ヽ米 飯 的分享
@RestController
@RequestMapping("/test/")
public class DemoController {
// 測試發(fā)送固定模板短信
@RequestMapping("/")
public void doLogin(String username, String password) {
//阿里云向此手機(jī)號(hào)發(fā)送短信
SmsFactory.createSmsBlend(SupplierType.ALIBABA).sendMessage("18888888888","123456");
//華為短信向此手機(jī)號(hào)發(fā)送短信
SmsFactory.createSmsBlend(SupplierType.HUAWEI).sendMessage("16666666666","000000");
}
}
JavaScript 項(xiàng)目
12、daedalOS:跑在瀏覽器里的桌面環(huán)境。該項(xiàng)目是用 JavaScript 寫的運(yùn)行在瀏覽器中的仿 Windows 桌面操作系統(tǒng),支持開始菜單、動(dòng)態(tài)壁紙、命令行終端、視頻播放器、3D 彈球、Markdown 查看器、瀏覽器等功能。
13、miniPaint:免費(fèi)的在線圖片編輯器。該項(xiàng)目無需安裝、可直接在瀏覽器中運(yùn)行,支持創(chuàng)建/編輯圖像、圖層、濾鏡、馬賽克、繪圖工具等功能。
14、multipleWindow3dScene:炫酷的前端量子糾纏效果。量子糾纏是一種量子力學(xué)現(xiàn)象,即兩個(gè)或多個(gè)量子不論相距多遠(yuǎn)都存在一種關(guān)聯(lián)。該項(xiàng)目通過使用 Three.js 和 localStorage 跨多個(gè)瀏覽器窗口,展示了這一量子力學(xué)現(xiàn)象。來自 @YJLTF 的分享
15、omnivore:一款免費(fèi)、多端的稍后閱讀工具。該項(xiàng)目采用 TypeScript + Next.js 構(gòu)建而成,支持保存文章、電子郵件、文檔和同步 Obsidian 等個(gè)人知識(shí)管理系統(tǒng)的內(nèi)容,以便日后閱讀。而且還提供了 iOS、Android 客戶端和瀏覽器插件,方便隨時(shí)隨地閱讀。
16、vue-naive-admin:一款極簡風(fēng)格的 Vue 管理后臺(tái)。這是一個(gè)開源、免費(fèi)、可商用的后臺(tái)管理模板,基于 Vue3、Vite4、Pinia、Unocss 和 Naive UI 等前端最新技術(shù)棧。它簡潔、輕量、風(fēng)格清新,上手成本低,適合中小型項(xiàng)目或者個(gè)人項(xiàng)目。來自 @Ronnie Zhang 的分享
Kotlin 項(xiàng)目
17、Calendar:適用于 Android 的高度可定制的日歷庫。這是一個(gè)用于開發(fā) Android 日歷應(yīng)用的庫,內(nèi)含示例應(yīng)用。提供了周或月模式顯示、邊界日期、水平或垂直滾動(dòng)等功能,可以隨心所欲地設(shè)計(jì)日歷。
PHP 項(xiàng)目
18、BookStack:一個(gè)簡單、開箱即用的 wiki 平臺(tái)。該項(xiàng)目是基于 PHP 和 Laravel 的 wiki 平臺(tái),擁有搜索、Markdown 編輯器、繪圖、多語言、身份驗(yàn)證等功能。
Python 項(xiàng)目
19、django-tailwind:Django 集成 Tailwind CSS 的庫。該項(xiàng)目可以讓你在 Django 項(xiàng)目中輕松地使用 Tailwind CSS 框架,內(nèi)含 Tailwind CSS 官方的排版、表單、line-clamp 等插件。
20、frigate:一款圍繞實(shí)時(shí) AI 對(duì)象檢測構(gòu)建的開源 NVR。該項(xiàng)目基于 OpenCV 和 Tensorflow 實(shí)現(xiàn)在本地為 IP Camera 提供實(shí)時(shí)目標(biāo)檢測和安全報(bào)警等功能,還支持根據(jù)設(shè)定的規(guī)則,保留檢測到物體的視頻。
21、sqlglot:一個(gè)非常全面的 SQL 解析器。該項(xiàng)目是用 Python 寫的 SQL 解析器、轉(zhuǎn)譯器和優(yōu)化器,它可以格式化 SQL 以及支持在 20 種不同方言和 SQL 之間進(jìn)行轉(zhuǎn)化,可用來自定義解析器、分析查詢,用編程方式構(gòu)建 SQL。
import sqlglot
# SQL 轉(zhuǎn) Spark
sql = """WITH baz AS (SELECT a, c FROM foo WHERE a = 1) SELECT f.a, b.b, baz.c, CAST("b"."a" AS REAL) d FROM foo f JOIN bar b ON f.a = b.a LEFT JOIN baz ON f.a = baz.a"""
print(transpile(sql, write="spark", identify=True, pretty=True)[0])
22、tablib:輕松處理表格數(shù)據(jù)集的 Python 庫。該項(xiàng)目能夠?qū)⒉煌袷降谋砀駭?shù)據(jù)集,轉(zhuǎn)化成統(tǒng)一的 Dataset 對(duì)象。它提供了動(dòng)態(tài)列、標(biāo)簽、過濾等功能,支持 csv、df、json、yaml、xls 等格式的數(shù)據(jù)。
import tablib
data = tablib.Dataset(headers=['First Name', 'Last Name', 'Age'])
for i in [('Kenneth', 'Reitz', 22), ('Bessie', 'Monke', 21)]:
data.append(i)
# 將數(shù)據(jù)輸出成 json 格式
print(data.export('json'))
# [{"Last Name": "Reitz", "First Name": "Kenneth", "Age": 22}, {"Last Name": "Monke", "First Name": "Bessie", "Age": 21}]
# df 對(duì)象
data.export('df')
# First Name Last Name Age
# 0 Kenneth Reitz 22
# 1 Bessie Monke 21
23、talebook:一款簡單好用的在線個(gè)人書庫。該項(xiàng)目是基于 Calibre 的個(gè)人圖書管理系統(tǒng),后端是 Python 的 Tornado Web 框架,前端采用 Vue.js 構(gòu)建。它不僅擁有美觀的界面而且安裝簡單,支持在線閱讀、導(dǎo)入書籍、推送到 Kindle、私人模式等功能。
Rust 項(xiàng)目
24、sshx:基于 Web 的安全終端協(xié)作工具。該項(xiàng)目只需一條命令,即可與多人共享終端。支持實(shí)時(shí)多人協(xié)作、多窗口、遠(yuǎn)程光標(biāo)、在線聊天、自動(dòng)重連等功能,可用于教學(xué)和遠(yuǎn)程調(diào)試。來自 @獵隼丶止戈reNo7 的分享
25、tailspin:一款實(shí)用的日志高亮命令行工具。該項(xiàng)目是 Rust 寫的命令行查看日志的工具,它無需配置開箱即用,通過高亮的形式,突出顯示數(shù)字、日期、IP、URL 等內(nèi)容,讓重要的信息一目了然。
26、Weylus:將平板用作計(jì)算機(jī)上的輸入板/觸摸屏。通過該項(xiàng)目可以將平板設(shè)備,作為電腦的外接屏幕、觸控板、鍵盤,適用于 Windows、Linux 和 macOS 系統(tǒng)。
Swift 項(xiàng)目
27、visionOS_30Days:挑戰(zhàn) 30 天上手蘋果 visionOS 開發(fā)。visionOS 是運(yùn)行在蘋果的混合實(shí)境頭戴式設(shè)備 Apple Vision Pro 上的操作系統(tǒng),該項(xiàng)目提供了 30 個(gè) visionOS 開發(fā)的示例代碼。
其它
28、dbgate:(no)SQL 數(shù)據(jù)庫桌面管理工具。該項(xiàng)目支持包括 MySQL、PostgreSQL、SQL Server、MongoDB、SQLite、Redis 等多種數(shù)據(jù)庫,適用于 Windows、Linux、macOS 系統(tǒng)。
29、Detect-It-Easy:用于查看文件類型的工具。該項(xiàng)目可以快速檢測二進(jìn)制文件的文件類型、體系結(jié)構(gòu)和編譯器信息,支持識(shí)別多種文件格式,有助于進(jìn)行逆向工程和安全分析,適用于 Windows、Linux、macOS 系統(tǒng)。
30、github-chinese:GitHub 網(wǎng)站漢化插件。該項(xiàng)目可以將 GitHub 網(wǎng)站的菜單欄、標(biāo)題、按鈕等公共組件,自動(dòng)翻譯成中文,適合剛接觸 GitHub 的小白使用。來自 @wuyuncheng-26 的分享
31、HumanSystemOptimization:人體系統(tǒng)調(diào)優(yōu)不完全指南。這是一份幫助改善人體健康狀態(tài)的指南,篇幅較長。盡量做到保持睡眠時(shí)長與質(zhì)量、不要吸煙、每天做點(diǎn)運(yùn)動(dòng)、減少糖分的攝入,就能擁有不錯(cuò)的健康狀態(tài)。
32、wondershaper:Linux 限制網(wǎng)絡(luò)帶寬的工具。該項(xiàng)目通過使用 iproute 的 tc 命令,實(shí)現(xiàn)了對(duì) Linux 網(wǎng)絡(luò)帶寬限速的功能,支持多網(wǎng)卡、限制最大上傳/下載速率。
開源書籍
33、Node.js-Troubleshooting-Guide:Node.js 應(yīng)用故障排查手冊(cè)。該手冊(cè)主要是幫助 Node.js 開發(fā)者,應(yīng)對(duì)開發(fā)和線上部署中遇到的問題,比如定位故障、壓測和性能調(diào)優(yōu)等。
34、pml-book:《概率機(jī)器學(xué)習(xí)》。該項(xiàng)目包含凱文·墨菲的三本書籍,分別為《機(jī)器學(xué)習(xí):概率視角》、《概率機(jī)器學(xué)習(xí):簡介》、《概率機(jī)器學(xué)習(xí):高級(jí)》,內(nèi)容涵蓋了基礎(chǔ)理論和前沿研究,圖文并茂并配有示例和練習(xí)。來自 @Xuefeng Xu 的分享
機(jī)器學(xué)習(xí)
35、backgroundremover:一條命令自動(dòng)移除圖像背景。該項(xiàng)目通過 AI 技術(shù),可自動(dòng)移除圖片和視頻中的背景。
36、machine-learning-roadmap:機(jī)器學(xué)習(xí)路線圖。這份機(jī)器學(xué)習(xí)思維導(dǎo)圖,包含了機(jī)器學(xué)習(xí)相關(guān)的問題、學(xué)習(xí)步驟、工具、底層數(shù)學(xué)知識(shí)、教程資源等,為如何學(xué)習(xí)機(jī)器學(xué)習(xí)指出方向。
37、PokemonRedExperiments:通過強(qiáng)化學(xué)習(xí)訓(xùn)練 AI 玩 Pokemon。該項(xiàng)目使用 Python + RL 從零訓(xùn)練了一個(gè)玩「寶可夢紅」的 AI,同時(shí)作者還提供了配套的講解視頻,以及如何在本地運(yùn)行和自定義訓(xùn)練的教程,快來上手試試吧!來自 @老荀 的分享
38、supervision:計(jì)算機(jī)視覺 AI 工具庫。該項(xiàng)目簡化了對(duì)象檢測、分類、標(biāo)注、跟蹤等計(jì)算機(jī)視覺的開發(fā)流程。開發(fā)者僅需加載數(shù)據(jù)集和模型,就能輕松實(shí)現(xiàn)對(duì)圖像和視頻進(jìn)行檢測、統(tǒng)計(jì)某區(qū)域的被檢測數(shù)量等操作。
import cv2
import supervision as sv
from ultralytics import YOLO
image = cv2.imread(...)
model = YOLO('yolov8s.pt')
result = model(image)[0]
detections = sv.Detections.from_ultralytics(result)
print(len(detections))
# 5
最后
感謝參與分?享開源項(xiàng)目的小伙伴們,歡迎更多的開源愛好者來 HelloGitHub 自薦/推薦開源項(xiàng)目。如果你發(fā)現(xiàn)了 GitHub 上有趣的項(xiàng)目,就點(diǎn)擊這里分享給大家伙吧!
本期有你感興趣的開源項(xiàng)目嗎?如果有的話就留言告訴我吧~如果還沒看過癮,可以點(diǎn)擊閱讀往期內(nèi)容。
那么,下個(gè)月 28 號(hào) 不見不散,完結(jié)撒花??
總結(jié)
以上是生活随笔為你收集整理的《HelloGitHub》第 93 期的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 雅玛人预言!(玛雅人五大预言实现了四个)
- 下一篇: TiDB故障处理之让人迷惑的Region