2018 年 2 月份 GitHub 上最熱門的開源項目推薦
1、nocode
(https://github.com/kelseyhightower/nocode Star 16256
這是 2 月份新出爐的項目,可以說是 2018 年最火的佛系編程了,這個項目里面沒有一行代碼,它的 description 是這樣的:The best way to write secure and reliable applications. Write nothing; deploy nowhere. 有網(wǎng)友把它翻譯成中文版為:要安全,要可靠,最好的方式就是不用一行代碼,部署整個世界。就是這樣一個愚人的項目,在 Github Trending List 上占據(jù)了好幾天榜首,如今已經(jīng)有 16256 個 Star
2、tensorflow
(https://github.com/tensorflow/tensorflow Star 90603
TensorFlow 是谷歌的第二代機器學習系統(tǒng),按照谷歌所說,在某些基準測試中,TensorFlow 的表現(xiàn)比第一代的 DistBelief 快了 2 倍。TensorFlow 內(nèi)建深度學習的擴展支持,任何能夠用計算流圖形來表達的計算,都可以使用 TensorFlow。任何基于梯度的機器學習算法都能夠受益于 TensorFlow 的自動分 化(auto-differentiation)。通過靈活的 Python 接口,要在 TensorFlow 中表達想法也會很容易。
3、front-end-interview-handbook
(https://github.com/yangshun/front-end-interview-handbook Star 9772
與其他軟件工程師不同的是,前端求職面試對算法的重視程度更低,并且在該領域的知識更多的集中在 Html、CSS、JavaScript 等幾個方面,雖然網(wǎng)上也有一些資源可以幫助前端開發(fā)人員準備面試,但他們并不像軟件工程師面試材料那么豐富,front-end-interview-handbook 就是專門為前端求職者準備面試問題和答案。
4、內(nèi)容感知圖像壓縮/拓展庫caire
(https://github.com/esimov/caire Star 7637
Caire 是基于論文《Seam Carving for Content-Aware Image Resizing》(圖像伸縮變換算法)實現(xiàn)的一個內(nèi)容感知圖像 (尺寸) 壓縮/擴展庫。已有特性如下:
● 支持自定義命令行
● 支持縮小/放大圖像
● 可垂直/水平地調(diào)整圖像大小
● 可調(diào)整目錄中的所有圖像的大小
● 不需要任何第三方庫
● 使用 sobel 閾值進行微調(diào)
● 使用模糊濾鏡來增強邊緣檢測
效果圖:
5、數(shù)據(jù)結構庫Automerge
(https://github.com/automerge/automerge Star 4895
Automerge 是一個用于在 JavaScript 中構建協(xié)作應用程序的數(shù)據(jù)結構庫。建 JavaScript 應用程序的常用方法是將應用程序的狀態(tài)保存在模型對象中,例如 JSON 文檔。具有如下特點和設計原則:
● 網(wǎng)絡不可知論者。Automerge 是一個純粹的數(shù)據(jù)結構庫,不關心你使用的是什么類型的網(wǎng)絡。
● 不變的狀態(tài)。Automerge 對象在某個時間點是應用程序狀態(tài)的不可變快照。無論何時進行更改,或者合并來自網(wǎng)絡的更改,都會返回一個反映該更改的新狀態(tài)對象。
● 自動合并。Automerge 是所謂的無沖突復制數(shù)據(jù)類型(CRDT),它允許在不需要任何中央服務器的情況下自動合并不同設備上的并發(fā)更改。
● 相當便捷。已經(jīng)在 Node.js,Chrome,F(xiàn)irefox 和 Electron 上測試了 Automerge 。
6、developer-roadmap
(https://github.com/kamranahmedse/developer-roadmap Star 42978
這是一組使用 Balsamiq 建造的網(wǎng)絡開發(fā)者的路線圖,如前端路線圖如下:
涵蓋所有前端熱門的框架、語言等重要且熱門的知識點。
7、FastPhotoStyle
(https://github.com/NVIDIA/FastPhotoStyle Star5978
FastPhotoStyle 是英偉達開源的照片風格轉(zhuǎn)移深度學習算法實現(xiàn)庫,給定目標照片和樣式參考照片,代碼可以將樣式照片的風格轉(zhuǎn)換至目標照片,從而生成新的風格化照片。
FastPhotoStyle 實現(xiàn)過程包含兩個步驟:“風格化”和“細調(diào)”。 先將樣式參考照片源的樣式轉(zhuǎn)移至目標照片,隨后對其進行細調(diào)優(yōu)化。
效果圖:
8、Back-End-Developer-Interview-Questions
(https://github.com/arialdomartini/Back-End-Developer-Interview-Questions Star 6686
前面提到的是前端面試相關的開源項目,而這一個則是后端開發(fā)人員的面試大全,里面涵蓋的問題大多都是開放式的,其中一些問題甚至沒有答案,但是它們恰恰是最能體現(xiàn)個人能力的一些問題。目前該項目的問題共分為 18 個類型,包括代碼設計問題、數(shù)據(jù)庫問題、代碼版本問題、分布式系統(tǒng)問題等
9、Java組件服務框架 Carbon
(https://github.com/dawnlabs/carbon Star 7585
Carbon 是一個輕量級的組件模型與企業(yè)級的服務框架。Carbon 是在以下原則上進行構建:創(chuàng)建一個更加靈活的框架通過一個分離,以元數(shù)據(jù)為中心的系統(tǒng),鼓勵關系的分離,從而使得代碼在一個復雜,動態(tài)的操作環(huán)境中更容易維護與重復利用等.
10、awesome-scalability
(https://github.com/binhnguyennus/awesome-scalability Star 7795
該項目提供了大量精選的閱讀材料,旨在幫助后臺開發(fā)者們能夠借助項目中各個文獻的思路做出一個具有延展性,可用性,穩(wěn)定性的后臺。這個概念雖然模糊,但是借由著名工程師(Martin Fowler,Robert C. Martin,Tom White等)和高質(zhì)量資源(highscalability.com,infoq.com等)的詮釋,相信大家能從中理解并學到有用的東西。
項目涵蓋各個方面。主要分為原則、可擴展性、穩(wěn)定性、其他方面、會談、圖書七個板塊。包括了異常處理,數(shù)據(jù)庫策略等內(nèi)容。
11、android-ktx
(https://github.com/android/android-ktx Star 4529
ndroid KTX 是一組擴展程序,它能使 Android 上的 Kotlin 代碼更簡潔,從而提高開發(fā)者的編程體驗。Android KTX 中支持 Android 框架的部分現(xiàn)在可在 GitHub 庫中找到,Android KTX 究竟做了哪些方面的優(yōu)化呢?比如:
● 字符串轉(zhuǎn)換為 URI,Android KTX 會為字符串添加一個擴展函數(shù),使字符串更加自然地轉(zhuǎn)換為 URI。
● 編輯 SharedPreferences,使用 Android KTX 后,代碼稍微短些,能更自然地讀取和寫入。
● 平移路徑差異
● 在視圖onPreDraw 的動作
12、deepfake 的深度學習技術 Facewap
(https://github.com/deepfakes/faceswap Star 4009
deepfake 的深度學習技術,這款工具本來的用途是用來識別和交換圖片、視頻中人物臉部圖像的工具 。該項目有多個入口,你需要做的事:
● 收集照片(或使用以下訓練數(shù)據(jù)中提供的照片)
● 從原始照片中提取面部圖像
● 在照片上訓練模型(或使用以下訓練數(shù)據(jù)中提供的模型)
● 使用模型轉(zhuǎn)換源代碼