《HelloGitHub》第 96 期

興趣是最好的老師,HelloGitHub 讓你對編程感興趣!

簡介

HelloGitHub 分享 GitHub 上有趣、入門級的開源項目。

https://github.com/521xueweihan/HelloGitHub

這裏有實戰項目、入門教程、黑科技、開源書籍、大廠開源項目等,涵蓋多種編程語言 Python、Java、Go、C/C++、Swift...讓你在短時間內感受到開源的魅力,對編程產生興趣!


以下爲本期內容|每個月 28 號更新

C 項目

1、cosmopolitan:讓 C 成爲構建一次,可隨處運行的語言。這個工具可以將 C 語言編寫的程序,編譯成可無縫運行在多種操作系統上的可執行文件。它採用自包含式二進制文件的設計,能夠將程序所有依賴打包進可執行文件中,實現真正的跨平臺運行,支持 Windows、macOS 和 Linux 等主流操作系統。

// 編譯
cosmocc -o hello hello.c
// 運行
./hello
// 調試
./hello --strace
./hello --ftrace

2、linenoise:一個 C 語言寫的命令行編輯庫。該項目是 Redis 作者用 C 語言實現的用於提升命令行交互體驗的單文件庫,整體代碼大約 800 多行,輕量且易上手,提供了單/多行編輯模式、左右移動光標、上下回滾輸入歷史記錄、命令補全等功能。來自 @9Ajiang 的分享

3、xxHash:超快的非加密哈希算法。哈希算法是一種將任意長度的輸入數據轉換爲固定長度輸出哈希值的算法。xxHash 是一種專爲快速計算大型數據集哈希值而設計的非加密哈希算法。它具有出色的速度、零依賴和優秀的分佈特性,支持流式計算模式和多種編程語言實現,適用於對計算性能要求很高的數據完整性檢查、數據流分析、鍵值對檢索等場景。

#include <string.h>
#include "xxhash.h"
 
// Example for a function which hashes a null terminated string with XXH32().
XXH32_hash_t hash_string(const char* string, XXH32_hash_t seed)
{
    // NULL pointers are only valid if the length is zero
    size_t length = (string == NULL) ? 0 : strlen(string);
    return XXH32(string, length, seed);
}

C# 項目

4、reverse-proxy:微軟開源的反向代理工具包。該項目是微軟團隊用 C# 開發的一個提供核心代理功能的工具庫,可作爲庫和項目模板,用於創建反向代理服務器的項目,內含簡單的反向代理服務器示例項目。

5、Snap.Hutao:實用的多功能原神工具箱。這是一款專爲 Windows 平臺設計的原神工具箱,支持多賬號切換、自定義幀率上限、祈願記錄、成就管理、簽到獎勵、查詢角色資料、養成計算器等功能。它不對遊戲客戶端進行任何破壞性修改,只爲改善原神桌面端玩家的遊戲體驗。來自 @Masterain 的分享

C++ 項目

6、ada:快如閃電的 URL 解析利器。該項目是用 C++ 寫的符合 WHATWG 規範的 URL 解析器,解析速度是 curl 的數倍,目前已成爲 Node.js 默認 URL 解析器(18.16.0 及以上),注意僅僅是 URL 地址解析不是請求。

7、keepassxc:一款開源、安全、跨平臺的密碼管理器。該項目是採用 C++ 開發的免費、離線、無廣告的密碼管理工具,它提供了簡潔直觀的用戶界面,可輕鬆管理各種應用/網站的賬號密碼,支持多平臺、瀏覽器插件、自動填充、密碼生成等功能。

8、TranslucentTB:自定義 Windows 任務欄透明度的小工具。該項目是採用 C++ 開發的用於調整 Windows 任務欄透明度的工具,它體積小、免費、簡單易用,支持 5 種任務欄狀態、6 種動態模式、Windows 10/11 操作系統。

9、tugraph-db:支付寶背後的分佈式圖數據庫。該項目是由螞蟻集團和清華大學共同研發的高性能分佈式圖數據庫,支持事務處理、TB 級大容量、低延遲查找和快速圖分析等功能。

