點(diǎn)擊鏈接阿里巴巴常用的12個(gè)后端開發(fā)工具輕松編程社 2021-09-25
從手動(dòng)編碼到自動(dòng)化,從重復(fù)工作到創(chuàng)新,開發(fā)人員工具隨著技術(shù)的發(fā)展而不斷發(fā)展。阿里巴巴集團(tuán)和阿里巴巴云已通過開源發(fā)布和基于云的實(shí)施向公眾提供其技術(shù)。通過在各種業(yè)務(wù)場(chǎng)景中的多年開發(fā)積累了這些技術(shù)。本文介紹了一些阿里巴巴開發(fā)人員工具,希望它們可以幫助您的開發(fā)過程更加高效和優(yōu)雅。 鑒于開發(fā)人員可能參與的技術(shù)分支的多樣性,本文介紹了一些可能對(duì)后端開發(fā)人員有用的工具。 1.阿爾薩斯Java在線診斷工具 Arthas是一款用于Java應(yīng)用程序的在線診斷工具,由阿里巴巴于2018年9月開源。 典型場(chǎng)景: 您不知道從中加載類的特定JAR包。您想弄清楚為什么您的系統(tǒng)會(huì)拋出各種與類相關(guān)的異常。 您不知道為什么修改后的代碼無法執(zhí)行。您不記得是否已提交更改。您不確定您是否使用正確的分支。 出現(xiàn)問題,您無法在線調(diào)試。您想知道是否必須將日志添加到您的應(yīng)用并再次發(fā)布。 您遇到了用戶數(shù)據(jù)處理問題,但無法在線調(diào)試或脫機(jī)重現(xiàn)問題。 您希望擁有一個(gè)全局視圖來監(jiān)視系統(tǒng)的運(yùn)行狀態(tài)。 您需要一個(gè)解決方案來監(jiān)視JVM的實(shí)時(shí)運(yùn)行狀態(tài)。 Arthas支持Java Development Kit(JDK)6及更高版本,它支持Linux,Mac和Windows。Arthas使用命令行交互模式,并允許您使用Tab在命令行中自動(dòng)完成命令,從而使問題定位和診斷更加容易。 基礎(chǔ)教程:https://alibaba.github.io/arthas/arthas-tutorials?language = en&id =arthas-basics 高級(jí)教程:https://alibaba.github.io/arthas/arthas-tutorials?language = en&id =arthas-advanced GitHub頁(yè)面:https://github.com/alibaba/arthas 2.Cloud Toolkit IDE插件 Cloud Toolkit是一個(gè)集成開發(fā)環(huán)境(IDE)插件,可用于幫助開發(fā)人員更有效地開發(fā),測(cè)試,診斷和部署應(yīng)用程序。Cloud Toolkit允許開發(fā)人員方便地將本地應(yīng)用程序部署到任何計(jì)算機(jī)(本地或基于云)。Cloud Toolkit內(nèi)置了Arthas診斷工具,支持高效執(zhí)行終端命令和SQL語句。CloudToolkit可用于不同的IDE,例如IntelliJ IDEA,Eclipse,PyCharm和Maven。 典型場(chǎng)景: 每次修改代碼時(shí),您都厭倦了反復(fù)打包代碼。 您不希望經(jīng)常在Maven和Git等代碼管理工具之間來回切換。 您使用安全副本(SCP)工具上載文件,并使用XShell或SecureCRT登錄到您的服務(wù)器,替換部署包或重新啟動(dòng)服務(wù)器。 您不希望定期在各種FTP和SCP工具之間來回切換,以將文件上載到服務(wù)器的指定目錄。 下載鏈接:https://plugins.jetbrains.com/plugin/11386-alibaba-cloud-toolkit 3.ChaosBlade混沌工程故障注入工具 ChaosBlade是一個(gè)混沌工程工具,遵循混沌工程實(shí)驗(yàn)的原則,并提供廣泛的故障場(chǎng)景,以幫助您提高分布式系統(tǒng)的容錯(cuò)性和可恢復(fù)性。它可以注入潛在的故障,并提供各種故障情景。這些方案包括延遲,異常,返回特定值,修改參數(shù)值,重復(fù)調(diào)用和try-catch塊異常。 典型場(chǎng)景: 您發(fā)現(xiàn)很難測(cè)量微服務(wù)的容錯(cuò)能力。 您不知道如何驗(yàn)證容器編排配置的合理性。 您不知道如何實(shí)現(xiàn)PaaS層的健壯性測(cè)試。 GitHub頁(yè)面:https://github.com/chaosblade-io/chaosblade 4.阿里巴巴Java編碼指南 此插件檢測(cè)Java代碼中的編碼問題,并為您提供提示。這個(gè)插件是基于Kotlin語言開發(fā)的。 IDEA插件使用說明: https://github.com/alibaba/p3c/tree/master/idea-plugin Eclipse插件使用說明:https://github.com/alibaba/p3c/tree/master/eclipse-plugin GitHub頁(yè)面:https://github.com/alibaba/p3c 5.應(yīng)用實(shí)時(shí)監(jiān)控服務(wù)(ARMS) ARMS是一種應(yīng)用程序性能管理(APM)工具。它提供三種監(jiān)控選項(xiàng):前端監(jiān)控,應(yīng)用程序監(jiān)控和自定義監(jiān)控,幫助您構(gòu)建自己的實(shí)時(shí)應(yīng)用程序性能和業(yè)務(wù)監(jiān)控功能。 典型場(chǎng)景: 您在22:00收到37條警報(bào)消息,但您不知道從哪里開始。 客戶或業(yè)務(wù)團(tuán)隊(duì)比您更早發(fā)現(xiàn)問題。 您每月在服務(wù)器上投入數(shù)萬美元,但您仍然無法保證良好的用戶體驗(yàn)。 應(yīng)用程序監(jiān)控集成:https://www.alibabacloud.com/help/doc-detail/63796.htm 自定義監(jiān)控:https://www.alibabacloud.com/help/doc-detail/47474.htm 產(chǎn)品頁(yè)面:https://www.alibabacloud.com/product/arms 6.Docsite開源靜態(tài)網(wǎng)站生成器 Docsite是一個(gè)開源靜態(tài)網(wǎng)站生成器,可幫助您構(gòu)建自己的官方網(wǎng)站,文檔中心,博客站點(diǎn)和社區(qū)。它易于使用和上癮。它支持反應(yīng)和靜態(tài)渲染,PC和移動(dòng)客戶端,國(guó)際化,SEO,降價(jià)文檔以及許多有用的功能,如全局站點(diǎn)搜索,站點(diǎn)樣式自定義和頁(yè)面自定義。 教程:https://docsite.js.org/en-us/docs/installation.html GitHub頁(yè)面:https://github.com/txd-team/docsite 7.Freeline - Android的二級(jí)編譯解決方案 Freeline緩存可重用的類文件和資源索引,并編譯代碼更新并在幾秒鐘內(nèi)將它們部署到您的設(shè)備。這有效地減少了在日常開發(fā)期間重新編譯和安裝的大量時(shí)間。使用Freeline最方便的方法是直接安裝AndroidStudio插件。 教程:https://github.com/alibaba/freeline/blob/master/README.md GitHub頁(yè)面:https://github.com/alibaba/freeline 8.阿里云應(yīng)用高可用性服務(wù)(AHAS) AHAS提供了許多強(qiáng)大的功能,例如容器環(huán)境的體系結(jié)構(gòu)可視化,例如Kubernetes(K8s),基于故障注入的高可用性評(píng)估,以及一鍵式限制和降級(jí)。AHAS可幫助您以低成本快速提高應(yīng)用程序可用性。 典型場(chǎng)景: 重構(gòu)服務(wù)時(shí),您希望可視化體系結(jié)構(gòu)以精確理解資源實(shí)例組合和交互。 您需要真正的故障情景和鉆取模型。 您希望以低成本使用限制和降級(jí)功能。 教程:https://www.alibabacloud.com/help/doc-detail/90323.htm 產(chǎn)品頁(yè)面: https://www.alibabacloud.com/product/ahas 9.EasyExcel數(shù)據(jù)處理工具 EasyExcel是一個(gè)解析Java代碼并生成excel文件的框架。它重寫了用于Microsoft Excel 2007的Apache POI SAX解析器。要處理3 MB Excel文件,Apache POI SAX解析器需要大約100 MB內(nèi)存,而EasyExcel需要大約幾KB。此外,EasyExcel消除了內(nèi)存(OOM)問題,無論excel文件有多大。對(duì)于Microsoft Excel 2003,EasyExcel仍使用Apache POI SAX解析器。但它將模型轉(zhuǎn)換器封裝在上層,使其更易于使用。 教程:https://github.com/alibaba/easyexcel/blob/master/quickstart.md GitHub頁(yè)面:https://github.com/alibaba/easyexcel 10.HandyJSON for iOS HandyJSON是一個(gè)用Swift語言編寫的json-object序列化/反序列化庫(kù)。 與其他流行的Swift JSON庫(kù)相比,HandyJSON支持純Swift類,易于使用。在反序列化中使用HandyJSON(將JSON轉(zhuǎn)換為模型)時(shí),模型不必從NSObject繼承,因?yàn)镠andyJSON不是基于KVC的。您也不必為模型定義映射函數(shù)。在定義模型類并聲明它遵循HandyJSON協(xié)議之后,HandyJSON通過將屬性名稱作為鍵來自動(dòng)解析JSON字符串中的值。 教程:https://github.com/alibaba/HandyJSON/blob/master/README.md GitHub頁(yè)面:https://github.com/alibaba/HandyJSON 11.Druid數(shù)據(jù)庫(kù)連接池 Druid是Java語言中最好的數(shù)據(jù)庫(kù)連接池,它提供了強(qiáng)大的監(jiān)視和擴(kuò)展功能。 教程:https://github.com/alibaba/druid/wiki/FAQ GitHub頁(yè)面:https://github.com/alibaba/druid 12.阿里巴巴DragonwellJava開發(fā)套件 阿里巴巴Dragonwell是阿里巴巴/AlipayJDK(AJDK)的開源版本,是阿里巴巴內(nèi)部使用的定制OpenJDK。AJDK為在線電子商務(wù),金融和物流應(yīng)用程序進(jìn)行了基于業(yè)務(wù)場(chǎng)景的優(yōu)化。它一直在超大型阿里巴巴數(shù)據(jù)中心運(yùn)行,每個(gè)數(shù)據(jù)中心運(yùn)行超過100,000臺(tái)服務(wù)器。阿里巴巴Dragonwell兼容Java SE標(biāo)準(zhǔn)。目前,它僅支持Linux x86_64平臺(tái)。 閱讀 78 分享收藏 |
|