1. 程式人生 > >2017年的六大頂級開源專案

2017年的六大頂級開源專案

摘要:本文介紹了在開源界比較有名的六個專案。如果你對其中的某個專案不瞭解的話,趕快來學習一下吧。以下是譯文。

1.png

今天,讓我們一起來看一下2017年開源界的六個頂級玩家。下面列出的幾個開源專案反映了開源社群在過去幾年來發展的成熟度。這裡列出的所有專案(Lab41除外)都是在2014年及以後釋出的,每個專案都在各自的社群裡發揮著重要的作用。

Google的TensorFlow釋出於2015年,它是一個可擴充套件的基於神經元的機器學習庫。我們可以使用TensorFlow構造流水線來對影象和文字這類東西進行分類,甚至還可以構造出更復雜的問題場景,例如“X型別的使用者會買Y嗎?”。

許多行業目前對於機器學習的研究或應用還只是流於表面。儘管在我們的意識中一直認為自己可以用AI來實現任何目的,但機器學習還是會受到計算資源和資料訓練的限制。在未來的幾年裡,資料的訓練可能依然是大家忽略的問題,許多人低估了能夠解決複雜問題所需的可靠訓練資料的數量。也就是說,機器學習是為真實場景服務的,並且會很快出現在我們每天使用的很多應用程式之中,隱匿於應用程式的底層。我們還將看到許多有趣的專案和展望,這些來源於機器學習的東西說明了目前還存在著太多的公開資料可供使用。

如果你想了解更多有關TensorFlow的內容,請查閱這篇來自於Google的博文

Hyperledger釋出於2015年,由Linux基金會贊助,旨在推動區塊鏈技術在未來商業的應用。 Hyperledger開發了模組化的工具,可以作為分散式區塊鏈基礎來解決各種商業問題,包括合同安全、匿名賬戶和身份管理,以及基於社群的歷史交易記錄。

Hyperledger已經使得IBM、思科、紅帽、VMWare,摩根大通、富國銀行、埃森哲等公司對其產生了巨大的興趣。

我們得承認 Node.js 社群的勝利,它現在無處不在。Node.js使得新一代程式設計師在伺服器端編碼方面擺脫了束縛。我們在談論React Native的時候,不能不承認Node.js將繼續在軟體工程領域保持強勁的勢頭,特別是對於消費者和移動應用。

React Native於2015年推出,並且許下了一個美好的願望:只使用一個程式碼庫就能將應用程式部署到多個平臺上。例如,使用單個程式碼庫來為蘋果iOS、Android和Web編譯應用程式。

這為什麼是一個誘人的想法呢?對於消費者網站而言,我們可以使用最常用的語言:javascript。我們無需把團隊根據不同語言的特點拆分開來,例如javascript、ruby/python/php、java、Objective C。我們可以快速地進行構建。我們可以利用本地裝置元件來解決像影象處理這樣的“硬骨頭”。我們可以只維護單個應用程式,然後將其核心應用分發到每一個需要的平臺上。

React Native還有哪些酷炫的地方呢?

應用廣泛,就像Facebook、特斯拉、Airbnb、Instagram、騰訊、彭博和Uber一樣。

當Google在2014年釋出Kubernetes的時候,這個專案的前途看起來很光明。該專案的目標非常遠大,試圖解決在多個層次、組和角色之間對分散式伺服器容器協調的問題。例如,一家公司可能在四個城市的三個環境層(開發、預備、生產)上運行了200多個容器,這管理起來非常頭疼。

我們必須要承認,在過去的幾年裡,虛擬伺服器協作在大型企業的複雜部署中佔有舉足輕重的地位。這是Amazon Web Services目前如此成功的其中一個原因。即使像Docker這種虛擬化的容器部署逐漸興起,但問題依然存在。公司必須依靠脆弱的開源專案、昂貴的專有平臺或者依靠廣泛的內部工具來管理虛擬叢集和容器。

在大規模的容器協作方面,Kubernetes似乎明顯處於領先地位,並與紐約時報、高盛、SoundCloud、Box、Comcast 和 易趣 等使用者建立了合作關係。

Lab41

Lab41是一個“挑戰實驗室”,在那裡美國情報界與他們在學術界工業界中的同行一起處理大資料。

雖然Lab41本身並不是一個開源專案,但它提出了一些有趣的問題,進而引出了一些開原始碼,並對開源社群做出了一定的貢獻。它展示了開源原則、風險投資和政府優先事項的交叉點,這是一個非常獨特的東西。

Vault

Vault可以保護、儲存和嚴格控制對現代計算中的令牌、密碼、證書、API金鑰和其他機密內容的訪問。

如果你看看下面這張有關全球資料洩露的互動資訊圖的話,就能馬上理解為什麼Vault如此重要了。

2.png