《HelloGitHub》第 67 期
興趣是最好的老師,HelloGitHub 讓你對編程感興趣!

簡介
分享 GitHub 上有趣、入門級的開源項目。
https://github.com/521xueweihan/HelloGitHub
這里有實戰(zhàn)項目、入門教程、黑科技、開源書籍、大廠開源項目等,涵蓋多種編程語言 Python、Java、Go、C/C++、Swift...讓你在短時間內(nèi)感受到開源的魅力,對編程產(chǎn)生興趣!
以下為本期內(nèi)容|每個月 28 號更新
C 項目
1、bytehound:更強(qiáng)大的 Linux 內(nèi)存分析工具。它能夠顯示內(nèi)存變化曲線、占用詳情、完整的堆棧記錄等信息,有助于解決內(nèi)容泄漏等問題

地址:https://github.com/koute/bytehound
2、nnn:幾乎不需要配置就能用的終端文件管理工具。它運行僅需極少的內(nèi)存但功能卻不少,支持文件實時預(yù)覽、搜索、批量操作文件、排序等,不僅如此它還能作為插件整合進(jìn) Vim

地址:https://github.com/jarun/nnn
C# 項目
3、ShareX:免費的 Windows 截屏錄制工具。功能強(qiáng)大支持全屏截圖、滾動截圖、檢測窗口截圖、GIF 錄制等,截圖后還支持在圖片上增加文字、水印、特效、馬賽克等,最后可直接上傳圖床得到鏈接,絲滑地完成整個截圖流程

地址:https://github.com/ShareX/ShareX
C++ 項目
4、NanaZip:基于 7-Zip 的開源壓縮工具。包含多種壓縮算法和美觀的 Win11 風(fēng)格 UI,同時適配 Win11 右鍵菜單操作

地址:https://github.com/M2Team/NanaZip
5、nvui:跨平臺現(xiàn)代的 Neovim 前端。它使用起來流暢,動畫效果細(xì)膩、美觀,你可以用 Neovim 和 nvui 自由定制出一個高顏值、最懂你的編輯器

地址:https://github.com/rohit-px2/nvui
CSS 項目
6、You-Dont-Need-JavaScript:看似需要 JavaScript 實現(xiàn)的效果,其實僅用到了 CSS 的示例集合。該項目學(xué)習(xí)意義大于實用價值,更多的時候是為了讓你知道原來 CSS 還能這么用

地址:https://github.com/you-dont-need/You-Dont-Need-JavaScript
7、weather-icons:天氣主題圖標(biāo)和 CSS 文件。包含 220+ 個高質(zhì)量的天氣圖標(biāo)

地址:https://github.com/erikflowers/weather-icons
Go 項目
8、gopay:Go 的集合支付庫。支持微信、支付寶、PayPal、QQ 支付

地址:https://github.com/go-pay/gopay
9、remark42:簡單輕量級的評論引擎。任何需要評論的頁面,都可以通過 remark42 快速實現(xiàn)評論功能。功能豐富包括登陸、多層嵌套回復(fù)、刪除評論、投票、禁止用戶評論、圖片上傳等功能

地址:https://github.com/umputun/remark42
10、rpcx:國內(nèi)大佬開源的 Go 語言 RPC 框架。框架入門輕松能夠快速上手,性能優(yōu)于 grpc-go 而且眾多國內(nèi)大廠都在用

地址:https://github.com/smallnest/rpcx
Java 項目
11、shattered-pixel-dungeon:開源的像素風(fēng) RougeLike 角色扮演游戲,耐玩且支持中文。游戲雖然畫面懷舊但內(nèi)容豐富,可選戰(zhàn)士、法師、射手、盜賊四種角色,超過 150 種道具玩法多樣。每場探險都不一樣,每次開局都是隨機(jī)生成關(guān)卡和敵人。游戲看似簡單但上手有難度,想要通關(guān)需要花些時間研究。支持 PC、安卓和 iOS 客戶端,下載地址

地址:https://github.com/00-Evan/shattered-pixel-dungeon
12、uncle-novel:一款電腦端小說閱讀軟件。該軟件不僅支持本地導(dǎo)入小說,自動解析生成目錄方便閱讀。還支持全網(wǎng)搜索和下載小說、在線收聽有聲小說、自動更新章節(jié)等功能

