阿里巴巴常用的12个后端开发工具
1 阿尔萨斯Java在线诊断工具
Arthas是一款用于Java应用程序的在线诊断工具,由阿里巴巴于2018年9月开源。
典型场景:
-
您不知道从中加载类的特定JAR包。 您想弄清楚为什么您的系统会抛出各种与类相关的异常。
-
您不知道为什么修改后的代码无法执行。您不记得是否已提交更改。您不确定您是否使用正确的分支。
-
出现问题,您无法在线调试。您想知道是否必须将日志添加到您的应用并再次发布。
-
您遇到了用户数据处理问题,但无法在线调试或脱机重现问题。
-
您希望拥有一个全局视图来监视系统的运行状态。
-
您需要一个解决方案来监视JVM的实时运行状态。
Arthas支持Java Development Kit(JDK)6及更高版本,它支持Linux,Mac和Windows。 Arthas使用命令行交互模式,并允许您使用Tab在命令行中自动完成命令,从而使问题定位和诊断更加容易。
基础教程:
https://alibaba.github.io/arthas/arthas-tutorials?language = en&id =arthas-basics
高级教程:
https://alibaba.github.io/arthas/arthas-tutorials?language = en&id =arthas-advanced
GitHub页面:https://github.com/alibaba/arthas
2 Cloud Toolkit IDE插件
Cloud Toolkit是一个集成开发环境(IDE)插件,可用于帮助开发人员更有效地开发,测试,诊断和部署应用程序。 Cloud Toolkit允许开发人员方便地将本地应用程序部署到任何计算机(本地或基于云)。 Cloud Toolkit内置了Arthas诊断工具,支持高效执行终端命令和SQL语句。 CloudToolkit可用于不同的IDE,例如IntelliJ IDEA,Eclipse,PyCharm和Maven。
典型场景:
-
每次修改代码时,您都厌倦了反复打包代码。
-
您不希望经常在Maven和Git等代码管理工具之间来回切换。
-
您使用安全副本(SCP)工具上载文件,并使用XShell或SecureCRT登录到您的服务器,替换部署包或重新启动服务器。
-
您不希望定期在各种FTP和SCP工具之间来回切换,以将文件上载到服务器的指定目录。
下载链接:https://plugins.jetbrains.com/plugin/11386-alibaba-cloud-toolkit
3 ChaosBlade混沌工程故障注入工具
ChaosBlade是一个混沌工程工具,遵循混沌工程实验的原则,并提供广泛的故障场景,以帮助您提高分布式系统的容错性和可恢复性。它可以注入潜在的故障,并提供各种故障情景。这些方案包括延迟,异常,返回特定值,修改参数值,重复调用和try-catch块异常。
典型场景:
-
您发现很难测量微服务的容错能力。
-
您不知道如何验证容器编排配置的合理性。
-
您不知道如何实现PaaS层的健壮性测试。
GitHub页面:https://github.com/chaosblade-io/chaosblade
4 阿里巴巴Java编码指南
此插件检测Java代码中的编码问题,并为您提供提示。 这个插件是基于Kotlin语言开发的。
IDEA插件使用说明:
https://github.com/alibaba/p3c/tree/master/idea-plugin
Eclipse插件使用说明:https://github.com/alibaba/p3c/tree/master/eclipse-plugin
GitHub页面:https://github.com/alibaba/p3c
5 应用实时监控服务(ARMS)
ARMS是一种应用程序性能管理(APM)工具。 它提供三种监控选项:前端监控,应用程序监控和自定义监控,帮助您构建自己的实时应用程序性能和业务监控功能。
典型场景:
-
您在22:00收到37条警报消息,但您不知道从哪里开始。
-
客户或业务团队比您更早发现问题。
-
您每月在服务器上投入数万美元,但您仍然无法保证良好的用户体验。
应用程序监控集成:https://www.alibabacloud.com/help/doc-detail/63796.htm
自定义监控:https://www.alibabacloud.com/help/doc-detail/47474.htm
产品页面:https://www.alibabacloud.com/product/arms
6 Docsite开源静态网站生成器
Docsite是一个开源静态网站生成器,可帮助您构建自己的官方网站,文档中心,博客站点和社区。它易于使用和上瘾。它支持反应和静态渲染,PC和移动客户端,国际化,SEO,降价文档以及许多有用的功能,如全局站点搜索,站点样式自定义和页面自定义。
教程:https://docsite.js.org/en-us/docs/installation.html
GitHub页面:https://github.com/txd-team/docsite
7 Freeline - Android的二级编译解决方案
Freeline缓存可重用的类文件和资源索引,并编译代码更新并在几秒钟内将它们部署到您的设备。这有效地减少了在日常开发期间重新编译和安装的大量时间。使用Freeline最方便的方法是直接安装AndroidStudio插件。
教程:https://github.com/alibaba/freeline/blob/master/README.md
GitHub页面:https://github.com/alibaba/freeline
8 阿里云应用高可用性服务(AHAS)
AHAS提供了许多强大的功能,例如容器环境的体系结构可视化,例如Kubernetes(K8s),基于故障注入的高可用性评估,以及一键式限制和降级。 AHAS可帮助您以低成本快速提高应用程序可用性。
典型场景:
-
重构服务时,您希望可视化体系结构以精确理解资源实例组合和交互。
-
您需要真正的故障情景和钻取模型。
-
您希望以低成本使用限制和降级功能。
教程:https://www.alibabacloud.com/help/doc-detail/90323.htm
产品页面:https://www.alibabacloud.com/product/ahas
9 EasyExcel数据处理工具
EasyExcel是一个解析Java代码并生成excel文件的框架。它重写了用于Microsoft Excel 2007的Apache POI SAX解析器。要处理3 MB Excel文件,Apache POI SAX解析器需要大约100 MB内存,而EasyExcel需要大约几KB。此外,EasyExcel消除了内存(OOM)问题,无论excel文件有多大。对于Microsoft Excel 2003,EasyExcel仍使用Apache POI SAX解析器。但它将模型转换器封装在上层,使其更易于使用。
教程:https://github.com/alibaba/easyexcel/blob/master/quickstart.md
GitHub页面:https://github.com/alibaba/easyexcel
10 HandyJSON for iOS
HandyJSON是一个用Swift语言编写的json-object序列化/反序列化库。
与其他流行的Swift JSON库相比,HandyJSON支持纯Swift类,易于使用。 在反序列化中使用HandyJSON(将JSON转换为模型)时,模型不必从NSObject继承,因为HandyJSON不是基于KVC的。 您也不必为模型定义映射函数。在定义模型类并声明它遵循HandyJSON协议之后,HandyJSON通过将属性名称作为键来自动解析JSON字符串中的值。
教程:https://github.com/alibaba/HandyJSON/blob/master/README.md
GitHub页面:https://github.com/alibaba/HandyJSON
11 Druid数据库连接池
Druid是Java语言中最好的数据库连接池,它提供了强大的监视和扩展功能。
教程:https://github.com/alibaba/druid/wiki/FAQ
GitHub页面:https://github.com/alibaba/druid
12 阿里巴巴DragonwellJava开发套件
阿里巴巴Dragonwell是阿里巴巴/AlipayJDK(AJDK)的开源版本,是阿里巴巴内部使用的定制OpenJDK。 AJDK为在线电子商务,金融和物流应用程序进行了基于业务场景的优化。它一直在超大型阿里巴巴数据中心运行,每个数据中心运行超过100,000台服务器。 阿里巴巴Dragonwell兼容Java SE标准。目前,它仅支持Linux x86_64平台。
教程:https://github.com/alibaba/dragonwell8/wiki/Alibaba-Dragonwell8-User-Guide
GitHub页面:https://github.com/alibaba/dragonwell8
相关文章:
阿里巴巴常用的12个后端开发工具
1 阿尔萨斯Java在线诊断工具 Arthas是一款用于Java应用程序的在线诊断工具,由阿里巴巴于2018年9月开源。 典型场景: 您不知道从中加载类的特定JAR包。 您想弄清楚为什么您的系统会抛出各种与类相关的异常。 您不知道为什么修改后的代码无法执行。您不…...
php base64转图片保存本地
调用函数 public function base64(){$img $this->request->param(img);$img data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAkACQAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy…...
unity物体移动至指定位置
物体坐标与物体移动 世界坐标与局部坐标之间的转换物体移动至指定位置需求思路注意 世界坐标与局部坐标之间的转换 在Unity中,物体的坐标分为局部坐标和世界坐标。 局部坐标是相对于物体的父对象的坐标系,而世界坐标是相对于场景的整体坐标系。 使用tr…...
详解C#-static void Main(string[] args)
目录 简介: 举例: 输出结果:编辑 总结: 简介: 在C#中static void Main(string[] args)这个句话有什么作用,分别代表什么意思!! 这句话是入口函数的声明,指定了C#程序的入口点,并定义了一个名为”Mai…...
中大许少辉博士《乡村振兴战略下传统村落文化旅游设计》中国建筑工业出版社八一付梓。
中大许少辉博士《乡村振兴战略下传统村落文化旅游设计》中国建筑工业出版社八一付梓。...
Matplotlib数据可视化(五)
目录 1.绘制折线图 2.绘制散点图 3.绘制直方图 4.绘制饼图 5.绘制箱线图 1.绘制折线图 import matplotlib.pyplot as plt import numpy as np %matplotlib inline x np.arange(9) y np.sin(x) z np.cos(x) # marker数据点样式,linewidth线宽,li…...
Python爬虫——requests_post请求
import requests import jsonurl https://fanyi.baidu.com/sugheaders {User-Agent: ,Cookie: }data {kw: hello }response requests.post(url, data, headersheaders)content response.textobj json.loads(content.encode(utf-8)) print(obj)总结: post请求…...
excel 下载方法封装
1.首先需要拿到后端返回的URL下载地址 2.写个下载方法 // url 接口返回的下载地址。例如:https://cancer-research.oss-cn-beijing.aliyuncs.com/yuance-platform-permission/校内共享数据导入模板.xlsx // name 文件名称 例如: 校内共享数据导入模板 /…...
按日,周,月,季,年统计;获取对应的时间段
按日,周,月,季,年统计;获取对应的时间段 1.周实体类:WeekEntity.java package com.test.common.entity;import java.time.LocalDate;public class WeekEntity {private String day;/*** 开始日期**/privat…...
【eNSP】交换机(vlan和vlan间通信)
【eNSP】交换机(vlan和vlan间通信) 原理术语过程 实验根据图片连接模块配置设备名称和IP地址配置交换机交换机链路指定sw1配置sw2配置 设置网关交换机互联实验设置查看设置结果 ospf配置 原理 HUB集线器:它的作用可以简单的理解为将一些机器…...
2011年下半年 软件设计师 上午试卷2
博主介绍:✌全网粉丝3W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验…...
Linux中安装MySQL8版本,安装MySQL步骤,MySQL8离线安装
Linux中安装MySQL8版本的步骤如下: 1.检查下libaio.so.1的位置 [roottdx ]# whereis libaio.so.1 libaio.so: /usr/lib64/libaio.so.1 如果没有找到该文件 (1).在线安装 [roottdx ]# yum install -y libaio (2).离线安装: 上传之后执行命令安装&#…...
MES生产管理系统如何与ERP系统集成
MES生产管理系统和ERP企业管理系统是制造企业信息化的重要组成部分,它们在生产管理、资源计划和业务流程等方面发挥着重要作用。实现MES与ERP系统的集成,可以更好地优化企业生产流程,提高生产效率和降低成本。本文将探讨MES管理系统解决方案如…...
Kafka如何保证消息⼀定能被消费
Kafka 通过多种机制来保证消息一定能被消费,从而实现数据的可靠性和持久性。 以下是一些常见的方法和策略来提高消息的可靠性: 复制机制: Kafka 使用了分区和副本的概念。每个分区可以有多个副本,分布在不同的 Broker 上。当消息…...
[USACO1.5] 八皇后 Checker Challenge
题目描述 一个如下的 6 x 6 的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行、每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。 上面的布局可以用序列 2 4 6 1 3 5 来描述,第…...
【Mysql】MVCC版本机制的多并发
🌇个人主页:平凡的小苏 📚学习格言:命运给你一个低的起点,是想看你精彩的翻盘,而不是让你自甘堕落,脚下的路虽然难走,但我还能走,比起向阳而生,我更想尝试逆风…...
Vue--》打造个性化医疗服务的医院预约系统(六)
今天开始使用 vue3 + ts 搭建一个医院预约系统的前台页面,因为文章会将项目的每一个地方代码的书写都会讲解到,所以本项目会分成好几篇文章进行讲解,我会在最后一篇文章中会将项目代码开源到我的GithHub上,大家可以自行去进行下载运行,希望本文章对有帮助的朋友们能多多关…...
Unity ARFoundation 配置工程 (Android)
注意: 1、AR Core是Google的产品,因为谷歌制裁华为,所以 有些 华为机可能不支持AR Core的软件; 2、手机在设置里搜索Google Play,看看是否已经安装上了,如果没有装此服务,去商城里搜索Google Pl…...
【广州虚拟现实开发】VR智能中控系统进一步提高VR教学管理水平
随着科技的不断发展,虚拟现实(VR)技术已经逐渐走进了人们的生活。在教育领域,VR技术也得到了广泛的应用,尤其是在教学终端中控系统方面。那么,广州华锐互动开发的VR智能中控系统对学校有何益处呢? 首先,VR智…...
关于WordPress 的时间倒计时
点击跳转...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...
Python爬虫实战:研究MechanicalSoup库相关技术
一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...
Unity3D中Gfx.WaitForPresent优化方案
前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...
令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...
ios苹果系统,js 滑动屏幕、锚定无效
现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...
vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...
dify打造数据可视化图表
一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...
mac 安装homebrew (nvm 及git)
mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用: 方法一:使用 Homebrew 安装 Git(推荐) 步骤如下:打开终端(Terminal.app) 1.安装 Homebrew…...
站群服务器的应用场景都有哪些?
站群服务器主要是为了多个网站的托管和管理所设计的,可以通过集中管理和高效资源的分配,来支持多个独立的网站同时运行,让每一个网站都可以分配到独立的IP地址,避免出现IP关联的风险,用户还可以通过控制面板进行管理功…...
Chrome 浏览器前端与客户端双向通信实战
Chrome 前端(即页面 JS / Web UI)与客户端(C 后端)的交互机制,是 Chromium 架构中非常核心的一环。下面我将按常见场景,从通道、流程、技术栈几个角度做一套完整的分析,特别适合你这种在分析和改…...
