2019-04-16 阿里巴巴程序員常用的 15 款開發(fā)者工具

從人工到自動(dòng)化裕照,從重復(fù)到創(chuàng)新,技術(shù)演進(jìn)的歷程中平匈,伴隨著開發(fā)者工具類產(chǎn)品的發(fā)展框沟。

阿里巴巴將自身在各類業(yè)務(wù)場(chǎng)景下的技術(shù)積淀,通過開源增炭、云上實(shí)現(xiàn)或工具等形式對(duì)外開放忍燥,本文將精選了一些阿里巴巴的開發(fā)者工具,希望能幫助開發(fā)者們提高開發(fā)效率隙姿、更優(yōu)雅的寫代碼梅垄。

由于開發(fā)者涉及的技術(shù)領(lǐng)域眾多,筆者僅從自己熟悉的領(lǐng)域,以后端開發(fā)者的視角盤點(diǎn)平時(shí)可能用得到的工具队丝。每個(gè)工具按照以下幾點(diǎn)進(jìn)行介紹:

工具名稱和簡介

使用場(chǎng)景

一靡馁、Java 線上診斷工具 Arthas

Arthas阿里巴巴2018年9月開源的一款Java線上診斷工具。

工具的使用場(chǎng)景

這個(gè)類從哪個(gè) jar 包加載的机久?為什么會(huì)報(bào)各種類相關(guān)的 Exception臭墨?

我改的代碼為什么沒有執(zhí)行到?難道是我沒 commit膘盖?分支搞錯(cuò)了胧弛?

遇到問題無法在線上 debug,難道只能通過加日志再重新發(fā)布嗎侠畔?

線上遇到某個(gè)用戶的數(shù)據(jù)處理有問題结缚,但線上同樣無法 debug,線下無法重現(xiàn)软棺!

是否有一個(gè)全局視角來查看系統(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)行問題的定位和診斷眉厨。

二、IDE 插件 Cloud Toolkit

Cloud Toolkit是一款 IDE 插件兽狭,可以幫助開發(fā)者更高效地開發(fā)憾股、測(cè)試、診斷并部署應(yīng)用箕慧。通過 Cloud Toolkit服球,開發(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 工具之間頻繁切換 ?

三宫莱、混沌實(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ò)能力不易衡量?

容器編排配置是否合理無法驗(yàn)證功咒?

PaaS 層健壯性的測(cè)試工作無從入手愉阎?

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

該插件用于檢測(cè) Java 代碼中存在的不規(guī)范的位置力奋,并給予提示榜旦。規(guī)約插件是采用 Kotlin 語言開發(fā)。

五景殷、應(yīng)用實(shí)時(shí)監(jiān)控工具 ARMS

ARMS是一款 APM 類的監(jiān)控工具溅呢,提供前端、應(yīng)用猿挚、自定義監(jiān)控 3 類監(jiān)控選項(xiàng)咐旧,可快速構(gòu)建實(shí)時(shí)的應(yīng)用性能和業(yè)務(wù)監(jiān)控能力。

工具的使用場(chǎng)景

晚上10點(diǎn)收到37條報(bào)警信息绩蜻,你卻無從下手铣墨?

當(dāng)我們發(fā)現(xiàn)問題的時(shí)候,客戶/業(yè)務(wù)方已經(jīng)發(fā)起投訴办绝?

每個(gè)月花幾十萬買服務(wù)器伊约,卻無法保障用戶體驗(yàn)?

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

Docsite一款集官網(wǎng)屡律、文檔、博客和社區(qū)為一體的靜態(tài)開源站點(diǎn)的解決方案降淮,具有簡單易上手疹尾、上手不撒手的特質(zhì),同時(shí)支持 react 和靜態(tài)渲染、PC端和移動(dòng)端纳本、支持中英文國際化窍蓝、SEO、markdown文檔繁成、全局站點(diǎn)搜索吓笙、站點(diǎn)風(fēng)格自定義、頁面自定義等功能巾腕。

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

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

八佛寿、性能測(cè)試工具 PTS

PTS可以模擬大量用戶訪問業(yè)務(wù)的場(chǎng)景幌墓,任務(wù)隨時(shí)發(fā)起,免去搭建和維護(hù)成本冀泻,支持 JMeter 腳本轉(zhuǎn)化為 PTS 壓測(cè)常侣,同樣支持原生 JMeter 引擎進(jìn)行壓測(cè)。

九弹渔、云效開發(fā)者工具KT

KT 可以簡化在 Kubernetes 下進(jìn)行聯(lián)調(diào)測(cè)試的復(fù)雜度胳施,提高基于Kubernetes的研發(fā)效率。

十肢专、架構(gòu)可視化工具 AHAS

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

工具的使用場(chǎng)景

服務(wù)化改造過程中,想精確的了解資源實(shí)例的構(gòu)成和交互情況欧募,實(shí)現(xiàn)架構(gòu)的可視化压状?

想引入真實(shí)的故障場(chǎng)景和演練模型?

低門檻獲得流控跟继、降級(jí)功能种冬?

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

EasyExcel是一個(gè)用來對(duì) Java 進(jìn)行解析舔糖、生成Excel 的框架娱两,它重寫了 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)換的封裝旱物,讓使用者更加簡單方便遥缕。

