BAT 程序員們常用的開(kāi)發(fā)工具

工欲善其事必先利其器膳凝,一個(gè)優(yōu)秀的程序員除了代碼寫(xiě)得好急侥,善于利用各種開(kāi)發(fā)工具同樣可以事半功倍同眯。以 BAT 為代表的各大廠程序員們?cè)谄綍r(shí)的工作中都用什么開(kāi)發(fā)工具呢调炬?InfoQ 編輯部盤點(diǎn)了大廠內(nèi)部常用的開(kāi)發(fā)工具,以供讀者參考捡多。本文涉及工具大部分為開(kāi)源項(xiàng)目蓖康,大家可以按需選用。

阿里篇

一垒手、Java 線上診斷工具 Arthas

Arthas 是阿里巴巴 2018 年 9 月開(kāi)源的一款 Java 線上診斷工具蒜焊。

使用場(chǎng)景:

  • 這個(gè)類從哪個(gè) jar 包加載的?為什么會(huì)報(bào)各種類相關(guān)的 Exception科贬?
  • 我改的代碼為什么沒(méi)有執(zhí)行到泳梆?難道是我沒(méi) commit?分支搞錯(cuò)了榜掌?
  • 遇到問(wèn)題無(wú)法在線上 debug优妙,難道只能通過(guò)加日志再重新發(fā)布嗎?
  • 線上遇到某個(gè)用戶的數(shù)據(jù)處理有問(wèn)題憎账,但線上同樣無(wú)法 debug套硼,線下無(wú)法重現(xiàn)!
  • 是否有一個(gè)全局視角來(lái)查看系統(tǒng)的運(yùn)行狀況胞皱?
  • 有什么辦法可以監(jiān)控到 JVM 的實(shí)時(shí)運(yùn)行狀態(tài)邪意?

Arthas 支持 JDK 6+,支持 Linux/Mac/Windows反砌,采用命令行交互模式雾鬼,同時(shí)提供豐富的 Tab 自動(dòng)補(bǔ)全功能,進(jìn)一步方便進(jìn)行問(wèn)題的定位和診斷宴树。

使用教程:

基礎(chǔ)教程:

https://alibaba.github.io/arthas/arthas-tutorials?language=cn&id=arthas-basics

進(jìn)階教程:

https://alibaba.github.io/arthas/arthas-tutorials?language=cn&id=arthas-advanced

開(kāi)源地址:
https://github.com/alibaba/arthas

二策菜、IDE 插件 Cloud Toolkit

Cloud Toolkit 是一款 IDE 插件,可以幫助開(kāi)發(fā)者更高效地開(kāi)發(fā)酒贬、測(cè)試又憨、診斷并部署應(yīng)用。通過(guò) Cloud Toolkit锭吨,開(kāi)發(fā)者能夠方便地將本地應(yīng)用一鍵部署到任意機(jī)器(本地或云端)竟块,并內(nèi)置 Arthas 診斷、高效執(zhí)行終端命令和 SQL 等耐齐,提供 IntelliJ IDEA 版浪秘,Eclipse 版蒋情,PyCharm 版和 Maven 版。

使用場(chǎng)景:

  • 每次修改完代碼后耸携,是否正在經(jīng)歷反復(fù)地打包棵癣?
  • 在 Maven 、Git 以及其他運(yùn)維腳本和工具的之間頻繁切換夺衍?
  • 采用 SCP 工具上傳狈谊?使用 XShell 或 SecureCRT 登陸服務(wù)器?替換部署包沟沙?重啟河劝?
  • 文件上傳到服務(wù)器指定目錄,在各種 FTP矛紫、SCP 工具之間頻繁切換 赎瞎?

使用教程:

IntelliJ IDEA 版:

https://help.aliyun.com/document_detail/98762.html

Eclipse 版:

https://help.aliyun.com/document_detail/29970.html

PyCharm 版:

https://help.aliyun.com/document_detail/112740.html

Maven 版:

https://help.aliyun.com/document_detail/108682.html

(免費(fèi)) 工具地址:

https://www.aliyun.com/product/cloudtoolkit

三、混沌實(shí)驗(yàn)注入工具 ChaosBlade

ChaosBlade 是一款遵循混沌工程實(shí)驗(yàn)原理颊咬,提供豐富故障場(chǎng)景實(shí)現(xiàn)务甥,幫助分布式系統(tǒng)提升容錯(cuò)性和可恢復(fù)性的混沌工程工具,可實(shí)現(xiàn)底層故障的注入喳篇,提供了延遲敞临、異常、返回特定值麸澜、修改參數(shù)值挺尿、重復(fù)調(diào)用和 try-catch 塊異常等異常場(chǎng)景。

使用場(chǎng)景:

  • 微服務(wù)的容錯(cuò)能力不易衡量炊邦?
  • 容器編排配置是否合理無(wú)法驗(yàn)證编矾?
  • PaaS 層健壯性的測(cè)試工作無(wú)從入手?

