精品軟體與實用教程
GitHub開源專案分享
分享 GitHub 分享GitHub 上有趣、入門級的開源專案。這裡有好玩和入門級的開源項目、開源書籍、實戰項目、企業級項目,讓你用極短的時間感受到開源的魅力,對開源產生興趣。以下分享的GitHub項目,在GitHub網站中搜尋對應的項目名稱即可直達項目頁面。
1、Barco
Star 952
Fork 45
用C 語言從頭寫一個 Linux 容器。此專案僅依賴底層的Linux 功能,以C 語言實作的Linux 容器,可用來了解更多關於Linux 容器和核心的技術細節。
$ sudo ./bin/barco -u 0 -m / -c /bin/sh -a . [-v] 22:08:41 INFO ./src/barco.c:96: initializing socket pair... 22:08:41 INFO ./c/cbar... 22:08:41 INFO ./src/barco.c:112: initializing container stack... 22:08:41 INFO ./src/barco.c:120: initializing container... 22:08:41 INFO ./groups/barco. ./src/cgroups.c:73: setting memory.max to 1G... 22:08:41 INFO ./src/cgroups.c:73: setting cpu.weight to 256... 22:08:41 INFO ./sting cpu.weight to 256... 22:08:41 INFO ./src/cgroups.c:73: 4:08:41 INFO ./src/c9.c: 73: 4:073:20 4:73:2024:20 IN ./src/cgroups.c:73: setting cgroup.procs to 1458... 22:08:41 INFO ./src/barco.c:139: configuring user namespace... 22:08:41 INFO ./src/barco.c:147: waiting for container to exit... 22:08:41 INFO ./src/container.c:43: ### BARCONTAINER STARTING - type 'exit' to quit ### # ls bin home lib32 media root rm runlin initrd.img.old libx32 opt sbin usr etc lib lost+found proc srv var # echo "i am a container" i am a container
2、Quake2-Rerelease-Dll
Star 1.7k
Fork 132
《雷神之鎚2》官方重製版源碼。 《雷神之鎚2》是id Software 在1997 年發布的一款第一人稱射擊遊戲,被許多玩家視為經典。該項目是官方2023 年重新發布的《雷神之鎚2》遊戲原始碼。
3、Trurl
Star 2.5k
Fork 86
解析和操作URL 的命令列工具。該項目是cURL 作者的新作,可用來解析URL、替換/提取/設定URL 中的參數。
C# 項目
4.GeekDesk
Star 1k
Fork 110
小巧的 Windows 桌面啟動工具。這款名為極客桌面的免費工具,擁有極簡的介面,支援搜尋全盤文件、一鍵呼出、自訂桌布、定時提醒等功能。
5、Starward
Star 1.2k
Fork 57
一款開源的miHoYo 遊戲啟動器。這是一款支援米哈遊旗下所有桌面端遊戲的啟動器,支援下載遊戲、記錄遊戲時間、切換帳號、保存抽卡記錄、米遊社工具箱等功能,可運作在 Windows 10 及以上的作業系統。
C++ 專案
6、Citra
Star 9k
Fork 1.7k
開源的任天堂3DS 模擬器。能夠完美運行幾乎所有3DS 遊戲的模擬器,支援Windows、Linux、macOS 和 Android 作業系統.
7、Implot
Star 3.6k
Fork 379
即時繪圖的GUI 庫。此專案可根據使用者互動和資料更新,即時更新影像的Dear ImGui 繪圖庫,支持 GPU 加速、多種繪圖類型、混合繪圖等功能。僅需少量的程式碼,就能整合即時數據視覺化的功能。
int bar_data[11] = ...; float x_data[1000] = ...; float y_data[1000] = ...; ImGui::Begin("My Window"); if (ImPlot::BeginPlot("My Plot")) { ImPlot::PlotBars(MyPlot::BeginPlot("My Plot")) { ImPlot::PlotBars(PlotPlotPlotPlot, PlotPlot, Plot)(Plot1 Plot", x_data, y_data, 1000); ... ImPlot::EndPlot(); } ImGui::End();
8、Wslg
Star 9k
Fork 281
在Windows 上執行Linux 圖形化應用的工具。該專案是微軟開源的支援在Windows 作業系統上,運行Linux GUI 應用的工具。提供了原生和自然的Linux GUI 應用程式使用體驗,例如跨Windows 和Linux 應用的剪貼等功能。 WSLg 已內建在Windows 10 以上的系統中,可直接透過wsl 指令啟動。
Go 專案
9、Etree
Star 1.2k
Fork 162
更好用的輕量級Go 語言XML 函式庫。雖然Go 語言內建了處理XML 的函式庫,但使用時必須按照巢狀層級定義結構體非常繁瑣。這個項目的設計靈感來自 Python 語言的ElementTree 函式庫,可以在無需定義結構體的情況下靈活的讀取、產生XML 文件。
doc := etree.NewDocument() doc.CreateProcInst("xml",version="1.0" encoding="UTF-8"
) doc.CreateProcInst("xml-stylesheet",type="text/xsl" href="style.xsl"
)people := doc.CreateElement("People") people.CreateComment("These are all known people")jon := people.CreateElement("Person") jon.CreateAttr("name", "Jon") sally :p. "Sally") doc.Indent(2) doc.WriteTo(os.Stdout)
10、Golang-Design-Pattern
Star 7.7k
Fork 2k
Go 語言設計模式的實例程式碼。該項目是作者閱讀《研磨設計模式》一書的讀書筆記,並用Go 語言實現了書中涉及的23 個設計模式。
11、Ls-Lint
Star 1.5k
Fork 27
檢查目錄和檔案命名風格的工具。這是一款Go 編寫的目錄和檔案名稱Lint 工具,它依賴少、速度快,可透過yml 設定檔自訂偵測規則和忽略目錄,適用於Git Hooks、GitHub Action、Docker Image 等多種場景。
ls: .js: snake_case .ts: snake_case | camelCase .d.ts: PascalCase .html: regex:[a-z0-9]+ ignore: - node_modules
12、Webp_server_go
Star 1k
Fork 122
一款開箱即用的 WebP 伺服器. WebP 是Google開發的一種為了提升圖像載入速度的圖片格式,該專案是用Go 寫的WebP 服務,無需二次開發就能實現將 JPG、PNG、BMP、SVG 等格式的圖片,轉換成WebP 格式的服務,能夠有效地減少圖片體積、節省頻寬、提升圖片載入速度。
Java 專案
13、Jailer
Star 2k
Fork 78
一款強大的資料庫擷取資料工具。用於資料庫子集和關聯式資料瀏覽的工具,支援依照資料表之間關係瀏覽資料庫、產生DML 拓樸關係等功能。可用來從生產資料庫中提取出,支援測試一條完整業務線所需的資料庫表和資料。
14、OneAccount
Star 620
Fork 145
一款簡約的Android 記帳應用程式。這是一款支援自訂支出/收入分類、定時提醒、預算設定、花費統計等功能的記賬 APP。
15、Triplea
Star 974
Fork 486
一款Java 的回合製戰爭遊戲。這是一款免費、開源的戰爭棋盤類遊戲,玩家可以在遊戲中模擬第二次世界大戰、拿破崙戰爭等經典戰役,支援Windows、Linux 和macOS 作業系統。
JavaScript 專案
16、Biomes-Game
Star 1.8k
Fork 208
一款開源沙盒MMORPG 遊戲。這是由已被 OpenAI 收購的Global Illumination 公司,採用React+Next.js+TypeScript 和WebAssembly 等技術,建構的大型多人線上角色扮演遊戲。玩家可以在遊戲中探索世界、建造房子、交易、社交等,無需下載打開瀏覽器即可玩。
17、Docsify
Star 2.4w
Fork 5.6k
開箱即用的文件網站產生器。這個專案可以幫你快速生成文檔網站,開箱即用無需構建,寫完文檔即可發布。支援全文搜尋、自訂主題、豐富的API、Emoji 等實用功能。
18、Poster-Design
Star 698
Fork 99
一款強大的線上設計圖片工具。採用Vue3+Vite2+Vuex+ElementPlus 技術實現的線上海報圖片設計工具,可用於產生電商分享圖、文章長圖、影片/公眾號封面等。
19、Warriorjs
Star 9k
Fork 523
一個有趣的JavaScript 程式設計RPG 遊戲。在遊戲中你將透過JavaScript 語法指揮戰士與敵人戰鬥、營救俘虜,一步步走向塔頂,獲得傳說中的JavaScript 之劍。
20、WeHalo
Star 1.6k
Fork 341
清爽的微信小程式版部落格。該專案是基於Halo 部落格後端的微信小程序,可以輕鬆地將部落格內容搬到微信小程序上,支援個人名片、博文展示、評論、搜尋文章、自訂導航欄等功能。
Python 專案
21、DrissionPage
Star 1.7k
Fork 205
類似selenuium 的網頁自動化工具。這是一個基於Python 的網頁自動化工具,支援Chromium 核心瀏覽器。它將控制瀏覽器和收發請求兩大功能合而為一,並提供了統一、簡潔的介面。
# 下載星巴克產品圖from DrissionPage import SessionPage from re import search# 以s模式建立頁面物件page = SessionPage() # 造訪目標網頁page.get('https://www.starbucks.com.cn/menu/')#preview class.class.class.A. circle') # 遍歷這些元素for div in divs: # 用相對定位獲取當前div元素後一個兄弟元素,並獲取其文本name = div.next().text # 在div元素的style屬性中提取圖片網址並進行拼接img_url = div.attr(urls) img^mg.>>>>>>>>>>>>>>>>..5美.] img). img_url = f'https://www.starbucks.com.cn{img_url}' # 執行下載page.download(img_url, r'.\imgs', rename=name)
22、Learndb-Py
Star 750
Fork 23
從頭用Python 寫一個資料庫。該項目是用Python 從零實現一個關係型資料庫,從而更好地了解資料的內部構造,此資料庫僅可作為學習和練手項目,無法應用在生產環境中。
23、Nvitop
Star 2.4k
Fork 93
用top 指令的方式查看NVIDIA GPU 和行程狀態。這是一款NVIDIA 設備和進程監控工具,擁有多彩高亮的介面,即時更新的進程和設備訊息,支援過濾進程、滑鼠控制、發送訊號等功能。
24、Upiano
Star 294
Fork 8
運行在命令列裡的電子琴。這是一個小型的電子琴命令列應用,它安裝簡單、運作方便,支援滑鼠和鍵盤兩種操作方式。
25、Watchgha
Star 224
Fork 6
在本地查看GitHub Action 運作狀態的工具。只需一條指令就可以即時顯示目前分支,在GitHub Action 上運行狀態的命令列工具。
Ruby 專案
26、OpenFarm
Star 1.1k
Fork 220
一個教你如何種植農作物的網站。這是一個關於種植農作物的知識庫,你可以在裡面找到如何種植番茄、馬鈴薯、草莓等植物的步驟,這一切都是免費的。
Rust 項目
27、Rjvm
Star 999
Fork 57
用Rust 寫一個迷你JVM 的學習專案。這是一個用Rust 寫JVM7 的練手項目,已實作Java 基礎型別、異常處理、堆疊追蹤、垃圾回收、解析.class 檔案等功能。
28、Starship
Star 3.6w
Fork 1.5k
輕量、速度超快的高顏值終端。這是一個Rust 寫的高顏值、適用於各種Shell 的終端,它開箱即用,可自訂各式各樣的提示符,適用於Windows、Linux、Android 和macOS 系統。
Swift 專案
29、Mist
Star 1.1k
Fork 46
自動下載macOS 系統韌體的工具。這款工具可以列出所有可供下載的macOS 韌體/安裝程式的信息,包括名稱、版本號、發布日期和大小。
30、SkeletonView
Star 1.2w
Fork 1.1k
一款優雅的Swift 骨架螢幕庫。骨架螢幕是在頁面展示所需的資料尚未載入完成時,先展示頁面大致結構的一項技術。這個Swift 骨架屏庫容易上手、介面友好,支援所有UIView、自訂動畫等功能。
其它
31、Beepy
Star 332
Fork 29
一款全鍵盤便攜式的Linux 計算機。這是一個結合了黑莓鍵盤、400*200 LCD 顯示器、2000mAh 電池的板子,售價79 美元。插上樹莓派Zero W,立刻變成了一個黑莓版的Linux 遊樂場。
32、Cloc
Star 1.7w
Fork 932
計算程式碼行數的工具。這是一款可以統計出原始碼中空白行、註解、不同程式語言程式碼行數的工具。
33、How-To-Secure-A-Linux-Server
Star 1.5w
Fork 1k
一份Linux 伺服器安全指南。這是一份專注於保護非企業場景下的Linux 伺服器安全的操作指南,雖然它不夠專業但對個人來說足夠了。
34、Linux-Tutorial
Star 1.8k
Fork 520
一份實用的Linux 教學。有別於大而全的Linux 教學課程,專案的內容主要著重於實用性,內容包括Linux 常用指令、Linux 系統運作、軟體維運、常用shell 腳本等。
35、Weekly
Star 1k
Fork 38
獨立開發產品變現周刊。關於獨立開發者、產品變現相關內容的週刊。
開源書籍
36、Lean-Side-Bussiness
Star 5.4k
Fork 358
《精實副業:程式設計師如何優雅地做副業》。該書擴展了《程式設計師如何優雅地賺取零用錢》的內容,引入了精益創業流程,將其優化為副業專用精益副業流程,並增添了獨立開發變現和網課變現實踐的內容。
37、Putting-The-You-In-Cpu
Star 3.3k
Fork 73
當你運行程式時發生了什麼?這是一份關於程式如何跑起來的迷你書,內容涉及電腦基礎、作業系統、Linux 如何載入執行檔等。
38、TheByteBook
Star 1.6k
Fork 104
《深入架構原理與實務》。隨著雲端運算的興起,技術架構的關注點也從叢集可用性治理,發展到雲端原生和FinOps 成本管理。該書涵蓋了網路、容器、閘道、微服務與分散式、雲端原生、品質監測和成本管理的內容,幫助讀者快速理清雲端時代下的技術架構系統。
39、Typescript-Tutorial
Star 1.4k
Fork 118
阮一峰的TypeScript 教學。這是一本針對初學者的TypeScript 開源教學課程,內容涵蓋TypeScript 的基本概念和用法。
機器學習
40、Audiocraft
Star 1.5w
Fork 1.4k
Meta 開源的文本生成音樂的庫。此專案可根據文字提示詞產生高品質、高傳真的音訊和音樂,例如吹著風吹口哨、一段適合海灘場景的流行舞曲,生成效果十分驚艷。
41、Fooocus
Star 8.3k
Fork 538
一款開箱即用的圖片產生軟體。該項目在設計時吸收了 Stable Diffusion 和Midjourney 的優點,它安裝簡單、操作方便,省去了複雜的參數調節步驟。使用者只需要輸入提示詞,就可以產生與Midjourney 程度相當的圖片。支援本地部署、離線使用,最低配置要求8GB 記憶體和4GB 的Nvidia 顯示卡。
42、Machine-Learning-Notes
Star 7.6k
Fork 1.7k
徐亦達的機器學習課程。該計畫是香港浸會大學(HKBU)徐亦達教授開源的關於機器學習、機率模型、深度學習的講義和視訊課程連結。