同事每天早下班,原来是用了这8个开发工具

news/2024/4/25 7:03:05/文章来源:https://blog.csdn.net/weixin_60227714/article/details/129197811

引言

工欲善其事必先利其器,说的就是工匠要想更加高效的做事情,就得先将工具变得锋利。那么对于程序员来说同样也是如此,如果要想每天早点下班,就必须借助于一些开发工具来提高自己的工作效率,今天慕枫就给大家总结一些工作中常用到的工具。

Everything

不知道大家在日常工作中会不会遇到这样的情况,每次找文件的时候总是为想不起来放在哪个目录而抓狂,但是还好记得文件名字,而window自带的文件搜索简直慢的离谱,另外还经常出现搜索一个文件等了半天却没有这个文件的情况,简直想吐血。如果有一款工具可以搜索本地所有的文件就好了,于是Everything应运而生。

Everything是一款Windows系统的文件搜索工具,通过它可以快速查找电脑中的文件以及文件位置,真正实现全盘搜索,而且它的体积也非常小,仅需要大约 14 MB 的内存以及不到 9 MB 的硬盘空间,搜索文件的效率大概在秒级,比windows自带的文件搜索效率高出很多倍。可以说有了Everything就可以告别到处找文件的尴尬境地,实现文件快速定位,大幅度节约文件搜索时间。

Maven helper

平时我们在进行项目开发的时候,总是不可避免的引入第三方jar包来进行功能集成,但是引入的第三方包中会不会包含和项目中现有jar包存在版本冲突的jar包,实际上我们是不好进行判断的。这就会导致经常出现jar包冲突导致的服务启动失败等异常问题,有的时候费了九牛二虎之力排查问题,结果发现只是小小的jar包版本冲突问题,非常浪费时间和精力。

而Maven Helper就是一款Java开发必不可少的Maven管理插件,没有它之前我们需要人工手动的去分析jar包版本冲突,费时又费力,通过Maven Helper可以一键找到工程中相冲突的jar包,然后通过exclude将冲突的jar包进行排除,在对应的pom文件中会自动添加<exclusion>,如此我们可以快速地去除工程中的冲突的jar包,让技术人员可以更加关注业务功能实现,尽可能的不被这些琐事浪费时间。

ProcessOn

程序员在平时的工作中除了编码实现之外,还包括了架构设计、编写技术方案等。而无论是架构设计还是编写技术方案,画图总是必不可少的,清晰明了的架构图、流程图、时序图可以帮助我们更加直观的理解业务逻辑以及架构原理。因此一款功能强大的画图软件就显得尤为重要了。

ProcessOn是一款功能十分强大的在线绘图工具,支持流程图、思维导图、UML、网络拓扑等多种结构图形绘制,甚至还支持团队协作绘制,另外由于它是在线绘图工具,屏蔽了系统间使用差异,可以随时随地进行图形绘制创作。在ProcessOn上面还囊括了海量的各行各业都可能用到的画图模板,有的时候自己没有画图思路的时候完全可以借鉴模板中的画图结构。

Apipost

在程序员的日常工作中,接口联调测试是最重要的研发工作之一,通过和别的同学进行联调测试可以发现我们的接口定义问题、检查接口调用的正确性等等。市面上的接口测试工具多入牛毛,但是都总觉得缺点意思,能测试接口的不能生成接口文档,能生成接口文档的不能进行性能测试,总之就是不能覆盖程序员所有的接口开发使用场景。

而Apipost的出现完美解决了以上问题,官方宣称Apipost = Postman + Swagger + Mock + Jmeter,,也就是说它将这几个工具的能力都整合到了一起。实际上一言一概之,Apipost是API接口一揽子解决方案。通过它可以定义接口、共享接口、测试接口、Mock接口、生成文档等等,基本覆盖了和接口相关的所有研发场景。其中支持项目团队中的接口共享我觉得是非常实用的一个能力,以前我们开发接口和别人对接的时候要么是接口文档满天飞传来换取,要么是Swagger连接发来发去,而Apipost完美解决这些问题,录入接口只有项目组的成员都可以看得到,同时还支持自动生成API文档,不要太方便。

另外接口还支持查看接口状态,主要包括开发中、已完成、需修改三种接口状态,团队中的前后端同事可以清晰明了的看到各个接口的实现状态,方便大家及时了解各个接口开发进度。同时协作日志可以查看接口的修改记录,非常实用。

MAT

内存溢出大概是程序员最不想遇到的线上异常,但是又不得不面对,因为内存溢出是非常典型的服务异常。快速的定位内存异常原因并进行修复,减少线上异常影响时间,是对程序员比较基本的技能要求。实际上在分析内存溢出的时候,我们可以借助于内存分析工具来进行,提高我们定位问题的效率。