CSS 項目

10、easings.net:CSS 緩動函數速查表。緩動函數(Easing Functions)是一種用於控制 CSS 動畫速度的函數,該項目提供了一系列優雅的緩動函數示例代碼和效果展示。

.block {
	transition: transform 0.6s cubic-bezier(0.7, 0, 0.84, 0);
}

Go 項目

11、codapi:在線運行代碼片段的 Go 服務。該項目提供了一個 API 服務,可以在線運行 Python、TypeScript、C、Go 等 30 種編程語言的代碼片段,可用於在文檔和教程中展示交互式的代碼示例。

12、focalboard:開源的項目管理和團隊協作工具。這是一款開源、多語言、自託管的項目管理工具,兼容了 Trello 和 Notion 的特點。它支持看板、表格和日曆等視圖管理任務,並提供評論同步、文件共享、用戶權限等功能。該工具還提供了適用於 Windows、macOS、Linux 系統的客戶端。

13、go-pretty:美化控制檯輸出的 Go 庫。這是一個用於美化表格、列表、進度條、文本等控制檯輸出的庫,你可以用它輸出精美的表格、多層級的列表以及多任務進度條等內容。

14、gopeed:一款由 Go+Flutter 開發的高速下載器。這款下載工具後端用的是 Go 語言,支持 HTTP、BitTorrent、Magnet 等多種協議,並使用協程實現高速併發下載。前端部分採用 Flutter 開發,提供了適用於 Windows、macOS、Linux、Android、iOS 和 Web 等全平臺的客戶端。來自 @DeShuiYu 的分享

15、teleport:一款 Go 寫的企業級開源堡壘機。這是一個專爲基礎設施提供連接、身份驗證、訪問控制和安全審計的平臺,它支持對內網的 Linux 服務器、Kubernetes 集羣、Web 應用、PostgreSQL 和 MySQL 數據庫的安全訪問。該平臺採用自動下發證書的方式進行認證,無需在目標機器上管理密碼和 SSH Key。此外,用戶可以方便地使用 ssh、mysql、kubectl 等遠程連接工具,輕鬆接入受管理的資源。

Java 項目

16、javers:用於追蹤數據歷史記錄和審計的 Java 庫。該項目是將版本管理的想法應用於數據(Java 對象)變更管理的 Java 庫,它支持查看複雜的對象結構差異,保留修改數據的歷史記錄,並能追蹤對象變化。來自 @獵隼丶止戈reNo7 的分享

17、source-code-hunter:Spring 全家桶源碼解讀。該項目提供了一系列互聯網主流框架和中間件的源碼講解,包括 Spring 全家桶、Mybatis、Netty、Dubbo 等框架。

JavaScript 項目

18、aspoem:現代化的古詩詞學習網站。這是一個更加註重閱讀體驗和 UI 的詩詞網站,採用 TypeScript、Next.js、Tailwind CSS 構建。它擁有簡潔清爽的界面和好看的字體,提供了古詩詞的拼音、註釋、譯文以及移動端適配、搜索和一鍵分享等功能。來自 @meetqyhvkXU 的分享

19、MyIP:好用的 IP 工具箱。該項目的作者是一位產品經理,這是他藉助 ChatGPT 完成的第一個 Vue.js 項目。通過該項目,你可以在線查看自己的 IP 信息(多源),並進行網站可用性、網速、MTR、DNS 泄漏、WebRTC 等檢測。來自 @Jason Ng 的分享

20、nutui:京東風格的移動端 Vue 組件庫。該項目是由京東開源的移動端 Vue 組件庫,專爲移動端 H5 和小程序開發場景而設計。它內含 80 多個高質量組件,支持按需引用、TypeScript、國際化等特性。

21、pikachu-volleyball:用 JavaScript 實現的皮卡丘排球遊戲。該項目通過逆向工程解析原版的皮卡丘排球遊戲,並使用 JavaScript 重新實現,包括物理引擎和對戰機器人部分。

