跳一跳作弊器上榜!GitHub 2018 年十大新開源項目揭曉

本文是 GitHub2018 年 Octoverse 報告——GitHub 活動的趨勢和洞見,開源社區和 GitHub 數據科學團隊等系列文章的一部分。

僅在 2018 年,GitHub 新用戶數量就超過了前六年的總和,託管著超過 1 億個存儲庫。所有這些增長都要歸功於開源社區。2018 年,擁有不同開發經驗水平的你們在這裡共同構建、合作從興趣愛好到專業工具的項目,涉獵範圍廣泛。隨著這一年即將結束,我們希望 2018 年的 Octoverse 報告能夠重點展示一些今年最活躍的新開源項目。

跳一跳作弊器上榜!GitHub 2018 年十大新開源項目揭曉

我們從 2017 年 12 月 10 日到 2018 年 12 月 9 日提取的數據來回顧一下今年的新開源項目。2018 年頂級開源項目的評選標準分別是開源前 28 天收到 star 數最多,以及項目開源前 28 天貢獻者數量最多的項目。

2018 年頂級項目

2018 年開源的頂級項目涵蓋了從學習、代碼到專業工具的各個領域,從娛樂輔助項目到用於完成工作的項目應有盡有。

對於那些剛接觸代碼或者編程語言的新手,你可能 star 了不少編碼示例項目,例如trekhleb / javascript-algorithms 和leonardomso / 33-js-concepts, 以及快速教程,如30-seconds/30-seconds-of-code。

