興趣是最好的老師,HelloGitHub 讓你對編程感興趣!
簡介
分享 GitHub 上有趣、入門級的開源項目。
這里有實戰(zhàn)項目、入門教程、黑科技、開源書籍、大廠開源項目等,涵蓋多種編程語言 Python、Java、Go、C/C++、Swift...讓你在短時間內(nèi)感受到開源的魅力,對編程產(chǎn)生興趣!
十一假期就要來了,假期最重要的還是休息。本期游戲項目有點多,外出路上帶上一個開源項目,不無聊!
最后,提前祝我們的祖國生日快樂、繁榮昌盛!HelloGitHub 的小伙伴們假期愉快!
以下為本期內(nèi)容|每個月 28 號更新
C 項目
1、HEX-LINK:自制電腦游戲的體感設(shè)備。該項目包含制作時需要的硬件設(shè)計和全部源碼
.├─firmware # 軟件(根據(jù)自己使用的工具選擇如下一種工程即可)│ ├─ArduinoIDE_Proj # Arduino IDE版工程 │ │ ├─Additional_Libraries # 里面的文件夾需要復(fù)制到Arduino IDE安裝目錄下的libraries文件夾│ │ ├─Hex_Link_Leonardo # 需要下載至接收端的程序│ │ └─Hex_Link_Nano # 需要下載至發(fā)送端的程序│ ├─Bootloaders # 需要下載至芯片的arduino bootloader │ └─Vscode_PlatformIO_Proj # VScode PlatformIO版工程 │ ├─Hex_Link_Leonardo # 需要下載至接收端的程序│ └─Hex_Link_Nano # 需要下載至發(fā)送端的程序├─hardware # 硬件(PCB工程)│ ├─BOM # PCB的物料清單,包含參考的購買鏈接(鏈接僅作參考,在其他任何店鋪購買相同型號即可)│ ├─Hex_Link_Rec # 接收端PCB工程│ ├─Hex_Link_Trans # 發(fā)送端PCB工程│ └─Nano_Jtag_Pin # 轉(zhuǎn)接板:用來燒錄Nano bootloader的Jtag口轉(zhuǎn)接板├─model # 接收端外殼3維模型│ ├─Solidworks_Project # 2018版本Solidworks工程│ └─STL_TAP # STL文件,可直接用于3D打印.TAP文件是頂層亞克力板的CNC加工文件├─references # 參考文檔└─tools # 額外的腳本工具復(fù)制代碼
C# 項目
2、SteamTools:集合多種 Steam 客戶端工具的工具箱。該工具支持 Window、Linux、macOS、Android 操作系統(tǒng),包括游戲庫存管理、解鎖成就、史低價格、出售庫存物品等功能,還有豐富的插件等待你發(fā)掘
3、xLua:為 C#、Unity、.Net 等環(huán)境增添 Lua 腳本編程的能力,使得 Lua 代碼方便地與 C# 相互調(diào)用
XLua.LuaEnv luaenv = new XLua.LuaEnv();luaenv.DoString("CS.UnityEngine.Debug.Log(hello world)");luaenv.Dispose();復(fù)制代碼
4、BBDown:命令行嗶哩嗶哩視頻下載工具
C++ 項目
5、libqalculate:使用 C++ 編寫的多功能計算器桌面應(yīng)用、庫和 CLI 程序。它易于使用功能強大,支持大型可定制函數(shù)庫、單位計算和轉(zhuǎn)換、符號計算(包括積分和方程)。作為用戶你可以直接在命令行中使用,作為開發(fā)者你也可以在自己的項目中使用這個庫。官方還制作了 Qt 和 GTK 兩個版本的 GUI 計算器應(yīng)用
6、btop:界面酷炫的命令行資源監(jiān)視器。可以顯示處理器、內(nèi)存、磁盤、網(wǎng)絡(luò)和進程的使用情況和統(tǒng)計信息,還支持鼠標操作
7、TinyWebServer:Linux 下的 C++ 輕量級 Web 服務(wù)器。該項目不僅可以用來搭建 Web 服務(wù),也適合 C++ 初學者作為網(wǎng)絡(luò)編程實戰(zhàn)項目。作者還寫了文章講解相關(guān)代碼和原理,幫助初學者更好的掌握網(wǎng)絡(luò)編程相關(guān)知識
CSS 項目
8、css_tricks:常用 CSS 樣式示例集合
Go 項目
9、video-srt-windows:自動識別視頻語音生成字幕文件的工具。采用 Go+walk 開發(fā)所以僅支持 Windows 系統(tǒng),原理是請求在線語音轉(zhuǎn)文字的服務(wù),超出免費額度需付費。另外還加入了導(dǎo)出字幕文件和翻譯功能
10、go-daily-lib:每天學習一個 Go 語言庫。內(nèi)容包含標準庫和三方庫,每個庫對應(yīng)一篇介紹和上手的文章
11、Open-IM-Server:基于 Go 實現(xiàn)的輕量級即時通訊(IM)項目。具有高性能、易擴展、安裝簡單、私有化部署等特性,同時包含多種客戶端 SDK。從服務(wù)器到客戶端一體的開源即時通訊(IM)解決方案
12、go-fly:基于 Go 語言實現(xiàn)的在線客服系統(tǒng),采用 Gin+MySQL+JWT+WebSocket 等技術(shù)棧實現(xiàn)
13、viper:用來搞定 Go 應(yīng)用中配置的庫。支持多種配置文件類型、監(jiān)控并重新加載配置文件、遠程讀取配置系統(tǒng)等
viper.SetConfigName("config") // 配置文件名,不包括后綴viper.SetConfigType("yaml") // 配置文件的后綴viper.AddConfigPath("/etc/appname/") // 查找配置文件的目錄viper.AddConfigPath("$HOME/.appname") // 支持查找多個目錄// 異常處理if err := viper.ReadInConfig(); err != nil { if _, ok := err.(viper.ConfigFileNotFoundError); ok { // 如果沒有找到配置文件 } else { // 找到了配置文件,但出現(xiàn)了其他錯誤 }}復(fù)制代碼
Java 項目
14、o2oa:國產(chǎn)的 OA 系統(tǒng)。功能齊全支持考勤、會議管理、云盤等,適用于企業(yè) OA、協(xié)同辦公
15、IJPay:Java 支付工具庫,輕松完成支付模塊開發(fā)。封裝了常用的微信、QQ、支付寶、銀聯(lián)、PayPal 支付等支付方式的各種常用接口。不依賴任何 MVC 框架,輕松接入到 Java 項目
16、VirtualApp:Android 系統(tǒng)的沙盒程序,App 虛擬化引擎。它創(chuàng)建了一個虛擬空間,在那里可以任意安裝、啟動、控制、卸載應(yīng)用。虛擬空間與外部隔離相當于沙盒環(huán)境,可在安卓上實現(xiàn)應(yīng)用多開、靜默安裝等黑科技
JavaScript 項目
17、sharedb:基于 JSON 數(shù)據(jù) OT 算法的實時數(shù)據(jù)庫。簡單來說就是實時協(xié)同數(shù)據(jù)框架,可用來實現(xiàn)當頁面因用戶操作發(fā)生數(shù)據(jù)變化時,實時把數(shù)據(jù)同步展示到其它用戶頁面上,其中 OT 算法就是解決此協(xié)同過程中問題的通用算法。常見的場景比如:多用戶之間的狀態(tài)同步、在線協(xié)作文檔、離線后數(shù)據(jù)改動同步等
18、30-Days-Of-JavaScript:30 天 JavaScript 編程挑戰(zhàn)。該教程雖然是英文教程但是圖文并茂通俗易通,內(nèi)容循序漸進包含練習題,適合零基礎(chǔ)想要學習 JavaScript 的同學
19、YesPlayMusic:高顏值的第三方網(wǎng)易云播放器。它不僅擁有簡潔美觀的外觀,還有豐富的功能
- 支持 Windows/macOS/Linux
- 私人 FM/每日推薦歌曲
- 網(wǎng)易云賬號登錄
- 歌詞顯示
- 自定義快捷鍵和全局快捷鍵
- 等等
20、javascript:Airbnb 開源的 JavaScript 風格指南。中文
// 采用數(shù)組解構(gòu)const arr = [1, 2, 3, 4];// badconst first = arr[0];const second = arr[1];// goodconst [first, second] = arr;復(fù)制代碼
21、spy-debugger:遠程調(diào)試手機頁面和抓包的工具。操作簡單僅需手機和電腦在同一個 WIFI 下,即可在實現(xiàn)真機調(diào)試頁面
Kotlin 項目
22、Component:Android 的組件化框架,幫助開發(fā)者在實現(xiàn)項目組件化。它的強大在于功能齊全、更新及時,支持 Kotlin、AndroidX、RxJava、協(xié)程等
Objective-C 項目
23、iOSInterviewQuestions:iOS 面試題集合(附答案)
Python 項目
24、Pokemon-Terminal:適用于多種終端的口袋妖怪主題工具。支持 iTerm2、ConEmu、Terminology、Windows 的終端,已經(jīng)收集了 719 個小精靈
25、mypy:Python 靜態(tài)類型檢查庫。既然 Python 是一門動態(tài)類型語言,為啥還要檢查類型呢?有了靜態(tài)類型檢測則無需運行代碼,就可以發(fā)現(xiàn)程序中潛在的錯誤。還可以加入到 git hook
中,實現(xiàn)在提交代碼前自動檢查。詳情查看這篇文章
26、CPython-Internals:圖文并茂的 Python 源碼閱讀筆記項目。閱讀的是比較新的 CPython 3.8 版本,重點是項目一直在更新維護
static void take_gil(PyThreadState *tstate){ /* 忽略 */ while (_Py_atomic_load_relaxed(&_PyRuntime.ceval.gil.locked)) { /* 只要 gil 是鎖住的狀態(tài), 進入這個循環(huán) */ int timed_out = 0; unsigned long saved_switchnum; saved_switchnum = _PyRuntime.ceval.gil.switch_number; /* 釋放 gil.mutex, 并在以下兩種條件下喚醒 1. 等待 INTERVAL 微秒(默認 5000) 2. 還沒有等待到 5000 微秒但是收到了 gil.cond 的信號 */ COND_TIMED_WAIT(_PyRuntime.ceval.gil.cond, _PyRuntime.ceval.gil.mutex, INTERVAL, timed_out); /* 當前持有 gil.mutex 這把互斥鎖 */ if (timed_out && _Py_atomic_load_relaxed(&_PyRuntime.ceval.gil.locked) && _PyRuntime.ceval.gil.switch_number == saved_switchnum) { /* 如果超過了等待時間, 并且這段等待時間里 gil 的持有者沒有變更過, 則嘗試讓當前持有 gil 的線程進行釋放gil 把 gil_drop_request 值設(shè)為 1, 持有鎖的線程看到這個值的時候, 會嘗試放棄 gil */ SET_GIL_DROP_REQUEST(); } /* 繼續(xù)回到 while 循環(huán), 檢查 gil 是否為鎖住狀態(tài) */ } /* 忽略 */}復(fù)制代碼
Rust 項目
27、nushell:一種更加人性化的新型 shell
Swift 項目
28、Clipy:macOS 的剪貼板擴展應(yīng)用。支持展示剪貼板歷史記錄、內(nèi)容模版等功能
其它
29、QWidgetDemo:Qt 編寫的示例集合。每個示例都可獨立運行、代碼簡潔易懂,適合初學者學習
30、xemu:免費開源的 Xbox 模擬器,支持 Windows、Linux、macOS 系統(tǒng)
31、yabai:適用于 macOS 的平鋪式窗口管理器。該工具可以輕松實現(xiàn)窗口平鋪不重疊,不用鼠標僅通過鍵盤移動、調(diào)整、切換、全屏、自動布局等管理窗口的操作
Control+Option+A/D
:激活 平鋪/浮動 模式Option+h/j/k/l
:使 左/下/上/右 側(cè)窗口成為活動窗口Shift+Option+h/j/k/l
:向 左/下/上/右 移動當前活動窗口Command+Option+n
:創(chuàng)建新桌面,并將當前活動窗口移動至新桌面
32、awesome-for-beginners:對初學者友好的開源項目集合。如果你想?yún)⑴c到開源項目的建設(shè),可以在這個集合中尋找項目,祝你早日完成第一個貢獻(PR)
33、lifeRestart:在線文字游戲《人生重開模擬器》。純文字游戲只需開局選天賦分配初始屬性,后面就是看歲月如白駒過隙,轉(zhuǎn)眼就過完了這一生,不滿意的話可以輕松重開新的人生。游戲憑借詼諧幽默的文案和出乎意料的結(jié)尾,廣受好評。在線試玩
34、chinese-dos-games:中文 DOS 游戲集合。在線試玩
開源書籍
35、introduction-to-front-end-engineering:一本小書《帶你入門前端工程》。該書是作者對過去兩年前端工程化實踐的經(jīng)驗和心得總結(jié),在線閱讀
36、pumpkin-book:《機器學習公式詳解》西瓜書公式推導(dǎo)解析。在線閱讀
機器學習
37、invoice:增值稅發(fā)票 OCR 識別項目。包含訓(xùn)練好的模型和微服務(wù),啟動后可直接通過接口調(diào)用
38、GameAISDK:基于圖像識別的 AI 自動化框架,支持吃雞類、射擊類、MOBA 類等游戲類型。內(nèi)置多種圖像識別算法和 AI 算法,不用摳圖完全基于圖像識別的 AI 訓(xùn)練和框架
39、genshin_auto_fish:基于深度學習的原神手游自動釣魚工具。其中用 YOLOX 搞定魚的定位和類型的識別以及魚竿落點的定位,用 DQN 搞定自適應(yīng)控制釣魚過程的點擊,讓力度落在最佳區(qū)域內(nèi)
如果你發(fā)現(xiàn)了 GitHub 上有趣的項目,就分享給大家伙吧。
以上就是本期的所有內(nèi)容了!
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/121555.html