使用教程:

https://github.com/chaosblade-io/chaosblade/wiki/ 新手指南

開(kāi)源地址:

https://github.com/chaosblade-io/chaosblade/wiki/ 新手指南

四铣耘、Java 代碼規(guī)約掃描插件

該插件用于檢測(cè) Java 代碼中存在的不規(guī)范的位置洽沟,并給予提示以故。規(guī)約插件是采用 Kotlin 語(yǔ)言開(kāi)發(fā)蜗细。

使用教程:

IDEA 插件使用文檔:

https://github.com/alibaba/p3c/wiki/IDEA 插件使用文檔

Eclipse 插件使用文檔:

https://github.com/alibaba/p3c/wiki/Eclipse 插件使用文檔

開(kāi)源地址:

https://github.com/alibaba/p3c

五、解決 Kubernetes 上應(yīng)用自動(dòng)化問(wèn)題工具 OpenKruise

Kruise 的核心是自動(dòng)化怒详,從不同維度解決 Kubernetes 之上應(yīng)用的自動(dòng)化問(wèn)題炉媒,包括部署,升級(jí)昆烁,彈性擴(kuò)縮容吊骤,Qos 調(diào)節(jié),健康檢查静尼,遷移修復(fù)等白粉。此次传泊,Kruise 開(kāi)源的內(nèi)容主要在應(yīng)用部署,升級(jí)方面鸭巴,即一套增強(qiáng)版 controller 組件用于應(yīng)用的部署和級(jí)和運(yùn)維眷细。后續(xù),Kruise 會(huì)依次開(kāi)源智能化的彈性擴(kuò)縮容組件鹃祖,以及應(yīng)用 Qos 自調(diào)節(jié)能力的組件等溪椎。

開(kāi)源地址:

https://github.com/openkruise/kruise

六、靜態(tài)開(kāi)源站點(diǎn)搭建工具 Docsite

Docsite 是一款集官網(wǎng)恬口、文檔校读、博客和社區(qū)為一體的靜態(tài)開(kāi)源站點(diǎn)的解決方案,具有簡(jiǎn)單易上手祖能、上手不撒手的特質(zhì)歉秫,同時(shí)支持 react 和靜態(tài)渲染、PC 端和移動(dòng)端芯杀、支持中英文國(guó)際化端考、SEO、markdown 文檔揭厚、全局站點(diǎn)搜索却特、站點(diǎn)風(fēng)格自定義、頁(yè)面自定義等功能筛圆。

使用教程:

https://docsite.js.org/zh-cn/docs/installation.html

開(kāi)源地址:

https://github.com/txd-team/docsite

七裂明、Android 平臺(tái)上的秒級(jí)編譯方案 Freeline

Freeline 可以充分利用緩存文件,在幾秒鐘內(nèi)迅速地對(duì)代碼的改動(dòng)進(jìn)行編譯并部署到設(shè)備上太援,有效地減少了日常開(kāi)發(fā)中的大量重新編譯與安裝的耗時(shí)闽晦。Freeline 最快捷的使用方法就是直接安裝 Android Studio 插件。

使用教程:

https://github.com/alibaba/freeline/blob/master/README-zh.md

開(kāi)源地址:

https://github.com/alibaba/freeline

八提岔、架構(gòu)可視化工具 AHAS

AHAS 為 K8s 等容器環(huán)境提供了架構(gòu)可視化的功能仙蛉,同時(shí),具有故障注入式高可用能力評(píng)測(cè)和一鍵流控降級(jí)等功能碱蒙,可以快速低成本的提升應(yīng)用可用性荠瘪。

使用場(chǎng)景:

服務(wù)化改造過(guò)程中,想精確的了解資源實(shí)例的構(gòu)成和交互情況赛惩,實(shí)現(xiàn)架構(gòu)的可視化哀墓?
想引入真實(shí)的故障場(chǎng)景和演練模型?
低門檻獲得流控喷兼、降級(jí)功能篮绰?

使用教程:

https://help.aliyun.com/document_detail/90323.html

工具地址:

https://www.aliyun.com/product/ahas

九、數(shù)據(jù)處理工具 EasyExcel

EasyExcel 是一個(gè)用來(lái)對(duì) Java 進(jìn)行解析季惯、生成 Excel 的框架吠各,它重寫(xiě)了 poi 對(duì) 07 版 Excel 的解析臀突,原本一個(gè) 3M 的 Excel 用 POI sax 需要 100M 左右內(nèi)存,EasyExcel 可降低到 KB 級(jí)別贾漏,并且再大的 excel 也不會(huì)出現(xiàn)內(nèi)存溢出的情況惧辈。03 版依賴 POI 的 sax 模式。在上層做了模型轉(zhuǎn)換的封裝磕瓷,讓使用者更加簡(jiǎn)單方便盒齿。

使用教程:

https://github.com/alibaba/easyexcel/blob/master/quickstart.md

開(kāi)源地址:

https://github.com/alibaba/easyexcel

十、iOS 類工具 HandyJSON

HandyJSON 是一個(gè)用于 Swift 語(yǔ)言中的 JSON 序列化 / 反序列化庫(kù)困食。與其他流行的 Swift JSON 庫(kù)相比边翁,HandyJSON 的特點(diǎn)是,它支持純 Swift 類硕盹,使用也簡(jiǎn)單符匾。它反序列化時(shí) (把 JSON 轉(zhuǎn)換為 Model) 不要求 Model 從 NSObject 繼承 (因?yàn)樗皇腔?KVC 機(jī)制),也不要求你為 Model 定義一個(gè) Mapping 函數(shù)瘩例。只要你定義好 Model 類啊胶,聲明它服從 HandyJSON 協(xié)議,HandyJSON 就能自行以各個(gè)屬性的屬性名為 Key垛贤,從 JSON 串中解析值焰坪。

使用教程:

https://github.com/alibaba/HandyJSON/blob/master/README_cn.md

開(kāi)源地址:

https://github.com/alibaba/HandyJSON

十一、Java 工具集 Dragonwell

Alibaba Dragonwell 是阿里巴巴內(nèi)部 OpenJDK 定制版 AJDK 的開(kāi)源版本聘惦, AJDK 為在線電商某饰,金融,物流做了結(jié)合業(yè)務(wù)場(chǎng)景的優(yōu)化善绎,運(yùn)行在超大規(guī)模的黔漂,100,000+ 服務(wù)器的阿里巴巴數(shù)據(jù)中心。 Alibaba Dragonwell 與 Java SE 標(biāo)準(zhǔn)兼容禀酱,目前僅支持 Linux/x86_64 平臺(tái)炬守。

使用教程:

https://github.com/alibaba/dragonwell8/wiki/ 阿里巴巴 Dragonwell8 用戶指南

開(kāi)源地址:

https://github.com/alibaba/dragonwell8

騰訊篇

一、Web 開(kāi)發(fā)基礎(chǔ)樣式庫(kù) WeUI

WeUI 是一套同微信原生視覺(jué)體驗(yàn)一致的基礎(chǔ)樣式庫(kù)剂跟,由微信官方設(shè)計(jì)團(tuán)隊(duì)為微信 Web 開(kāi)發(fā)量身設(shè)計(jì)减途,可以令用戶的使用感知更加統(tǒng)一。包含 button浩聋、cell观蜗、dialog臊恋、 progress衣洁、 toast、article抖仅、actionsheet坊夫、icon 等各式元素砖第。

使用文檔:

https://github.com/Tencent/weui/wiki

開(kāi)源地址:

https://github.com/Tencent/Weui

二、騰訊 Git 代碼管理平臺(tái)『工蜂』

騰訊工蜂是騰訊研發(fā)管理部自主研發(fā)的 Git 托管代碼平臺(tái)环凿,服務(wù)騰訊內(nèi)部數(shù)萬(wàn)名研發(fā)工程師梧兼,是騰訊內(nèi)部使用范圍最為廣泛的工程效率工具;在滿足基本開(kāi)發(fā)協(xié)作能力的基礎(chǔ)上智听,工蜂也提供了可定制化的 CodeReview羽杰、開(kāi)源協(xié)作和研發(fā)度量能力。

使用場(chǎng)景:

? 企業(yè)內(nèi)部研發(fā)管理到推、開(kāi)發(fā)協(xié)作考赛;
? 企業(yè)內(nèi)部開(kāi)源項(xiàng)目管理、協(xié)同共享莉测;
? 微信小程序版本開(kāi)發(fā)颜骤;
? 高校實(shí)驗(yàn)室,教學(xué)場(chǎng)景等

官網(wǎng)和文檔:

官網(wǎng):https://code.tencent.com/
文檔:https://code.tencent.com/help/productionDoc/project

三捣卤、騰訊敏捷協(xié)作平臺(tái) TAPD

TAPD 平臺(tái)是騰訊敏捷研發(fā)體系十余年的發(fā)展成果忍抽,為產(chǎn)品研發(fā)全生命周期提供解決方案,支持敏捷需求規(guī)劃董朝、迭代計(jì)劃跟蹤鸠项、測(cè)試與質(zhì)量保證、持續(xù)構(gòu)建交付等全過(guò)程研發(fā)實(shí)踐子姜。TAPD 于 2017 年對(duì)外服務(wù)锈锤,目前已幫助超過(guò) 10 萬(wàn)家企業(yè)提升研發(fā)效能,實(shí)現(xiàn)數(shù)字化轉(zhuǎn)型升級(jí)闲询。

