本期內容較多。本期共有 41 個項目:C# 項目(1),C++ 項目(1),CSS 項目(2),Go 項目(5),Java 項目(2),JavaScript 項目(5),Objective-C 項目(1),PHP 項目(2),Python 項目(7),Ruby 項目(1),Swift 項目(1),其它(6),開源書籍(2),機器學習(5)javascript
興趣是最好的老師,HelloGitHub 就是幫你找到興趣!php
分享 GitHub 上有趣、入門級的開源項目。css
這是一個面向編程新手、熱愛編程、對開源社區感興趣 人羣的月刊,月刊的內容包括:各類編程語言的項目、讓生活變得更美好的工具、書籍、學習筆記、教程等,這些開源項目大多都是很是容易上手,並且很是 Cool。主要是但願你們能動手用起來,加入到開源社區中。前端
在瀏覽、參與這些項目的過程當中,你將學習到更多編程知識、提升編程技巧、找到編程的樂趣。java
🎉 最後 HelloGitHub 這個項目就誕生了 🎉python
如下爲本期內容|每月 28 號發佈最新一期|點擊查看往期內容git
一、xs:一個專一於簡單的開源跨平臺編程語言。這門語言的設計目標是改進閱讀與編寫效率,下降語法負擔。讓使用者可以把真正的注意力放在解決問題上,只需極少的代碼就能優雅地表達邏輯。中文手冊,示例代碼以下:程序員
# export namespace \HelloWorld { System # import namespace } # package program -> { # main function Main() -> () { # list greetings := {"Hello", "Hola", "Bonjour", "Ciao", "こんにちは", "안녕하세요", "Cześć", "Olá", "Здравствуйте", "Chào bạn", "您好"} # for-each @ item <- greetings { # switch ? item -> [ 0 <= 8 ] { prt(item) # call function } _ { # lambda prt( greetings.filter( {it -> it.len> 4} ) ) <- @ } } } }
二、calculator:微軟 Windows 系統預裝的計算器工具開源了。該工具提供標準、科學、程序員計算器的功能,以及各類度量單位和貨幣之間的轉換功能。實現語言爲 C++ 代碼並不複雜,快來看看微軟工程師編寫的代碼吧!運行效果以下:github
三、CSS-Inspiration:這裏聚集了 CSS 的使用和學習的示例代碼,展現不一樣 CSS 屬性或者不一樣的課題使用 CSS 來解決的各類方法。在線閱讀地址包含代碼實際展現樣式golang
四、bootstrap-table:基於 Bootstrap 的 jQuery 表格插件,經過簡單的設置就能夠擁有強大的單選、多選、排序、分頁、編輯、導出、過濾(擴展)等功能。示例代碼:
<table data-toggle="table"> <thead> <tr> <th>Item ID</th> <th>Item Name</th> <th>Item Price</th> </tr> </thead> <tbody> <tr> <td>1</td> <td>Item 1</td> <td>$1</td> </tr> <tr> <td>2</td> <td>Item 2</td> <td>$2</td> </tr> </tbody> </table>
五、drone:一個基於 Docker 的持續集成平臺,使用 Go 語言編寫
六、etcd:一個高可用的分佈式鍵值數據庫,k8s 全家桶標配的註冊與發現服務。它採用 raft 一致性算法,基於 Go 語言實現。能夠經過該項目瞭解、學習 raft 的實際應用場景
# 使用 etcd 的客戶端存取鍵值對 $ etcdctl put mykey "this is awesome" $ etcdctl get mykey
七、pprof:Go 語言的性能分析工具,能夠用來調試 Go 程序的內存泄露、goroutine 泄露之類的問題。使用方法:
# 安裝 $ go get -u github.com/google/pprof # 生成一個profile文件 $ pprof -top [你的golang程序二進制文件] profile.pb.gz # 生成火焰圖 $ pprof -web [你的golang程序二進制文件] profile.pb.gz
八、learn-go-with-tests:經過單元測試學習 Go 語言。下載倉庫源碼後,進入對應目錄。每個小文件夾就是一個對應的 Go 項目,在裏面go test
便可運行單元測試。因爲是測試驅動開發,因此須要在你改動代碼以後跑通單元測試纔算學會經過。每個對應的文件夾都有相應 Markdown 文字教程,比較淺顯易懂。並且還有中文版
九、AUXPI:基於 API 的簡單圖牀應用。整合了主流圖牀的 API,而且作了一個 GUI 用來管理,安裝簡單
十、Luban:圖片壓縮是常見的問題,那麼微信是如何處理圖像的壓縮?Luban(魯班)就是經過在微信朋友圈發送近 100 張不一樣分辨率的圖片,對比原圖與微信壓縮後的圖片逆向推算出來的壓縮算法。示例代碼:
// 同步調用 Flowable.just(photos) .observeOn(Schedulers.io()) .map(new Function<List<String>, List<File>>() { @Override public List<File> apply(@NonNull List<String> list) throws Exception { // 同步方法直接返回壓縮後的文件 return Luban.with(MainActivity.this).load(list).get(); } }) .observeOn(AndroidSchedulers.mainThread()) .subscribe();
十一、yacy_search_server:一款採用了新的搜索方法的搜索引擎軟件。 它不須要中央服務器,但它搜索的結果來自於獨立的分佈式網絡。在這樣的分佈式網絡中,沒有任何一個實體能夠決定列出的內容或結果出現的順序。啓動和關閉的方法:
./startYACY.sh
、關閉:./stopYACY.sh
startYACY.bat
、 關閉:雙擊stopYACY.bat
十二、Web:前端入門的圖文教程,從 0-1 的過程。內容詳細,對於新入行前端的同窗有不少的幫助
1三、ncform:只須要配置相關參數,即可方便生成表單的UI組件,自帶校驗規則知足平常 90% 的要求。表單是 Web 應用中常見的組件,可是開發表單是一個重體力活,ncform 經過配置即可生成表單,極大的提升了開發效率
1四、vscode-leetcode:這是一個可讓用戶在 VS Code 編輯器中,練習 LeetCode 習題的插件。支持:查看高票解答、提交答案、測試答案等。提升了刷題效率,助你在校招、社招中殺出重圍。上班摸魚刷題利器
1五、griffith:讓流式播放變得簡單。不管你視頻格式是 mp4
仍是 hls
,Griffith 都能使用媒體源拓展(MSE)來實現分段加載等功能,提供在線視頻播放。示例代碼:
// yarn add griffith import Player from 'griffith' const sources = { hd: { play_url: 'https://zhstatic.zhihu.com/cfe/griffith/zhihu2018_hd.mp4', }, sd: { play_url: 'https://zhstatic.zhihu.com/cfe/griffith/zhihu2018_sd.mp4', }, } render(<Player sources={sources} ></Player>)
1六、makegirlsmoe_web:動漫角色圖片生成工具。支持:選擇髮色、髮型、眼睛、皮膚、微笑、風格等等特徵生成二次元圖片。自定義生成可愛的二次元頭像,二次元界福音。在線嘗試
1七、BackgroundMusic:macOS 音頻工具,包含功能:自動暫停音樂、設置各個應用程序的音量、錄製系統音頻
1八、php-console:使用簡單,功能全面的 PHP 命令行應用庫。提供控制檯參數解析、命令運行、顏色風格輸出、 用戶信息交互等功能
1九、PasteMe:快速分享文本、代碼的網站項目。支持加密、一鍵複製、永久保存、閱後即焚等功能。在線示例
20、ds-cheatsheets:Python 在數據科學方面使用庫的速查表,包含了 Pandas、Jupyter、SQL、Dask 等。雖然都是些基本的 API 調用,可是用來備忘和速查足以
2一、better-exceptions:更加友好、實用、漂亮的輸出 Python 異常
2二、scrapydweb:Scrapy 爬蟲管理平臺,支持:Scrapyd 集羣管理、日誌可視化、定時任務、郵件通知、移動端 UI
2三、awesome-python-login-model:該項目收集了各大網站登錄方式和部分網站的爬蟲程序。登錄方式實現包含 selenium 登陸、經過抓包直接模擬登陸等。有助於新手研究、編寫爬蟲
2四、gita:基於 Python 開發的管理 git 工具,使用後可在任何目錄下代理執行 git 指令。同時支持同時顯示多個 repo 的狀態信息、本地分支與遠程分支的關係等
2五、dash:一款只用幾百行 Python 代碼就能夠輕易實現數據分析可視化的利器,是目前 Python 社區數據可視化主要的工具之一。具備:使用簡單、易於擴展、開發團隊活躍等特色
2六、pylane:一個基於 gdb 的 Python 進程注入和調試工具。經過 gdb trace Python 進程,而後在該進程的 Python vm 中動態地注入一段 Python 代碼, 從而對一個運行中的 Python 進程執行一段任意的邏輯。更多 Python 調試經驗,可閱讀這篇文章
2七、jekyll:強大的靜態博客網站生成工具。無需數據庫,能夠經過 Markdown 和 Config 輕鬆生成一個靜態博客。該項目十分紅熟、社區活躍、擁有多種主題可供選擇。最後能夠經過 GitHub Page 把生成的博客免費部署上線。快速開始:
1. 安裝 jekll:gem install bundler jekyll 2. 建立項目:jekyll new my-awesome-site 3. 進入新建立的項目:cd my-awesome-site 4. 本地運行:bundle exec jekyll serve 5. 本地訪問地址:http://localhost:4000
2八、Bagel:一個小型、原生的 iOS 網絡調試工具。使用過程不須要配置證書、代理之類的東西。只須要 iOS 設備和 Mac 處於同一網絡,就能夠查看、監控 App 的網絡流量等信息
2九、howto-make-more-money:該項目介紹了程序員如何掙零花錢的姿式
30、translations:一些不錯的英文資料、文章翻譯項目
3一、ChinaMobilePhoneNumberRegex:一組匹配中國大陸手機號碼的正則表達式
3二、web-frameworks:該項目展現了不一樣編程語言的 Web 框架性能對比,持續更新。能夠做爲挑選 Web 框架的參照信息
3三、FiraCode:高逼格的具備編程連字的等寬字體,最適合在編程編輯器、IDE、終端中使用。十分酷的字體,能夠增長寫代碼的慾望
3四、ChromeAppHeroes:優秀、實用的 Chrome 插件集合。該項目還包含插件的中文的使用介紹,爲的是讓好的插件被更多人發現和使用
3五、PythonDataScienceHandbook:英文原版《Python Data Science Handbook》,該書對於但願或已經從事數據科學相關工做的 Python 工程師而言是重要的學習手冊。在線閱讀
3六、Go42:《Go語言四十二章經》Golang 入門書籍。書中做者總結了本身踩坑的經驗總結和思考,在線閱讀
3七、BigGAN-PyTorch:「Bye Bye TPU」,4 個 GPU 就能訓練「史上最強」 BigGAN!只需 4-8 個 GPU 便可訓練,擺脫了算力束縛
3八、Virgilio:本資源庫旨在爲如下領域提供三種有機完整的學習路徑:機器學習、商業智能、雲計算。在此你將可以瞭解相關原理而且在項目實踐中予以運用。若是仔細遵循這些學習路徑,則能夠從零開始構建完整的認識和得到始終可用的技能。事實上,這些學習路徑不須要以前有相關知識,但基礎編程和簡單數學是理解和實踐大多數相關概念的必要條件
3九、QuickDraw:谷歌開發的一個流行的在線遊戲,神經網絡會猜想你在畫什麼。神經網絡從每幅圖畫中學習,提升正確猜想塗鴉內容的能力。如今你能夠基於這個倉庫,用 Python 構建本身的 Quick Draw 遊戲
40、GNNPapers:自從卷積神級網絡面世以來,大部分人將其應用在規則的空間結構數據當中,好比圖像。可是現實中存在更多的並不具有規則的空間結構的數據,所以研究人員提出了處理這部分數據的網絡模型-GNN。該項目列舉了 GNN 方面的論文,較爲全面,適合有必定基礎的人閱讀
4一、faceswap:這個工具能夠對圖片和視頻進行換臉。能夠很方便地處理圖片和視頻,搞些有意思的事情
若是你發現了好玩、有意義的開源項目 點擊這裏 分享你以爲有意思的項目。
歡迎轉載,請註明出處和做者,同時保留聲明。