十二、iOS 類工具 HandyJSON

HandyJSON是一個(gè)用于 Swift 語言中的JSON序列化/反序列化庫宵呛。

與其他流行的Swift JSON庫相比单匣,HandyJSON 的特點(diǎn)是,它支持純 Swift 類宝穗,使用也簡單户秤。它反序列化時(shí)(把 JSON 轉(zhuǎn)換為Model)不要求 Model從 NSObject 繼承(因?yàn)樗皇腔?KVC 機(jī)制),也不要求你為 Model 定義一個(gè) Mapping 函數(shù)逮矛。只要你定義好 Model 類鸡号,聲明它服從 HandyJSON 協(xié)議,HandyJSON 就能自行以各個(gè)屬性的屬性名為Key须鼎,從JSON串中解析值鲸伴。

十三、云上資源和應(yīng)用部署工具 EDAS Serverless

EDAS Serverless一款基于 Kubernetes莉兰,面向應(yīng)用和微服務(wù)的 Serverless 平臺(tái)。用戶無需管理和維護(hù)集群與服務(wù)器礁竞,即可通過鏡像糖荒、WAR 包和JAR 包,快速創(chuàng)建原生支持 Kubernetes 的容器應(yīng)用模捂,同時(shí)支持 Spring Cloud 和 Dubbo 等主流微服務(wù)框架捶朵。

十四、數(shù)據(jù)庫連接池 Druid

Druid是 Java 語言下的數(shù)據(jù)庫連接池狂男,它能夠提供強(qiáng)大的監(jiān)控和擴(kuò)展功能综看。

十五、Java 工具集 Dragonwell

Alibaba Dragonwell是阿里巴巴內(nèi)部OpenJDK定制版AJDK的開源版本岖食, 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)忠寻。

讀者福利

怎么提高代碼質(zhì)量?——來自阿里P8架構(gòu)師的研發(fā)經(jīng)驗(yàn)總結(jié)

阿里P8分享Java架構(gòu)師的學(xué)習(xí)路線存和,第六點(diǎn)尤為重要

每個(gè)Java開發(fā)者應(yīng)該知道的八個(gè)工具

想面試Java架構(gòu)師奕剃?這些最基本的東西你都會(huì)了嗎衷旅?

畫個(gè)圖來找你的核心競(jìng)爭力,變中年危機(jī)為加油站

哪有什么中年危機(jī)纵朋,不過是把定目標(biāo)當(dāng)成了有計(jì)劃

被裁員不是寒冬重點(diǎn)柿顶,重點(diǎn)是怎么破解職業(yè)瓶頸

作者:Java_蘇先生

鏈接:http://www.reibang.com/p/bef5888d6865