使用場(chǎng)景:

  • 任務(wù)協(xié)作——適合不同場(chǎng)景的任務(wù)跟進(jìn)
  • 敏捷研發(fā)——一站式敏捷研發(fā)全生命周期管理
  • DevOps——一站式 DevOps 持續(xù)交付平臺(tái)
  • 企業(yè)級(jí)研發(fā)數(shù)據(jù)度量——助力企業(yè)衡量效能久免、持續(xù)改進(jìn)

官網(wǎng):https://www.tapd.cn/
文檔:https://www.tapd.cn/help#page-wikidoc

四、一站式 DevOps 研發(fā)平臺(tái):騰訊 CI 平臺(tái)(藍(lán)盾)

藍(lán)盾(bk-ci)是一個(gè)開(kāi)源的持續(xù)集成和持續(xù)交付系統(tǒng)扭弧,從業(yè)務(wù)安全出發(fā)阎姥,貫穿產(chǎn)品研發(fā)、測(cè)試和運(yùn)營(yíng)的全生命周期鸽捻; 助力業(yè)務(wù)平滑過(guò)渡到敏捷研發(fā)模式呼巴,打造一站式研發(fā)運(yùn)營(yíng)體系,持續(xù)快速交付高質(zhì)量的產(chǎn)品御蒲。目前服務(wù)于騰訊 10000+ 開(kāi)發(fā)人員衣赶,現(xiàn)已成為騰訊公司指定的 CI 平臺(tái)。另外厚满,也是獲得行業(yè)至今為止唯一一個(gè) 4 級(jí)認(rèn)證的 DevOps 標(biāo)準(zhǔn)府瞄。藍(lán)盾提供了流水線、代碼庫(kù)碘箍、憑證管理遵馆、環(huán)境管理鲸郊、研發(fā)商店 5 大核心服務(wù),多重組合货邓,滿足企業(yè)不同場(chǎng)景的需求秆撮。

使用場(chǎng)景:

  • 工程編譯
  • 靜態(tài)代碼檢查
  • 運(yùn)行測(cè)試用例,及時(shí)發(fā)現(xiàn) BUG
  • 部署與發(fā)布

開(kāi)源地址:

https://github.com/Tencent/bk-ci

五换况、高性能职辨、多語(yǔ)言的微服務(wù)治理框架 Tars

Tars 是騰訊將其內(nèi)部使用的微服務(wù)框架 TAF(Total Application Framework)多年的實(shí)踐成果總結(jié)而成的開(kāi)源項(xiàng)目,在騰訊內(nèi)部有上百個(gè)產(chǎn)品使用戈二,服務(wù)內(nèi)部數(shù)千名 C++拨匆、Java、Golang挽拂、Node.Js 與 PHP 開(kāi)發(fā)者惭每。其包含一整套開(kāi)發(fā)框架與管理平臺(tái),兼顧多語(yǔ)言亏栈、易用性台腥、高性能與服務(wù)治理,理念是讓開(kāi)發(fā)更聚焦業(yè)務(wù)邏輯绒北,讓運(yùn)營(yíng)更高效黎侈。目前騰訊有 160 多個(gè)業(yè)務(wù)(如 QQ 瀏覽器、手機(jī) QQ闷游、手機(jī)游戲峻汉、應(yīng)用寶、微視脐往、天天快報(bào)等)在 10 萬(wàn)臺(tái)服務(wù)器上使用 TARS休吠。2017 年,Tars 在 GitHub 開(kāi)源业簿,目前 TarsCloud 擁有將近一萬(wàn) star瘤礁。2018 年,Tars 項(xiàng)目被捐獻(xiàn)給 Linux 開(kāi)源基金會(huì)梅尤。

使用場(chǎng)景:

  • 高效支持后臺(tái)服務(wù)的開(kāi)發(fā)柜思、部署、發(fā)布巷燥、運(yùn)營(yíng)赡盘、監(jiān)控等;
  • 提供一站式服務(wù)治理缰揪,包括服務(wù)注冊(cè)發(fā)現(xiàn)陨享、服務(wù)配置、負(fù)載均衡、過(guò)載保護(hù)霉咨、容災(zāi)容錯(cuò)等功能;
  • 提供立體化監(jiān)控平臺(tái)拍屑,輕松獲取流量途戒、耗時(shí)、超時(shí)僵驰、異常喷斋、自定義等監(jiān)控?cái)?shù)據(jù)和歷史曲線。同時(shí)可進(jìn)行消息染色蒜茴,從而做有針對(duì)性的監(jiān)控星爪。

開(kāi)源地址:

https://github.com/tarsCloud

輕量級(jí)服務(wù)注冊(cè)發(fā)行容錯(cuò)方案 TSeer

TSeer 是一套服務(wù)注冊(cè)發(fā)現(xiàn)容錯(cuò)方案,是對(duì) TARS 名字服務(wù)功能的輕量化粉私,對(duì)業(yè)務(wù)侵入性低顽腾,并且提供 Web 管理平臺(tái)。在騰訊內(nèi)部眾多業(yè)務(wù)中廣泛采用诺核,目前日均承載百億級(jí)的請(qǐng)求量抄肖。

