興趣是最好的老師,HelloGitHub 就是幫你找到興趣!
簡介
分享 GitHub 上有趣、入門級的開源項目。
這是一個面向編程新手、熱愛編程、對開源社區感興趣 人群的月刊,月刊的內容包括:各種編程語言的項目、讓生活變得更美好的工具、書籍、學習筆記、教程等,這些開源項目大多都是非常容易上手,而且非常 Cool。主要是希望大家能動手用起來,加入到開源社區中。
- 會編程的可以貢獻代碼
- 不會編程的可以反饋使用這些工具中的 Bug
- 幫着宣傳你覺得優秀的項目
- Star 項目⭐️
在瀏覽、參與這些項目的過程中,你將學習到更多編程知識、提高編程技巧、找到編程的樂趣。
🎉 最后 HelloGitHub 這個項目就誕生了 🎉
以下為本期內容|每個月 28 號發布最新一期|點擊查看往期內容
C 項目
1、baulk:一個用 C 編寫的極簡 Windows 包管理器。易於使用、免安裝、不修改系統環境變量,能夠和 Windows Terminal 集成、添加到右鍵菜單。可以說是一個精簡版的 Scoop
2、LCUI:一個使用 C 開發的圖形界面開發庫。可借助 XML 和 CSS 構建簡單的跨平台桌面應用,提供與網頁類似的開發體驗。因此,你可以使用它輕松做出十分漂亮的界面。與 Electron 不同,它只是一個應用了部分 Web 技術的傳統 GUI 開發庫
C# 項目
3、Windows-Auto-Night-Mode:設置定時自動切換 Windows 10 深色和淺色主題的工具
C++ 項目
4、flameshot:操作簡單、功能強大的截圖工具
CSS 項目
5、css-sweeper:一個只用 HTML 和 CSS 實現的掃雷游戲。在線試玩
6、papercss:手繪風格的 CSS 庫
Go 項目
7、go-internals:關於 Go 程序設計語言內部實現原理的講解。中文翻譯
8、livego:基於 Go 實現的直播服務項目
9、LeetCode-Go:《LeetCode Cookbook》是幫助開發者在 LeetCode 上做題,提供解題思路和代碼的項目。目前已經收錄了 500+ 道題的題解和代碼,代碼都是 runtime beats 100%,代碼全部都是用 Go 語言實現。在線閱讀
10、ginrpc:簡化 go-gin 框架注冊路由方式,自動生成 Swagger/Markdown 文檔。示例代碼:
type ReqTest struct {
UserName string `json:"user_name" binding:"required"` // 帶校驗方式
}
type Hello struct {
}
// Hello [grpc-go](https://github.com/grpc/grpc-go) 模式
// @Router /hello_ruter [post,get]
func (s *Hello) Hello(c *gin.Context, req ReqTest) (*ReqTest, error) {
fmt.Println(req)
return &req,nil
}
func main() {
base := ginrpc.New(ginrpc.WithGroup("xxjwxc"))
router := gin.Default()
base.Register(router, new(Hello)) // 對象注冊 like(go-micro)
router.Run(":8080")
}
Java 項目
11、D8gerAutoCode:IDEA Java 代碼自動生成插件。支持自動生成單表增刪改查、分頁、注釋等
12、java8-tutorial:手把手教你 Java8 的語言特性。項目中還更新了 Java11 的新特性
13、CalendarView:一個優雅強大的 Android 日歷控件,支持周視圖、自定義周起始等功能
14、tutorials:該項目是 Spring 框架下的小型、單一功能的教程和示例代碼集合。主要是 Spring、Spring Boot、Spring Security 等方面
JavaScript 項目
15、remote-browser:實現用 JavaScript 語言控制 Chrome 和 Firefox 瀏覽器的庫。可輕松實現自動化測試、抓取數據等功能
16、MazeBattles.com:使用 Node.js 和 Socket.io 實現的在線迷宮游戲。入口在左上角出口在右下角,通過 [a][w][s][d] 按鍵移動位置。支持多人和單人兩種模式,點擊 “Show Solution” 可展示迷宮的解(BFS 算法實現)。在線試玩
17、jizhi:中國風新標簽頁的 Chrome/Firefox 插件。它將在新標簽頁上展示中國傳統色的層疊波浪動畫效果,搭配經典詩詞
18、star-history:展示 GitHub 項目 Star 歷史的在線工具。支持多個項目展示在同一個圖表上,效果如下圖:
19、genal-chat:適合前端新手學習的‘星空’聊天室項目。采用 Vue + socket.io 結合 TypeScript 語法構建,界面炫酷、良好的代碼規范、支持群聊和好友搜索等功能
Python 項目
20、handcalcs:通過簡單的 Python 代碼,生成復雜公式的工具。還記得寫論文推算算法的時候,被一行行公式支配的恐懼嗎?該庫可以將 Python 寫的公式,展示為 LaTeX 格式,效果如下:
21、QuickCut:一款輕量、好用的開源視頻處理工具。它是基於 PyQt5 開發的桌面工具,用於滿足非專業用戶的視頻處理需求:壓縮視頻、轉碼視頻、倒放視頻、合並片段、根據字幕裁切片段、自動配字幕、自動剪輯等
22、altair:強大的數據可視化 Python 庫。支持多種數據展示方式、接口簡單、效果炫酷,示例代碼和效果如下:
import altair as alt
from vega_datasets import data
source = data.cars()
brush = alt.selection(type='interval')
points = alt.Chart(source).mark_point().encode(
x='Horsepower',
y='Miles_per_Gallon',
color=alt.condition(brush, 'Origin', alt.value('lightgray'))
).add_selection(
brush
)
bars = alt.Chart(source).mark_bar().encode(
y='Origin',
color='Origin',
x='count(Origin)'
).transform_filter(
brush
)
points & bars
23、butterfly:又一個輕量級的 Python Web 框架。Web 框架太多了,該項目主旨是通過開發一個輕量級、可靠可用的 Web 框架,來更加深入理解 Web 開發過程中經常忽略(框架做的)但又十分重要的知識點。那句話咋說來的:我不做一遍,我就不算懂!架構圖如下:
Swift 項目
24、lottie-ios:Airbnb 開源的快速實現 APP 動畫的三方庫。還有支持 Android、React Native、Web、Windows 等平台,動畫效果如下:
25、YLExtensions:它解決了 UITableView 及 UICollectionView 注冊和配置過程不得不寫很多重復代碼的問題
其它
26、math-as-code:這是一份通過對比數學符號和 JavaScript 代碼來幫助開發者更容易了解數學符號的項目
27、PowerToys:微軟開源的 Windows 系統下強大的輔助工具。比如:窗口管理、批量圖片處理、改鍵工具等,下圖是屏幕顏色選擇工具
28、first-contributions:手把手教你如何在 GitHub 第一次貢獻代碼的教程。支持多種語言,中文
29、leek-fund:在 VSCode 中看股票和基金實時數據的插件
30、Algorithms-in-4-Steps:系統性學習算法與數據結構的資料集合
開源書籍
31、BuildYourOwnLisp:該書教你用 C 語言實現自己的 Lisp 語言。用 1000 多行實現一個小但功能齊全的 Lisp 語言,這里有份中文翻譯版本,但是沒有翻譯完點擊閱讀
機器學習
32、waifu2x:基於機器學習把圖片、照片變得高清。該項目使用卷積神經網絡對圖片進行 1-2 倍的無損放大操作,支持降噪保證圖片質量。在線嘗試
33、Never-Blink:誰先眨眼誰就輸了的游戲。使用 React + Flask + Dlib 技術實現的“眨眼就輸了”在線游戲,雖然是個 demo 級別的項目,但是很有意思可以在本地運行起來找朋友一起玩一下
34、cnn-convoluter:一個支持交互的展示卷積過程的可視化工具
最后
如果你發現了 GitHub 上有趣的項目,歡迎在 HelloGitHub 項目提 issues 告訴我們。
歡迎關注 HelloGitHub 公眾號