Make sure not to come and have a look! ! ! 15 development tools commonly used by tens of thousands of Alibaba employees

From manual to automation, from repetition to innovation, the course of technological evolution is accompanied by the development of developer tool products.
Alibaba will open its own technology accumulation in various business scenarios through open source, cloud implementation or tools. This article will select some of Alibaba’s developer tools, hoping to help developers improve development efficiency, Write code more elegantly.
Since developers are involved in many technical fields, the author only counts the tools that may be available from the perspective of back-end developers from the fields that are familiar to me. Each tool is introduced according to the following points:
Tool name and introduction

scenes to be used

Use tutorial

method of obtaining

1. Java online diagnostic tool Arthas

Arthas is a Java online diagnostic tool open sourced by Alibaba in September 2018.
The usage scenario of the tool:
Which jar package is this class loaded from? Why are various types of related Exception reported?

Why is the code I changed not executed? Could it be that I didn't commit? Wrong branch?

I can’t debug online if I encounter a problem, can I only republish it by adding a log?

I encountered a user's data processing problem online, but the online debugging is also impossible, and the offline cannot be reproduced!

Is there a global perspective to view the health of the system?

Is there any way to monitor the real-time running status of the JVM?

Arthas supports JDK 6+, supports Linux/Mac/Windows, adopts a command line interactive mode, and provides a wealth of Tab auto-completion functions to further facilitate problem location and diagnosis.
Tutorial:
Basic tutorial: https://alibaba.github.io/arthas/arthas-tutorials?language=cn&id=arthas-basics
advanced tutorial: https://alibaba.github.io/arthas/arthas-tutorials?language =cn&id=arthas-advanced How to
obtain: (open source)
open source address: https://github.com/alibaba/arthas
Insert picture description here

Two, IDE plug-in Cloud Toolkit

Cloud Toolkit is an IDE plug-in that can help developers develop, test, diagnose, and deploy applications more efficiently. Through Cloud Toolkit, developers can easily deploy local applications to any machine (local or cloud) with one-click, with built-in Arthas diagnosis, efficient execution of terminal commands and SQL, etc., providing IntelliJ IDEA version, Eclipse version, PyCharm version and Maven version .
The usage scenario of the tool:
Are you experiencing repeated packaging after each code modification?

Switch frequently between Maven, Git, and other operation and maintenance scripts and tools?

Upload using SCP tool? Use XShell or SecureCRT to log in to the server? Replace the deployment package? Reboot?

Upload files to the designated directory of the server, and frequently switch between various FTP and SCP tools?

Tutorial:
IntelliJ IDEA version: https://help.aliyun.com/document_detail/98762.html
Eclipse version: https://help.aliyun.com/document_detail/29970.html
PyCharm version: https://help.aliyun .com / document_detail / 112740.html
Maven version: https: //help.aliyun.com/document_detail/108682.html
acquisition mode :( free)
tools address: https: //www.aliyun.com/product/cloudtoolkit
III. Chaos Experiment Injection Tool ChaosBlade

ChaosBlade is a chaos engineering tool that follows the experimental principles of chaos engineering, provides a wealth of failure scenarios, and helps distributed systems improve fault tolerance and recoverability. It can realize the injection of underlying faults, and provide delays, exceptions, return specific values, and modify Exception scenarios such as parameter values, repeated calls, and try-catch block exceptions.
The usage scenario of the tool: Is it
difficult to measure the fault tolerance of microservices?

Is the container orchestration configuration reasonable and impossible to verify?

Can't start the PaaS layer robustness test work?

Tutorial: https://github.com/chaosblade-io/chaosblade/wiki/Novice Guide How to
Obtain: (Open Source)
Open Source Address: https://github.com/chaosblade-io/chaosblade/wiki/Novice Guide
IV. Java code specification scanning plug-in

The plug-in is used to detect irregularities in the Java code and give hints. The protocol plug-in is developed in Kotlin language.
Usage tutorial:
IDEA plugin usage documentation: https://github.com/alibaba/p3c/wiki/IDEA plugin usage documentation
Eclipse plugin usage documentation: https://github.com/alibaba/p3c/wiki/Eclipse plugin usage documentation to
obtain Method: (open source)
Open source address: https://github.com/alibaba/p3c
5. Application real-time monitoring tool ARMS

ARMS is an APM monitoring tool that provides three types of monitoring options: front-end, application, and custom monitoring, which can quickly build real-time application performance and business monitoring capabilities.
The usage scenario of the tool:
You received the 37 alarm message at 10 o'clock in the evening, but you have no way to start?

When we found the problem, the customer/business side had already filed a complaint?

Spend hundreds of thousands to buy servers every month, but can't guarantee the user experience?

