這里有實(shí)戰(zhàn)項(xiàng)目、入門教程、黑科技、開源書籍、大廠開源項(xiàng)目等,涵蓋多種編程語言 Python、Java、Go、C/C++、Swift...讓你在短時(shí)間內(nèi)感受到開源的魅力,對編程產(chǎn)生興趣!
興趣是最好的老師, HelloGitHub 讓你對編程感興趣!
HelloGitHub 分享 GitHub 上有趣、入門級的開源項(xiàng)目。
這里有實(shí)戰(zhàn)項(xiàng)目、入門教程、黑科技、開源書籍、大廠開源項(xiàng)目等,涵蓋多種編程語言 Python、Java、Go、C/C++、Swift...讓你在短時(shí)間內(nèi)感受到開源的魅力,對編程產(chǎn)生興趣!
以下為本期內(nèi)容|每個月 28 號更新
1、 cmus :小巧的命令行音樂播放器。這是一個專為類 Unix 系統(tǒng)設(shè)計(jì)的輕量級命令行音樂播放器,可以播放本地的音樂文件。它簡單易用、占用資源少、啟動速度快,支持多種音頻格式。
2、 Remotery :輕量級的遠(yuǎn)程實(shí)時(shí) CPU/GPU 分析器。該項(xiàng)目是用于監(jiān)控 CPU 和 GPU 上多線程活動的工具。它提供了一個 C 文件,可輕松集成到項(xiàng)目中,并配備了一個實(shí)時(shí)監(jiān)控 Web 界面,可通過瀏覽器遠(yuǎn)程觀察和分析程序的性能。適用于監(jiān)控游戲的實(shí)時(shí)運(yùn)行性能和分析移動端應(yīng)用的性能等場景。
3、 RunCat_for_windows :在 Windows 任務(wù)欄飛奔的“小貓”。這是一個用 C# 寫的小工具,它會在 Windows 任務(wù)欄顯示一只奔跑的小貓動畫,CPU 使用率越高它跑得越快。
4、 caesium-image-compressor :免費(fèi)的圖片壓縮軟件。這是一款用 C++ 編寫的圖片壓縮工具,它擁有簡潔的中文界面,支持 JPG、PNG 和 WebP 格式的無損壓縮,同時(shí)配備了實(shí)時(shí)預(yù)覽和批量處理的功能。此外,還提供了 Windows、Linux 和 macOS 客戶端,以及無需安裝的 Web 版本。
5、 concurrentqueue :C++ 的高性能無鎖并發(fā)隊(duì)列。該項(xiàng)目是用 C++11 編寫的快速、無鎖、并發(fā)隊(duì)列,支持多個線程同時(shí)進(jìn)行生產(chǎn)者和消費(fèi)者操作。它具有無需使用鎖和單頭文件的特點(diǎn),適用于需要高性能并發(fā)處理的各種場景。
#include "concurrentqueue.h"
moodycamel::ConcurrentQueue q;
q.enqueue(25);
int item;
bool found = q.try_dequeue(item);
assert(found && item == 25);
6、 input-overlay :顯示用戶操作輸入的 OBS 直播插件。該項(xiàng)目是用來在直播中顯示鍵盤按鍵、鼠標(biāo)移動和游戲手柄按鈕的插件,適用于 Windows 和 Linux 上的 OBS 直播軟件,可用于游戲直播和教學(xué)演示等場景。
7、 fscan :開源的內(nèi)網(wǎng)安全掃描工具。該項(xiàng)目是用 Go 語言開發(fā)的內(nèi)網(wǎng)掃描工具,提供了一鍵自動化全方位的漏洞掃描。它使用方便、功能全面,支持端口掃描、常見的服務(wù)器爆破、Web 應(yīng)用漏洞掃描、NetBIOS 嗅探等功能。
8、 go-humanize :讓數(shù)字和時(shí)間更容易理解的 Go 語言庫。這是一個提供人性化數(shù)字和時(shí)間的 Go 語言庫,它通過提供格式化函數(shù),幫助開發(fā)者將大小和時(shí)間等數(shù)字轉(zhuǎn)化為更易于人類理解的形式,比如文件大小、相對時(shí)間、逗號分隔的數(shù)字、序數(shù)詞等。來自 @DeShuiYu 的分享
fmt.Printf("That file is %s.", humanize.Bytes(82854982)) // That file is 83 MB.
fmt.Printf("This was touched %s.", humanize.Time(someTimeInstance)) // This was touched 7 hours ago.
9、 mactop :專為蘋果芯片打造的 Mac 性能監(jiān)控工具。該項(xiàng)目用不到 1k 行的 Go 代碼,實(shí)現(xiàn)了一個類似 top 命令的工具。它可以實(shí)時(shí)顯示 Apple M 系列芯片的性能指標(biāo),包括 CPU、GPU 使用率、內(nèi)存、網(wǎng)絡(luò)和硬盤等信息。
10、 micro :現(xiàn)代化的終端文本編輯器。這個項(xiàng)目是用 Go 寫的基于終端的文本編輯器,可作為 Nano 的替代品。它下載即用、無需配置、跨平臺,支持多光標(biāo)編輯、語法高亮、鼠標(biāo)、插件擴(kuò)展等功能,特別適合在 SSH 遠(yuǎn)程連接服務(wù)器時(shí)進(jìn)行文本編輯工作。
11、 superfile :非常漂亮的終端文件管理器。這是一個現(xiàn)代終端文件管理器,為命令行文件操作提供了一個直觀且漂亮的界面。它默認(rèn)采用 Vim 風(fēng)格的快捷鍵操作,還支持插件和主題自定義。
12、 Acode :Android 手機(jī)上的代碼編輯器。這是一款專為 Android 設(shè)備設(shè)計(jì)的代碼編輯工具,它是輕量級的 Web IDE,具有即時(shí)預(yù)覽、控制臺和豐富的插件等特點(diǎn),支持 HTML、Python、Java、JavaScript 等多種編程語言。來自 @蝦華 的分享
13、 blossom :私有部署的云端雙鏈筆記軟件。這是一個支持私有部署的云端存儲雙鏈筆記軟件,可以將你的所有筆記、圖片、個人計(jì)劃安排保存在私有服務(wù)器上,并實(shí)現(xiàn)跨設(shè)備的實(shí)時(shí)同步。它提供 Markdown 編輯、雙鏈筆記、全量備份、網(wǎng)頁轉(zhuǎn)換、多賬號權(quán)限和統(tǒng)計(jì)等功能,兼容 Windows、macOS 和網(wǎng)頁客戶端。來自 @獵隼丶止戈reNo7 的分享
14、 JSqlParser :解析 SQL 語句的 Java 庫。該項(xiàng)目可以讀取 SQL 語句,并分解成結(jié)構(gòu)化的 Java 對象,實(shí)現(xiàn)用 Java 代碼解析或動態(tài)生成 SQL 語句,支持 SQL 標(biāo)準(zhǔn)和主流的關(guān)系型數(shù)據(jù)庫。
String sqlStr = "select 1 from dual where a=b";
PlainSelect select = (PlainSelect) CCJSqlParserUtil.parse(sqlStr);
SelectItem selectItem =
select.getSelectItems().get(0);
Assertions.assertEquals(
new LongValue(1)
, selectItem.getExpression());
Table table = (Table) select.getFromItem();
Assertions.assertEquals("dual", table.getName());
EqualsTo equalsTo = (EqualsTo) select.getWhere();
Column a = (Column) equalsTo.getLeftExpression();
Column b = (Column) equalsTo.getRightExpression();
Assertions.assertEquals("a", a.getColumnName());
Assertions.assertEquals("b", b.getColumnName());
}
15、 odc :企業(yè)級數(shù)據(jù)庫協(xié)同開發(fā)平臺。該項(xiàng)目是提供數(shù)據(jù)庫協(xié)同開發(fā)和數(shù)據(jù)管理的平臺,專為提升 SQL 開發(fā)效率而設(shè)計(jì)。它基于 Spring Boot 和 Electron 構(gòu)建,提供了 Web 和桌面客戶端,支持 SQL 規(guī)范檢查、變更回滾、數(shù)據(jù)生命周期管理、數(shù)據(jù)脫敏和操作審計(jì)等功能,兼容 OceanBase、Oracle、MySQL 和 Doris 等多種數(shù)據(jù)源。來自 @XiaoYangGzeyP 的分享
16、 papermark :開源的文件分享平臺。該項(xiàng)目作為 DocSend 服務(wù)的開源替代方案,提供了自托管、簡單易用的文檔分享功能。它采用 Next.js+Tailwind CSS 構(gòu)建,用戶僅需上傳文檔,就能獲得一個可在線訪問文件內(nèi)容的地址,并支持自定義域名和訪問數(shù)據(jù)追蹤等功能。
17、 plane :開源的項(xiàng)目管理和問題跟蹤平臺。該項(xiàng)目是開源的項(xiàng)目管理系統(tǒng),旨在簡化團(tuán)隊(duì)的項(xiàng)目管理流程。它易于使用、可自托管,支持問題跟蹤、周期管理、項(xiàng)目分解和分析統(tǒng)計(jì)等功能,可作為 JIRA 的替代品。
18、 swr :用于數(shù)據(jù)請求的 React Hooks 庫。該項(xiàng)目是幫助開發(fā)者簡化數(shù)據(jù)請求邏輯的 React 庫,支持自動處理數(shù)據(jù)的緩存、重驗(yàn)證、錯誤重試等多種功能,比如當(dāng)用戶重新點(diǎn)擊/回到頁面時(shí),自動請求接口獲取最新數(shù)據(jù)。
import useSWR from 'swr'
function Profile() {
const { data, error, isLoading } = useSWR('/api/user', fetcher)
if (error) return failed to load
if (isLoading) return loading...
return hello {data.name}!
}
19、 undraw-ui :基于 Vue 3 的評論組件。這是一個基于 Vue 3 的 UI 組件,提供了評論、內(nèi)容折疊、回復(fù)、表情等功能,以及目錄、搜索等組件。來自 @Mr.King 的分享
20、 uppy :易于集成的 JavaScript 文件上傳組件。這是一個輕量級的 JavaScript 文件上傳組件,它提供了一個美觀的用戶界面,支持從多個源導(dǎo)入文件、斷點(diǎn)續(xù)傳、國際化,以及預(yù)覽、編輯和多文件上傳的功能。
import React, { useEffect } from 'react'
import Uppy from '@uppy/core'
import Webcam from '@uppy/webcam'
import { Dashboard } from '@uppy/react'
const uppy = new Uppy().use(Webcam)
function Component () {
return
}
21、 Lemuroid :Android 設(shè)備上的全能游戲模擬器。這款基于 Libretro 的多合一游戲模擬器,能夠讓你在 Android 設(shè)備上玩各種懷舊游戲。它提供了即時(shí)存檔、本地多人游戲和自定義按鍵等功能,支持模擬 NES、GBA、3DS、PSP 等多種游戲機(jī)。
22、 buku :強(qiáng)大的瀏覽器書簽管理工具。這是一款開源的書簽命令行管理工具,它輕量、隱私安全且易于使用,支持從主流瀏覽器導(dǎo)入書簽、自動獲取書簽信息、跨平臺同步和強(qiáng)大的搜索功能。
23、 flagsmith :輕松管理功能開關(guān)和配置的平臺。這是一個開源、功能齊全的特征標(biāo)志(Feature flag)和遠(yuǎn)程配置平臺,專為中小型團(tuán)隊(duì)設(shè)計(jì)。它是基于 Django REST framework 構(gòu)建的 Web 應(yīng)用,用于管理應(yīng)用功能的開關(guān)和遠(yuǎn)程配置,支持 A/B 測試、多變量測試和組織管理等功能,適用于逐步推出新功能、進(jìn)行市場測試、環(huán)境管理等場景。
24、 marimo :創(chuàng)新的響應(yīng)式 Python 筆記本。該項(xiàng)目是專為 Python 設(shè)計(jì)的響應(yīng)式筆記本(notebook),即在與 UI 交互時(shí)自動執(zhí)行并更新所依賴的代碼單元格,從而保證代碼和輸出的一致性。它以純 Python 文件的形式存儲,便于管理和運(yùn)行,支持作為腳本執(zhí)行或部署為可交互的 Web 應(yīng)用。
25、 umap :高維數(shù)據(jù)降維的 Python 庫。該項(xiàng)目是用于將高維數(shù)據(jù)映射到低維空間的 Python 庫,幫助研究人員理解復(fù)雜數(shù)據(jù)集。與 t-SNE 相比,它在保持?jǐn)?shù)據(jù)全局結(jié)構(gòu)方面更加出色,能夠高效地執(zhí)行高維到低維的映射,適用于數(shù)據(jù)可視化、特征提取和聚類分析等多種場景。來自 @DeShuiYu 的分享
import umap
from sklearn.datasets import load_digits
digits = load_digits()
mapper = umap.UMAP().fit(digits.data)
umap.plot(mapper, labels=digits.target)
26、 Windrecorder :你的個人屏幕記憶搜索工具。該項(xiàng)目是專為 Windows 設(shè)計(jì)的屏幕記錄工具,并提供搜索和回放功能。它會持續(xù)錄制屏幕內(nèi)容,同時(shí)保證數(shù)據(jù)安全(不上傳、不聯(lián)網(wǎng)),利用 OCR 和圖片識別技術(shù),讓用戶可以輕松搜索和回看屏幕活動歷史。
27、 bacon :后臺運(yùn)行的 Rust 代碼檢查工具。這是一個專為 Rust 語言設(shè)計(jì)的后臺代碼檢查工具,它可以在后臺運(yùn)行,并即時(shí)地向開發(fā)者提供關(guān)于 Rust 代碼的警告、錯誤和測試失敗的反饋,讓開發(fā)者專注于編寫代碼,而不是頻繁地手動運(yùn)行檢查命令。來自 @DeShuiYu 的分享
28、 bandwhich :查看帶寬使用情況的命令行工具。這是一個開源的命令行網(wǎng)絡(luò)帶寬監(jiān)控工具,它可以實(shí)時(shí)顯示網(wǎng)絡(luò)使用情況,包括進(jìn)程、連接和遠(yuǎn)程地址等信息。
29、 rust-by-practice :Rust 語言實(shí)戰(zhàn)。該項(xiàng)目提供了大量的 Rust 實(shí)戰(zhàn)練習(xí),來幫助 Rust 新手學(xué)習(xí)和上手 Rust 語言。這里除了有大量的練習(xí)題和答案,還支持在線編輯和運(yùn)行 Rust 代碼。
30、 MacSymbolicator :符號化 macOS/iOS 崩潰報(bào)告的工具。這是一個簡單的 Mac 應(yīng)用,它能夠?qū)?macOS/iOS 崩潰報(bào)告中的十六進(jìn)制地址,轉(zhuǎn)換為源碼中的函數(shù)和行號,幫助開發(fā)者分析應(yīng)用的崩潰原因,支持 crash 和 ips 格式的崩潰報(bào)告。
31、 cloudflare_temp_email :免費(fèi)搭建臨時(shí)郵箱服務(wù)。該項(xiàng)目通過 CloudFlare 的免費(fèi)服務(wù),提供一個功能完備的臨時(shí)郵箱服務(wù),支持收發(fā)郵件、訪問密碼、自動回復(fù)、查看附件等功能。來自 @Dream Hunter 的分享
32、 docs-linux-kernel-labs-zh-cn :Linux 內(nèi)核實(shí)驗(yàn)。該項(xiàng)目是布加勒斯特理工大學(xué)的《Linux 內(nèi)核教學(xué)》課程的中文翻譯版,適合對 Linux 內(nèi)核感興趣的程序員學(xué)習(xí)。課程內(nèi)容分為課程和實(shí)驗(yàn)兩部分,其中實(shí)驗(yàn)是在基于 QEMU 的虛擬機(jī)中進(jìn)行,親身體驗(yàn) Linux 內(nèi)核的開發(fā)、構(gòu)建、部署及執(zhí)行過程。
33、 LapisCV :開箱即用的簡歷模板。該項(xiàng)目提供了適用于 Obsidian 和 Typora 的簡歷模板,它基于 Markdown 格式、編輯方便、所見即所得,設(shè)計(jì)簡潔且正式,借助編輯器可直接導(dǎo)出 PDF 格式的簡歷。
34、 OV-Watch :低成本的開源智能手表。這是一個制作成本僅需 80 元的智能手表項(xiàng)目,它不僅提供了基本的手表功能,還支持睡眠模式、藍(lán)牙、計(jì)步、卡包、指南針和心率測量等功能。
35、 phonedata :手機(jī)號碼歸屬地信息庫。該項(xiàng)目整理了超過 40 多萬條中國手機(jī)號段和歸屬地信息,數(shù)據(jù)均來自網(wǎng)上的公開數(shù)據(jù)。
36、 LLMBook-zh.github.io :《大語言模型》。這是一本為想入門大模型技術(shù)的程序員/學(xué)生準(zhǔn)備的開源書籍,內(nèi)容不僅涵蓋了大模型的基礎(chǔ)原理和關(guān)鍵技術(shù),還提供了配套的代碼工具庫和大模型,幫助讀者快速入門并實(shí)踐。
37、 raytracing.github.io :《Ray Tracing in One Weekend》系列書籍。這是一套光線追蹤技術(shù)的入門書籍,教你用 C++ 實(shí)現(xiàn)一個光線追蹤器。光線追蹤(Ray Tracing)是一種計(jì)算機(jī)圖形學(xué)中的渲染技術(shù),能夠通過模擬光線在虛擬場景中的傳播,生成出栩栩如生的真實(shí)感圖像。
38、 facefusion :開源的 AI 換臉和增強(qiáng)工具。這是一款功能強(qiáng)大的人臉交換和增強(qiáng)工具,支持將圖片/視頻中的人臉替換成另一個人的臉、改善人臉和背景清晰度等功能,還提供了友好的 Web 界面(WebUI)和低門檻的 CPU 處理選項(xiàng)。
39、 litellm :簡化大模型 API 調(diào)用的工具。該項(xiàng)目能夠?qū)⒏鞣N AI 大模型和服務(wù)的接口,統(tǒng)一轉(zhuǎn)換成 OpenAI 的格式,簡化了在不同 AI 服務(wù)/大模型切換和管理的工作。此外,它還支持設(shè)置預(yù)算、限制請求頻率、管理 API Key 和配置 OpenAI 代理服務(wù)器等功能。
from litellm import completion
import os
## set ENV variables
os.environ["OPENAI_API_KEY"] = "your-openai-key"
os.environ["COHERE_API_KEY"] = "your-cohere-key"
messages = [{ "content": "Hello, how are you?","role": "user"}]
# openai call
response = completion(model="gpt-3.5-turbo", messages=messages)
# cohere call
response = completion(model="command-nightly", messages=messages)
print(response)
40、 llama3-from-scratch :從頭開始實(shí)現(xiàn) Llama 3 的教程。該項(xiàng)目通過逐層構(gòu)建 Llama 3 的方式,幫助人們深入理解 LLM 是如何工作的。作者使用 PyTorch 框架,實(shí)現(xiàn)了加載模型權(quán)重、文本的分詞處理、模型配置以及逐層實(shí)現(xiàn) Transformer 模型中的關(guān)鍵組件。
感謝參與分?享開源項(xiàng)目的小伙伴們,歡迎更多的開源愛好者來 HelloGitHub 自薦/推薦開源項(xiàng)目。如果你發(fā)現(xiàn)了 GitHub 上有趣的項(xiàng)目,就 點(diǎn)擊這里 分享給大家伙吧!
本期有你感興趣的開源項(xiàng)目嗎?如果有的話就留言告訴我吧~如果還沒看過癮,可以 點(diǎn)擊閱讀 往期內(nèi)容。
感謝您的閱讀,如果覺得本期內(nèi)容還不錯的話 求贊、求分享 ??
機(jī)器學(xué)習(xí):神經(jīng)網(wǎng)絡(luò)構(gòu)建(下)
閱讀華為Mate品牌盛典:HarmonyOS NEXT加持下游戲性能得到充分釋放
閱讀實(shí)現(xiàn)對象集合與DataTable的相互轉(zhuǎn)換
閱讀鴻蒙NEXT元服務(wù):論如何免費(fèi)快速上架作品
閱讀算法與數(shù)據(jù)結(jié)構(gòu) 1 - 模擬
閱讀5. Spring Cloud OpenFeign 聲明式 WebService 客戶端的超詳細(xì)使用
閱讀Java代理模式:靜態(tài)代理和動態(tài)代理的對比分析
閱讀Win11筆記本“自動管理應(yīng)用的顏色”顯示規(guī)則
閱讀本站所有軟件,都由網(wǎng)友上傳,如有侵犯你的版權(quán),請發(fā)郵件[email protected]
湘ICP備2022002427號-10 湘公網(wǎng)安備:43070202000427號© 2013~2025 haote.com 好特網(wǎng)