你知道的越多,你不知道的越多html
点赞再看,养成习惯前端
GitHub上已经开源 github.com/JavaFamily 有一线大厂面试点脑图、我的联系方式和人才交流群,欢迎Star和指教vue
这期是被人才群交流里,还有不少以前网友评论强行顶出来的一期,就是让我介绍本身经常使用的一些工具给他们安利一下,我一听很高兴呀,帅丙我这么乐于奉献的人是吧。python
主要是能水一篇文章就很开心,不过写下来发现花的时间彻底不比写技术少,点赞!!!git
千万不要白嫖,真香警告⚠️。程序员
可是我在构思这篇文章的时候发现我贴个标题,而后发下软件信息会不会太乏味了,因而创做鬼才我呀,准备用一个产品的研发流程,是的就是用这样的一个思路去写这个工具集的介绍文章。github
由于读者不少仍是学生,还有不少应届生,对一个需求的研发流程都不是很熟悉,还有可能对于之后本身须要使用到的工具都不是很熟悉,那我就一一罗列一下,帅丙我做为一个还算有点小经验的程序员都使用哪些工具呢?web
那下面就跟随暖男的脚步,走进顶级程序员的百宝箱吧(我全部的标题都是噱头就为了夸大其词,我是低级程序员,你们看了也不能吊打面试官,笑笑就行了)。面试
注意:下面的软件我都是简单的介绍下是干啥的,由于太多了,真正的功能须要你们深挖的,能力容许的朋友下载正版,破解方法去Github github.com/JavaFamily 加我回复【软件】就行了。数据库
既然都说了帅丙是要用一个产品的研发流程角度去介绍软件,那咱们先看看一个产品有哪些研发流程,帅丙就用本身接触的阿里系的研发流程举例了,这也基本上是互联网大厂的研发流程了,可能细节有出入,可是绝对大同小异。
Tip:我从开发的视角去介绍的话我就会跳过一些软件,好比提出需求这个其实通常都是文档类的,wiki呀这样的形式。
我就不介绍那种流程工具了,公司不少自研的,你们工做了再去熟悉也很快的。
概要设计,这个是大厂程序员需求下来以后基本上都会作的一步,不过看需求大小,可能不少小需求直接就详细设计了。
不少不了解的同窗可能会问,须要设计什么呢?为何要设计呢?
问得好,常常看我文章的都知道,技术是把双刃剑,你用了技术以后你是否是须要列出他的优势缺点,出问题以后的解决方案,还有可能出现的问题,注意点等等。
这么是为了让你能有把控力,好比你用了个Es(Elasticsearch)你什么都无论你就是要接入它,你把他开发好了上线了,可是有啥坑你知道么?上线崩了怎么办?
帅丙我作Es设计的时候设计被老大打回N次,不过成长真心大,对Es的了解也飞速进步。
其实远远不止这些问题,这就是咱们作设计的主要缘由,也是你们工做里面能成长的途径之一,你觉得大佬们的经验是怎么来的?
我这里列举了两个工具,他们两个均可以作概要设计的脑图,我给你们看看我设计过的一些脑图,都是出自这两个软件。
你们在学习,看书等等的时候作个脑图,我告诉你后面你复习仍是干啥都思路贼清晰,并且效率瞬间高不少。
小伙伴又要问了啥是详细设计呀帅丙?
诶呀简单,见名知意嘛,概要设计是大概的设计,详细设计是详细的设计。
咱们研发的时候整个流程每每很复杂,若是你理解不对直接就写代码,最后容易形成返工,延期,加班,被骂,心情差,回家吵架,离家出走。。。
看到不作详细设计的后果了吧,其实你们花点时间作详细设计颇有必要,你思路彻底清晰了,写代码那就是分分钟的事情,不是嘛?
那再看看帅丙的一个小设计吧,以前文章中大量的流程图,时序图都来自它,主要是这玩意仍是在线的,都不用下载很方便啊。
详细设计的工具我用的就是在线做图神器:ProcessOn
总之一句话很香,流程图、思惟导图、原型图、UML、网络拓扑图、组织结构图、BPMN等等包罗万象
这个关键了:工欲善其事,必先利其器
想必你们都知道这个谚语吧,我就说一下我写代码要用到的软件吧。
这个我想都不用我介绍了吧,Java的同窗都耳熟能详了,有同窗问为啥不用eclipse呀,我不做回答,可是我只能告诉你IDEA确定是效率还有不少方面都要香的。
不过看我的习惯的哈,新同窗仍是推荐IDEA!!!
有知道同窗要问了,帅丙这不是前端的开发工具么,为啥你要用,帅丙我呀全才来的呀,前端偶尔也写点的嘛,主要是js,vue,jq,还有丢丢React,不过最近帮三歪改前端竟然是jsx有没有大佬救救我啊。
这个是python以前那次还记得我写代码大赛那期嘛,最开始就是用这个写的,平时学的时候也用用。
这个呀是数据库的可视化工具很香很好用,不过咱们线上的表都是网页操做的,这个只能用来看看本地的开发表了,不过也是颇有必要的,你SQL怎么都得本地跑一下没问题,才向DBA申请的嘛。
这个是接口调试的神器,单测比较繁琐的你能够试试这个嘛,不过不少接口仍是只能写写单测,反正很香。
不过这个名字一看就是男生用的,那咱们女生用啥呢?往下看
PostMan一听就是男生用的,咋妹子们确定要用最近开源的Postwoman啊,它是一款开源的 Postman 替代品
开源没多久优势以下:
- 轻盈,可直接在线访问;
- 简约,采用简约的 UI 设计精心打造;
- 支持 GET, HEAD, POST, PUT, DELETE, OPTIONS, PATCH 方法;
- 支持验证;
- 实时,发送请求便可获取响应。
代码文档管理工具,版本控制工具,你们以后的代码基本上都是使用git作版本管理
目前帅丙用到Maven的主要功能是:项目构建、项目构建、项目依赖管理、软件项目持续集成、版本管理、项目的站点描述信息管理
Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具。
它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,目前也增长了基于Kotlin语言的kotlin-based DSL,抛弃了基于XML的各类繁琐配置。
这个跟Maven功能是同样的,可是二者语法不同,并且我以为版本控制的时候没Maven好使,有小坑,胜在语法简洁。
这玩意是个HTTP代理服务器,我用它的主要用法就是抓包!
都知道我是作电商的嘛,不少线上接口线上问题怎么排查呢,抓包看看数据呗。
Apache JMeter是Apache组织开发的基于Java的压力测试工具
是的就是用来压测的,你怎么模拟不少请求呀,就用它就对了。
Dash for mac是使用与Mac OS平台的软件编程文档管理工具,能够浏览API文档,以及管理代码片断工具。Dash自带了丰富的API文档,涉及各类主流的编程语言和框架。
DataGrip是JetBrains公司推出的管理数据库的产品,对于JetBrains公司,开发者确定都不陌生,IDEA和ReSharper都是这个公司的产品,用户体验很是不错。
最开始我用它就单纯看同事在用很酷的界面,后面发现功能也香,高亮文本啥的,不少功能你们能够去挖。
VisualVM 是Netbeans的profile子项目,已在JDK6.0 update 7 中自带,可以监控线程,内存状况,查看方法的CPU时间和内存中的对 象,已被GC的对象,反向查看分配的堆栈(如100个String对象分别由哪几个对象分配出来的)。
VisualVM能够根据须要安装不一样的插件,每一个插件的关注点都不一样,有的主要监控GC,有的主要监控内存,有的监控线程等。
这个是我作日志排查的客户端工具,也是支持不少配置,直接ssh上跳板机查看线上机器的状态等等,线上问题排查仍是颇有必要的。
有朋友要疑问了帅丙这是什么状况,鬼畜乱入么?
不是的,咱们研发的时候不少单词不认识,或者命名的时候这个词汇的英文不知道仍是颇有必要查一下的,规范的命名是你成为顶级大牛的第一步,你命名都是A,B,C你代码review的时候,你的Leader会叫hr让你提交前回家过年的,立刻过年了你们不要轻易尝试。
这是个文本记录的工具,也能够用于写代码,可是咱们有IDE了那就用来当平常杂事记录的工具,临时文档处理的工具也是能够的,反正仍是很好用的。
安排!
这个能够说是陪伴我大学到如今的一个工具了吧,我数了下,上千文件了,个人生活杂事的记录,还有学编程以后的不少东西,我都是收录在里面的。
这个东西我就不和别的笔记比较了,由于我最开始就用的这个一直没换过,好很差用我说了不算的,你们下一个看看就知道了。
Typora是我一直写Markdown的工具,好用到不行,还能够切换模式你敢信?打字机模式,专一模式,源码模式总有一个你的菜.
图床我是配合Typora一块儿使用的你们Markdown是否是复制图片进来都是本地的地址,发到网上就会失效的,可是跟Typora搞基的这个工具他能够在你复制进来的时候直接传到网上了,你再去任何平台发表均可以为所欲为了。
你们好奇个人markdown怎么这么好看呀,其实我写了markdown以后还转成了html的,用的也就是上面这个工具。
我写完也是在这里面进行排版而后发出去的,排版要花很久,忍不住给帅丙点赞。
Ps嘛你们都知道的,正常的图片处理啊用这个香,没事帮美女P下图,搞很差能找个女友(我又开始YY了)
这个多是你们使用得最多的视频处理软件了吧,很好用!!!
功能全到没法使人呼吸,缺点就是学习成本有点大,入门很快,想成为大神须要大量时间积累。
不知道你们视频看得多么,不少视频的特效开场都是这个作的,下面也有一个个人demo。
有时候你们文章不想用静态的图画去表达,想录制写代码的Gif动图,那这个软件是真的好使。
其实帅丙我心中有个播放神器的,快播。
惋惜了还没用多久,播播就夭折了,我会使用下面这个播放软件去播放我本身的视频。
由于不少格式电脑自带的可能不支持,我又喜欢剪辑视频,因此一直用它了。
你们是否是发现我以前的文章不少表情包,其实都是在线制做的。
帅丙以前的文章里面不少代码的图片都是这个网站生成的,不少样式能够选择,就很好看。
这个网站有意思了,写代码不知道单词怎么命名就去这里查,他是GItHub的一个爬虫工具吧,看看大神的命名老是会有思路的吧。
注意:上面的软件我都是简单的介绍下是干啥的,由于太多了,真正的功能须要你们深挖的,能力容许的朋友下载正版,破解方法去Github github.com/JavaFamily 加我回复【软件】就行了。
其实比较香的工具还有太多了,我这里就不一一介绍了,其实有个很简单的办法,就是问,学习,借鉴。
我就是这样的,我看Leader用的什么工具我就问他这是啥,好用不?怎么用?
包括我写博客吧,其实才写了20多天,第一天准备写的时候我就直接问三歪(Java3y),你用的什么开发工具呀,怎么用的呀,包括他主要发布的哪些平台呀,发布的时间段呀,我都直接问。
他坐我对面,迫于个人淫威不得不和盘托出,主要是最近有个需求须要我帮他写代码哈哈。
别人都这么多的经验下来了,软件能差嘛?并且使用过程当中不会的还能够问一下对方,不香嘛。
先看人才交流群的某我的才提的问题:
Tip: GItHub github.com/JavaFamily 上有进群方式和我的联系方式,说实话在这个群,哪怕您不说话,光看聊天记录,都能学到东西(美团王炸,三歪(Java3y),并夕夕等的大佬都在)。
不知道你们是否还记得我以前写的幂等这样的状况?
就是下图这样的状况,我下单增减GMV先去看看这个流水有么,有就证实加过了,就直接返回,没有才继续下面的流程。
他其实提的问题很好,由于咱们平常开发都是主从同步,读写分离的,就是说咱们可能加GMV加了可是咱们操做的是主库,他须要将数据同步到从库,可是这个过程当中他发生了延迟。
那这个时候若是别的系统这个订单号消息重试了,你是否是又进来了,你去查询流水你发现没流水你觉得没加,你执行加钱的操做,结果那条延迟的也好了,是否是就加了两次。
正常开发中确实会有,可是主从延迟这个应该让DBA(数据库管理员 Database Administrator)去考虑的,可是呢我说过不能写有逻辑漏洞的代码嘛,其实很简单,把他放Redis嘛,设置一个30分钟左右的时间,这期间的重复消费均可以免,要是延迟超过30分钟了那其实问题已经很大了,DBA会知道的。
这篇是吐血整理,你们好好食用,记得点个赞!👍
好了各位,以上就是这篇文章的所有内容了,能看到这里的人呀,都是人才。
我后面会每周都更新几篇《吊打面试官》系列和互联网经常使用技术栈相关的文章,很是感谢人才们能看到这里,若是这个文章写得还不错,以为「敖丙」我有点东西的话 求点赞👍 求关注❤️ 求分享👥 对暖男我来讲真的 很是有用!!!
创做不易,各位的支持和承认,就是我创做的最大动力,咱们下篇文章见!
敖丙 | 文 【原创】【转载请联系本人】 若是本篇博客有任何错误,请批评指教,不胜感激 !
《吊打面试官》系列每周持续更新,能够关注个人公众号「 JavaFamily 」第一时间阅读和催更(公众号比博客早一到两篇哟),本文GitHub上已经收录github.com/JavaFamily,有一线大厂面试点思惟导图,欢迎Star和完善,里面也有我我的联系方式有什么问题也能够直接找我,也有人才交流群,咱们一块儿有点东西。