來源:簡書

簡書著作權(quán)歸作者所有,任何形式的轉(zhuǎn)載都請(qǐng)聯(lián)系作者獲得授權(quán)并注明出處倡蝙。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末九串,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子寺鸥,更是在濱河造成了極大的恐慌猪钮,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,386評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件胆建,死亡現(xiàn)場(chǎng)離奇詭異烤低,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)笆载,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門扑馁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人凉驻,你說我怎么就攤上這事腻要。” “怎么了涝登?”我有些...
    開封第一講書人閱讀 164,704評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵雄家,是天一觀的道長。 經(jīng)常有香客問我胀滚,道長趟济,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,702評(píng)論 1 294
  • 正文 為了忘掉前任咽笼,我火速辦了婚禮顷编,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘剑刑。我一直安慰自己媳纬,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評(píng)論 6 392
  • 文/花漫 我一把揭開白布施掏。 她就那樣靜靜地躺著层宫,像睡著了一般。 火紅的嫁衣襯著肌膚如雪其监。 梳的紋絲不亂的頭發(fā)上萌腿,一...
    開封第一講書人閱讀 51,573評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音抖苦,去河邊找鬼毁菱。 笑死米死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的贮庞。 我是一名探鬼主播峦筒,決...
    沈念sama閱讀 40,314評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼窗慎!你這毒婦竟也來了物喷?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,230評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤遮斥,失蹤者是張志新(化名)和其女友劉穎峦失,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體术吗,經(jīng)...
    沈念sama閱讀 45,680評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡尉辑,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了较屿。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片隧魄。...
    茶點(diǎn)故事閱讀 39,991評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖隘蝎,靈堂內(nèi)的尸體忽然破棺而出购啄,到底是詐尸還是另有隱情,我是刑警寧澤嘱么,帶...
    沈念sama閱讀 35,706評(píng)論 5 346
  • 正文 年R本政府宣布狮含,位于F島的核電站,受9級(jí)特大地震影響拱撵,放射性物質(zhì)發(fā)生泄漏辉川。R本人自食惡果不足惜表蝙,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評(píng)論 3 330
  • 文/蒙蒙 一拴测、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧府蛇,春花似錦集索、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至穷遂,卻和暖如春函匕,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蚪黑。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評(píng)論 1 270
  • 我被黑心中介騙來泰國打工盅惜, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留中剩,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,158評(píng)論 3 370
  • 正文 我出身青樓抒寂,卻偏偏與公主長得像结啼,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子屈芜,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評(píng)論 2 355

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

  • 從人工到自動(dòng)化郊愧,從重復(fù)到創(chuàng)新,技術(shù)演進(jìn)的歷程中井佑,伴隨著開發(fā)者工具類產(chǎn)品的發(fā)展属铁。 阿里巴巴將自身在各類業(yè)務(wù)場(chǎng)景下的技...
    Java_蘇先生閱讀 10,819評(píng)論 5 324
  • Freeline極速增量編譯工具詳細(xì)文檔 Freeline 是一款 Android 平臺(tái)上的秒級(jí)編譯方案,能夠顯著...
    gogoingmonkey閱讀 816評(píng)論 0 0
  • 每日必讀:12條人生原則 早睡早起——晚不超過22:30毅糟,早不晚于6:00红选,醒后不睡回籠覺。 謹(jǐn)言——言必于人于己...
    鈞鈺閱讀 163評(píng)論 0 0
  • 前幾天姑姑在家“家族群”里抱怨,說自己辛苦了大半輩子迹辐,把所有的精力都用在了表妹身上蝶防,可是今年大二的表妹,暑假回家也...
    惟書閱讀 1,101評(píng)論 1 0
  • 閉包可以從定義它們的上下文中捕獲和存儲(chǔ)對(duì)任何常量和變量的引用明吩。 這被稱為關(guān)閉這些常量和變量间学。 Swift處理所有的...
    Joker_King閱讀 593評(píng)論 0 2