《HelloGitHub》第 44 期


興趣是最好的老師,HelloGitHub 就是幫你找到興趣!

簡介

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

這是一個面向編程新手熱愛編程對開源社區感興趣 人群的月刊,月刊的內容包括:各種編程語言的項目讓生活變得更美好的工具書籍、學習筆記、教程等,這些開源項目大多都是非常容易上手,而且非常 Cool。主要是希望大家能動手用起來,加入到開源社區中。

  • 會編程的可以貢獻代碼
  • 不會編程的可以反饋使用這些工具中的 Bug
  • 幫着宣傳你覺得優秀的項目
  • Star 項目⭐️

在瀏覽、參與這些項目的過程中,你將學習到更多編程知識提高編程技巧找到編程的樂趣

🎉 最后 HelloGitHub 這個項目就誕生了 🎉

目錄


以下為本期內容|每個月 28 號發布最新一期|點擊查看往期內容

C 項目

1、scrcpy:一款可以用電腦顯示並控制 Android 手機的開源工具。連接方便使用方便,手機無需 root、無需安裝任何應用。支持 USB、Wi-Fi 兩種方式連接,支持 Windows、macOS、Linux 三種操作系統。注意電腦端需要安裝 adb 工具

🔙 返回目錄 🔙


C++ 項目

2、netdata:一款免費開源的 Linux 系統性能實時監控工具。它易於安裝、占用資源少、功能強大,支持監控多種服務

3、musikcube:一個使用 C++ 編寫的終端的音樂播放器,也可以作為一個音頻引擎、元數據索引器和服務器。musikcube 可以在 Windows、MacOS 、Linux 以及帶有 raspbian 的樹莓派上輕松編譯和運行。雖然它只能在終端上使用,但是功能應有盡有。使用方法詳見 User Guide

4、Sourcetrail:一個免費開源、跨平台的可視化源碼探索項目。能夠十分高效的幫助使用者探索、熟悉陌生的代碼,支持 C、C++、Python 和 Java 語言,同時提供了相關 SDK 用於拓展支持其它語言,相信在未來會提供更多語言的支持。程序員在它的幫助下可以快速熟悉陌生項目、學習開源項目、框架等,此等利器趕快去試試吧

🔙 返回目錄 🔙


Go 項目

5、guide:Uber 內部的 Go 風格規范。中文翻譯版

6、evans:基於 Go 語言實現的支持交互模式的 gRPC 客戶端,讓調試、測試 gRPC API 更加容易

7、mkcert:無需配置,執行一條命令讓本地的開發環境實現 HTTPS 的工具。效果如下:

$ mkcert -install
Created a new local CA at "/Users/filippo/Library/Application Support/mkcert" 💥
The local CA is now installed in the system trust store! ⚡️
The local CA is now installed in the Firefox trust store (requires browser restart)! 🦊

$ mkcert example.com "*.example.com" example.test localhost 127.0.0.1 ::1
Using the local CA at "/Users/filippo/Library/Application Support/mkcert" ✨

Created a new certificate valid for the following names 📜
 - "example.com"
 - "*.example.com"
 - "example.test"
 - "localhost"
 - "127.0.0.1"
 - "::1"

The certificate is at "./example.com+5.pem" and the key at "./example.com+5-key.pem" ✅

8、gochat:純 Go 實現的輕量級即時通訊系統。技術上各層之間通過 rpc 通訊,使用 redis 作為消息存儲與投遞的載體,相對 kafka 操作起來更加方便快捷。各層之間基於 etcd 服務發現,在擴容部署時將會方便很多。架構、目錄結構清晰,文檔詳細。而且還提供了 docker 一件構建,安裝運行十分方便,推薦作為學習項目

🔙 返回目錄 🔙


Java 項目

9、DoraemonKit:一款功能齊全的 iOS 、Android、微信小程序客戶端研發助手。它功能強大、接入方便、便於擴展,能夠讓每一個 App 快速接入一些常用的輔助開發工具、測試效率工具、視覺輔助工具,而且能夠完美在 Doraemon 面板中接入一些定制的輔助工具

10、SpringCloud:基於 SpringCloud2.1 的微服務開發腳手架

11、newbee-mall:一基於 Spring Boot 2.X 及相關技術棧開發電商系統。包括商城系統及商城后台管理系統,支持商城常見的功能。該項目代碼開源、功能完備、流程完整,對於新手開發者十分友好,僅需極短的時間就可以啟動這個完整的商城項目。這是一個完整的電商項目,也推薦各個階段的 Java 開發者學習或為項目貢獻代碼

🔙 返回目錄 🔙


JavaScript 項目

12、kiwi:還在為前端的全球化多語言而發愁嗎?可以試試阿里開源的這項目

13、FileSaver.js:文件保存的 JavaScript 庫,支持多種常見的文件存儲格式:xls、txt、png 等。它可以方便的把數據轉成文件,然后供用戶下載。示例代碼:

// 存儲文本
var blob = new Blob(["Hello, world!"], {type: "text/plain;charset=utf-8"});
FileSaver.saveAs(blob, "hello world.txt");