22、wasp:一個類似 Rails 的 React、Node.js 全棧 Web 框架。該項目是一個面向 Web 開發人員的全棧 Web 框架,開發者只需編寫簡單的 .wasp 配置文件,就能自動生成基於 React 和 Node.js 構建的 Web 應用,而且內置了數據庫、身份驗證、路由等功能。

Python 項目

23、marker:將 PDF 轉換爲 Markdown 文件的項目。這是一個能夠將 PDF、EPUB 和 MOBI 格式的文件轉換爲 Markdown 文件的 Python 項目。相較於 Nougat,它具有更快的速度和更高的準確度,在處理英語類內容時效果最佳,但對中文的處理就要差一些。

24、Paper-Piano:在紙上彈鋼琴。該項目使用 Python 和 OpenCV 實現圖像處理和識別,通過攝像頭捕獲手指動作和手指下方的陰影,讓用戶可以通過觸摸紙張來演奏鋼琴。

25、pelican:Python 語言的靜態網站生成器。這是一個用 Python 編寫的靜態網站生成器,讓你可以通過編寫 Markdown、reStructuredText 等格式的文本文件來創建網站,支持生成 RSS、代碼語法高亮、插件擴展等功能。

26、posthog:開源的產品分析平臺。這是一款基於 Django 構建的產品分析和用戶追蹤平臺,它提供了豐富的功能,包括事件跟蹤、漏斗分析、羣體分析、A/B 測試等,適用於瞭解用戶行爲、改善產品體驗的場景。

27、taipy:快速打造數據驅動的 Web 應用。這是一個基於 Python 和 Flask 的項目,結合了 React 等前端技術,爲開發者提供了一個簡潔、高效的開發框架。它能夠簡化數據處理、API 開發和用戶界面構建的開發過程。不論是數據科學家、機器學習工程師還是 Web 開發者,都能夠利用 Taipy 快速完成從原型到 Web 應用的全過程。來自 @劉三非 的分享

Rust 項目

28、genact:假裝很忙的摸魚神器。該項目可以在終端上模擬一些很忙的假象,比如編譯、掃描、下載等。這些操作都是假的,實際上什麼都沒有發生,所以不會影響你的電腦,適用於 Windows、Linux、macOS 操作系統。來自 @39499740 的分享

29、rnote:跨平臺的手寫筆記和繪圖應用。這是一款用 Rust 和 GTK4 編寫的繪圖應用,可用於繪製草圖、手寫筆記和註釋文檔等。它支持導入/導出 PDF 和圖片文件,以及無限畫布、拖放、自動保存等功能。適用於 Windows、Linux 和 macOS 系統,需要搭配手寫板使用。

Swift 項目

30、Applite:Homebrew Cask 的桌面應用。這是一款採用 Swift 開發的免費 macOS 應用,它爲 Homebrew Cask 提供了一個圖形化界面,實現一鍵安裝、更新和卸載應用。

31、BLEUnlock:使用藍牙設備解鎖你的 Mac 電腦。這款工具是可以在 macOS 上實現通過藍牙設備解鎖/鎖定電腦。使用該工具時,藍牙設備無需安裝任何應用程序。當藍牙設備靠近 Mac 電腦時,可以解鎖屏幕並喚醒電腦;而當藍牙設備遠離時,自動鎖定屏幕並暫停播放音樂/視頻。支持 iPhone、Apple Watch、藍牙耳機等設備。

其它

32、candle:自制 3D 電子蠟燭。該項目作者使用簡單的 LED 板和小型電路板,製作了一個微型電子蠟燭,並通過旋轉底座和流體模擬算法,模擬出 3D 的燭光效果。

33、docker-android:運行在 Docker 容器裏的 Android。這是一個 Android 模擬器的 Docker 鏡像,支持 Android 9-14 版本、VNC(遠程桌面)、ADB(Android 調試橋)、日誌查看等功能,適用於 Android 客戶端測試和調試等場景。

docker run -d -p 6080:6080 \
-e EMULATOR_DEVICE="Samsung Galaxy S10" \
-e WEB_VNC=true \
--device /dev/kvm \
--name android-container \
budtmo/docker-android:emulator_11.0