開(kāi)源地址:

https://github.com/Tencent/tseer/

分布式 NoSQL 存儲(chǔ)系統(tǒng) DCache

DCache 是一個(gè)基于 TARS 框架開(kāi)發(fā)的分布式 NoSQL 存儲(chǔ)系統(tǒng),數(shù)據(jù)采用內(nèi)存存儲(chǔ)窖杀,支持連接后端 DB 實(shí)現(xiàn)數(shù)據(jù)持久化漓摩。DCache 采用集群模式,具有高擴(kuò)展入客、高可用的特點(diǎn)管毙。DCache 在騰訊內(nèi)部有大量業(yè)務(wù)使用,日訪問(wèn)總量超萬(wàn)億次桌硫。

開(kāi)源地址:

https://github.com/tencent/dcache

六夭咬、小程序組件化開(kāi)發(fā)框架 WePY

WePY 項(xiàng)目啟動(dòng)于 2017 年 11 月份, 是小程序最早的框架之一铆隘,是一款讓小程序支持組件化開(kāi)發(fā)的框架皱埠,通過(guò)預(yù)編譯的手段讓開(kāi)發(fā)者可以選擇自己喜歡的開(kāi)發(fā)風(fēng)格去開(kāi)發(fā)小程序】裕框架的細(xì)節(jié)優(yōu)化边器,Promise,Async Functions 的引入都是為了能讓開(kāi)發(fā)小程序項(xiàng)目變得更加簡(jiǎn)單托修,高效忘巧。

使用場(chǎng)景:

  • 使用 Vue Observer 實(shí)現(xiàn)數(shù)據(jù)綁定
  • 支持 Vue watch/computed/mixin 等特性
  • 基于原生組件實(shí)現(xiàn)組件化開(kāi)發(fā)
  • 支持 TypeScript

開(kāi)源地址:

https://github.com/Tencent/wepy

七、騰訊自動(dòng)化測(cè)試中臺(tái) QTA

QTA 是面向多種平臺(tái)(包括 Android睦刃、iOS砚嘴、Windows、MacOS、Web际长、小程序耸采、后臺(tái)服務(wù)和云原生應(yīng)用等)的自動(dòng)化測(cè)試服務(wù)平臺(tái),致力于幫助業(yè)務(wù)研發(fā)團(tuán)隊(duì)開(kāi)展和落地自動(dòng)化測(cè)試工育,提供包括自動(dòng)化測(cè)試用例管理和數(shù)據(jù)分析虾宇、分布式測(cè)試執(zhí)行、線上測(cè)試報(bào)告和數(shù)據(jù)可視化如绸、測(cè)試執(zhí)行度量分析嘱朽、測(cè)試資源管理等功能。

QT4A怔接,UI 自動(dòng)化測(cè)試 for Android:

https://github.com/Tencent/QT4A

QT4i搪泳,UI 自動(dòng)化測(cè)試 for iOS:

https://github.com/Tencent/QT4i

QT4W,UI 自動(dòng)化測(cè)試 for Web:

https://github.com/Tencent/QT4W

八扼脐、微信跨平臺(tái)跨業(yè)務(wù)基礎(chǔ)組件 Mars

Mars 是微信官方的終端基礎(chǔ)組件, 是一個(gè)業(yè)務(wù)性無(wú)關(guān), 平臺(tái)性無(wú)關(guān)岸军,使用 C++ 編寫(xiě)的基礎(chǔ)組件。目前已接入微信 Android瓦侮、iOS凛膏、Mac、Windows脏榆、WP猖毫、UWP 等客戶端。Mars 是一個(gè)結(jié)合移動(dòng) App 所設(shè)計(jì)的基于 socket 層的解決方案须喂,在網(wǎng)絡(luò)調(diào)優(yōu)方面有更好的可控性吁断,Mars 在微信用的應(yīng)用場(chǎng)景主要是:普通 CGI 請(qǐng)求類似收發(fā)消息收發(fā)語(yǔ)音,業(yè)務(wù) CGI 支付請(qǐng)求等坞生。

開(kāi)源地址:

https://github.com/Tencent/Mars

百度篇

一仔役、主打 C++ 平臺(tái)下的高性能 RPC 框架 baidu-rpc

baidu-rpc (簡(jiǎn)稱 brpc) 是一款主打 C++ 平臺(tái)下的高性能 RPC 框架,它上手簡(jiǎn)單是己,擴(kuò)展性上限又很高又兵,同時(shí)還具備完善的運(yùn)維和調(diào)試接口。目的是構(gòu)建一套百度內(nèi)統(tǒng)一的 RPC 框架卒废,那么靈活的擴(kuò)展性就是最基礎(chǔ)的需求沛厨。Baidu-rpc 在實(shí)現(xiàn)過(guò)程中非常注重機(jī)制與策略分離,支持了百度內(nèi)使用的大部分 RPC 協(xié)議摔认,方便無(wú)縫遷移業(yè)務(wù)到 baidu-rpc逆皮。除了協(xié)議之外,將名字服務(wù)参袱、負(fù)載均衡和認(rèn)證也采用了具體 policy 實(shí)現(xiàn)电谣,比如 bns 名字服務(wù)秽梅、rr 負(fù)載均衡。

