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

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

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

更多幹貨內容請關注微信公衆號“AI前線”(ID:ai-front)

我們從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-worldOmkar-Ajnadkar / Hello-World,或將更復雜的算法示例添加到VAR解決方案/算法(https://github.com/VAR-solutions/Algorithms)。

wangshub / wechat_jump_game這樣的遊戲項目爲你帶來很多樂趣,你爲之貢獻star數,或爲這個項目貢獻了代碼,也許kelseyhightower / nocode 這樣的項目也讓你開懷大笑。 felixrieseberg / windows95Microsoft / 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年開源十大項目。

圖片

基於貢獻者Top10項目

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

圖片

新開源項目主題

與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/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章