MAT(Memory Analysis Tool)即内存分析工具,它可以帮助开发者分析Java应用的hprof崩溃文件,分析异常堆积对象快速找到内存泄漏的类及其对应的方法,方便技术人员定位分析内存泄漏问题。

Java Stream Debugger

在开发需求的时候,我们经常使用stream()流来简化循环代码,结合lambda表达式可以让变得更加简洁。但是有个问题一直困扰着技术人员就是stream()流内部不好进行debug,没法查看其中的值循环操作情况,而Java Streanm Debugger可以帮助我们解析stream()流内部数据赋值情况,方便程序员查看各个值的执行流程以及数据最终结果。

Wireshark

Wireshark是一款网卡抓包分析工具,通过它可以抓取指定网卡的所有网路数据包。主要可以应用在分析网络数据正确性、网络底层通信机制以及到底是客户端主动断开连接还是服务端断开等网络数据分析的场景。

Arthas

Arthas是阿里巴巴开源的一款线上Java应用异常定位诊断工具,不需要重启应用可以实现动态跟踪java代码,通过Arthas我们可以在线上实时查看应用内存、CPU占用等负载情况、JVM GC以及线程状态信息等等,同时它还支持不必重启服务在线进行代码热修改,这在定位线上问题测试修改后代码的执行情况的场景下非常实用,大大提高了技术人员分析问题解决异常的效率。

Arthas启动后可以attach到指定的java进程,以下便是Arthas启动后的交互界面。

 Arthas提供了丰富的命令交互,这里输入dashboard命令,可以查看当前java应用的各个线程的cpu、运行状态等信息,同时可以查看JVM中堆、年轻代、元空间以及老年代等区域的使用情况,方便我们理解java应用的内存垃圾回收情况。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_73565.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

365智能云打印怎么样?365小票无线订单打印机好用吗?

365智能云打印怎么样&#xff1f;365智能云打印是有赞官方首推的订单小票打印机&#xff0c;荣获2016年有赞最佳硬件服务商。可以实现远程云打印&#xff0c;无需连接电脑&#xff0c;只需通过GPRS流量或者WIFI即可连接&#xff0c;不受地理位置和距离限制。365小票无线订单打印…

关于高并发场景和进程线程协程的一些总结

1、IO复用和线程池哪个好&#xff1f;应用场景&#xff1f; IO复用就是一个线程处理多个客户端连接。如果自己实现的话&#xff0c;就是要不断轮询每个客户端连接&#xff0c;看看有没有事件发生&#xff08;数据到达&#xff09;&#xff0c;即使可以用非阻塞的read函数&…

Python编写GUI界面,实现小说下载器

嗨害大家好鸭&#xff01;我是小熊猫~思路一、数据来源分析二. 代码实现步骤代码实现一、单章小说下载二、整本小说下载三、多线程采集四、采集排行榜所有小说五、搜索小说功能六、GUI界面<center>**&#x1f447;问题解答 源码获取 技术交流 抱团学习请联系&#x1f…

金仓数据库安装

一、麒麟操作系统安装金仓数据库 操作系统 DISTRIB_IDKylin DISTRIB_RELEASEV10 DISTRIB_CODENAMEjuniper 按照安装文档的步骤安装&#xff0c;记得记住设置的数据库的用户名、密码 二、window安装连接数据库的工具软件 三、jdbc连接数据库 &#xff08;1&#xff09;连接工…

错误记录:py2neo.errors.ProtocolError: Cannot decode response content as JSON

py2neo.errors.ProtocolError: Cannot decode response content as JSON 原因&#xff1a;目前不清楚 解决方法&#xff1a;进入\lib\site-packages\py2neo\database.py中更改graph_name为neo4j 程序正常运行

Linux命令及CPU占用过高的定位分析思路

一、vim命令不要使用vim打开大文件&#xff0c;vim会一次性读取所有内容到内存&#xff0c;容易造成宿主机内存溢出。 打开文件前&#xff0c;可以使用du -h命令查看文件大小。一般&#xff0c;100MB以下为宜。1、普通模式j 向下30j 向下移动30行k 向上h 向左l 向右0 到行首^ 到…

分阶段构建golang运行环境Dockerfile镜像

在开始这项工作之前大家可以先去看一下docker官方给出关于空镜像scratch的说明&#xff0c;采用官方简单的一句话就是&#xff1a;scratch是一个明确的空图像&#xff0c;特别是对于“从头开始”构建图像。分阶段构建镜像就会用到scratch这个空镜像&#xff0c;这样的好处是可以…

Vulnhub靶场----7、DC-7

文章目录一、环境搭建二、渗透流程三、思路总结一、环境搭建 DC-7下载地址&#xff1a;https://download.vulnhub.com/dc/DC-7.zip kali&#xff1a;192.168.144.148 DC-7&#xff1a;192.168.144.155 二、渗透流程 nmap -T5 -A -p- -sV -sT 192.168.144.155思路&#xff1a; …

【Rust 日报】2023-2-23 Ambient 0.1 发布

