《HelloGitHub》第 37 期

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

簡介

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

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

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

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

🎉 最後 HelloGitHub 這個項目就誕生了 🎉python


如下爲本期內容|每月 28 號發佈最新一期|點擊查看往期內容react

C# 項目

一、RemoteDesktopManage:基於 MSTSC 鏈接 Windows 遠程桌面,並對其進行封裝實現管理多個遠程桌面配置的小工具。更加方便地管理多個遠程桌面,實現同時遠程、互相切換。至關於把多個 MSTSC 集合在一個軟件裏,並進行分組打標試用nginx

C++ 項目

二、tinytetris:一個用 C++ 編寫的終端版俄羅斯方塊遊戲。提供了兩個版本的源碼,分爲註釋版和庫版,註釋較多易於理解和學習git

Go 項目

三、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 的圖數據庫

Java 項目

七、giffun:Android 端開源的 GIF 瀏覽和分享 App。該應用界面基於 Material Design 標準設計,圍繞 GIF 爲主題,創建了一個小型的社交系統。支持:

  • 查看熱門搞笑的 GIF 圖
  • 關注你喜歡的人,他的有趣分享一覽無餘
  • 一鍵發佈你本身的 GIF 趣圖
  • 對你感興趣的內容點贊、點評
  • 喜歡的內容輕鬆轉發至主流社交軟件,傳遞你的快樂

八、cim:一款面向開發者的 IM 即時通信系統。命令行通信工具,對開發者友好。提供了一些組件讓開發者易於擴展和定製功能。架構圖以下:

九、SpringAll:Spring 系列源碼教程,包含 Spring Boot、Spring Boot、Spring Cloud 等。Spring 是 Java 目前生命力最強的框架之一,經過資料與源碼的配合,容易學習和上手

十、seata:一套一站式分佈式事務解決方案。讓分佈式事務的使用像本地事務的使用同樣,簡單和高效,並逐步解決開發者們遇到的分佈式事務方面的全部難題。分佈式事務提出了不少年,可是一直沒有很好的解決方案,要不就收費很貴。螞蟻金服開源的 seata,將讓分佈式事務不在束之高閣,任何須要的人均可以使用它,推薦學習和使用。工做流程圖以下:

JavaScript 項目

十一、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 的實現和數組等等

  • 第一部分:leetcode 經典題目的解析,包括思路、關鍵點和具體的代碼實現
  • 第二部分:對於數據結構與算法的總結
  • 第三部分:anki 卡片, 將 leetcode 題目按照必定的方式記錄在 anki 中,方便你們記憶

Python 項目

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)
複製代碼

Ruby 項目

1九、githubchart-api:根據 GitHub 帳號的貢獻記錄生成對應圖像。一行代碼,能夠在任何網站展現本身在 GitHub 上的貢獻活躍圖標。示例代碼:

<img src="http://ghchart.rshah.org/用戶名" alt="Github commit chart" />
複製代碼

20、guides:Ruby 編程風格指南。統一的格式風格有利於代碼的維護和迭代,對於 Ruby 使用者而言幫助極大

Swift 項目

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 點創新:

  1. 新的特徵加強模塊(FEM:Feature Enhance Module)
  2. 分層錨點漸進式的代價函數監督(PLA:Progressive Anchor Loss)
  3. 改進的錨點匹配策略(Improved Anchor Matching Strategy)

3二、SPADE:英偉達(NVIDIA)新開源的繪圖工具。利用生成對抗網絡,根據幾根簡單的線條就能生成栩栩如生的圖像

3三、LearningToPaint:一個深度強化學習項目,研究如何讓機器用畫筆畫畫。也可體驗製做本身的繪畫或根據一張圖片生成一整個繪畫過程


換種方式閱讀

聲明

若是你發現了好玩、有意義的開源項目 點擊這裏 分享你以爲有意思的項目。

歡迎轉載,請註明出處和做者,同時保留聲明。

相關文章
相關標籤/搜索