使用場(chǎng)景:

  • 搭建能被百度內(nèi)所有協(xié)議訪問(wèn)的服務(wù)剿牺,包括但不限于:標(biāo)準(zhǔn)協(xié)議,hulu-pbrpc,sofa-pbrpc,nova-pbrpc,public-pbrpc,ubrpc 和所有使用 nshead 的協(xié)議,http 和 https, 其中 json 可自動(dòng)轉(zhuǎn)化為 protobuf 消息企垦;
  • 訪問(wèn)百度內(nèi)所有的服務(wù),包括但不限于:標(biāo)準(zhǔn)協(xié)議晒来,hulu-pbrpc钞诡,sofa-pbrpc,nova-pbrpc潜索,public-pbrpc臭增,ubrpc(包括 idl 或裸用 mcpack/compack),http(baidu::rpc::Channel 可以代替 curl)懂酱;
  • 通過(guò) HTTP 調(diào)試服務(wù)竹习,或用 pprof 在線采樣服務(wù)的性能;
  • 獲得更好的延時(shí)和吞吐列牺。

開(kāi)源地址:

https://github.com/apache/incubator-brpc

二整陌、高度個(gè)性化定制的數(shù)據(jù)可視化圖表 Echarts

ECharts 是一個(gè)純 Javascript 的圖表庫(kù),兼容當(dāng)前絕大部分瀏覽器(IE6/7/8/9/10/11瞎领,chrome泌辫,firefox,Safari 等)月培,底層依賴輕量級(jí)的 Canvas 類庫(kù) ZRender 绷跑,提供直觀生動(dòng)恬总、可交互、可高度個(gè)性化定制的數(shù)據(jù)可視化圖表殿遂。從而增強(qiáng)用戶對(duì)數(shù)據(jù)進(jìn)行挖掘和整合的能力,揭示出隱藏在數(shù)據(jù)背后的價(jià)值乙各。

使用場(chǎng)景:

  • 使用 Canvas 或者 SVG 渲染墨礁;
  • 在圖表中支持無(wú)障礙訪問(wèn);
  • 使用 ECharts GL 實(shí)現(xiàn)基礎(chǔ)的三維可視化耳峦;
  • 在微信小程序中使用 ECharts恩静;
  • 多種數(shù)據(jù)格式無(wú)需轉(zhuǎn)換直接使用。

官網(wǎng)地址:

https://echarts.apache.org

開(kāi)源地址:

https://github.com/apache/incubator-echarts

三蹲坷、深度學(xué)習(xí)平臺(tái)飛槳(PaddlePaddle)

飛槳(PaddlePaddle)是百度自主研發(fā)驶乾、集深度學(xué)習(xí)訓(xùn)練和預(yù)測(cè)框架、模型庫(kù)循签、工具組件轻掩、服務(wù)平臺(tái)等為一體的開(kāi)源深度學(xué)習(xí)平臺(tái)。目前 PaddlePaddle 開(kāi)源了 60 多個(gè)經(jīng)過(guò)真實(shí)業(yè)務(wù)場(chǎng)景驗(yàn)證的官方模型懦底,涵蓋視覺(jué)唇牧、NLP罕扎、語(yǔ)音和推薦等 AI 核心技術(shù)領(lǐng)域。

使用場(chǎng)景:

  • 研究新的 AI 算法等深度學(xué)習(xí)技術(shù)丐重;
  • 利用深度學(xué)習(xí)技術(shù)解決業(yè)務(wù)問(wèn)題腔召,例如百度地圖的精準(zhǔn)時(shí)間預(yù)估,百度 Feed 的視頻完全自動(dòng)分類扮惦,中國(guó)科學(xué)院遙感與數(shù)字地球研究所的基于遙感影像的目標(biāo)地物檢測(cè)臀蛛,領(lǐng)邦智能的快速完成不同零件質(zhì)檢的業(yè)務(wù)落地,北京林業(yè)大學(xué)的 AI 識(shí)蟲(chóng)達(dá)到專業(yè)人士識(shí)別準(zhǔn)確率且檢測(cè)周期從兩周縮短至一個(gè)小時(shí)等等崖蜜;
  • 學(xué)習(xí)提升浊仆。

使用指南:

http://paddlepaddle.org/documentation/docs/zh/1.4/user_guides/index_cn.html?from=paddlenav

API 文檔:

http://paddlepaddle.org/documentation/docs/zh/1.4/api_cn/index_cn.html?from=paddlenav

