记录一次处理服务器挖矿
部署代码的时候发现服务器cpu占用一直100%,还以为代码有bug给服务器干垮了,结果给服务停了发现cpu还是100%,坏了,这是被搞了,记录一下排查过程
部署代码的时候发现服务器cpu占用一直100%,还以为代码有bug给服务器干垮了,结果给服务停了发现cpu还是100%,坏了,这是被搞了,记录一下排查过程
点开正文查看图片,如果图片打开太慢,可以下载pdf看
https://wwc.lanzouf.com/iQ4oL04eh7zi
本文出于本人职业迷茫期。目前距离身边的各路大神有着很大的差距,但是总体水平还算勉强合格,看网上普通的教程已经没什么大的收获,又不知如何拉近和大神的距离。
所以写下此文,一边梳理思路,总结目前认为如果再给我一次机会重头再来,进步的最优解是什么,一边反思总结使用这些方法,能否让我的职业生涯的技术深度再进一步。
本文适合1-5年Java从业经验的人看。
单元测试和集成测试哪个更重要这里不做争论
由于我个人更喜欢写出最小可测试单元的代码,而这些代码又大多数是私有方法,那如何覆盖到私有方法就很重要了,还好万能的spring提供了工具类可以用:ReflectionTestUtils
工欲善其事,必先利其器
一个顺手好用的IDE工具或者插件,哪怕能提升你1%的研发效率,也是值得使用的
下面是我自己个人使用的IDEA插件和设置,留作备份用
进大厂以后给我最大的收获之一,就是让我意识到写代码之前的设计有多么的重要——在编码之前要先进行系统设计分析,简称系分。
在系分阶段,用泳道图把要写的代码流程展示清楚,在设计阶段把疑惑都解决了,写代码的时候效率又高,BUG又少。如果在写代码写了一半才把疑问解决,往迭代分支合代码的时候过CodeReview,让其他人看糟糕的设计和愚蠢的返工,多丢脸。所以系分阶段是重中之重。
那么如何做好系分呢?肯定要画各种图啦。画图工具有很多,除了本文要说的Visual Paradigm(本文后续称之为VP)以外,还有draw.io、processon.com等网站。出于安全性的因素,不太方便把图放在上面,并且功能我觉得也不如VP强大,所以这里就来介绍一下如何使用。
可能我们都想成为技术上的大牛,写出优秀的开源框架/工具造福大家。
然而实际上可能我们都深陷业务的泥潭,似乎怎么也处理不干净纷繁复杂的业务。
身为打工仔就是这样,没办法,那既然只能依赖写业务去养家糊口,那要做就得尽量做到最好。
那面对复杂的业务,应该从哪里入手呢?哪些是最重要的环节呢?
并非office使用教程