Usage tutorial:
Front-end monitoring access: https://help.aliyun.com/documentdetail/106086.html
Application monitoring access: https://help.aliyun.com/documentdetail/63796.html
Custom monitoring: https:/ /help.aliyun.com/document_detail/47474.html How to
obtain: (charged)
Tool address: https://www.aliyun.com/product/arms
[ Insert picture description here](https://jq.qq.com/?_wv= 1027&k=wHTMSeo0)

6. Docsite, a static open source site building tool

Docsite is a static open source site solution that integrates official websites, documents, blogs, and communities. It has the characteristics of being simple and easy to use, and not letting go. It also supports react and static rendering, PC and mobile terminals, and supports Chinese and English internationalization. , SEO, markdown documents, global site search, site style customization, page customization and other functions.
Usage tutorial: https://docsite.js.org/zh-cn/docs/installation.html How to
obtain: (open source)
project address: https://github.com/txd-team/docsite
Seven, on the Android platform Second-level compilation solution Freeline

Freeline can make full use of cache files to quickly compile and deploy code changes to the device within a few seconds, effectively reducing the time-consuming recompilation and installation in daily development. The quickest way to use Freeline is to install the Android Studio plug-in directly.
Usage tutorial: https://github.com/alibaba/freeline/blob/master/README-zh.md How to
obtain: (open source)
project address: https://github.com/alibaba/freeline
8. Performance testing tool PTS

PTS can simulate the scenario of a large number of users accessing the business. Tasks can be initiated at any time, eliminating the cost of construction and maintenance. It supports the conversion of JMeter scripts into PTS pressure testing, and it also supports the native JMeter engine for pressure testing.
Tutorial: https://help.aliyun.com/document_detail/70290.html
Obtaining method: (charged)
Tool address: https://www.aliyun.com/product/pts
9. Cloud effect developer tool KT

KT can simplify the complexity of joint debugging and testing under Kubernetes and improve the efficiency of Kubernetes-based R&D.
Tutorial: https://yq.aliyun.com/articles/690519 How to
obtain: (free)
Tool address: https://yq.aliyun.com/download/3393
10. Architecture visualization tool AHAS

AHAS provides architectural visualization functions for container environments such as K8s. At the same time, it has functions such as fault injection high-availability evaluation and one-key flow control degradation, which can improve application availability quickly and at low cost.
Tool usage scenario: In the
process of service transformation, do you want to accurately understand the composition and interaction of resource instances to realize the visualization of the architecture?

Want to introduce real failure scenarios and drill models?

Low threshold to obtain flow control and downgrade functions?

Tutorial: https://help.aliyun.com/document_detail/90323.html How to
obtain: (free)
Tool address: https://www.aliyun.com/product/ahas
11. Data processing tool EasyExcel

EasyExcel is a framework for parsing Java and generating Excel. It rewrites poi's parsing of Excel version 07. Originally, a 3M Excel with POI sax requires about 100M of memory. EasyExcel can be reduced to the KB level and bigger There will be no memory overflow in excel. The 03 version relies on the sax mode of POI. The encapsulation of model conversion is done on the upper layer to make it easier and more convenient for users.
Usage tutorial: https://github.com/alibaba/easyexcel/blob/master/quickstart.md How to
obtain: (open source)
tool address: https://github.com/alibaba/easyexcel
12. iOS tool HandyJSON

HandyJSON is a JSON serialization/deserialization library for Swift language.
Compared with other popular Swift JSON libraries, HandyJSON is characterized by that it supports pure Swift classes and is easy to use. It does not require Model to inherit from NSObject when deserializing (converting JSON to Model) (because it is not based on KVC mechanism), nor does it require you to define a Mapping function for Model. As long as you define the Model class and declare that it obeys the HandyJSON protocol, HandyJSON can use the property name of each property as Key and parse the value from the JSON string.
Usage tutorial: https://github.com/alibaba/HandyJSON/blob/master/README_cn.md How to
obtain: (open source)
tool address: https://github.com/alibaba/HandyJSON
13. Cloud resources and applications Deployment tool EDAS Serverless

EDAS Serverless is a serverless platform based on Kubernetes for applications and microservices. Users do not need to manage and maintain clusters and servers. They can quickly create container applications that natively support Kubernetes through images, WAR packages, and JAR packages, and support mainstream microservice frameworks such as Spring Cloud and Dubbo.
Tutorial: https://help.aliyun.com/document_detail/102048.html How to
obtain: (free during the public beta)
Tool address: https://help.aliyun.com/document_detail/97792.html
14. Database connection pool Druid

Druid is a database connection pool under the Java language, which can provide powerful monitoring and extended functions.
Tutorial: https://github.com/alibaba/druid/wiki/FAQ How to
obtain: (open source)
tool address: http://central.maven.org/maven2/com/alibaba/druid/
15. Java Tool set Dragonwell

Alibaba Dragonwell is the open source version of Alibaba's internal OpenJDK customized version of AJDK. AJDK is optimized for online e-commerce, finance, and logistics combined with business scenarios. It runs in the ultra-large-scale Alibaba data center with 100,000+ servers. Alibaba Dragonwell is compatible with Java SE standards and currently only supports Linux/x86_64 platforms.
Tutorial: https://github.com/alibaba/dragonwell8/wiki/Alibaba Dragonwell8 User Guide How to
obtain: (open source)
tool address: https://github.com/alibaba/dragonwell8

Thank you for your reading and attention. The editor here prepared a few small surprises for you plus QQ Junyang (748945508) to receive more learning materials for free. . . .

Guess you like

Origin blog.csdn.net/dcj19980805/article/details/114744658