地址:https://github.com/unclezs/uncle-novel
JavaScript 項目
13、Leaflet:對移動端友好的交互式地圖 JavaScript 庫。它久負(fù)盛名且簡單易用,別看它小但包含了地圖常用功能。Leaflet 極易上手,幾行代碼就能實現(xiàn)地圖功能,且支持多種地圖數(shù)據(jù)源。很多大廠都在用它,可放心在生產(chǎn)環(huán)境中使用
var?map?=?L.map('map').setView([51.505,?-0.09],?13);
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',?{
????attribution:?'?OpenStreetMap?contributors'
}).addTo(map);
L.marker([51.5,?-0.09]).addTo(map)
????.bindPopup('A?pretty?CSS3?popup.
?Easily?customizable.')
????.openPopup();

地址:https://github.com/Leaflet/Leaflet
14、React95:復(fù)古的 Win95 樣式 React 組件

地址:https://github.com/arturbien/React95
15、towxml:可將 HTML 和 Markdown 轉(zhuǎn)為微信小程序 WXML 的庫。用于解決在微信小程序上 Markdown、HTML 不能直接渲染的問題

地址:https://github.com/sbfkcel/towxml
16、city-roads:自動生成任意城市的道路圖。采用 OpenStreetMap 的免費數(shù)據(jù)實現(xiàn)城市道路可視化,還支持導(dǎo)出圖片用這些圖片做壁紙感覺很酷

地址:https://github.com/anvaka/city-roads
17、lexer:在線編程語言詞法分析器。基于 DFA 算法實現(xiàn)支持多語言擴(kuò)展,可用于代碼編輯器的語法高亮等場景。同時項目的代碼量少還有詳細(xì)的源碼講解文檔,適合對詞法分析感興趣的小伙伴學(xué)習(xí)
//?詞法分析器
let?lexer?=?{
????//?有限狀態(tài)自動機(jī)?deterministic?finite?automaton
????DFA:?{
????????result:?{
????????????matchs:?[],?//?已匹配的字符隊列
????????????tokens:?[],?//?已生成的token列表
????????},
????????state:?DFA_STATE_CONST.S_RESET,?//?當(dāng)前機(jī)器的狀態(tài)
????????events:?{
????????????flowtoNextState(ch,?state)?{
????????????????lexer.DFA.resultChange.pushToMatchs(ch);
????????????????lexer.DFA.state?=?state;
????????????},
????????????flowtoResetState()?{
????????????????lexer.DFA.state?=?DFA_STATE_CONST.S_RESET;
????????????},
????????},
????},
};

地址:https://github.com/WGrape/lexer
18、semi-design:抖音開源的中后臺前端解決方案。包含設(shè)計語言、React 組件、主題,開箱即用可快速搭建美觀的 React 應(yīng)用
使用 TypeScript 強(qiáng)大的主題定制 國際化 支持 SSR

地址:https://github.com/DouyinFE/semi-design
Kotlin 項目
19、TranslationPlugin:IDE 翻譯插件。支持 JetBrains 系列產(chǎn)品

地址:https://github.com/YiiGuxing/TranslationPlugin
Python 項目
20、python-pinyin:漢語轉(zhuǎn)拼音的 Python 庫。不知道有沒有小伙伴和我一樣,剛看到這庫不知道能用來干啥。其實它可以用來豐富被搜索的中文內(nèi)容,通過該項目可實現(xiàn)拼音搜索內(nèi)容、容錯同音錯別字、中文排序等,從而提高搜索準(zhǔn)確度和體驗
>>>?from?pypinyin?import?pinyin,?lazy_pinyin,?Style
>>>?pinyin('中心')
[['zhōng'],?['xīn']]
>>>?pinyin('中心',?heteronym=True)??#?啟用多音字模式
[['zhōng',?'zhòng'],?['xīn']]
>>>?pinyin('中心',?style=Style.TONE3,?heteronym=True)
[['zhong1',?'zhong4'],?['xin1']]
地址:https://github.com/mozillazg/python-pinyin
21、q:用 SQL 方式查詢 CSV 文件的命令行工具。支持 where、group_by、join 查詢和中文等多種字符編碼,還可以把查詢結(jié)果轉(zhuǎn)存到數(shù)據(jù)庫。終于不用為產(chǎn)品臨下班,扔來的 CSV 文件而加班啦
q?"SELECT?COUNT(*)?FROM?./clicks_file.csv?WHERE?c3?>?32.3"
ps?-ef?|?q?-H?"SELECT?UID,COUNT(*)?cnt?FROM?-?GROUP?BY?UID?ORDER?BY?cnt?DESC"
地址:https://github.com/harelba/q
22、Tkinter-Designer:用拖動的方式創(chuàng)建漂亮的桌面軟件。它的操作十分簡單,首先在 Figma 網(wǎng)站通過拖拽的方式構(gòu)建應(yīng)用,然后把設(shè)計好的應(yīng)用地址和 token 輸入到 Tkinter-Designer 自動生成 Python 代碼,最后就能得到界面簡潔大方的桌面應(yīng)用啦。不用代碼做出基于 tkinter 的桌面應(yīng)用

地址:https://github.com/ParthJadhav/Tkinter-Designer
23、30-Days-Of-Python:免費、零基礎(chǔ)的 Python 教程。保姆級 Python 教程內(nèi)容雖為英文,但問題不大請放心食用

地址:https://github.com/Asabeneh/30-Days-Of-Python
Rust 項目
24、polars:多線程、類 Pandas 的數(shù)據(jù)處理庫。底層采用 Apache Arrow 從而帶來了更高效的數(shù)據(jù)處理性能、占用內(nèi)存更少、處理速度更快,再加上簡單易用的 API,讓你在處理大數(shù)據(jù)集(50GB)時,更加游刃有余。支持 Rust、Python 等語言,值得一試
import?polars?as?pl
q?=?(
????pl.scan_csv("iris.csv")
????.filter(pl.col("sepal_length")?>?5)
????.groupby("species")
????.agg(pl.all().sum())
)
df?=?q.collect()

地址:https://github.com/pola-rs/polars
Swift 項目
25、Charts:支持 iOS/tvOS/OSX 的圖表庫。功能:
8 種不同的圖表類型 兩個軸支持縮放和縮放手勢 組合圖表、導(dǎo)出圖片 等等

地址:https://github.com/danielgindi/Charts
其它
26、chinese_chatbot_corpus:公開的中文聊天語料庫

地址:https://github.com/codemayq/chinese_chatbot_corpus
27、supercookie:講解并實現(xiàn)如何通過 favicon.ico 跟蹤用戶。supercookie 的跟蹤方式不需要 cookie,原理是瀏覽器訪問網(wǎng)站時都會請求 favicon.ico 文件,服務(wù)器通過該請求為每個用戶分配一個 ID 從而實現(xiàn)跟蹤效果

地址:https://github.com/jonasstrehle/supercookie
28、git-cheat-sheet:Git 備忘錄。該項目不僅對 Git 常用命令做了分類展示,還有 Git 工作流的講解,能夠幫助新手快速上手 Git

地址:https://github.com/arslanbilal/git-cheat-sheet
29、flutter_deer:Flutter 練習(xí)項目。包含代碼、UI 設(shè)計圖、集成測試、相關(guān)文章等

地址:https://github.com/simplezhli/flutter_deer
30、shellcheck:Shell 靜態(tài)分析工具。寫過 shell 腳本的人,應(yīng)該都經(jīng)歷過運行調(diào)試腳本的情況。有了 shellcheck 無需運行就能發(fā)現(xiàn) sh/bash 的語法、類型等錯誤

地址:https://github.com/koalaman/shellcheck
31、n:簡單易用的 Node.js 版本管理工具

地址:https://github.com/tj/n
32、aliyunpan:基于網(wǎng)頁版阿里云盤開發(fā)的 PC 客戶端。能夠同時登陸和管理多個賬號、顯示文件體積、文件夾樹,還可以在線播放網(wǎng)盤中的視頻并外掛字幕。支持 Windows、Linux、macOS 操作系統(tǒng)

地址:https://github.com/liupan1890/aliyunpan
開源書籍
33、AlgoXY:作者正在重寫《算法新解》,開源倉庫同步更新

地址:https://github.com/liuxinyu95/AlgoXY
機(jī)器學(xué)習(xí)
34、Real-ESRGAN:圖像超分辨率模型,修復(fù)漫畫圖像的效果驚艷。通過 AI 技術(shù)將低分辨率、模糊的圖像修復(fù)成高清圖像,可用于圖像放大和提升質(zhì)量。還有可以直接使用的 Python 腳本,快去試試效果吧

地址:https://github.com/xinntao/Real-ESRGAN
35、qlib:微軟開源的 AI 量化交易平臺。它包含了數(shù)據(jù)處理、模型訓(xùn)練、回測等模塊,涵蓋了 Alpha 挖掘、風(fēng)險建模、組合優(yōu)化等功能

地址:https://github.com/microsoft/qlib
36、optuna:專為機(jī)器學(xué)習(xí)準(zhǔn)備的超參數(shù)優(yōu)化框架。采用高效的采樣和剪枝策略,支持簡單的 Python 語法,僅需少量代碼便可進(jìn)行分布式計算加速優(yōu)化,除此之外還有更為直觀的可視化頁面。全方位幫你調(diào)參,自動找到最優(yōu)參數(shù)

地址:https://github.com/optuna/optuna
最后
感謝您的閱讀,以上就是第?67?期的所有內(nèi)容。
找開源項目可以試試:?HelloGitHub?小程序。
永遠(yuǎn)不要停下變強(qiáng)的腳步,我們下個月?28?號見!
