興趣是最好的老師,HelloGitHub 就是幫你找到興趣!前端
分享 GitHub 上有趣、入門級的開源項目。java
這是一個面向編程新手、熱愛編程、對開源社區感興趣 人羣的月刊,月刊的內容包括:各類編程語言的項目、讓生活變得更美好的工具、書籍、學習筆記、教程等,這些開源項目大多都是很是容易上手,並且很是 Cool。主要是但願你們能動手用起來,加入到開源社區中。python
在瀏覽、參與這些項目的過程當中,你將學習到更多編程知識、提升編程技巧、找到編程的樂趣。git
🎉 最後 HelloGitHub 這個項目就誕生了 🎉程序員
如下爲本期內容|每月 28 號發佈最新一期|點擊查看往期內容github
一、Terminal:微軟開源的一個全新、現代、功能豐富、高效的 Windows 終端應用程序。它支持 Windows 命令行社區最經常使用的許多命令,還支持選項卡、富文本、全球化、可配置性、主題和樣式等功能。一直以來 Windows 不被開發者青睞的緣由之一就是終端很差用,如今有了這個我都想買個 Windows 系統的電腦了(肯定不是打遊戲?)golang
二、golang-developer-roadmap:成爲 Go 開發者的學習路線圖,中文版面試
三、scheduler:Go 語言實現的做業調度工具包。適用於須要任務調度的場景,可以讓初學者學到 time、reflect 等標準庫的用法,中文文檔redis
四、nic:一個易用的 HTTP Request 包。它封裝了 Go 的 HTTP 標準庫,提供了簡潔優雅的 API。能夠更輕鬆的發送HTTP 請求,解決了 Go 標準庫自定義 HTTP 請求,操做 headers、cookies 時繁瑣的步驟。相似於 Python 的 Requests 和 urllib 的區別。示例代碼:算法
resp, err := nic.Get("http://example.com", nil)
if err != nil {
log.Fatal(err.Error())
}
fmt.Println(resp.Text)
複製代碼
五、redis-tui:炫酷的 redis 命令行圖形界面工具
六、gameboy.live:Gameboy 模擬器,還能夠經過 socket 遠程玩
# 下載
git clone https://github.com/HFO4/gameboy.live.git
# 運行
cd gameboy.live
go build -o gbdotlive main.go
# 命令說明
Usage of gbdotlive:
-G Play specific game in Fyne GUI mode # 用 Fyne GUI 模式玩遊戲,會彈出一個窗口
-c config # 配置文件路徑
Set the game option list config file path
-d Use Debugger in GUI mode # GUI 的 debug 模式
-f FPS
Set the FPS in GUI mode (default 60) # FPS 設定
-g Play specific game in GUI mode (default true) # 是否默認啓動 GUI
-h This help # 顯示幫助
-m Turn on sound in GUI mode (default true) # GUI 模式下是否有聲音
-p port
Set the port for the cloud-gaming server (default 1989) # 默認監聽端口,能夠用 Telnet 玩
-r ROM # 遊戲 ROM 的路徑
Set ROM file path to be played in GUI mode
-s Start a cloud-gaming server # 啓動服務器,用 Telnet 玩
複製代碼
七、CovenantSQL:具備區塊鏈特性的去中心化 SQL 關係型數據庫。能夠提供 DBaaS 服務,去中心化存儲保證用戶隱私。中文文檔,MacOS 系統能夠經過 brew install cql
直接安裝
八、diving:基於 dive 分析 docker 鏡像,界面化展現了鏡像每層的變更(增長、修改、刪除等)、用戶層數據大小等信息。便捷獲取鏡像信息和每層鏡像內容的文件樹,能夠方便地瀏覽鏡像信息。對於須要優化鏡像體積時很是方便
九、rhizobia_J:陌陌開源的 Java 安全編碼規範和 SDK
十、generator-jhipster:用於在幾秒鐘內建立 Spring Boot + Angular/React 項目的開源應用程序生成器(腳手架)。它能夠自動化生成一個完整 Web 應用或微服務架構,加快項目的開發效率。特色和技術棧:
十一、Gloading:深度解耦的 Android 加載組件,特色:
Gloading.initDefault(new GlobalAdapter());
Gloading.Holder holder = Gloading.getDefault().wrap(activity).withRetry(retryTask);
Gloading.Holder holder = Gloading.getDefault().wrap(view).withRetry(retryTask);
//顯示加載中的UI狀態
holder.showLoading()
//顯示加載成功的UI狀態
holder.showLoadSuccess()
//顯示加載失敗的UI狀態
holder.showFailed()
//顯示加載成功,但數據未空的UI狀態
holder.showEmpty()
複製代碼
十二、Android-BLE:Android 藍牙框架,包括掃描、鏈接、設置通知、發送數據、讀取、接收數據和 OTA 升級等。近乎一行代碼植入項目,可擴展、配置藍牙相關操做,適用於 Android-BLE4.0 藍牙。即使是 BLE 方面的小白也能夠在短短几分鐘內接入並運用到項目中
1三、practice:使用當下流行的多種不一樣前端技術棧,實現不一樣項目的詳細教程,教你如何快速上手這些技術。雖然項目名稱叫作 Practice
可是內容爲當前前端最火的框架實踐,並且符合生產環境下的開發流程規範,推薦學習
1四、ieaseMusic:基於網易雲音樂 API 開發的第三方客戶端,支持 Linux、Mac OS 系統。成熟的 JS 桌面應用產品,顏值很高,音樂資源豐富
1五、ts-utility-plugins:使用原生 TS 構建特效、插件、業務的實踐教程項目。脫離各類框架實現原生的特效以及插件
1六、PHP-Interview-QA:《PHP 面試問答》結合實際 PHP 面試經驗,系統地彙總面試中的各種的問題,並嘗試提供簡潔準確的答案,爲你面試 PHP 相關崗位提供「祕籍」。包含:網絡協議、數據結構與算法、PHP基礎、Web、MySQL、Redis、自我介紹、離職緣由、職業規劃等部分
1七、wizard:一款基於 Laravel 開發框架的開源文檔管理系統。目前已經在多家公司部署使用,支持:Markdown、Swagger 文檔管理,公司內部的統一身份認證系統(LDAP)等功能
1八、PySnooper:Python 的第三方調試庫。讓你經過裝飾器方法,方便的知道每一行程序運行後的結果,而不須要再手動增長 print
展現過程數據、調試程序。示例代碼:
import pysnooper
@pysnooper.snoop()
def number_to_bits(number):
if number:
bits = []
while number:
number, remainder = divmod(number, 2)
bits.insert(0, remainder)
return bits
else:
return [0]
number_to_bits(6)
# 輸出以下
Starting var:.. number = 6
15:29:11.327032 call 4 def number_to_bits(number):
15:29:11.327032 line 5 if number:
15:29:11.327032 line 6 bits = []
New var:....... bits = []
15:29:11.327032 line 7 while number:
15:29:11.327032 line 8 number, remainder = divmod(number, 2)
New var:....... remainder = 0
Modified var:.. number = 3
....
複製代碼
1九、Python-100-Days:《Python 100 天重新手到大師》—— Python 的入門學習資料,學習曲線低。非專業人士也能上手學習,適合新手入門
20、Zvm:一款用 Python 實現的簡易 JVM。實現功能以下:class 文件解析、類加載、運行時數據區、指令解釋器、基本指令集、簡易 GC、簡易線程、簡易 JDK 庫,能夠運行基本的 Java class 文件。代碼量少,模塊清晰,適合用來學習 JVM 的基本結構和實現
2一、city-vein:用公交路線數據,還原城市結構。經過數據可視化手段,還原了 30 多個城市的城市結構。該項目中有數據獲取和處理的腳本,並且該項目充分體現了數據可視化帶來的便利和效果,易於激發學習編程的熱情。在線瀏覽
2二、huginn:基於 Ruby 開發的自動化處理任務工具。能夠監控事物而後根據編寫好的邏輯進行處理(IFTTT),好比:監控天氣而後經過微信提醒你帶傘、追的小說或者動漫更新通知、聚合信息發送等。它框架穩定、生態活躍,有了它從而讓你的生活更加有效率,快去試試吧
2三、Brooklyn:炫酷的蘋果電腦屏幕保護程序
2四、PopMenu:一款簡單、漂亮、方便、靈活自定義的彈出菜單組件。若是你的 App 須要一款靈活好看的彈出菜單的話,那麼 PopMenu 值得你一試
2五、commit-messages-guide:Git 提交描述(commit)的編寫指南,中文
2六、weekly:《阿里雲前端技術週刊》
2七、algo:必知必會的數據結構和算法代碼答案(多種編程語言)
2八、vim-bootstrap:一個簡單、易用的 .vimrc
配置文件生成工具,也可經過網站點選生成。支持 Vim、NeoVim、NeoVim-Qt、MacVim 和 GVim。特色:
2九、hacker-laws:程序員工做中可能使用到的定律、原則的講解,這些原則多應用於咱們的開發和設計中,開卷有益
30、vscode-extension-samples:官方 VS Code 開發擴展插件的代碼實例集合
3一、3d-game-shaders-for-beginners:有關如何爲 3D 遊戲實施 SSAO、景深、照明、法線貼圖等效果的教程。包含示例代碼(C++)與 Demo,更便於理解和學習
3二、bentoml:一個機器學習工具用來打包和發佈模型。幫助數據科學家用不到 5 分鐘把在 ipython notebook 裏的模型發佈到生產環境
%%writefile iris_classifier.py
from bentoml import BentoService, api, env, artifacts
from bentoml.artifact import PickleArtifact
from bentoml.handlers import DataframeHandler
# You can also import your own python module here and BentoML will automatically
# figure out the dependency chain and package all those python modules
@artifacts([PickleArtifact('model')])
@env(conda_pip_dependencies=["scikit-learn"])
class IrisClassifier(BentoService):
@api(DataframeHandler)
def predict(self, df):
# arbitrary preprocessing or feature fetching code can be placed here
return self.artifacts.model.predict(df)
複製代碼
3三、stanford-cs-229-machine-learning:斯坦福 CS229 教程講義文檔,該文檔內容細緻、條理清晰,方便入門者做爲讀書筆記學習。中文版
3四、mlcourse.ai:一套機器學習課程。課程全面細緻,同時帶有 demo 以及進階的 Kaggle 比賽的樣例,很是適合初學者逐步的深刻學習
3五、lihang-code:機器學習領域經典書籍《統計學習方法》的課件和代碼。這個項目提供了課件、代碼資源,敘述從具體問題或實例入手,由淺入深,闡明思路,給出必要的數學推導,便於讀者掌握統計學習方法的實質,學會運用
3六、maskrcnn-benchmark:Facebook 開源的 PyTorch 版本的 Mask-RCNN。研究人員能夠按照教程、示例代碼逐步進行實現
若是你發現了好玩、有意義的開源項目 點擊這裏 分享你以爲有意思的項目。
歡迎轉載,請註明出處和做者,同時保留聲明。