興趣是最好的老師,HelloGitHub 就是幫你找到興趣!javascript
分享 GitHub 上有趣、入門級的開源項目。前端
這是一個面向編程新手、熱愛編程、對開源社區感興趣 人羣的月刊,月刊的內容包括:各類編程語言的項目、讓生活變得更美好的工具、書籍、學習筆記、教程等,這些開源項目大多都是很是容易上手,並且很是 Cool。主要是但願你們能動手用起來,加入到開源社區中。java
在瀏覽、參與這些項目的過程當中,你將學習到更多編程知識、提升編程技巧、找到編程的樂趣。node
🎉 最後 HelloGitHub 這個項目就誕生了 🎉python
如下爲本期內容|每月 28 號發佈最新一期|點擊查看往期內容react
一、RemoteDesktopManage:基於 MSTSC 鏈接 Windows 遠程桌面,並對其進行封裝實現管理多個遠程桌面配置的小工具。更加方便地管理多個遠程桌面,實現同時遠程、互相切換。至關於把多個 MSTSC 集合在一個軟件裏,並進行分組打標試用nginx
二、tinytetris:一個用 C++ 編寫的終端版俄羅斯方塊遊戲。提供了兩個版本的源碼,分爲註釋版和庫版,註釋較多易於理解和學習git
三、overlord:基於 Go 語言編寫的 memcache 和 redis&cluster 的代理及集羣管理平臺。致力於提供自動化高可用的緩存服務解決方案。自帶圖形界面的緩存集羣管理程序,安裝步驟github
四、kratos:嗶哩嗶哩開源的一套 Go 微服務框架,包含大量微服務相關框架及工具。解決了 gin 在微服務場景下的一些適配和微服務自己的一系列生態,快速開始面試
五、docker-slim:自動縮減 docker 鏡像的體積的工具。大幅度縮減 docker 鏡像的體積,方便分發,使用命令 docker-slim build --http-probe your-name/your-app
。好比 Node.js 鏡像縮減後的對比:
from ubuntu:14.04 - 432MB => 14MB (縮減了 30.85 倍)
from debian:jessie - 406MB => 25.1MB (縮減了 16.21 倍)
from node:alpine - 66.7MB => 34.7MB (縮減了 1.92 倍)
複製代碼
六、beam:eBay 開源的分佈式圖數據庫,少數依然支持 SparQL 的圖數據庫
七、giffun:Android 端開源的 GIF 瀏覽和分享 App。該應用界面基於 Material Design 標準設計,圍繞 GIF 爲主題,創建了一個小型的社交系統。支持:
八、cim:一款面向開發者的 IM 即時通信系統。命令行通信工具,對開發者友好。提供了一些組件讓開發者易於擴展和定製功能。架構圖以下:
九、SpringAll:Spring 系列源碼教程,包含 Spring Boot、Spring Boot、Spring Cloud 等。Spring 是 Java 目前生命力最強的框架之一,經過資料與源碼的配合,容易學習和上手
十、seata:一套一站式分佈式事務解決方案。讓分佈式事務的使用像本地事務的使用同樣,簡單和高效,並逐步解決開發者們遇到的分佈式事務方面的全部難題。分佈式事務提出了不少年,可是一直沒有很好的解決方案,要不就收費很貴。螞蟻金服開源的 seata,將讓分佈式事務不在束之高閣,任何須要的人均可以使用它,推薦學習和使用。工做流程圖以下:
十一、xgplayer:由字節跳動西瓜視頻開源的帶解析器、能節省流量的 HTML5 視頻播放器。能夠做爲 H5 組件、Vue、React 組件單獨使用。它根據組件化的原則設計了一個獨立的、可分離的 UI 組件。更重要的是,它不只在 UI 層具備靈活性,並且在功能上也很大膽:它擺脫了視頻加載、緩衝和格式支持。在播放器端加載視頻、解析視頻、轉換格式,讓不支持分段播放的 MP4 動態支持,這樣就無須轉換源視頻的格式,服務器端也無其餘開銷。官網,示例代碼:
// 安裝:$ npm install xgplayer
// 第一步:<div id="vs"></div>
// 第二步:
import Player from 'xgplayer';
const player = new Player({
id: 'vs',
url: 'http://s2.pstatp.com/cdn/expire-1-M/byted-player-videos/1.0.0/xgplayer-demo.mp4'
})
複製代碼
十二、zhui:這是一款國風的組件庫。好用的組件庫千千萬,有趣的創意萬里挑一
1三、emoji-minesweeper:Emoji 符號的掃雷遊戲。代碼很簡短,遊戲創意很酷。寥寥 300+ 行代碼實現該遊戲,簡短易於初學者學習
1四、squoosh:谷歌開源的圖片壓縮工具。在保證圖片質量的狀況下快速壓縮圖片,支持多種圖片格式。6.63M 的圖片壓縮後爲 2.92M,使用起來簡單方便
1五、leetcode:更加貼近前端的數據結構與算法的庫。以 leetcode 做爲切入點,詳細講解關於數據結構的方方面面, 並以JavaScript 語言做爲解題語言。 後期會加入更多關於前端貼合的內容, 好比:react fiber
的實現和鏈表、react hooks
的實現和數組等等
1六、ffmpeg-python:FFmpeg 是一套能夠用來記錄、轉換數字音頻、視頻,並能將其轉化爲流的開源計算機程序。這個是其 Python 的庫,能夠用該庫操做、處理視頻和音頻。示例代碼:
# 水平翻轉視頻
import ffmpeg
stream = ffmpeg.input('input.mp4')
stream = ffmpeg.hflip(stream)
stream = ffmpeg.output(stream, 'output.mp4')
ffmpeg.run(stream)
複製代碼
1七、pyright:微軟出品的 Python 靜態類型檢查工具。執行速度快,適合大型 Python 項目,引用一句話:動態語言一時爽,重構火葬場
1八、pyxel:基於 Python 編程程語言實現的復古遊戲引擎。示例代碼:
# 代碼中導入 Pyxel 模塊後
import pyxel
# 首先使用 init 函數指定窗口大小
pyxel.init(160, 120)
def update():
if pyxel.btnp(pyxel.KEY_Q):
pyxel.quit()
def draw():
pyxel.cls(0)
pyxel.rect(10, 10, 20, 20, 11)
# 最後而後使用 run 函數啓動 Pyxel 應用程序
pyxel.run(update, draw)
複製代碼
1九、githubchart-api:根據 GitHub 帳號的貢獻記錄生成對應圖像。一行代碼,能夠在任何網站展現本身在 GitHub 上的貢獻活躍圖標。示例代碼:
<img src="http://ghchart.rshah.org/用戶名" alt="Github commit chart" />
複製代碼
20、guides:Ruby 編程風格指南。統一的格式風格有利於代碼的維護和迭代,對於 Ruby 使用者而言幫助極大
2一、GodEye:一行代碼自動顯示日誌、崩潰、網絡、ANR、泄漏、CPU、文件夾等信息,就像上帝睜開眼睛同樣
2二、CS-Notes:該項目整理、彙集了技術面試必備的基礎知識。省去了查找資料的時間,同時也是一份很好的學習資料
2三、zju-icicles:浙江大學各類課程相關資源集合。包含:課程、做業、答案、複習資料、選課攻略等,是浙大在校生的必備資源,對於有考研想法的小夥伴而言也是很好的資源
2四、awesome-scalability:一個系統的閱讀列表,描述了可擴展、高可用、高性能的大型系統背後的東西。每部分都是基於真實案例,講述瞭如何搭建一個可擴展、高可用、高性能的大型系統,案例都是來自於通過數百萬甚至數十億用戶實戰檢驗的系統。對於全部工程師而言都是一個很好的學習資料,開卷有益
2五、awesome-wechat-weapp:該項目收集了微信小程序開發過程當中會使用到的資料、問題以及第三方組件庫。隨着微信小程序的市場愈來愈大,不少公司也專門以製做小程序爲業,不論對感興趣的人仍是想本身動手作小程序的人而言,這份合集省去了很多查找資料的時間
2六、REKCARC-TSC-UHT:清華大學計算機系課程相關資源集合。內容豐富,包含從大一到大四,跟着清華學子一塊兒學習傳說中高校的課程吧
2七、prometheus-book:《Prometheus 操做指南》,在線閱讀
2八、the-craft-of-selfteaching:《自學是門手藝》一個編程入門者的自學心得。現在學習資源不少,對於初學者入門而言,最難的是如何自學,閱讀本書打開編程自學大門吧
2九、nginx-quick-reference:該項目描述瞭如何提升 Nginx 的性能、安全性等方面的步驟,讓你的網站在 SSL Labs 的評級到達 A+
30、openpose:基於卷積神經網絡和監督學習的開源庫,能夠實現人的面部、軀幹和四肢甚至手指的跟蹤。適用於多人,且標記準確,同時具備較好的魯棒性
3一、FaceDetection-DSFD:騰訊優圖的雙分支人臉檢測器全新算法,該算法已經被計算機視覺頂級會議 CVPR 2019 接收。優圖這次提出的 DSFD 人臉檢測算法,主要有 3 點創新:
3二、SPADE:英偉達(NVIDIA)新開源的繪圖工具。利用生成對抗網絡,根據幾根簡單的線條就能生成栩栩如生的圖像
3三、LearningToPaint:一個深度強化學習項目,研究如何讓機器用畫筆畫畫。也可體驗製做本身的繪畫或根據一張圖片生成一整個繪畫過程
若是你發現了好玩、有意義的開源項目 點擊這裏 分享你以爲有意思的項目。
歡迎轉載,請註明出處和做者,同時保留聲明。