阿里巴巴程式設計師常用的 15 款開發者工具
從人工到自動化,從重複到創新,技術演進的歷程中,伴隨著開發者工具類產品的發展。
阿里巴巴將自身在各類業務場景下的技術積澱,通過開源、雲上實現或工具等形式對外開放,本文將精選了一些阿里巴巴的開發者工具,希望能幫助開發者們提高開發效率、更優雅的寫程式碼。
由於開發者涉及的技術領域眾多,筆者僅從自己熟悉的領域,以後端開發者的視角盤點平時可能用得到的工具。每個工具按照以下幾點進行介紹:
- 工具名稱和簡介
- 使用場景
- 使用教程
- 獲取方式
一、Java 線上診斷工具 Arthas
Arthas 是阿里巴巴 2018 年 9 月開源的一款 Java 線上診斷工具。
工具的使用場景:
- 這個類從哪個 jar 包載入的?為什麼會報各種類相關的 Exception?
- 我改的程式碼為什麼沒有執行到?難道是我沒 commit?分支搞錯了?
- 遇到問題無法線上上 debug,難道只能通過加日誌再重新發布嗎?
- 線上遇到某個使用者的資料處理有問題,但線上同樣無法 debug,線下無法重現!
- 是否有一個全域性視角來檢視系統的執行狀況?
- 有什麼辦法可以監控到 JVM 的實時執行狀態?
Arthas 支援 JDK 6+,支援 Linux/Mac/Windows,採用命令列互動模式,同時提供豐富的 Tab 自動補全功能,進一步方便進行問題的定位和診斷。
使用教程:
- 基礎教程: https://alibaba.github.io/arthas/arthas-tutorials?language=cn&id=arthas-basics
- 進階教程: https://alibaba.github.io/arthas/arthas-tutorials?language=cn&id=arthas-advanced
獲取方式:(開源)
開源地址: https://github.com/alibaba/arthas
開發者交流群號:21965291(釘群)
二、IDE 外掛 Cloud Toolkit
Cloud Toolkit 是一款 IDE 外掛,可以幫助開發者更高效地開發、測試、診斷並部署應用。通過 Cloud Toolkit,開發者能夠方便地將本地應用一鍵部署到任意機器(本地或雲端),並內建 Arthas 診斷、高效執行終端命令和 SQL 等,提供 IntelliJ IDEA 版,Eclipse 版,PyCharm 版和 Maven 版。
工具的使用場景:
- 每次修改完程式碼後,是否正在經歷反覆地打包?
- 在 Maven 、Git 以及其他運維指令碼和工具的之間頻繁切換?
- 採用 SCP 工具上傳?使用 XShell 或 SecureCRT 登入伺服器?替換部署包?重啟?
- 檔案上傳到伺服器指定目錄,在各種 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
獲取方式:(免費)
工具地址: https://www.aliyun.com/product/cloudtoolkit
開發者交流群號: 23341694(釘群)
三、混沌實驗注入工具 ChaosBlade
ChaosBlade 是一款遵循混沌工程實驗原理,提供豐富故障場景實現,幫助分散式系統提升容錯性和可恢復性的混沌工程工具,可實現底層故障的注入,提供了延遲、異常、返回特定值、修改引數值、重複呼叫和 try-catch 塊異常等異常場景。
工具的使用場景:
- 微服務的容錯能力不易衡量?
- 容器編排配置是否合理無法驗證?
- PaaS 層健壯性的測試工作無從入手?
使用教程: https://github.com/chaosblade-io/chaosblade/wiki/新手指南
獲取方式:(開源)
開源地址: https://github.com/chaosblade-io/chaosblade/wiki/新手指南
開發者交流群號:23177705(釘群)
四、Java 程式碼規約掃描外掛
該外掛用於檢測 Java 程式碼中存在的不規範的位置,並給予提示。規約外掛是採用 Kotlin 語言開發。
使用教程:
- IDEA外掛使用文件: https://github.com/alibaba/p3c/wiki/IDEA外掛使用文件
- Eclipse外掛使用文件: https://github.com/alibaba/p3c/wiki/Eclipse外掛使用文件
獲取方式:(開源)
開源地址: https://github.com/alibaba/p3c
五、應用實時監控工具 ARMS
ARMS 是一款 APM 類的監控工具,提供前端、應用、自定義監控 3 類監控選項,可快速構建實時的應用效能和業務監控能力。
工具的使用場景:
- 晚上 10 點收到 37 報警資訊,你卻無從下手?
- 當我們發現問題的時候,客戶/業務方已經發起投訴?
- 每個月花幾十萬買伺服器,卻無法保障使用者體驗?
使用教程:
- 前端監控接入: https://help.aliyun.com/documentdetail/106086.html
- 應用監控接入: https://help.aliyun.com/documentdetail/63796.html
- 自定義監控: https://help.aliyun.com/document_detail/47474.html
獲取方式:(收費)
工具地址: https://www.aliyun.com/product/arms
開發者交流群號:21914303(釘群)
六、靜態開源站點搭建工具 Docsite
Docsite 一款集官網、文件、部落格和社群為一體的靜態開源站點的解決方案,具有簡單易上手、上手不撒手的特質,同時支援 react 和靜態渲染、PC端和移動端、支援中英文國際化、SEO、markdown 文件、全域性站點搜尋、站點風格自定義、頁面自定義等功能。
使用教程: https://docsite.js.org/zh-cn/docs/installation.html
獲取方式:(開源)
專案地址: https://github.com/txd-team/docsite
七、Android 平臺上的秒級編譯方案 Freeline
Freeline 可以充分利用快取檔案,在幾秒鐘內迅速地對程式碼的改動進行編譯並部署到裝置上,有效地減少了日常開發中的大量重新編譯與安裝的耗時。Freeline 最快捷的使用方法就是直接安裝 Android Studio 外掛。
使用教程: https://github.com/alibaba/freeline/blob/master/README-zh.md
獲取方式:(開源)
專案地址: https://github.com/alibaba/freeline
八、效能測試工具 PTS
PTS 可以模擬大量使用者訪問業務的場景,任務隨時發起,免去搭建和維護成本,支援 JMeter 指令碼轉化為 PTS 壓測,同樣支援原生 JMeter 引擎進行壓測。
使用教程: https://help.aliyun.com/document_detail/70290.html
獲取方式:(收費)
工具地址: https://www.aliyun.com/product/pts
九、雲效開發者工具 KT
KT 可以簡化在 Kubernetes 下進行聯調測試的複雜度,提高基於 Kubernetes 的研發效率。
使用教程: https://yq.aliyun.com/articles/690519
獲取方式:(免費)
工具地址: https://yq.aliyun.com/download/3393
十、架構視覺化工具 AHAS
AHAS 為 K8s 等容器環境提供了架構視覺化的功能,同時,具有故障注入式高可用能力評測和一鍵流控降級等功能,可以快速低成本的提升應用可用性。
工具的使用場景:
- 服務化改造過程中,想精確的瞭解資源例項的構成和互動情況,實現架構的視覺化?
- 想引入真實的故障場景和演練模型?
- 低門檻獲得流控、降級功能?
使用教程: https://help.aliyun.com/document_detail/90323.html
獲取方式:(免費)
工具地址: https://www.aliyun.com/product/ahas
十一、資料處理工具 EasyExcel
EasyExcel 是一個用來對 Java 進行解析、生成Excel 的框架,它重寫了 poi 對07版 Excel 的解析,原本一個3M的 Excel 用POI sax需要100M左右記憶體,EasyExcel可降低到 KB 級別,並且再大的excel也不會出現記憶體溢位的情況。03版依賴 POI 的 sax 模式。在上層做了模型轉換的封裝,讓使用者更加簡單方便。
使用教程: https://github.com/alibaba/easyexcel/blob/master/quickstart.md
獲取方式:(開源)
工具地址: https://github.com/alibaba/easyexcel
十二、iOS 類工具 HandyJSON
HandyJSON 是一個用於 Swift 語言中的JSON序列化/反序列化庫。
與其他流行的 Swift JSON 庫相比,HandyJSON 的特點是,它支援純 Swift 類,使用也簡單。它反序列化時(把 JSON 轉換為 Model)不要求 Model從 NSObject 繼承(因為它不是基於 KVC 機制),也不要求你為 Model 定義一個 Mapping 函式。只要你定義好 Model 類,宣告它服從 HandyJSON 協議,HandyJSON 就能自行以各個屬性的屬性名為 Key,從 JSON 串中解析值。
使用教程: https://github.com/alibaba/HandyJSON/blob/master/README_cn.md
獲取方式:(開源)
工具地址: https://github.com/alibaba/HandyJSON
十三、雲上資源和應用部署工具 EDAS Serverless
EDAS Serverless 一款基於 Kubernetes,面向應用和微服務的 Serverless 平臺。使用者無需管理和維護叢集與伺服器,即可通過映象、WAR 包和 JAR 包,快速建立原生支援 Kubernetes 的容器應用,同時支援 Spring Cloud 和 Dubbo 等主流微服務框架。
使用教程: https://help.aliyun.com/document_detail/102048.html
獲取方式:(公測期間免費)
工具地址: https://help.aliyun.com/document_detail/97792.html
十四、資料庫連線池 Druid
Druid 是 Java 語言下的資料庫連線池,它能夠提供強大的監控和擴充套件功能。
使用教程: https://github.com/alibaba/druid/wiki/常見問題
獲取方式:(開源)
工具地址: http://central.maven.org/maven2/com/alibaba/druid/
十五、Java 工具集 Dragonwell
Alibaba Dragonwell 是阿里巴巴內部 OpenJDK 定製版 AJDK 的開源版本, AJDK 為線上電商,金融,物流做了結合業務場景的優化,執行在超大規模的,100,000+ 伺服器的阿里巴巴資料中心。 Alibaba Dragonwell 與 Java SE 標準相容,目前僅支援 Linux/x86_64 平臺。
使用教程:https://github.com/alibaba/dragonwell8/wiki/阿里巴巴Dragonwell8使用者指南
獲取方式:(開源)
工具地址: https://github.com/alibaba/dragonwell8
訂閱“Linux 中國”官方小程式來檢視
相關文章
- 收藏 | 阿里程式設計師常用的 15 款開發者工具(2020 版)阿里程式設計師
- 5款程式設計師常用的Python開發工具程式設計師Python
- 15款Java程式設計師必備的開發工具Java程式設計師
- 設計師開發者看過來 35款新工具
- 程式設計師不可不知的7款程式設計工具程式設計師
- 15款為設計師而生的思維導圖工具
- Web程式設計師最常用的11款PHP框架Web程式設計師PHP框架
- 分享阿里巴巴 8 款開發者工具阿里
- 安卓設計師不容錯過的15款實用UI介面設計工具安卓UI
- 好程式設計師Java培訓分享Java程式設計師常用的工具類庫程式設計師Java
- Java程式設計師常用工具集Java程式設計師
- 10款Web程式設計師必備的CSS工具Web程式設計師CSS
- Java程式設計師常用的10大構建工具Java程式設計師
- Python程式設計師必知必會的開發者工具Python程式設計師
- Java程式設計師不要錯過的7款新工具Java程式設計師
- Python常用的六款程式設計開發工具彙總!Python程式設計
- 程式設計師的工具程式設計師
- 使用者體驗設計師常用的21款工具和應用
- 推薦一款線上工具-程式設計師的工具箱程式設計師
- 程式設計師必讀:七款出色的GitHub功能整合工具程式設計師Github
- Java程式設計師必備的6款最佳開發工具Java程式設計師
- 工具不怕多!使用者體驗設計師常用的20款應用
- java程式設計師入門先學什麼開發者工具Java程式設計師
- Python程式設計師常用的IDE和開發工具Python程式設計師IDE
- 設計師常用的工具和應用分享
- 作為程式設計師的你,常用的工具軟體有哪些?程式設計師
- 六款好用的Mac最流行的開發工具,程式設計師必看~Mac程式設計師
- Python程式設計師常用的IDE和其它開發工具Python程式設計師IDE
- 程式設計師常用的編輯器程式設計師
- 程式設計師晚上最常用的程式語言程式設計師
- 30個糟糕的程式設計師抵不過一款好工具程式設計師
- 十八款為設計師提供的免費工具
- Web設計師必備的10款最佳排版工具Web
- 程式設計師和設計師必備的20個CSS工具程式設計師CSS
- 15款C/C++程式設計師必備的編譯器和IDEC++程式設計師編譯IDE
- 5款Java程式設計師必須瞭解的錯誤跟蹤工具Java程式設計師
- 為開發者準備的15 款Tooltip工具提示jQuery外掛jQuery
- 做你大腦中的記號筆!15款為設計師而生的思維導圖工具