治理改革 RFC公告官方博客发布了治理改革RFC的公告&#xff0c;了解详情请点开链接查看。主要看点其实是新的RFC改革治理之后&#xff0c;提供了多语言的支持&#xff0c;其中包括简体中文&#xff0c;该PR目前还在讨论中。原文: https://blog.rust-lang.org/inside-rust/2023/…

RabbitMQ 实现延迟队列

业务场景&#xff1a;1.生成订单30分钟未支付&#xff0c;则自动取消&#xff0c;我们该怎么实现呢&#xff1f;2.生成订单60秒后,给用户发短信1 安装rabbitMqwindows安装ubuntu中安装2 添加maven依赖<!-- https://mvnrepository.com/artifact/org.springframework.boot/spr…

「JVM 编译优化」Graal 编译器

文章目录1. 历史背景2. 构建编译调试环境3. JVMCI 编译器接口4. 代码中间表示5. 代码优化与生成1. 历史背景 Graal 编译器在 JDK 9 以 Jaotc 提前编译工具的形式首次加入到官方的 JDK 中&#xff0c;JDK 10 开始提供替换&#xff08;得益于 HotSpot 编译器接口&#xff0c;Jav…

扬帆优配|“涨停敢死队”慌了?监管“盯紧”异常交易

日前&#xff0c;沪深买卖所发布《主板股票反常买卖实时监控细则》&#xff0c;对反常买卖行为的类型和标准作出规则。其间&#xff0c;针对“打板”“封板”等反常行为的监控遭到商场重视&#xff0c;有商场传闻称&#xff0c;新规或导致高频买卖毁灭&#xff0c;“量价型股票…

MySQL进阶知识

1 存储引擎1.1 MySQL体系结构1.2 存储引擎简介存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式。存储引擎是基于表的&#xff0c;而不是基于库的&#xff0c;同一个库的多个表可以采用不同的存储引擎&#xff0c;所以存储引擎也经常称为表类型。创建表时可以指…

pyhon笔记——Anaconda安装

一、简介 Anaconda包括Conda、Python以及一大堆安装好的工具包&#xff0c;比如&#xff1a;numpy、pandas等 Miniconda包括Conda、Python conda是一个开源的包、环境管理器&#xff0c;可以用于在同一个机器上安装不同版本的软件包及其依赖&#xff0c;并能够在不同的环境之…

Android:实现签名功能——signature-pad库

文章目录实现效果步骤1、添加 signature-pad 库的依赖。2、在 layout 文件中使用 SignaturePad 控件&#xff0c;另外添加“清空”和“保存”两个按钮。3、实现清空 SignaturePad 控件内容的功能4、实现保存 SignaturePad 控件内容的功能5、实现兼容Android10以下和Android10以…

Video 标签无法播放 mp4 的原因和解决办法

问题 用 QQ 的截图录屏功能录制的 mp4 视频&#xff0c;无法用 <video> 标签正常播放。 原因 通过搜索的说法是&#xff1a; 查阅文档&#xff08;不知道是啥文档&#xff09;&#xff0c;关于video标签所支持的视频格式和编码&#xff1a; MPEG4 带有H.264视频编码和…

大规模食品图像识别:T-PAMI 2023论文解读

美团基础研发平台视觉智能部与中科院计算所展开科研课题合作&#xff0c;共同构建大规模数据集Food2K&#xff0c;并提出渐进式区域增强网络用于食品图像识别&#xff0c;相关研究成果已发表于T-PAMI 2023。本文主要介绍了数据集特点、方法设计、性能对比&#xff0c;以及基于该…

【STM32MP157应用编程】2.GPIO输入、输出、中断

目录 GPIO文件 指令操作GPIO 程序操作GPIO 程序说明 程序代码 2_GPIO_4.c 启动交叉编译工具 编译 拷贝到开发板 测试 GPIO文件 在/sys/class/gpio目录下&#xff0c;存放了GPIO的文件。 gpiochipX&#xff1a;当前SoC所包含的GPIO控制器&#xff0c;STM32MP157一共包…

input 子系统

简介 先来了解什么是输入设备&#xff1f; 常见的输入设备有键盘、 鼠标、 遥控杆、 书写板、 触摸屏等等,用户通过这些输入设备与 Linux 系统进行数据交换。 什么是输入系统&#xff1f; 输入设备种类繁多&#xff0c; 能否统一它们的接口&#xff1f; 既在驱动层面统一&…

x64dbg和IDA pro 配置PDB 符号文件symbols

PDB 作用 PDB&#xff08;Program Debugging Database&#xff09;就是在生成EXE 和 DLL 文件的过程中生成的这个文件&#xff0c;可以帮助进行调试。 为什么x64dbg 没有将PDB 文件集成到软件中呢&#xff1f;主要是PDB 文件太大了&#xff0c;在分发安装包的时候会很大&#…