興趣是最好的老師,HelloGitHub 就是幫你找到興趣!javascript
分享 GitHub 上有趣、入門級的開源項目。css
這是一個面向編程新手、熱愛編程、對開源社區感興趣 人羣的月刊,月刊的內容包括:各類編程語言的項目、讓生活變得更美好的工具、書籍、學習筆記、教程等,這些開源項目大多都是很是容易上手,並且很是 Cool。主要是但願你們能動手用起來,加入到開源社區中。html
在瀏覽、參與這些項目的過程當中,你將學習到更多編程知識、提升編程技巧、找到編程的樂趣。vue
🎉 最後 HelloGitHub 這個項目就誕生了 🎉java
如下爲本期內容|每月 28 號發佈最新一期|點擊查看往期內容python
一、IdentityServer4.Admin:免費開源的 IdentityServer4 與 Asp.Net Core Identity 管理器。IdentityServer4 官方的管理器是收費的,該項目很好的替代了官方管理器,能夠方便的管理使用 IdentityServer4 所搭建的認證服務器git
二、FLIF:免費、新穎的無損圖像格式。壓縮比方面優於 PNG、lossless WebP、lossless BPG、lossless JPEG2000 等格式github
三、cds:企業級開源持續集成系統。支持橫向擴展、自帶 UI、經常使用的持續集成構建等功能web
四、docui:終端 Docker 管理工具,自帶一個終端界面。使用該工具能夠方便的經過界面管理 docker 不用再記那些命令。安裝命令:docker
# Homebrew
$ brew tap skanehira/docui
$ brew install docui
# go get
$ go get -d github.com/skanehira/docui
$ cd $GOPATH/src/github.com/skanehira/docui
$ GO111MODULE=on go install
複製代碼
五、go-echarts:Golang 代碼生成對應的 echarts 可視化圖表。實例代碼:
// example.go
package main
import (
"log"
"math/rand"
"os"
"time"
"github.com/chenjiandongx/go-echarts/charts"
)
var nameItems = []string{"襯衫", "牛仔褲", "運動褲", "襪子", "衝鋒衣", "羊毛衫"}
var seed = rand.NewSource(time.Now().UnixNano())
func randInt() []int {
cnt := len(nameItems)
r := make([]int, 0)
for i := 0; i < cnt; i++ {
r = append(r, int(seed.Int63()) % 50)
}
return r
}
func main() {
bar := charts.NewBar()
bar.SetGlobalOptions(charts.TitleOpts{Title: "Bar-示例圖"}, charts.ToolboxOpts{Show: true})
bar.AddXAxis(nameItems).
AddYAxis("商家A", randInt()).
AddYAxis("商家B", randInt())
f, err := os.Create("bar.html")
if err != nil {
log.Println(err)
}
bar.Render(f)
}
複製代碼
六、1m-go-websockets:該項目演示瞭如何用 Go 編寫一個能夠提供超過一百萬個 websockets 鏈接、運行內存小於 1GB 的服務器。setup.sh
是用來建立 websocket 客戶端的,destroy.sh
則用來銷燬客戶端
七、SpringBoot-Learning:Spring Boot 教程
八、halo:Java 博客系統。在層出不窮的博客系統中,很難看到使用 Java 編寫的簡潔優雅的博客系統。該項目還具有着輕快且功能強大的特色,這些特性使它從衆多 Java 博客系統脫穎而出。安裝命令:
# 安裝 Halo
$ yum install -y wget && wget -O halo-cli.sh https://git.io/fxHqp && bash halo-cli.sh -i
# 更新 Halo
$ bash halo-cli.sh -u
複製代碼
九、APIJSON:快速開發 API 服務的框架。爲簡單的增刪改查、複雜的查詢、簡單的事務操做提供了徹底自動化的 API。大部分 HTTP 請求後端不再用寫接口了,也不用寫文檔了,適合中小型先後端分離的項目
十、IQL:基於 SparkSQL 實現了一套即席查詢服務,具備以下特性:
十一、Gitter:GitHub 的小程序客戶端。UI 設計漂亮,可做爲小程序和 GitHub 結合的實戰項目學習
十二、Motrix:桌面下載工具,支持下載 HTTP、FTP、BT、磁力鏈、百度網盤等資源。界面簡潔易用,採用 Vue + VueX + Element 的技術架構適合學習桌面應用開發
1三、rainbow:體積小、易於使用、支持各類編程語言的語法高亮插件。該項目原理是經過正則過濾關鍵字,而後進行高亮。代碼:
// JS關鍵字判斷
Rainbow.extend('javascript', [
/** * matches $. or $( */
{
name: 'selector',
pattern: /\$(?=\.|\()/g
},
{
name: 'support',
pattern: /\b(window|document)\b/g
}
...
複製代碼
1四、Chart.js:基於 canvas 的可視化庫。可用於構建簡單的 H5 圖表,知足基本的平常可視化需求
1五、ant-design-vue:Ant Design 的 Vue 實現,該項目已經獲得 Ant Design 官方承認
1六、iWeChat:還原、探索微信 APP 的項目。經過該項目借鑑、學習微信客戶端開發的相關設計與技術,也能夠學到如何分析一個第三方 APP 的方法
1七、spug:使用 Python+Vue 實現的開源運維平臺,先後端分離方便二次開發。該項目基於 Docker 鏡像發佈部署,方便安裝和升級。支持運維常見功能:主機管理、任務計劃管理、發佈部署、監控告警等
1八、ruia:基於 asyncio 和 aiohttp 的 Python3 異步爬蟲框架。它具備容易上手、非阻塞、擴展性強等特色,實例代碼:
from ruia import TextField, Item, Spider
class HackerNewsItem(Item):
target_item = TextField(css_select='tr.athing')
title = TextField(css_select='a.storylink')
class HackerNewsSpider(Spider):
start_urls = ['https://news.ycombinator.com/news?p=1']
async def parse(self, response):
async for item in HackerNewsItem.get_items(html=response.html):
yield item
if __name__ == '__main__':
HackerNewsSpider.start()
複製代碼
1九、devhub:支持 Android、iOS、Web、Desktop 的 GitHub 管理通知客戶端。可以幫你方便地接收、查看、管理 GitHub 消息、動態等
20、neovim:致力於改善 Vim 的維護、可擴展性等方面的編輯器。它功能強大、項目開發活躍、社區活躍,「新一代」的 Vim
2一、Micro8:浸淫滲透攻擊的老鳥所寫,內容一線深刻淺出,主要是 Windows 系統場景。對於初中級安全從業人員、乙方安全測試、甲方安全自檢、網絡安全愛好者等提升都有很大的幫助
2二、OI-WIKI:免費、開放、持續更新的編程競賽相關知識教程。包含競賽的基礎知識、常見題型、解題思路以及經常使用工具等內容,幫助你們更快速、深刻地學習編程競賽相關知識
2三、USTC-CS-Courses-Resource:該倉庫收錄中國科學技術大學衆多課程資源。包括電子版教材、參考書、講義、試卷、學習心得、習題解答等。以計算機學院課程爲主,也包含公選課、自由選修等其餘課程。
2四、You-Dont-Know-JS:(英文)深刻探討 JavaScript 語言核心機制的書籍,適用於深刻學習 JS。該書已出版,但在線閱讀免費
2五、d2l-zh:《Dive into Deep Learning 》翻譯版,即《動手學深度學習》。在線閱讀
2六、cppwasm-book:《C/C++ 面向 WebAssembly 編程》,在線閱讀
2七、gpt-2:OpenAI 發佈的 15 億參數量通用語言模型 GPT-2,迄今最大模型!展現了一種構建語言處理系統的潛在方式,即根據天然發生的演示學習執行任務。實例代碼:
export PYTHONIOENCODING=UTF-8
python3 src/generate_unconditional_samples.py | tee samples
python3 src/generate_unconditional_samples.py --top_k 40 --temperature 0.7 | tee samples
python3 src/interactive_conditional_samples.py --top_k 40
複製代碼
2八、deep-learning-drizzle:世界計算機名校的深度學習、強化學習、機器學習、計算機視覺、天然語言處理等方面的公開課
2九、stanfordnlp:適用於多種人類語言的 Stanford NLP 官方 Python 庫。包含用於運行 CoNLL 2018 共享任務的最新徹底神經管道以及訪問 Java Stanford CoreNLP 服務器的軟件包。實例代碼:
import stanfordnlp
stanfordnlp.download('en') # This downloads the English models for the neural pipeline
nlp = stanfordnlp.Pipeline() # This sets up a default neural pipeline in English
doc = nlp("Barack Obama was born in Hawaii. He was elected president in 2008.")
doc.sentences[0].print_dependencies()
複製代碼
30、Tensorflow-Cookbook:易學易用的 Tensorflow 教程
若是你發現了好玩、有意義的開源項目 點擊這裏 分享你以爲有意思的項目。
歡迎轉載,請註明出處和做者,同時保留聲明。