開(kāi)源地址:

https://github.com/PaddlePaddle

四、基于 json 生成 MIS 頁(yè)面的前端工具 amis

amis 是百度 2019 年 4 月開(kāi)源的一款基于 json 生成 MIS 頁(yè)面的前端工具豫领,目前已用于內(nèi)部 amis 平臺(tái)抡柿,結(jié)合可視化工具及后端服務(wù),大大縮減了各類管理系統(tǒng)的開(kāi)發(fā)成本等恐,目前平臺(tái)內(nèi)部已累計(jì)創(chuàng)建了 1.4w+ 頁(yè)面洲劣,每天有 2700 人在使用。

使用場(chǎng)景:

  • 可快速生成各種增刪改查頁(yè)面课蔬,直接配置接口和需要展示的字段信息即可囱稽;
  • 要做復(fù)雜的表單驗(yàn)證?直接配置規(guī)則就可以二跋;
  • 當(dāng)然還集成圖表功能战惊,用來(lái)做帶管理功能的報(bào)表系統(tǒng)也很適合。

使用教程:

https://baidu.github.io/amis/docs/getting-started

開(kāi)源地址:

https://github.com/baidu/amis

五扎即、MVVM 的組件框架 San

San 是一個(gè) MVVM 的組件框架吞获,它體積小巧(15K)、兼容性好(IE6)铺遂、性能卓越衫哥、使用靈活。組件是 San 的基本單位襟锐,是獨(dú)立的數(shù)據(jù)撤逢、邏輯、視圖的封裝單元粮坞。從頁(yè)面角度看蚊荣,組件是 HTML 元素的擴(kuò)展;從功能模式角度看莫杈,組件是一個(gè) ViewModel互例。San 組件提供了完整的生命周期,與 WebComponent 的生命周期相符合筝闹。組件間是可嵌套的樹(shù)形關(guān)系媳叨,完整的支持了組件層級(jí)腥光、組件間的通信,方便組件間的數(shù)據(jù)流轉(zhuǎn)糊秆。San 的組件機(jī)制武福,可以有效支撐業(yè)務(wù)開(kāi)發(fā)上的組件化需求,對(duì)各種類型的 Web 應(yīng)用場(chǎng)景都有較強(qiáng)的適應(yīng)性痘番。

使用場(chǎng)景:

  • 傳統(tǒng) Web 頁(yè)面捉片,部分區(qū)域需要在當(dāng)前頁(yè)面中響應(yīng)用戶操作;
  • 單頁(yè) Web 應(yīng)用汞舱;
  • 基于 Node.js 的服務(wù)端渲染伍纫;
  • 同構(gòu) Web 應(yīng)用。

使用教程:

https://baidu.github.io/san/tutorial/start/

開(kāi)源地址:

https://github.com/baidu/san

六昂芜、Python 語(yǔ)言基礎(chǔ)庫(kù)——Cup

CUP 基礎(chǔ)庫(kù)是百度開(kāi)源的 Python 語(yǔ)言基礎(chǔ)庫(kù)莹规,致力將業(yè)務(wù)開(kāi)發(fā)從涉及底層操作、Util 操作類解放出來(lái)说铃,進(jìn)而更關(guān)注構(gòu)建上層業(yè)務(wù)邏輯访惜。目前 CUP 已涵蓋從零構(gòu)建一個(gè)服務(wù)底層支持的各個(gè)方面嘹履。

使用場(chǎng)景:

  • 使用 CUP 輔助從 0 到 1 構(gòu)建一個(gè) Service腻扇,特別是底層結(jié)構(gòu);

  • 使用 CUP 作為 Utils 底層庫(kù)協(xié)助業(yè)務(wù)代碼開(kāi)發(fā)砾嫉。

使用教程:

http://cup.iobusy.com/

開(kāi)源地址:

https://github.com/baidu/CUP

七幼苛、一站式 DevOps 解決方案百度效率云

百度效率云是由百度工程效能部自主研發(fā)的一站式 DevOps 解決方案,在百度內(nèi)部每天服務(wù) 10000+ 工程師焕刮、產(chǎn)品經(jīng)理的研發(fā)協(xié)作舶沿;每天執(zhí)行 70000+ 次的構(gòu)建、30000+ 次的持續(xù)集成配并;每周清掃 3000+ 的代碼高危漏洞括荡。

百度效率云包括四大平臺(tái): 專注產(chǎn)品和項(xiàng)目管理的 icafe 平臺(tái),專注代碼托管和協(xié)同開(kāi)發(fā)的 icode 平臺(tái)溉旋,專注 CI/CD 的 ipipe 平臺(tái)以及構(gòu)建產(chǎn)物管理平臺(tái) iRepo畸冲。