你還為 Hacktoberfest 的項目做出了貢獻,比如將各種語言的 Hello World 程序添加到Hacktoberfest-2018 / Hello-world和Omkar-Ajnadkar / Hello-World,或將更復雜的算法示例添加到 VAR 解決方案 / 算法(https://github.com/VAR-solutions/Algorithms)。

像wangshub / wechat_jump_game這樣的遊戲項目為你帶來很多樂趣,你為之貢獻 star 數,或為這個項目貢獻了代碼,也許kelseyhightower / nocode 這樣的項目也讓你開懷大笑。 felixrieseberg / windows95和Microsoft / MS-DOS引發了一些懷舊情緒,迅速收穫了你的 star 和貢獻。

新的開源項目還幫助你在 TypeScript 開發中使用denoland / deno等工具完成工作,ValveSoftware / Proton幫你將遊戲遷移到 Linux,facebookresearch / Detectron 可以支持圖像識別算法的研究。

精華項目介紹

AI 前線對以上 10 個頂級開源項目的資料做了進一步挖掘,並選了幾個對於開發者極具價值或特別有意思的項目重點介紹如下。

trekhleb / javascript-algorithms

本倉庫包含了多種基於 JavaScript 的算法與數據結構。 每種算法和數據結構都有自己的 README,包含相關說明和鏈接,以便進一步閱讀(還有 YouTube 視頻) 。所有數據結構和算法被分為面向初學者和進階者兩類,其中數據結構涵蓋鏈表、隊列、棧、哈希表、堆、樹、圖等,算法則分為數學、集合、字符串、搜索、排序、鏈表、樹、圖、加密等內容,對於想要入門算法和數據結構且慣用 JS 的開發者來說,是一個非常友好的開源項目。更棒的是,這個開源項目的 README 文檔還支持簡體中文、繁體中文、韓語、日語等 8 種語言,中國開發者也可以輕鬆上手。

leonardomso / 33-js-concepts

這個項目羅列出了 JavaScript 開發者應懂的 33 個概念,旨在幫助開發人員掌握 JavaScript 中比較重要的基礎和進階概念。這並不是必備,但在未來學習(JavaScript)時,可以作為一篇指南。這個項目是基於 Stephen Curtis 撰寫的文章創建的,你可以在這裡閱讀這篇文章。

這個項目同樣有一個對應的中文版本,作者 stephentian 在其中附上了關於這些概念在國內的一些文章和視頻。

30-seconds/30-seconds-of-code

30 秒學會編程:本倉庫是精選 JavaScript 代碼段的集合,這些代碼段都是開發者可以在 30 秒或更短的時間內理解的。

舉個例子,dayOfYear 代碼段用於從 Date 對象獲取一年中的某一天。

const dayOfYear = date =>

Math.floor((date - new Date(date.getFullYear(), 0, 0)) / 1000 / 60 / 60 / 24);

通過 new Date() 和 Date.prototype.getFullYear() 可以將一年中的第一天獲取為一個 Date 對象,然後用輸入的data減去這個值併除以每天的毫秒數就能算出輸入的日期是一年中的第幾天。使用 Math.floor() 可以將生成的日期計數適當地舍入為整數。

Omkar-Ajnadkar/Hello-World

“Hello Word”大概是所有人學習一種新編程語言時會編寫的第一段代碼了,而這個代碼庫的目標是涵蓋所有編程語言中的“Hello World”程序。

VAR-solutions/Algorithms

數據結構和算法:使用不同語言編寫的算法結構部署示例。

wangshub/wechat_jump_game

中國開發者貢獻的“教你用 Python 來玩微信跳一跳”。

2017 年 12 月 28 日下午,微信發佈了 6.6.1 版本,加入了「小遊戲」功能,並提供了官方 DEMO「跳一跳」。這是一個 2.5D 插畫風格的益智遊戲,玩家可以通過按壓屏幕時間的長短來控制這個「小人」跳躍的距離。分數越高,那麼在好友排行榜更加靠前。通過 Python 腳本自動運行,讓你輕鬆霸榜。

其原理是利用圖像識別精確測量出起始和目標點之間測距離,再估計按壓的時間來實現精確跳躍。

獲取源碼

- git clone https://github.com/wangshub/wechat_jump_game.git

kelseyhightower/nocode

一個搞笑的莫須有“項目”:沒有代碼:沒有代碼是寫出最安全可靠應用程序的最佳方法;什麼也不寫,不在任何地方應用。

Microsoft/MS-DOS

MS-DOS v1.25 和 v2.0 源代碼:此 repo 包含 MS-DOS v1.25 和 MS-DOS v2.0 的原始源代碼和已編譯的二進制文件。

這些文件與 2014 年 3 月 25 日在計算機歷史博物館展示的是同一份文件,在此再次發佈是為了方便人們查詢,寫作參考和用於作品中,對早期 PC 系統感興趣的人可以用它進行探索和實驗。

denoland

Deno 是由 Node 之父 Ryan Dahl 發佈新的開源項目,使用 Go 語言代替 C++ 重新編寫跨平臺底層內核驅動,上層仍然使用 V8 引擎,最終提供一個安全的 TypeScript 運行時,支持 TypeScript 開箱即用,有人將它視為下一代 Node。

瞭解更多信息,可以參閱 InfoQ 之前的報道《Node 之父 ry 發佈新項目 deno:下一代 Node》。

ValveSoftware/Proton

Proton 是一個與 Steam 客戶端一起使用的工具,允許 Windows 遊戲在 Linux 操作系統上運行。它通過 Wine 來實現這一點。

大多數用戶更願意使用 Steam 客戶端的 Proton,高級用戶可以使用源代碼更改 Proton。例如,一些用戶可能希望使用具有特定 title 的不同版本的 Wine。

facebookresearch/Detectron

Detectron 是 Facebook AI Research 開源的軟件系統,實現了最先進的物體檢測算法,包括 Mask R-CNN。它是用 Python 編寫的,由 Caffe2 深度學習框架提供支持。

在 FAIR,Detectron 已經應用於許多研究項目,包括:用於物體檢測的特徵金字塔網絡,MASK R-CNN,檢測和識別人體——目標相互作用,密集物體檢測的焦點損失,非局部神經網絡,學習分割所有目標,數據蒸餾:走向全方位監督學習,DensePose:室外密集人體姿態估計和群體規範化。

star 數 Top10 項目

根據 2018 年在 GitHub 上開源前 28 天累積的 star 總數,我們評選出 2018 年開源十大項目。

跳一跳作弊器上榜!GitHub 2018 年十大新開源項目揭曉

基於貢獻者 Top10 項目

根據 2018 年 12 月之前,在 GitHub 上開源前 28 天內項目貢獻者的總數,我們評選出十大開源項目。

跳一跳作弊器上榜!GitHub 2018 年十大新開源項目揭曉

新開源項目主題

與 2017 年相比,2018 年創建的開源項目數量增幅最大的是非編程語言類別。例如,下列排名第三的 dotnet 說明,為 Windows 開發應用程序的開源項目越來越多。在我們的編程語言編程語言 TOP10一文中,

JavaScript 當選為新項目中最流行的編程語言。在 2018 年的 Top 主題中,我們還看到 nodejs、react 和 vue 這些用於 JavaScript 開發的工具。機器學習也在 GitHub 上越來越受歡迎,標記了機器學習的開源項目也在榜單之列。

  1. nodejs
  2. react
  3. dotnet
  4. docker
  5. android
  6. machine-learning
  7. api
  8. ios
  9. cli
  10. vue

原文鏈接:

https://blog.github.com/2018-12-13-new-open-source-projects/


分享到:


相關文章: