【粉絲福利】微軟、穀歌、Facebook等矽穀大廠91個開源軟件盤點(附下載地址)
開源軟件中有大量專家構建的代碼,大大節省了開發人員的時間和成本,熱衷於開源的大廠們總是能夠帶給我們新的驚喜。2016年9月GitHub報告顯示,GitHub已經有超過 520 萬的用戶和超 30 萬的組織。這十二個月以來,有超過 81 萬的人發起了人生第一個 PR,更有 280 萬人創造了他自己的第一個倉庫,而中國,成為新注冊增長最多的國家。
Facebook開源項目負責人曾說過:
一是開源能夠幫助他人更快地開發軟件,促進世界創新,主要是社會價值層麵的考慮。二是開源能夠倒逼Facebook的工程師寫出更好的代碼。三是開源能夠更有效利用社區的力量,幫助Facebook一起解決難題。開源,讓世界更美好,不是嗎?
國內外很多國家都為開源做出了很大的貢獻,小編也秉著“開源”的心態,整理了13個公司的開源軟件,這13個公司分別是微軟、Google、亞馬遜、IBM、VMware、Facebook、Twitter、ebay、騰訊、阿裏、百度、美團點評、華為等。分兩篇文章和大家共享,快點Mark起來並轉發給需要的人吧。
1.Visual Studio Code:跨平台源代碼編輯器
Visual Studio Code是微軟於2015年正式發布的項目,可以運行在Mac OS X、Windows和Linux之上,麵向Web和雲應用的一款跨平台源代碼編輯器。
雖然它的名字與Visual Studio相近,但前者是代碼編輯器,後者是集成開發環境(IDE)並且目前隻運行在Windows上。
GitHub主頁:
https://github.com/Microsoft/vscode
2.CNTK: 深度學習開源工具包
CNTK全稱為The Microsoft Cognitive Toolkit, 將神經網絡描述為計算機可處理的有向圖,有向圖的葉節點表示輸入值或網絡參數,其他節點表示輸入對應的矩陣運算。CNTK便於實現並且也結合了很多流行計算模型如前饋DNN,卷積網(CNN)和複現網絡(RNN / LSTM)。它可以跨多個GPU和服務器實現隨機梯度下降(SGD,誤差反向傳播)學習與自動微分和並行化。
可以在Python或者C++語言中如同庫版應用,也可以使用其自有的描述語言BrainScript單機化使用。CNTK可適用於64位的Linux和Window,於2015年4月開源。
GitHub地址:
https://github.com/Microsoft/CNTK
3.TypeScript:開源編程語言,JavaScript的超集
TypeScript是JavaScript強類型的超集,可以編譯成純JavaScript。由微軟開發的自由和開源的編程語言,可以運行在各類瀏覽器和操作係統之上。
GitHub主頁:
https://github.com/Microsoft/TypeScript/
4.Azure相關:文檔、SDK和代碼示例
微軟支持開發者們將各種開源軟件工具和技術帶入Azure。Azure 應用市場支持很多Linux 分發,包括 Ubuntu、Debian 和 SUSE;也支持借助支持 Node.js、PHP、Python 和 Java 的 Azure 應用服務,生成 Web 和移動應用。在GitHub上Azure相關的存儲庫有1700+個。
地址:https://azure.microsoft.com/zh-cn/overview/open-source/
5.BashOnWindows:解決Ubuntu Bash在Windows的使用問題
微軟在Build 2016大會上宣布了一條振奮人心的消息,大家驚唿Ubuntu on Windows。Bash on Windows 為開發者們提供了Bash shell、Linux類似環境,在不需要Linux虛擬機的情況下,大部分的Linux命令行工具基本上可以不經修改地運行在Windows上。
GitHub地址:
https://github.com/Microsoft/BashOnWindows
6.Donnet:采用係統虛擬機運行的編程平台
.NET是微軟研發的XML Web services平台,此框架支持多種語言(如C#、F#、VB.Net、C++、Python等)的開發。.NET框架曆經亟待,最終於2014年開源。C#通常被認為是微軟專屬,是.NET框架上最常用的編程語言之一, 其著名競爭對手是Java。
GitHub主頁:
https://github.com/Microsoft/dotnet/network
7.PowerShell :為任何係統提供Windows的命令行工具
一個跨平台(Windows、Linux和macOS)自動化和配置工具/框架,可與現有工具完美配合,並優化用於處理結構化數據(例如JSON,CSV,XML等)、REST API 和對象模型。 它包括命令行shell,相關的腳本語言和用於處理cmdlet的框架。
GitHub地址:
https://github.com/PowerShell/PowerShell
8.MSOpenTech/redis: 在Windows使用Redis
官方隻支持64位,可自行構建32位版。該開源項目,在2.8版本中,替代UNIX fork()API中的內存映射文件模擬寫時複製行為。 版本3.0類似,為了便於係統文件分頁,刪除了內存映射文件,在管理堆碎片方麵進行了改進。
Redis對文件描述符的值做了一些假設,微軟構建了一個虛擬文件描述符映射層。
GitHub地址:
https://github.com/MSOpenTech/redis
9.WinObjc:Windows下的Objective-C
為Visual Studio提供了一個Objective-C開發環境並支持iOS API。通過重新使用Objective-C代碼和iOS API,配以Windows自有Cortana(中文名:微軟小娜,微軟發布的全球第一款個人智能助理)和通知等功能,用戶可以創建通用Windows平台(UWP)應用程序並運行在Windows設備上。
GitHub地址:
https://github.com/Microsoft/WinObjC
GitHub地址:
https://github.com/Microsoft/api-guidelines
10.ASP.NET之MVC核:模型(model)-視圖(view)-控製器(controller)框架
旨在TDD友好,用於創建符合最新Web標準的複雜應用程序、構建動態網站,可以在IIS中托管或自我托管。
GitHub地址:
https://github.com/aspnet/Mvc
11..Net 開源核心類庫:運行環境和編譯器
.Net的核心類庫,運行環境和編譯器都已經開源,如今整套.Net環境都可以在Linux,Mac下運行。
Github主倉庫:
https://github.com/Microsoft/dotnet
12.ChakraCore :開源JavaScript解釋器
隨著Windows10一起麵世的Edge瀏覽器是微軟的洗心革麵之作,運行效率得到了極大的提升,多項測試中執行效率甚至超過了Chrome。 ChakaraCore,作為Edge瀏覽器的JavaScript解釋器,是其中的秘密武器。在ChkraCore開源後,原本就火熱的JavaScript後端開發領域或許會迎來新的推動力。
Github主倉庫:
https://github.com/Microsoft/ChakraCore
13.PerfView:CPU 和內存性能分析工具
PerfView 是微軟開源的 CPU 和內存性能分析工具。它能以多種方式收集和觀察 ETL 文件,擁有強大的群組運算能力。
在 Visual Studio 中打開 src/PerfView/Perfview.sln 文件,選擇 Build -> Build Solution ,即可創建。生成的 PerfView.exe 文件是以 src/PerfView/bin/BuildType/PerfView.exe 命名,配置好後即可使用。
需要工具:Visual Studio 2013 或更高版本,建議 Visual Studio 2015 。
詳情:https://www.oschina.net/p/perfview
14.vcpkg:VC++ 打包工具
vcpkg 是微軟 C++ 團隊開發的在 Windows 上運行的 C/C++ 項目包管理工具,可以在 Windows 平台上獲取 C 和 C++ 庫.
vcpkg 自身也是使用 C++ 開發的,整合了 git,構建係統整合的 CMake,並且 vcpkg 能夠幫助用戶在 Visual Studio 中更好的使用這些安裝好的庫.
詳情:https://www.oschina.net/p/vcpkg
15.Checked C:C/C++ 更加安全的庫
Checked C允許程序員在C/C++中編寫“確保邊界檢查”的代碼。該規範確定了變量操作行為,包括指針類型的間接尋址、數組引用、賦值、指針加法、比較、取址(&)、含邊界檢查數組類型和指針類型的轉換等。編譯器可以通過增加參數在指針非正常使用時發出警告或者錯誤。
Checked C 包含規範、一個clang的實現和一個LLVM的實現。
詳情:https://www.oschina.net/p/checked-c
1**6.monaco-editor :基於瀏覽器的代碼編輯器**
Monaco Editor 是微軟開源的基於 VS Code 的代碼編輯器,運行在瀏覽器環境中。編輯器提供代碼提示,智能建議等功能。供開發人員遠程更方便的編寫代碼。
詳情:https://www.oschina.net/p/monaco-editor
1.Android:開源移動操作係統
世界最流行的操作係統,市場占有量甚至超過了Windows。 成功很大程度來源Android操作係統相比競爭對手采用了開源的策略,使得手機製造商能夠大量生產基於Android操作係統的手機。
2.Chromium:開源瀏覽器
Chromium是Chrome的開源版本,幾乎所有的瀏覽器新特性都會首先出現在Chromium上再逐步往Chrome“下放”。由於Chromium的開源屬性,幾乎所有的國產瀏覽器裏都有著Chromium的開源代碼。
3.TensorFlow:AI和機器學習
TensorFlow是Google開源的用於機器學習庫。用於構建和訓練神經網絡,編寫AI程序。去年橫掃人類圍棋高手的Google AI程序,就是基於TensorFlow編寫的。TensorFlow可以運行在CPU,也可以運行在GPU之上。
Github主倉庫:
https://github.com/tensorflow/tensorflow
4.Go:開源編程語言
發布於2007年的編程語言。Go嚐試成為一種在保留住靈活性和性能的同時最大程度去處C係編程語言複雜度的新係統語言。雖然社區裏一直有對Go特性不足的抱怨,但創始人堅決認為這對保持這一語言的成功是必不可少的。 Go語言目前主要運用於服務器編程領域。
Github主倉庫:
https://github.com/golang/go
5.AngularJS:前端框架
AngularJS是一個用來編寫單頁Web應用的前端框架。雖然AngularJS的目標是簡化Web應用的開發過程,但其自身引入的眾多概念帶來的複雜性也受不少詬病。
Github主倉庫:
https://github.com/angular/angular/
6.Kubernetes:容器集群管理係統
Kubernetes 是來自 Google 雲平台的開源容器集群管理係統。基於 Docker 構建一個容器的調度服務。該係統可以自動在一個容器集群中選擇一個工作容器供使用。其核心概念是 Container Pod。
Github地址:
https://github.com/kubernetes/kubernetes
7.Protocol Buffers:分布式計算
用於不同進程和服務器之間進行數據通信的數據序列化工具。服務器上不同的程序能通過Protocol Buffers來進行通信和分工協作。相比XML和JSON,Protocal Buffers有著更高的性能,但你也不再能僅憑文本編輯器就查看到自己的數據。
Github主倉庫:
https://github.com/google/protobuf
8.Dart:開源編程語言
另一個由Google支持的開源編程語言。Dart著力於Web應用,移動App和物聯網設備。和Go不同,Dart不是一種編譯型語言。它和Python或Java一樣運行在自己的虛擬機之上,但也能轉換成JavaScript放入瀏覽器中運行。
Github主倉庫:
https://github.com/dart-lang/sdk
9.Fuchsia OS:操作係統
神秘的全新開源操作係統,和之前的Android不同,Fuchsia OS沒有基於Linux內核,而是另起爐灶打造裏一套更能被Google控製的操作係統內核. Google是準備打造IOT(物聯網)領域的新Android,還是僅僅是個試驗項目,現在還不得而知。
地址: https://fuchsia.googlesource.com
10.GWT:Google web工具包
Google 網頁工具包——GWT 提供了一組基於Java語言的開發包,
開發出來的Java應用將由GWT開發包提供的編譯工具編譯後聲生成對應的、應用了Ajax技術的Web應用,Java應用中出現的、和服務器之間的交互動作被自動生成的異步調用代碼所代替。
詳情:https://www.oschina.net/p/google-web-toolkit/
11.Google Mock:C++模擬測試框架
Google Mock在google內部超過100個項目中使用過,這個框架能夠在Linux,Windows 和Mac OS X上使用。
下載地址:
https://download.csdn.net/download/liulangren615/4681174
12.GRPC:RPC 框架
GRPC 是一個高性能、開源和通用的 RPC 框架,麵向移動和 HTTP/2 設計。目前提供 C、Java 和 Go 語言版本,分別是:grpc,grpc-java,grpc-go。其中 C 版本支持 C,C++,Node.js,Python,Ruby,Objective-C,PHP 和 C# 支持。
GRPC 基於 HTTP/2 標準設計,帶來諸如雙向流、流控、頭部壓縮、單 TCP 連接上的多複用請求等特。這些特性使得其在移動設備上表現更好,更省電和節省空間占用。
開源中國組織翻譯的《gRPC 官方文檔中文版》:
https://doc.oschina.net/grpc
13.Gumbo:純C語言實現的HTML5解析庫
Gumbo 是 Google 的一款用C語言實現的HTML5解析庫,無需任何外部依賴。目標及特征:
遵循 HTML5 規範
功能強大,可處理一些不規範的 HTML 標簽
簡單的 API
支持源位置和指針回到原始文本
輕巧、沒有外部依賴
通過 html5lib-0.95 兼容測試
已在超過25億個來自穀歌索引的頁麵中進行過測試
Github地址:
https://github.com/google/gumbo-parser
14.Google API for Java
Google API Client Library for Java 是由Google開發的一個Java客戶端類庫,用於訪問其提供的各種基於HTTP的服務。具有靈活、高效、強大等特點。這是訪問基於REST或JSON-RPC的Google API推薦類庫。
Github地址:
https://github.com/google/google-api-java-client
15.MDL:前端開發工具組
MDL (Material Design Lite) 是 Google 推出的網站前端開發工具組。Material Design Lite (MDL)可以讓你添加一個 Material Design 的外觀和感覺到你的靜態內容網站,不依賴於任何的 JavaScript 框架和庫。MDL 可以優化跨設備的使用體驗,可以在舊版的瀏覽器進行平滑的切換,提供非常快速的訪問體驗。
瀏覽器支持:
IE9-11,Chrome,Opera,Firefox,Safari,Chrome(Android),Mobile Safari。
詳情:https://www.oschina.net/p/mdl
16.Google JS Test
Google JS Test是一個運行於V8 JavaScript引擎下的Javascript單元測試框架,其在Google內部負責對Chrome的快速JS執行速度進行測試。
詳情:https://www.oschina.net/p/google-js-test
17.Bazel:代碼構建工具
Bazel 是 Google 的一款可再生的代碼構建工具。它主要是用於構建 Google 的軟件,處理出現在穀歌的開發環境的構建問題,比如說:大規模數據構建問題,共享代碼庫問題,從源代碼構建的軟件的相關問題。
Bazel 支持多種語言並且跨平台,還支持自動化測試和部署、具有再現性(Reproducibility)和規模化等特征。Bazel 在穀歌大規模軟件開發實踐能力方麵起著至關重要的作用。
詳情:https://www.oschina.net/p/bazel
GitHub地址:
https://github.com/bazelbuild/bazel
18.SyntaxNet:全球最精準自然語言解析器
SyntaxNet 是一個框架,即學術圈所指的SyntacticParser,他是許多NLU係統中的關鍵組件。在這個係統中輸入一個句子,他會自動給句子中的每一個單詞 打上POS(part-of-Speech)標簽,用來描述這些詞的句法功能,並在依存句法樹中呈現。這些句法關係直接涉及句子的潛在含義。
詳情:https://www.oschina.net/p/syntaxnet
19.AnyPixel.js:可令用戶自己創造交互展示
AnyPixel.js 是 Google 開源的一個軟件和硬件框架,可以用來構建各種由“像素”構成的展示,每個像素可以是任何一種可交互的實體對象,如 LED 燈、氣球等。
詳情:https://www.oschina.net/p/anypixel-js
20.PerfKit:雲基準測試工具
PerfKit 提供一組基準測試方法用來測量和比較雲服務。當前支持 Google 自己的 Compute Engine、亞馬遜的 AWS 和微軟的 Azure 雲。PerfKit 同時還提供一個可視化工具 PerfKit Explorer 用來比較測試結果。
詳情:https://www.oschina.net/p/perfkit
21.Gson:Java的JSON類庫
Gson 是 Google 提供的用來在 Java 對象和 JSON 數據之間進行映射的 Java 類庫。可以將一個 JSON 字符串轉成一個 Java 對象,或者反過來。
詳情:https://www.oschina.net/p/google-json
GitHub地址:
https://github.com/google/gson
22.Eclipse ADT:Eclipse ADT logoAndroid開發插件
Eclipse ADT 是 Eclipse 平台下用來開發 Android 應用程序的插件。
在線安裝地址:
https://dl-ssl.google.com/android/eclipse/
23.LevelDB:K/V數據庫
Leveldb是一個google實現的非常高效的kv數據庫,目前的版本1.2能夠支持billion級別的數據量了。 在這個數量級別下還有著非常高的性能,主要歸功於它的良好的設計。特別是LSM算法。
LevelDB 是單進程的服務,性能非常之高,在一台4個Q6600的CPU機器上,每秒鍾寫數據超過40w,而隨機讀的性能每秒鍾超過10w。
Github地址:
https://github.com/google/leveldb/
在企業使用開源和貢獻開源方麵,Google一直是行業的典範。一直以來,Google都在極力推廣和倡導開源,並發布了一係列開源項目。開源中國社區目前收錄了Google 259 款開源軟件,此處不一一列舉。
1.Apache SystemML :機器學習語言
SystemML 是靈活的,可伸縮機器學習 (ML) 語言,使用 Java 編寫。機器學習 (ML) 是指無需顯式的編程即可讓計算機學習的能力。
SystemML 先進的機器學習主要基於兩方麵:SystemML 語言,聲明式機器學習 (DML)。
SystemML 包含線性代數原語,統計功能和 ML 指定結構,可以更容易也更原生的表達 ML 算法。算法通過 R 類型或者 Python 類型的語法進行表達。DML 通過提供靈活的定製分析表達和獨立於底層輸入格式和物理數據表示的數據顯著提升數據科學的生產力。
其次,SystemML 提供自動優化功能,通過數據和集群特性保證高效和可伸縮。SystemML 可以在 MapReduce 或者 Spark 環境運行。
詳情:https://www.oschina.net/p/systemml
2.Kitura:Swift 的 Web 框架
Kitura,來自IBM的基於Swift的Web框架,也是一個HTTP服務器。
特性:
URL路由(GET, POST, PUT, DELETE)
URL參數
靜態文件服務
支持FastCGI
支持SSL/TLS
JSON解析
可插拔的中間件
詳情:https://www.oschina.net/p/kitura
GitHub地址:
https://github.com/IBM-Swift/Kitura
3.TJ Bot:開源 DIY 紙板機器人
TJBot 延續了手工社區的精神,它是一套 DIY 工具包,可讓你建立由 Waston 驅動的可編程紙板機器人。該機器人由一塊切割的紙板(可以是 3D 打印或者激光切割)、Raspberry Pi 和多種插件(包括一個 RGB LED 燈、一個麥克風、一個伺服電機和一個攝像頭)構成。
詳情:https://www.oschina.net/p/tj-bot
4.OpenWhisk:無服務器計算平台
OpenWhisk 是一個由 IBM 開源的、事件驅動的無服務器計算平台,你可以將操作代碼發送給 OpenWhisk,然後提供 OpenWhisk 代碼要處理的數據流。OpenWhisk 負責處理計算資源的擴展,這些資源是處理工作負載所需要的;你隻需要處理操作代碼以及觸發這些操作的數據。
OpenWhisk 簡化了微服務的部署,消除了管理自己的消息代理或部署自己的工作服務器的需求。OpenWhisk 適用於你不希望管理任何基礎架構的項目,隻需為已完成的工作付費,不會將金錢浪費在空閑的服務器上。OpenWhisk 很容易管理活動峰值,因為它可以外擴來滿足該需求。
詳情:https://www.oschina.net/p/openwhisk
GitHub地址:
https://github.com/bjustin-ibm/openwhisk
5.Quarks:物聯網傳感器數據應用開發工具
Quarks 是 IBM 開發的一個開源開發工具,用於幫助製造商和程序員開發高效的基於物聯網傳感器數據的應用。
詳情:https://www.oschina.net/p/quarks
7.Clouseau:全文搜索庫
Clouseau 通過類似 Erlang 的節點使用 Scalang 來公開 Lucene 的功能。在每個獨立的終端窗口運行。
詳情:https://www.oschina.net/p/clouseau
8.Dreyfus:全文搜索庫
Dreyfus 管理 Clouseau 節點來表現全文搜索特性。
詳情:https://www.oschina.net/p/dreyfus
1.React Native:移動開發框架
React Native是Facebook在2015年開源的基於React.js的移動開發框架,它的設計理念是讓移動應用既擁有Native的用戶體驗,同時又可以保留React的開發效率,提高代碼的複用率。React Native的宗旨是,學習一次,高效編寫跨平台原生應用。開發者可以使用JavaScript編寫應用,並利用相同的核心代碼就可以創建Web、iOS 和Android平台的原生應用,目前已經實現了對iOS和Android兩大平台的支持。
GitHub主頁:
https://github.com/facebook/react-native
2.GraphQL:數據查詢語言
GraphQL是Facebook開源的數據查詢語言。Facebook在構建移動應用程序時,需要用API獲取足夠強大的數據來描述所有的臉譜,同時簡單易學易用,於是開發了GraphQL,並支持每天千億級的調用。GraphQL不是像MySQL或Redis這樣直接麵向數據的接口,而是麵向已經存在的應用代碼的接口。你可以把GraphQL看作是為了調用應用服務器上的方法的一些內嵌的RPC。
GitHub主頁:
https://github.com/facebook/graphql
3.Presto:大數據查詢引擎
Presto是Facebook開發的一款分布式SQL引擎,主要用於針對各種大小的數據源(從GB到PB)來運行交互式分析查詢。Facebook創建Presto的主要目的在於幫助他們更快地分析數據,因為Facebook的數據量一直在持續增長,產品周期的節奏也變得越來越快。自從2013年11月開源後,Presto的用戶量呈現了爆發式增長。諸如Airbnb、京東、Dropbox以及Netflix等公司都將Presto作為自己的交互式查詢引擎。
GitHub主頁:
https://github.com/prestodb/presto
4.HHVM:PHP執行引擎
HHVM(HipHop Virtual Machine)是Facebook於2013年開源的PHP執行引擎。它采用一種JIT(just-in-time)的編譯機製實現了高性能,同時又保持對 PHP 語法的充分支持。HHVM常常用作獨立的服務器,用於替代Apache與mod_php,旨在執行使用Hack與PHP所編寫的程序。它使用了即時編譯方法來實現超高的性能,同時又保持了PHP開發者所習慣的靈活性。
GitHub主頁:
https://github.com/facebook/hhvm
5.React:JavaScript庫
React是Facebook開發的用於構建用戶界麵的JavaScript庫,現已為很多公司所用,因為它采用了一種不同的方式來構建應用:借助於React,開發者可以將應用分解為彼此解耦的獨立組件,這樣就可以獨立維護並迭代各種組件了。2015年,React有兩個主要的發布,同時還發布了React Native,並且發布了新的開發者工具。現在已經有越來越多的公司(包括Netflix與WordPress)開始使用React構建自己的產品了。
GitHub主頁:
https://github.com/facebook/react
6.RocksDB:鍵值存儲係統
RocksDB是Facebook開源的嵌入式、可持久化鍵值存儲係統,它基於Google的LevelDB,但提高了擴展性可以運行在多核處理器上,可以有效使用快速存儲,支持IO綁定、內存和一次寫負荷。過去一段時間,RocksDB在社區非常流行,Facebook分析其原因在於它能夠對由於網絡延遲等原因造成的慢查詢響應時間起到消除的作用,RocksDB非常靈活,完全可以針對各種新興的硬件發展趨勢進行定製。LinkedIn與Yahoo都是RocksDB的重度使用者。
GitHub主頁:
https://github.com/facebook/rocksdb
7.Big Sur:人工智能硬件平台
近些年,人工智能和機器學習方向取得了長足的發展。據Kevin Lee透露,Facebook的AI軟件已經能夠閱讀故事、回答相關場景的問題、玩遊戲以及通過一些例子來學習非指定的內容。作為計算密集型的應用,AI軟件的性能與數據集規模/硬件性能密切相關。尤其是硬件方麵,高性能微處理器、存儲器以及圖形處理器(Graphics Processing Unit,GPU)的發展為AI算法的快速運行提供了堅實基礎。為了進一步更好地服務大規模AI計算,Facebook推出了基於GPU的、用於訓練神經網絡的“Big Sur”硬件係統。
8.ATC:網絡模擬測試工具
Augmented Traffic Control(ATC)能夠利用Wi-Fi網絡模擬2G、2.5G(Edge)、3G以及LTE 4G移動網絡環境,測試工程師們可以快速在各種不同的模擬網絡環境中切換,從而實現對智能手機和App在不同國家地區和應用環境下的性能表現進行測試。ATC是Facebook內部團隊在2013年的一次Hackathon活動上開發出來的工具,其原理實際是利用了Linux流量控製係統,通過純Python的網絡庫pyroute2調用netlink的API控製,而開發其的目的是為了確保更多的用戶獲得最好的應用體驗。
GitHub主頁:
https://github.com/facebook/augmented-traffic-control
9.HydraBase:開源數據庫
HydraBase是HBase數據庫的升級版。Facebook是HBase的重度用戶,Facebook的HBase數據庫係統存儲著Facebook的很多關鍵業務數據,包括內部監控係統、搜索索 引、流數據分析以及數據抓取等。HydraBase相比HBase穩定性和可用性更高,可以減少服務器宕機時間。HydraBase能夠讓一個數據域分布在多個域服務器中,域服務器之間能相互備份,因此能夠大大減少數據恢複所用的時間。Facebook聲稱HydraBase能將Facebook全年的宕機時間縮減到不到5分鍾。
Facebook已經將HydraBase捐贈給Apache,目前很多代碼都已經被合並到HBase中。
詳情:https://www.oschina.net/p/hydrabase
10.WebScaleSQL:關係型數據庫
WebScaleSQL是基於MySQL 5.6 社區版本改編的MySQL通用分支,基於GPL開源協議發布。WebScaleSQL目前已經做了很多性能改進工作,包括:客戶端異步協調、邏輯預讀、查詢限流、服務端線程池優化、InnoDB大頁支持等等。WebScaleSQL上的功能都是很“Web Scale”和接地氣的。比如線程池優化,WebScaleSQL基於Mariadb的線程池實現進行重寫並優化,對讀寫隊列進行分離,重新設計隊列優先級策略,避免了餓死現象。要知道線程餓死在有些場景下是很嚴重的。尤其是在並發連接數往往很大的互聯網應用裏麵。
GitHub主頁:
https://github.com/webscalesql/webscalesql-5.6
11.Phabricator:代碼審查工具
代碼審查方麵,Facebook開源了可視化工具Phabricator。工程師可以在頁麵上非常方便的針對每一段(單行或者多行)代碼進行交互討論;負責審查的工程師可以接受代碼改變,可以提出疑問要求原作者繼續修改,可以提出自己不適合以推出該代碼審查,等等。隻有代碼被明確接受之後才能被工程師提交到服務器端的代碼庫,這一點集成到提交工具中強製執行。
GitHub主頁:
https://github.com/phacility/phabricator
12.Proxygen:C++HTTP框架
Proxygen是一款Facebook開源的支持SPDY 3.1的HTTP框架。其目的不是替換Apache,而是有能力創建一個專用的高性能Web服務器,使其可以嵌入到Facebook提供Web服務的現有應用中。Facebook從2011年開始構建一款代理服務器(Proxygen這個名字也是由此而來),在該項目演進並在生產環境中測試了數年之後,Facebook將其代碼開源了。 Facebook內部做的基準測試表明,在一個Proxygen echo服務器上,每秒可以支撐多達304 197次基於SPDY 3.1的內存GET請求。
GitHub主頁:
https://github.com/facebook/proxygen
13.Pop:開源動畫庫
Pop是Facebook推出的一個可擴展的iOS 和OS X動畫庫,其新聞聚合閱讀應用Paper背後的核心技術就是由Pop支持。除了增加基本的靜態動畫外,還支持Spring和衰變動態動畫,可非常方便的構建現實的、基於物理的交互。Pop動畫庫的動畫效果非常流暢,因為它使用了CADisplayLink來刷新畫麵(幀),一秒鍾刷新幀數為60幀,接近於遊戲開發引擎。Pop動畫的自成體係,與係統的CoreAnimation有很大的區別,但使用上非常相似。
GitHub主頁:
https://github.com/facebook/pop
14.Infer:靜態代碼分析工具
Infer是Facebook的開發團隊在代碼提交內部評審時,用來執行增量分析的一款靜態分析工具,在代碼提交到代碼庫或者部署到用戶的設備之前找出bug。由OCaml語言編寫的Infer目前能檢測出空指針訪問、資源泄露以及內存泄露,可對C、Java或Objective-C代碼進行檢測。
Facebook使用Infer自動驗證iOS和安卓上的移動應用的代碼,bug報告的正確率達80%。Infer通過捕獲編譯命令,把要被編譯的文件轉換為可用於分析潛在錯誤的中間語言格式。整個過程是增量進行的,意味著通常隻有那些有修改過並提交編譯的文件才會被Infer分析。Infer還集成了大量的構建或編譯工具,包括Gradle、Maven、Buck、Xcodebuild、clang、make和javac。
GitHub主頁:
https://github.com/facebook/infer
15.osquery:操作係統監控工具
osquery是一款麵向OSX和Linux的操作係統檢測框架。它將操作係統暴露為一個高性能的關係型數據庫,允許用戶編寫SQL查詢查看操作係統數據。在osquery中,SQL表代表像下麵這樣的抽象概念:
正在運行的進程
已加載的內核模塊
打開的網絡連接
GitHub主頁:
https://github.com/facebook/osquery
16.Flow:JavaScript靜態類型檢查工具
Flow是Facebook出品的一個JavaScript代碼的靜態類型檢查工具,該工具采用開放源碼的OCaml(Objective Caml)語言開發,。Flow能夠幫助開發人員查找出JavaScript代碼中的類型錯誤,從而提高開發效率和代碼質量。Flow已經能夠捕獲JavaScript代碼中的常見問題,如靜態類型轉換不匹配、空指針引用等問題。同時,Flow還為JavaScript新增了類型語法,如類型別名。
GitHub主頁:
https://github.com/facebook/flow
17.Stetho:Android調試工具
Stetho是一個Android應用的調試工具。當Android應用集成Stetho時,開發者可以通過訪問Chrome,在Chrome Developer Tools中查看應用布局、網絡請求、sqlite、preference等等,可視化一切應用操作(更重要的是不用root)。開發者也可通過它的dumpapp工具提供的命令行接口來訪問應用內部。
GitHub主頁:
https://github.com/facebook/stetho
1.Cloud Foundry:開源PaaS平台
Cloud Foundry是VMware於2011年4月12日推出的業界第一個開源PaaS雲平台,它支持多種框架、語言、運行時環境、雲平台及應用服務,使開發 人員能夠在幾秒鍾內進行應用程序的部署和擴展,無需擔心任何基礎架構的問題。
同時,它本身是一個基於Ruby on Rails的由多個相對獨立的子係統通過消息機製組成的分布式係統,使平台在各層級都可水平擴展,既能在大型數據中心裏運行,也能運行在一台桌麵電腦中, 二者使用相同的代碼庫。
作為新一代雲應用平台,Cloud Foundry專為私有雲計算環境、企業級數據中心和公有雲服務提供商所打造。Cloud Foundry雲平台可以簡化現代應用程序的開發、交付和運行過程,在麵對多種公有雲和私有雲選擇、符合業界標準的高效開發框架以及應用基礎設施服務時, 可以顯著提高開發者在雲環境中部署和運行應用程序的能力。
Cloud Foundry為開發者構建了具有足夠選擇性的PaaS雲平台,它同時支持多種開發框架、編程語言、應用服務以及多種雲部署環境的靈活選擇
詳情:https://www.oschina.net/p/cloud+foundry
2.ESXi:虛擬化係統
ESXi (VMware vSphere Hypervisor)專為運行虛擬機、最大限度降低配置要求和簡化部署而設計。隻需幾分鍾時間,客戶便可完成從安裝到運行虛擬機的全過程,特別是在下載並安裝預配置虛擬設備的時候。在VMware Virtual Appliance Marketplace 上有800多款為VMware hypervisor 創建的虛擬設備,如今,ESXi已經實現了與Virtual Appliance Marketplace的直接整合,使用戶能夠即刻下載並運行虛擬設備。這為即插即用型軟件的交付與安裝提供了一種全新和極其簡化的方式。
詳情:https://www.oschina.net/p/esxi
3.Harbor:企業級 Registry 服務器
Harbor 包括了權限管理(RBAC)、LDAP、審計、管理界麵、自我注冊、HA 等企業必需的功能,同時針對中國用戶的特點,設計鏡像複製和中文支持等功能,歡迎使用和反饋意見。
作為一個企業級私有 Registry 服務器,Harbor 提供了更好的性能和安全。提升用戶使用 Registry 構建和運行環境傳輸鏡像的效率。Harbor 支持安裝在多個 Registry 節點的鏡像資源複製,鏡像全部保存在私有 Registry 中, 確保數據和知識產權在公司內部網絡中管控。另外,Harbor 也提供了高級的安全特性,諸如用戶管理,訪問控製和活動審計等。
詳情:https://www.oschina.net/p/harbor
4.VMware View Open Client:虛擬桌麵環境
VMware View Open Clien 是 VMware 以 LGPL V2.1 許可發布了一個開源的 Linux VDI(virtual desktop infrastructure)客戶端。主要用於訪問由 VMware View 所管理的個性化虛擬桌麵環境。目前 VMware View Open Clien 提供下列功能:
支持使用 SSL 創建安全隧道
支持利用 RSA SecurID 進行雙重認證
提供Novell SLETC Add-On RPM 包
全命令行界麵
詳情:https://www.oschina.net/p/vmware_view_open_client
5.Photon Controller:集群管理係統
Photon Controller 是開源的硬件,容器和集群管理係統。是一套分布式、API 驅動型多租戶控製平台,旨在最大程度提升擴展能力與容器承載量,且能夠根據開發者的實際需要支持 Docker Swarm、Cloud Foundry、Kubernetes 以及 Mesos 等多種相關方案。
詳情:https://www.oschina.net/p/photon-controller
1.Apache Griffin:開源數據質量解決方案
2.Turmeric:開源SOA平台
4.Apache Eagle:Hadoop 數據安全方案
5.Parallec:HTTP/SSH/TCP/Ping並行客戶端
6.fabio:HTTP(S) 路由器
7.Ebay Pulsar:實時大數據分析平台
1.Typeahead.js:jQuery插件,快速、全功能的自動完成庫
2.Twemoji:JavaScript庫
3.Hogan.js:JavaScript模板引擎
4.Finagle:RPC框架
6.Scalding:Scala庫
7.Heron:數據實時分析平台
8.SecureHeaders:Web安全開發工具
9.Twemproxy:代理服務器
10.Bootstrap:Web 前端 UI 框架
來源:互聯網架構師
最後更新:2017-09-05 19:32:58