34、excelCPU:僅用 Excel 構建出一顆 CPU 。該項目是一顆運行在 Excel 文件中的 16 位 CPU 處理器,它具有 3Hz 主頻、128KB RAM 和一塊 128x128 像素的顯示屏,爲此作者還創建了一門彙編語言。

35、Mr.-Ranedeer-AI-Tutor:打造你的個性化 AI 老師。該項目通過提示詞讓 AI 對話機器人充當老師和學習助手的角色,爲你生成學習計劃、授課解惑、出練習題等,還可以選擇不同的授課風格和深度。它可搭配任意大模型,作者推薦 GPT-4 效果最佳。

===
Author: JushBJJ
Name: "Mr. Ranedeer 提示詞"
Version: 2.7
===

[Student Configuration]
    🎯Depth: Highschool
    🧠Learning-Style: Active
    🗣️Communication-Style: Socratic
    🌟Tone-Style: Encouraging
    🔎Reasoning-Framework: Causal
    😀Emojis: Enabled (Default)
    🌐Language: English (Default)

    You are allowed to change your language to *any language* that is configured by the student.

[Overall Rules to follow]
    1. Use emojis to make the content engaging
    2. Use bolded text to emphasize important points
    3. Do not compress your responses
    4. You can talk in any language
...

36、ugly-avatar:醜頭像生成器。該項目可以用來隨機生成一個很醜的手繪頭像,不要懷疑真的很醜、很抽象,僅供娛樂。來自 @puz_zle 的分享

開源書籍

37、Real-Time-Rendering-4th-CN:《Real-Time Rendering 4th》中文翻譯版。這是《Real-Time Rendering》第四版的中文翻譯項目,該書是實時渲染領域的經典之作,非常適合從事遊戲開發、3D 圖形、VR/AR 等領域的開發者學習。

機器學習

38、FastChat:用於訓練和評估大型語言模型的開放平臺。這是一個用於訓練、部署和評估大型語言模型的平臺,你可以用它在本地部署和評估各種大模型。除此之外,它還提供了一個在線評估大模型的平臺,用戶可以向兩個不同的大模型,問同一個問題,然後根據回答選出你認爲更好用的大模型。在此過程中,你可以免費使用 Claude、ChatGPT 等對話機器人。來自 @浮生若夢 的分享

39、generative-ai-for-beginners:面向初學者的生成式人工智能教程。這是由微軟開源的面向初學者的生成式 AI 免費課程,課程共 18 節,涵蓋了創建生成式 AI 應用所需要了解的一切,包括生成式 AI 和 LLMs 的簡介、提示詞、構建文本生成應用、聊天應用、圖像生成應用、向量數據庫等方面的內容。

40、jan:一站式體驗 LLMs 的桌面應用。這是一個支持在本地運行開源 LLMs 和連接 ChatGPT 服務的 AI 對話桌面應用,它開箱即用、界面清爽、不挑硬件,支持設置代理、接入 ChatGPT、一鍵下載/接入適配當前電腦配置的大模型、離線運行等功能,適用於 Windows、Linux、macOS 操作系統。

41、open-interpreter:讓 LLM 在你的計算機上運行代碼。該項目可以讓大語言模型在本地運行代碼,支持 Python、JavaScript、Shell 等編程語言。相當於大語言模型是一個解釋器,它會理解你的意圖,將自然語言轉化成相應的代碼腳本並運行。安裝後,用戶就可以在終端通過聊天的方式操作計算機,比如創建和編輯圖片、視頻和文件,控制 Chrome 瀏覽器進行搜索等。

最後

感謝參與分​享開源項目的小夥伴們,歡迎更多的開源愛好者來 HelloGitHub 自薦/推薦開源項目。如果你發現了 GitHub 上有趣的項目,就點擊這裏分享給大傢伙吧!

本期有你感興趣的開源項目嗎?如果有的話就留言告訴我吧~如果還沒看過癮,可以點擊閱讀往期內容。

感謝您的閱讀,如果覺得本期內容還不錯的話 求贊、求分享 ❤️

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章