从手动到自动化,从重复到创新,技术演进的过程伴随着开发者工具产品的发展。阿里巴巴将通过开源、云实现或工具等方式对外开放其在各个业务场景的技术积累。本文将选取一些阿里巴巴开发者工具,希望能帮助开发者提高开发效率,把代码写得更优雅。由于开发者涉及多个技术领域,笔者仅从自己熟悉的领域,以后端开发者的角度,对日常生活中可能用到的工具进行盘点。每个工具按照以下几点进行介绍:工具名称及简介、使用场景、教程获取方式。一、Java在线诊断工具ArthasArthas是阿里巴巴于2018年9月开源的一款Java在线诊断工具,该工具的使用场景:这个类是从哪个jar包加载的?为什么会报各种类型的相关Exception?为什么我改的代码没有执行?难道是我没犯?分支错了?如果遇到问题不能在线调试,难道只能加日志重新发布吗?我在线上遇到某用户数据处理的问题,但是同样在线无法调试,离线也无法重现!是否有系统健康状况的全局视图?有什么办法可以监控JVM的实时运行状态吗?Arthas支持JDK6+,支持Linux/Mac/Windows,采用命令行交互方式,提供丰富的Tab自动补全功能,进一步方便问题定位和诊断。教程:基础教程:https://alibaba.github.io/art...高级教程:https://alibaba.github.io/art...获取方式:(免费)开源地址:https://github.com/alibaba/ar...2.IDE插件CloudToolkitCloudToolkit是一个IDE插件,可以帮助开发者更高效地开发、测试、诊断和部署应用程序。通过CloudToolkit,开发者可以轻松地将本地应用一键部署到任意一台机器(本地或云端),并内置Arthas诊断,高效执行终端命令和SQL等。IntelliJIDEA版本、Eclipse版本、PyCharm版本和Maven提供版本。工具使用场景:你是否每次修改代码都在重复打包?经常在Maven、Git等操作脚本和工具之间切换?用SCP工具上传?使用XShell或SecureCRT登录服务器?更换部署包?重启?上传文件到服务器指定目录,频繁切换各种FTP、SCP工具?教程:IntelliJIDEA版:https://help.aliyun.com/document\_detail/98762.htmlEclipse版:https://help.aliyun.com/document\_detail/29970.htmlPyCharm版:https://help。aliyun.com/document\_detail/112740.htmlMaven版本:https://help.aliyun.com/document\_detail/108682.html获取方式:(免费):https://www.aliyun.com/产品。..3。ChaosBladeChaosBladeChaosBladeChaosBlade是一款混沌工程工具,遵循混沌工程实验原理,提供丰富的故障场景,帮助分布式系统提高容错性和可恢复性。可以注入底层故障,提供延迟、异常、返回特定值、修改参数值、重复调用、try-catch块异常等Exception场景。工具使用场景:微服务的容错性很难衡量吗?容器编排配置是否合理且不可验证?无法开始测试PaaS层的健壮性?教程:https://github.com/chaosblade...新手指南获取方式:(免费)开源地址:https://github.com/chaosblade...新手指南4.Java代码规范扫描插件-in这个插件是用来检测Java代码中不规则的位置并给出提示的。规范插件是用Kotlin语言开发的。教程:IDEA插件使用文档:https://github.com/alibaba/p3...插件使用文档Eclipse插件使用文档:https://github.com/alibaba/p3...插件-in使用文档获取方式:(免费)开源地址:https://github.com/alibaba/p3c5.应用实时监控工具ARMSARMS是一款APM监控工具,提供三种监控选项:前端、应用、自定义监控,可快速构建实时应用性能和业务监控能力。工具使用场景:晚上10:00收到37条告警信息,不知如何是好?当我们发现问题时,客户/业务方是否发起投诉?每月花几十万买服务器,却不能保证用户体验?教程:前端监控访问:https://help.aliyun.com/docum...应用监控访问:https://help.aliyun.com/docum...自定义监控:https://help.aliyun.com/document\_detail/47474.html获取方式:(付费)工具地址:https://www.aliyun.com/produc...6.静态开源建站工具DocsiteDocsite是一款集官网、文档、一个集成了博客和社区的静态开源站点解决方案。它易于使用且不会松开。同时支持react和静态渲染,PC端和移动端,支持中英文国际化,SEO,markdown文档,全球站点。搜索、网站风格定制、页面定制等功能。教程:https://docsite.js.org/zh-cn/...获取方式:(免费)项目地址:https://github.com/txd-team/d...7.关于Android平台Freeline的二级编译方案Freeline可以充分利用缓存文件,在几秒内快速编译并部署代码变更到设备,有效减少日常大量开发的耗时重新编译和安装。使用Freeline最快的方法是直接安装AndroidStudio插件。教程:https://github.com/alibaba/fr...获取方式:(免费)项目地址:https://github.com/alibaba/fr...8.性能测试工具PTSPTS可以模拟在大量用户接入业务的场景下,可以随时发起任务,省去建设和维护成本。支持将JMeter脚本转换为PTS压测,也支持原生JMeter引擎进行压测。教程:https://help.aliyun.com/document\_detail/70290.html获取方式:(收费)工具地址:https://www.aliyun.com/produc...9.云效果开发者工具KTKT可以简化Kubernetes下联调测试的复杂度,提高基于Kubernetes的研发效率。教程:https://yq.aliyun.com/article...获取方式:(免费)工具地址:https://yq.aliyun.com/downloa...10.架构可视化工具AHSAHAS是K8s和其他容器环境提供架构可视化的功能。同时具备故障注入高可用评估、一键流控降级等功能,可以低成本快速提升应用可用性。工具使用场景:在服务改造过程中,是否希望准确理解资源实例的组成和交互,实现架构的可视化?想介绍真实的故障场景和演练模型吗?获得流控和降级功能的门槛低?教程:https://help.aliyun.com/document\_detail/90323.html获取方法:(免费)工具地址:https://www.aliyun.com/produc...11.数据处理工具EasyExcelEasyExcel是一个用于解析Java和生成Excel的框架。重写了poi对excel07版的解析,本来一个3M的Excel用POIsax需要100M左右的内存。EasyExcel可以缩小到KB级别,再大的excel也不会有内存溢出。版本03依赖于POI的萨克斯模式。模型转换包做在上层,方便用户使用。教程:https://github.com/alibaba/ea...获取方法:(开源)https://github.com/alibaba/ea...12.iOS工具HandyJSONHandyJSON是一种Swift语言的JSON序列化/反序列化中的图书馆。与其他流行的SwiftJSON库相比,HandyJSON支持纯Swift类并且易于使用。它在反序列化(JSON转Model)的时候,不需要Model继承NSObject(因为它不是基于KVC机制),也不需要你为Model定义一个Mapping函数。只要你定义了Model类,并声明它遵守HandyJSON协议,HandyJSON就可以使用每个属性的属性名作为Key,从JSON字符串中解析出值。教程:https://github.com/alibaba/哈...\_cn.md获取方式:(开源)https://github.com/alibaba/哈...十三、云资源及应用部署工具EDASServerlessEDASServerless是一个基于Kubernetes的无服务器平台,用于应用程序和微服务。用户无需管理和维护集群和服务器,可以通过镜像、WAR包、JAR包快速创建原生支持Kubernetes的容器应用,支持SpringCloud、Dubbo等主流微服务框架。教程:https://help.aliyun.com/document\_detail/102048.html获取方式:(公测期间免费)https://help.aliyun.com/document\_detail/97792.html14.数据库连接池DruidDruid是Java语言中的一个数据库连接池,可以提供强大的监控和扩展功能。教程:https://github.com/alibaba/dr...获取方法:(开源)http://central.maven.org/mave...15.Java工具集DragonwellAlibabaDragonwell是阿里巴巴内部OpenJDK的开源AJDK的自定义版本的源代码版本。AJDK针对在线电商、金融、物流等业务场景进行了优化。它运行在拥有100,000+台服务器的超大规模阿里巴巴数据中心。AlibabaDragonwell兼容JavaSE标准,目前只支持Linux/x86\_64平台。使用教程https://github.com/alibaba/dr...获取方式:(开源)https://github.com/alibaba/dr...