使用場(chǎng)景:

  • 企業(yè)內(nèi)部的軟件研發(fā)管理,企業(yè)間項(xiàng)目協(xié)同观腊;
  • 高校實(shí)驗(yàn)室邑闲,教學(xué)場(chǎng)景;
  • 云原生應(yīng)用開(kāi)發(fā)梧油;
  • AI 服務(wù)應(yīng)用開(kāi)發(fā)苫耸;
  • 代碼安全掃描、漏斗掃描儡陨。

使用教程:

文檔:https://cloud.baidu.com/doc/XLY/index.html
視頻:http://abcxueyuan.cloud.baidu.com/#/course_detail?id=14927&courseId=14927

工具地址:

https://cloud.baidu.com/product/xly.html

結(jié)語(yǔ)

程序員的世界里褪子,語(yǔ)言多量淌,框架更多,想要從多如牛毛的開(kāi)發(fā)工具中找到好用的輪子并不容易嫌褪。通過(guò)本文类少,我們盤點(diǎn)了 BAT 大廠程序員們常用的開(kāi)發(fā)工具,這其中不少工具也已開(kāi)源渔扎,你可以很方便地在 GitHub 上找到這些工具并下載使用硫狞。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市晃痴,隨后出現(xiàn)的幾起案子残吩,更是在濱河造成了極大的恐慌,老刑警劉巖倘核,帶你破解...
    沈念sama閱讀 221,695評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件泣侮,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡紧唱,警方通過(guò)查閱死者的電腦和手機(jī)活尊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)漏益,“玉大人蛹锰,你說(shuō)我怎么就攤上這事〈掳蹋” “怎么了铜犬?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,130評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)轻庆。 經(jīng)常有香客問(wèn)我癣猾,道長(zhǎng),這世上最難降的妖魔是什么余爆? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,648評(píng)論 1 297
  • 正文 為了忘掉前任纷宇,我火速辦了婚禮,結(jié)果婚禮上蛾方,老公的妹妹穿的比我還像新娘像捶。我一直安慰自己,他們只是感情好转捕,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,655評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布作岖。 她就那樣靜靜地躺著,像睡著了一般五芝。 火紅的嫁衣襯著肌膚如雪痘儡。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,268評(píng)論 1 309
  • 那天枢步,我揣著相機(jī)與錄音沉删,去河邊找鬼渐尿。 笑死,一個(gè)胖子當(dāng)著我的面吹牛矾瑰,可吹牛的內(nèi)容都是我干的砖茸。 我是一名探鬼主播,決...
    沈念sama閱讀 40,835評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼殴穴,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼凉夯!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起采幌,我...
    開(kāi)封第一講書(shū)人閱讀 39,740評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤劲够,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后休傍,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體征绎,經(jīng)...
    沈念sama閱讀 46,286評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,375評(píng)論 3 340
  • 正文 我和宋清朗相戀三年磨取,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了人柿。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,505評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡忙厌,死狀恐怖凫岖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情慰毅,我是刑警寧澤隘截,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布扎阶,位于F島的核電站汹胃,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏东臀。R本人自食惡果不足惜着饥,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,873評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望惰赋。 院中可真熱鬧宰掉,春花似錦、人聲如沸赁濒。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,357評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)拒炎。三九已至挪拟,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間击你,已是汗流浹背玉组。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,466評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工谎柄, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人惯雳。 一個(gè)月前我還...
    沈念sama閱讀 48,921評(píng)論 3 376
  • 正文 我出身青樓朝巫,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親石景。 傳聞我的和親對(duì)象是個(gè)殘疾皇子劈猿,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,515評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 從人工到自動(dòng)化,從重復(fù)到創(chuàng)新潮孽,技術(shù)演進(jìn)的歷程中糙臼,伴隨著開(kāi)發(fā)者工具類產(chǎn)品的發(fā)展。 阿里巴巴將自身在各類業(yè)務(wù)場(chǎng)景下的技...
    夜風(fēng)月圓閱讀 1,068評(píng)論 0 28
  • 從人工到自動(dòng)化恩商,從重復(fù)到創(chuàng)新变逃,技術(shù)演進(jìn)的歷程中,伴隨著開(kāi)發(fā)者工具類產(chǎn)品的發(fā)展怠堪。 阿里巴巴將自身在各類業(yè)務(wù)場(chǎng)景下的技...
    jeffrey_hjf閱讀 2,004評(píng)論 0 35
  • 洗腦價(jià)值觀 by 雜學(xué)的程序員每一個(gè)成功,都開(kāi)始于第一次決定嘗試之后. 變量, 類比的理解也就是操作系統(tǒng)的快捷方式...
    游戲開(kāi)發(fā)程序員閱讀 339評(píng)論 0 0
  • #那年高考#2012年6月8日 (高考第二天) 早晨起床時(shí)揽乱,我對(duì)小姑娘說(shuō),“昨晚看你睡得真香啊粟矿』嗣蓿”閨女答:“光昨天...
    王蘭_hope閱讀 241評(píng)論 0 0