从人工到自动化,从重复到创新,技术演进的历程中,伴随着开发者工具类产品的发展。本文来自作者:Linux技术,原文地址https://www.jianshu.com/p/58ec32eef2d4
阿里巴巴将自身在各类业务场景下的技术积淀,通过开源、云上实现或工具等形式对外开放,本文将精选了一些阿里巴巴的开发者工具,希望能帮助开发者们提高开发效率、更优雅的写代码。
由于开发者涉及的技术领域众多,笔者仅从自己熟悉的领域,以后端开发者的视角盘点平时可能用得到的工具。每个工具按照以下几点进行介绍:
-
工具名称和简介
-
使用场景
-
使用教程
-
获取方式
一、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
二、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
三、混沌实验注入工具 ChaosBlade
ChaosBlade 是一款遵循混沌工程实验原理,提供丰富故障场景实现,帮助分布式系统提升容错性和可恢复性的混沌工程工具,可实现底层故障的注入,提供了延迟、异常、返回特定值、修改参数值、重复调用和try-catch 块异常等异常场景。
工具的使用场景:
-
微服务的容错能力不易衡量?
-
容器编排配置是否合理无法验证?
-
PaaS 层健壮性的测试工作无从入手?
使用教程
https://github.com/chaosblade-io/chaosblade/wiki/新手指南
获取方式:(免费)
开源地址:https://github.com/chaosblade-io/chaosblade/wiki/新手指南
四、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
六、静态开源站点搭建工具 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
image
十三、云上资源和应用部署工具 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/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98
获取方式:(开源)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/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4Dragonwell8%E7%94%A8%E6%88%B7%E6%8C%87%E5%8D%97
获取方式:
(开源)https://github.com/alibaba/dragonwell8
相关推荐
计算机技术、IT咨询、人工智能AI理论介绍,学习参考资料计算机技术、IT咨询、人工智能AI理论介绍,学习参考资料计算机技术、IT咨询、人工智能AI理论介绍,学习参考资料计算机技术、IT咨询、人工智能AI理论介绍,学习...
这一部分可能是指阿里云提供的开发者工具和资源,供开发者和程序员在准备面试时使用,通过大量的练习来提升解题能力。 整体来看,本书中提及的算法和数据结构是程序员面试中的核心考察点。应聘者需要具备扎实的编程...
### Java程序员开发效率工具IntelliJ IDEA详解 #### IntelliJ IDEA简介 IntelliJ IDEA是由JetBrains公司开发的一款功能强大的Java集成开发环境(IDE),适用于Java应用程序的开发。它以其先进的代码辅助、高效的...
- **Docker与Kubernetes**:这两个工具在容器化和编排领域非常流行,掌握它们能够帮助开发者更轻松地部署和管理微服务应用。 - **API网关**:熟悉API网关的作用和实现方式,如使用Spring Cloud Gateway等框架。 - **...
这个集合可能是为了方便开发者、程序员或者互联网爱好者寻找和学习各种技术和工具而整理的。通过提供的免费下载地址(http://www.elibaba.net/elibaba.rar),用户可以获取到这个综合性的资源库。 在【标签】中提到...
阿里云音频转字幕工具是基于阿里云智能语音服务的录音文件识别API,它能够高效地将音频文件转换为srt字幕格式,这在处理视频内容、制作字幕、或者进行音频内容分析时非常有用。本文将详细介绍这个工具的工作原理、...
《阿里巴巴开发手册(嵩山版)》是一本针对Java开发者的重要参考资料,由阿里巴巴集团发布,旨在规范和提升团队的编程习惯、代码质量和开发效率。这本书是阿里在Java开发领域深厚经验的结晶,对于任何想在Java开发中...
《阿里巴巴Java开发手册1.4.0》是阿里巴巴集团针对Java开发者发布的一份详尽的编程规范和最佳实践指南。这份手册旨在提升代码质量、提高团队协作效率,并推动整个Java社区的技术进步。以下是对其中主要知识点的详细...
《阿里巴巴Java开发手册》是阿里巴巴集团为Java开发者提供的一份权威技术规范,旨在提升团队协作效率,保证代码质量,推动良好的编程习惯。这份手册涵盖了Java语言的各个方面,包括基本规范、异常处理、并发编程、...
《阿里巴巴Java开发手册》是Java开发者的一份重要参考资料,它为程序员提供了详细的编程规范和最佳实践,旨在提升代码质量,保证软件的可维护性、可读性和可扩展性。手册内容涵盖广泛,从基础语法到高级特性,从设计...
《阿里巴巴开发手册》是业界广泛认可的一份编程规范文档,主要针对Java开发者,旨在提高代码质量和团队协作效率。这份手册涵盖了编码、设计、测试、性能优化等多个方面,为程序员提供了全面的指导原则和最佳实践。...
《阿里Java开发手册(嵩山版)》是阿里巴巴集团针对Java开发者发布的一份权威开发指南,旨在提升开发团队的代码质量和协同效率。手册详细涵盖了Java编程的各个方面,包括但不限于编程规约、异常处理、并发控制、性能...
Java开发工具包是Java程序员日常工作中不可或缺的一部分,它包含了各种实用工具类,便于开发者进行高效、便捷的编程。在这个“工具包 Java开发”中,我们可以看到一个名为“util”的文件,这通常指的是Java的“util...
在软件开发中,工具类是程序员们常用的一种代码组织形式,它们通常包含了各种实用功能,可以极大地提高我们的工作效率。这篇博客将探讨如何有效地利用和设计工具类,以及介绍一些常用的第三方库,如Fastjson、...
《阿里巴巴Java开发手册1.4.0》是Java开发者的一份重要参考资料,它凝聚了阿里巴巴集团在Java开发领域的最佳实践和规范,旨在提高代码质量、提升开发效率、降低维护成本。这份手册对于初入职场的程序员以及有经验的...
《阿里最新Java开发手册》是阿里巴巴集团为Java开发者提供的一份详尽的编程规范与指导文档,旨在提高代码质量和团队协作效率。这份手册涵盖了Java语言的各个方面,包括基础语法、编程习惯、异常处理、并发编程、性能...
《阿里巴巴Java开发手册泰山版》是阿里巴巴集团针对Java开发者推出的一份权威技术指南,旨在提升团队的代码质量和开发效率,确保软件的稳定性和可维护性。这份手册在Java开发领域具有广泛的影响力,深受广大程序员的...
《阿里巴巴Java开发手册》不仅仅是一份规范,更是一份实践指南,它可以帮助开发者养成良好的编程习惯,提高代码质量,从而降低项目风险,提升团队整体技术水平。通过深入学习并遵循这份手册,Java开发者可以更好地...
综上所述,准备阿里巴巴的Java面试需要扎实的编程基础,深入理解Java核心技术,熟悉常用的框架和工具,以及具备一定的算法和数据结构知识。通过认真研究提供的笔试试题,求职者可以有针对性地提升自己的技能,提高...
《阿里巴巴Java开发手册(终极版)》是一本旨在提升Java开发者技术水平的专业指南,尤其对于初入职场或希望进一步提升的程序员来说,具有极高的参考价值。这本书由阿里巴巴集团的资深技术专家编写,集成了他们在实际...