14、qier-player:一款基於 React 的輕量級在線視頻播放器組件,界面簡潔、操作流暢具有視頻播放器的基礎功能。方便你在項目中輕松添加播放器組件,實現視頻播放功能。如果你嫌原生 video 功能太少、操作太傻、界面太簡陋,那這個播放器就是你的菜。你還能夠通過閱讀源碼學習到關於生命周期執行順序、父子組件傳值的方式、以及如何利用定時器進行一些實時的狀態更新的技巧。示例代碼:

import React from 'react';
import ReactDOM from 'react-dom';
import QierPlayer from 'qier-player';

ReactDOM.render(<QierPlayer srcOrigin="你的視頻地址"></QierPlayer>, document.getElementById('root'));

15、glut:一款用於團隊內部 chrome 工具共享的工具,可以理解為 chrome 的小程序。它提供了比頁面腳本更多的 API,可是實現更豐富的功能。可以隨時在頁面打開的小組件,它既可以作為頁面的輔助工具或者也可以提供獨立的功能。演示如下:

16、svrx:一個易於使用、插件化的前端開發工作台。幫助前端開發人員把折騰開發環境的時間,省下來做更有意義的事。快速開始:

  1. 安裝:npm install -g @svrx/cli
  2. 創建目錄:mkdir example && cd example
  3. 創建文件:echo '<html><body>Hello svrx!</body></html>' > index.html
  4. 運行:svrx

17、paint:在線體驗下油畫創作。呈上我的“傑作”:

🔙 返回目錄 🔙


PHP 項目

18、SyncMusic:基於 PHP Swoole 開發的在線彈幕點歌台。支持自由點歌、切歌、調整排序、刪除指定音樂以及基礎權限分級

🔙 返回目錄 🔙


Python 項目

19、pyflame:Uber 開源的 Python 性能分析工具。可以在不修改代碼的情況下分析 Python 程序的性能,同時生成火焰圖

20、Gooey:一個把 Python 命令行工具轉化成 GUI 桌面工具的庫。就我個人還是喜歡命令行的形式😅

21、opendevops:一款基於 tornado 的開源自動化運維雲管理平台。支持:ITSM、權限系統、Web Terminnal 登陸日志審計、錄像回放、監控報警系統、DNS 管理、配置中心等

22、KubeOperator:用 Python 語言開發的開源容器集群管理平台。在離線網絡環境下通過可視化 Web UI 在 VMware、Openstack 或者物理機上規划、部署和管理生產級別的 Kubernetes 集群。開啟你的 Kubernetes 之旅

🔙 返回目錄 🔙


Swift 項目

23、SwiftyGif:高性能且上手容易的 Swift GIF 庫。示例代碼:

import SwiftyGif

do {
    let gif = try UIImage(gifName: "MyImage.gif")
    let imageview = UIImageView(gifImage: gif, loopCount: 3) // Use -1 for infinite loop
    imageview.frame = view.bounds
    view.addSubview(imageview)
} catch {
    print(error)
}

24、Pock:一款在蘋果電腦的觸控欄中,顯示 macOS 程序塢的開源工具

🔙 返回目錄 🔙


其它

25、infer:Facebook 開源的一個支持 Objective-C、Java 和 C 語言的靜態分析工具,用它可以檢測 Android、iOS 代碼中的資源泄漏、內存泄漏、空指針等問題。建議集成到客戶端發布的流程環節中,它能夠將客戶端應用的一些嚴重 Bug 扼殺在發布應用之前,同時減少應用崩潰和性能低下的情況

26、git-quick-stats:項目的 git 提交記錄展示和統計的工具。支持:不同時間維度和用戶名的統計、近期提交的概覽等

27、TeachYourselfCS-CN:《TeachYourselfCS》自學計算科學的一份書單(中文翻譯版)

28、funNLP:中文詞庫的集合。可用於:敏感詞、語言檢測、拆字詞典等

29、CoolplaySpark:Spark 源代碼分析、類庫解讀等

30、github-cards:非官方的 GitHub 卡片

🔙 返回目錄 🔙


教程

31、zh.javascript.info:《現代 JavaScript 教程》是以最新的 JavaScript 標准為基准的教程。通過簡單但詳細的內容,講解從基礎到高階的 JavaScript 相關知識,能夠幫助初中級前端提升 JavaScript 等前端技術水平。在線閱讀

🔙 返回目錄 🔙


機器學習

32、ML-NLP:該項目總結了機器學習、NLP 面試中常考到的知識點和代碼實現

33、openpilot:comma.ai 開源的自動駕駛系統

34、MNN:一個輕量級的深度神經網絡推理引擎,在端側加載深度神經網絡模型進行推理預測。架構設計如下:

🔙 返回目錄 🔙



“看完了,還不夠?<往期內容> | 還不過癮,那就看看每天更新的前端日報吧 <今日前端>

如果你發現了好玩、有意義的開源項目 點擊這里 分享你覺得有趣的項目。

最后

如果你發現了 GitHub 上有趣的項目,歡迎在 HelloGitHub 項目提 issues 告訴我們。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM