《HelloGitHub》第 50 期


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

簡介

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

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

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

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

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


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

C# 項目

1、KSFramework:一個整合 KEngine、SLua/XLua 的 Unity 5 Asset Bundle 游戲開發框架。它為程序員、美術、策划、運營提供輔助工具集,很多大型游戲都在用的項目,快來學起來吧

C++ 項目

2、FlowChar:一個用來把偽代碼生成純字符流程圖的小工具。讓使用者僅需要寫一段簡單的偽代碼,便可以生成對應的流程圖。該項目結構清晰、使用簡單,代碼量少適合使用和“把玩”。示例圖如下:

3、notepanda:這是一個用 C++ 和 Qt 開發的記事本項目。支持代碼高亮、自定義字體樣式,還可以命令行呼出:notepanda main.cpp,支持 Windows、Linux 和 MacOS 三大系統。可作為學習 Qt、如何做開源項目的實戰

4、yuzu:免費開源的 Nintendo Switch 模擬器。剛剛開源的項目,目前僅支持 Windows、Linux,部分主流游戲:塞爾達傳說、寵物小精靈、馬里奧等

CSS 項目

5、css.gg:開源圖標 UI 庫。支持 CSS、SVG、Figma、NPM 等

Go 項目

6、grpcui:gRPC 的 Web 頁面調試工具。該項目提供交互式的調試界面,讓你開發 gRPC 的時候如虎添翼

7、uptoc:一個基於 Go 的靜態博客部署到雲存儲的工具。靜態博客不論是部署在 GitHubPages 還是 Netlify 等平台都存在國內訪問速度慢的問題,解決這個問題最好的辦法就是部署在國內的雲存儲,如騰訊雲 COS、阿里雲 OSS、七牛雲等。借助該工具可以快速上傳到上述雲存儲平台,加快你的靜態博客訪問速度

# 安裝
curl -sSf http://uptoc.saltbo.cn/install.sh | sh
# 使用
uptoc --driver oss --region cn-beijing --access_key xxx --access_secret xxx --bucket demo-bucket /opt/blog/public

8、xlsx:讀寫 xlsx 文件的 Go 庫。示例代碼:

//example type
type structTest struct {
    IntVal     int     `xlsx:"0"`
    StringVal  string  `xlsx:"1"`
    FloatVal   float64 `xlsx:"2"`
    IgnoredVal int     `xlsx:"-"`
    BoolVal    bool    `xlsx:"4"`
}
structVal := structTest{
    IntVal:     16,
    StringVal:  "heyheyhey :)!",
    FloatVal:   3.14159216,
    IgnoredVal: 7,
    BoolVal:    true,
}
//create a new xlsx file and write a struct
//in a new row
f := NewFile()
sheet, _ := f.AddSheet("TestRead")
row := sheet.AddRow()
row.WriteStruct(&structVal, -1)

//read the struct from the same row
readStruct := &structTest{}
err := row.ReadStruct(readStruct)
if err != nil {
    panic(err)
}
fmt.Println(readStruct)

9、Yearning:Go 寫的高顏值、開源 SQL 審核平台

Java 項目

10、jbake:基於 Java 的開源靜態網站、博客生成器。常用命令如下:

# 快速開始
$ curl -s "https://get.sdkman.io" | bash
$ sdk install jbake
$ mkdir awesome-jbake && cd awesome-jbake
$ jbake -i
$ jbake -b -s

jbake -h  #查看幫助文檔
jbake -i  #安裝依賴
jbake -s #運行項目

11、kkFileView:基於 Spring boot 打造的多類型文件在線預覽項目。支持多種文件例如:doc、ppt、xls、mp4、txt 等,功能強大便於快速開發和二次開發

12、zfile:免費開源的在線雲盤項目。功能特性:

  • 文件夾密碼
  • 支持在線瀏覽文本文件、視頻、圖片、音樂
  • 文件/目錄二維碼
  • 全局搜索
  • 等等

13、Schedulis:一個基於 Azkaban 開發的工作流任務調度系統。該調度系統具備高性能、高可用(去中心化多調度中心和多執行器)和多租戶資源隔離等。特性:

  • 常規的 Command Shell 和 Linkis(HadoopMR、Hive、Spark、Sqoop、Python)大數據任務
  • 特色的數據檢查和工作流之間的依賴任務
  • 完善的告警和工作流執行策略
  • 提供多種類型的參數設置,動態全局變量和簡單易用的 UI

JavaScript 項目

14、typical:零依賴、僅 400 字節的輸入動畫庫。示例代碼:

import {
    type,
    type as loop
};

const steps = [1000, 'Ready', 1000, 'Set', 1000, 'Go'];

type(element, ...steps, loop);

15、HueJumper2k:用 JS 實現的 2KB 大小的 3D 賽車游戲。在線試試

16、avataaars-generator:基於 React 實現的卡通頭像生成工具。在線嘗試

17、jexcel:一個輕量級、功能強大的電子表格庫。輕松實現復雜數據的表格管理,支持 JS 數組、JSON、CSV 等數據,並且可以實現 excel 文件的直接復制和粘貼。示例代碼:

var data = [
    ['Jazz', 'Honda', '2019-02-12', '', true, '$ 2.000,00', '#777700'],
    ['Civic', 'Honda', '2018-07-11', '', true, '$ 4.000,01', '#007777'],
];

jexcel(document.getElementById('spreadsheet'), {
    data:data,
    columns: [
        { type: 'text', title:'Car', width:120 },
        { type: 'dropdown', title:'Make', width:200, source:[ "Alfa Romeo", "Audi", "Bmw" ] },
        { type: 'calendar', title:'Available', width:200 },
        { type: 'image', title:'Photo', width:120 },
        { type: 'checkbox', title:'Stock', width:80 },
        { type: 'numeric', title:'Price', width:100, mask:'$ #.##,00', decimal:',' },
        { type: 'color', width:100, render:'square', }
     ]
});

18、form-create:一個可以通過 JSON 自動生成具有動態渲染、數據收集、驗證和提交功能的表單生成器。結合內置多種常用表單組件和自定義組件,輕松搞定復雜的表單,支持 iview、element-ui、and-design-vue

Python 項目

19、MrDoc:一個基於 Python 開發的在線文檔系統。支持 Markdown 語法、文集分類、科學公式、流程圖、思維導圖等內容。清爽的閱讀界面,還可以把內容打包導出為 Markdown 文件、EPUB 文件、PDF 文件。適合作為個人和小型團隊的私有文檔服務

20、geek_crawler:極客時間課程(目前僅支持圖文、音頻)下載到本地的 Python 腳本。需輸入賬號密碼后,才能將指定極客時間專欄課程保存到本地,方便隨時隨地學習

21、fastapi:基於 Python 3.6+ 的高性能 Web 框架。“人如其名”用 FastAPI 寫接口那叫一個快、調試方便,Python 在進步而它基於這些進步,讓 Web 開發變得更快、更強。示例代碼:

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
async def read_root():
    return {"Hello": "World"}

@app.get("/items/{item_id}")
async def read_item(item_id: int, q: str = None):
    return {"item_id": item_id, "q": q}

# 啟動命令:uvicorn main:app --reload

Swift 項目

22、vimr:Neovim 的 macOS 版

23、SwiftUI:該項目參考 SwiftUI 官方示例,記錄代碼和展示效果

其它

24、winget-cli:微軟開源的 Windows 程序包管理器,幫助開發者快速的安裝工具(預覽版)。 目前有搜索、顯示和安裝軟件包等功能,命令簡單 winget install <tool>

25、fullstackopen:免費開源的 Web 全棧編程課程。一站式學習 React、Redux、Node.js、MongoDB、GraphQL 以及 TypeScript,這門課程會向你介紹基於 JavaScript 的現代 Web 編程技術。讓你可以利用 ReactJS 搭配 Node.js 開發的 REST API,來搭建單頁面應用程序

26、vim:Vim 官方倉庫

27、tool-tips:玩轉 IDE 加班遠離你,IntelliJ IDEA 的技巧倉庫

28、GitHub520:通過修改 hosts 解決 GitHub 訪問慢、圖裂問題的項目。基於 GitHub Action 定時訪問 ipaddress 自動獲取、輸出 GitHub 相關域名對應的最新 IP 保證長期有效,用戶不需要安裝和運行代碼,直接復制項目首頁的內容便可生效

開源書籍

29、thinking-in-java-zh:《Java 編程思想》中文版。在線閱讀

機器學習

30、pose-animator:一個基於 PoseNet 和 FaceMesh 可將你的 Pose 變成 2D 動畫的工具。生成的動畫人物會根據你的表情和肢體動作做出相應動作,來試試制作你專屬的 2D 鏡像人吧

31、Real-World-Masked-Face-Dataset:口罩人臉數據集

32、scikit-opt:一個封裝了 7 種啟發式算法的 Python 代碼庫。分別是:差分進化算法、遺傳算法、粒子群算法、模擬退火算法、蟻群算法、魚群算法、免疫優化算法,示例代碼:

from sko.GA import GA_TSP

ga_tsp = GA_TSP(func=cal_total_distance, n_dim=num_points, size_pop=50, max_iter=500, prob_mut=1)
best_points, best_distance = ga_tsp.run()

33、photo2cartoon:將真實照片轉換為卡通風格的開源項目。效果如下:


最后

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

關注 HelloGitHub 公眾號獲取第一手的更新


免責聲明!

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



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