2022

今天给大家分享一个IDEA调试过程中的一个小技巧。 先来说说场景,你有没有碰到类似的情况,一个循环结构里,中间某一个情况可能会出错。比如下面的代码结果中,可能执行到第27次的时候,会出现问题。 for(int i = 0; i < 100; i++) { // 业务逻辑 System.out.println(i);} 那么这个时候,你会怎么调试的呢?是不是像下面这样加个断点 然后狂点绿色小箭头,到将来出错的那一次? 其实IDEA中有个功能,可以给断点增加条件,这样就不用那么麻烦了。 操作也很简单,只需要右键已经添加的断点小红点,此时会弹出一个表单,里面有condition这一项,具体如下图: 这里就可以输入你希望这个断点生效的条件,比如我这里输入了i == 27,那么当这个循环执行到i等于27的时候,程序就会停下。 这样,你就不需要靠疯狂的...

昨天,在发布了《Spring官宣承认网传大漏洞,并提供解决方案》之后。群里(点击加群)就有几个小伙伴问了这样的问题:我们的Spring版本比较老,这个怎么办?这是一个好问题,所以DD今天单独拿出来说说。 这次的RCE漏洞宣布之后,官方给出的主要解决方案是升级版本,但只有Spring 5.2、5.3和Spring Boot 2.5、2.6提供了对应的升级版本。 那么对于一些还在用Spring 5.0、5.1甚至Spring 4.x、或者Spring Boot 1.x和Spring 2.4及以下版本的用户该怎么办呢? 第一种方法官方给出过一种通过扩展RequestMappingHandlerAdapter来实现的方法。同时也给出了一个Spring Boot下使用Spring MVC的实现方案,如果是WebFlux的话略做修改即可。但如果不是Spring Boot的话,则Bean的初始化方...

Spring沦陷了!这样的标题这几天是不是看腻了?然而,仔细看看都是拿着之前的几个毫不相干的CVE来大吹特吹。所以,昨天发了一篇关于最近网传的Spring大漏洞的文章,聊了聊这些让人迷惑的营销文、以及提醒大家不要去下载一些利用漏洞提供补丁的钓鱼内容。而对于这个网传的漏洞,依然保持关注状态,因为确实可能存在,只是没有官宣。 就在不久前(3月31日晚),Spring社区发布了一篇名为《Spring Framework RCE, Early Announcement》的文章,官宣了最近网传的Spring漏洞。这也证实了网传漏洞确实存在,并且并非最近很多文章说提到的3月28、29日公布的CVE,如果你是照着那些文章解决问题的话,请根据这次官宣内容重新来过吧。 这次确定的Spring核心框架中的RCE漏洞,CVE号为CVE-2022-22965[1]。 这个漏洞是在周二深夜,由AntGrou...

昨天凌晨发了篇关于Spring大漏洞的推文,白天就有不少小伙伴问文章怎么删了。 主要是因为收到朋友提醒说可能发这个会违规(原因可参考:阿里云因发现Log4j2核弹级漏洞但未及时上报,被工信部处罚),所以就删除了。 经过一天的时间,似乎这个事情变得有点看不懂了。所以下面聊聊这个网传的Spring大漏洞吧。 这个漏洞话题的起点源自3月29日晚,DD在群里(点击加群)看到网友分享了几位安全大佬爆料Java生态出现了超级大漏洞。 但两位大佬都没有透露这次漏洞更详细的信息。只有网友问了一句:“有log4j那么大吗?”。云舒大佬的回复是:“更大”。 之后,又有安全大佬sunwear(就之前那个因为上海银行工作人员服务态度差,而直接怒取500万现金的大佬,具体什么故事如果你不知道可以百度一下,这里DD就不细说了)给了一些更细节的信息: 所以漏洞影响范围,可以缩小到使用Java 9+和Sp...

2022年3月24日,Spring官方发布了Spring Boot 3.0.0 M2版本发布。这个版本包含50个Bug修复、文档改进和依赖更新。 M2版本主要是对M1版本的问题修复与更新,之前关于Spring Boot 3.0.0 M1版本,我们已经介绍过,下面一起结合了解一下整个Spring Boot 3的进展。 M1版本回顾 Java基线从 Java 8 提升到了 Java 17 从Java EE APIs 到 Jakarta EE 移除一些还未支持Java 17的组件,包括:Apache ActiveMQ、Atomikos、EhCache 2、Hazelcast 3 M2版本更新M2版本对于M1主要的更新内容如下: 恢复EhCache 3的支持 恢复H2 Console的支持 改进@ConstructorBinding的检测 更多改版本的更新可通过下面的了链接查看:htt...

昨天看到macOS推送了12.3的更新,记得之前预告过一个“通用控制”的功能,所以赶紧升级一波体验一下,效果惊艳到我了,赶紧安利一波! 先交代一下现在隔离在家的办公情况,我主要是用两台MacBook Pro,一台是2017年的老机器(Intel),一台是2021年的新机器(M1 Pro),外加一块34寸的DELL显示器。 布局如下图: 先说说目前一些不太方便的点: 键鼠切换DD现在家里和办公室都用的罗技的MX Keys和MX Master套装,因为支持蓝牙连接多台设备,所以可以通过下面这样的方式来切换: 如果切换频繁会比较麻烦,一直要按来按去。之前用过罗技的Flow功能,可以在鼠标移动到不同设备的时候,自动切换蓝牙连接。 但用过一阵觉得不太稳定,后来就没有继续用了。 文件传输有的时候,在一台机器上操作的内容要传输到另外一台上,当然了实现方式很多,你可以通过: 通讯软件传输 ...

昨天下午,微信群(点击加入)里正好在讨论分享的这篇文章Spring Boot 配置 HTTPS 的详细流程。 然后就有群友跳出来吐槽:别搞HTTPS了,到时候一起被制裁,并发了下面的推文: 发布该推文的Scott Helme是一名黑客,Security Headers和Report Uri的创始人、Pluralsight作者、BBC常驻黑客。 他表示,CAs现在似乎正在停止为俄罗斯域名颁发证书,甚至吊销之前已经为俄罗斯域名颁发的证书。同时,他还给出了一下被撤销证书的报告: 比如这是一家俄罗斯银行的:https://crt.sh/?id=5828347935,有兴趣的小伙伴可以去研究下,还有这些: https://crt.sh/?id=5828347935https://crt.sh/?id=6218871547https://crt.sh/?id=4582341817https:...

昨天在网上看到特斯拉老板Elon Musk的一条推,真的是脑洞大呀!分享出来,大家一起看看! 图中列出来4家公司,分别为:韩国的三星、日本的东芝、日本的中道(做音响的)以及美国的摩托罗拉。还特别圈出来了这几家公司的开头字母,但没说啥,也因此引发了网友们的热议。 然后有网友把圈出的字母内容做了组合后发现,最后组成的是:Satoshi Nakamoto。 接着就有很多网友问了,谁是Satoshi Nakamoto? 相信这个名字,你们大多不陌生吧?如果不知道的话,可以看看百度百科的介绍: 中本聪(英语:Satoshi Nakamoto),自称日裔美国人,日本媒体常译为中本哲史,此人是比特币协议及其相关软件Bitcoin-Qt的创造者,但真实身份未知。中本聪于2008年发表了一篇名为《比特币:一种点对点式的电子现金系统》(Bitcoin: A Peer-to-Peer Electr...

大家好,DD又来了! 3月9日,Spring官方博客发文:Spring Cloud Alibaba 2021.0.1.0发布了。 前段时间DD还在微信群里看到小伙伴吐槽Spring Cloud Alibaba更新太慢了。大概官方人员看到了?这不,最新版本来了! 这次发布的Spring Cloud Alibaba 2021.0.1.0版本基于Spring Boot 2.6.3和Spring Cloud 2021.0.1。要升级的小伙伴一定注意这个版本基线! 突然发现,官博这里还烦了个小错误,把Spring Boot写成Spring Cloud了… 版本内容下面一起看看这个版本内容吧: Nacos:将Nacos客户端升级到1.4.2版本,修复Nacos 1.4.1中的相关问题,支持Nacos服务发现故障和容错。 RocketMQ:升级到4.9.2,之前项目中RocketMQ的单独分支...

大家好,我是DD! XShell相信大家都不陌生了,作为Windows平台下最强大的SSH工具,是大部分开发者的必备工具。但由于免费许可证的标签限制,有不少开发者会去找破解版使用。虽然功能是可以使用了,但其实这还是存在不少风险的,比如一些破解软件被投毒的事情,之前DD也给大家报道过。 今天早上,正好看到有群友(点击加群)分享了个消息: 从 2022/02/16 开始,免费许可证的标签限制已经被删除了。除了XShell之外,Xftp这次也一起移除了这样的限制。 大家只需要填写下面的表单: 稍等片刻,邮箱里就可以收到对应的下载链接: Windows平台下的小伙伴需要下载的话,可以直接通过下面的链接直达:https://www.xshell.com/zh/free-for-home-school/ 另外,如果你跟DD一样,不是Windows用户,是MacOS用户的话,顺手也给大家推...

大家好,我是DD! 最近俄乌冲突引发的科技公司站队,Oracle、微软、三星等全球知名科技公司都开始对俄罗斯实施制裁与封锁。就连崇尚自由的开源社区GitHub也发文会严格限制俄罗斯获得维持其咄咄逼人的军事能力所需的技术。 面对来自西方世界的围攻,还在猜测俄罗斯接下来要怎么样的时候,没想到反击来的很快,刚刚在群里(点击加群)里就看到了一个消息,俄罗斯直接放了个出乎大家意料的大招!什么大招?下面一起看看! 有俄罗斯媒体称,自2015年开始,被封禁7年之久的资源站RuTracker解封,刚刚DD试了一下,还真的可以访问。 RuTracker上有大量的破解资源,包括:Windows、Office等知名的付费软件、各种你玩过或者没玩过的破解游戏、还有各种电影、连续剧等。 所以,当Netflix说要暂定俄罗斯服务的时候,就有网友称:不在乎,RuTracker回来了! 还有网友欢呼:互联网革命...

每年3月的年终汇算清缴开始了,大家都在晒今年退了多少,补了多少(有的小伙伴还不太了解为什么退税,为什么补税,这个之前我就有给大家讲解过,这里就不细说了,不了解的小伙伴可以点击这里看以前的文章)。但很少有小伙伴在群里提今年的一个变化:预约模式。 记得前两年,到这个时候,想要上去做汇算清缴的时候,总是很卡或者失败的。而今年采用预约的方式来进行,规避了对年总汇算清缴流程中大量运算的高并发场景。 对于年终汇算清缴这样的业务来说,现实中是存在高并发场景的,但从业务意义上来说,并不存在“抢”的性质,如果可以把这些处理量都均摊开来,才是对资源利用最有利的。 所以,采用预约的模式,可以有效的把计算任务进行分摊,降低了系统对高并发支撑能力的上限要求,也减少了为应付突发流量而产生的系统扩容的成本。 没有去死磕高并发,采用预约的形式,这绝对是一个极具性价比的实现方案! 其实,我们互联网行业中的很多业务场景...

3月1日,Spring官方博客发布了一篇关于Spring Cloud Gateway的CVE报告。 其中包含一个高风险漏洞和一个中风险漏洞,建议有使用Spring Cloud Gateway的用户及时升级版本到3.1.1+、3.0.7+或采用其他缓解方法加强安全防护。 有涉及的小伙伴可以看看下面具体这两个漏洞的内容和缓解方法。 CVE-2022-22947:代码注入漏洞严重性:Critical 漏洞描述:使用Spring Cloud Gateway的应用程序在Actuator端点在启用、公开和不安全的情况下容易受到代码注入的攻击。攻击者可以恶意创建允许在远程主机上执行任意远程执行的请求。 影响范围: Spring Cloud Gateway以下版本均受影响: 3.1.0 3.0.0至3.0.6 其他老版本 缓解方法: 受影响版本的用户可以通过以下措施补救。 3.1.x用户应升级...

大家好,我是DD! 今天跟大家聊聊这个问题:ApplicationStartedEvent与ContextStartedEvent有区别吗? 对了,最近花了几周时间,把SpringForAll社区 3.0上线了,社区的建设目标与之前一样,希望能够构建一个垂直于Java开发者的高质量技术社区!目前,已经有接近1000名注册用户,每天也有不少读者会发布一些帖子,技术氛围已经初步形成。如果你正在学习Java、Spring,你可以在这里分享你的见解,碰到的问题以及帮助别人解决问题。后面,我会持续精选一些,我觉得有意思的问题,在这里继续给大家分享一下! 关于这个问题,其实就是Spring和Spring Boot事件机制的理解。 虽然Spring Boot的基础是Spring,但Spring Boot并没有直接使用Spring中定义的常用事件,而是重新定义了一批。 它们都是继承自Sprin...

互联网大厂是很多程序员梦寐以求的地方,因为一直以来互联网都是草根翻身造富最有希望的领域。然而,最近关于成功与暴富的消息似乎赶不上猝死的悲剧发生的多了? 是互联网红利开始消失了吗?蛋糕的上限开始出现?参与者越来越多,大家都杀红了眼? 以前我还一直劝大家如果真的喜欢技术,就去互联网大厂吧,这边才会跟给你表现机会,让你获得成就感。因为我就是这样一路过来,从国企的不得志,到互联网的开挂升级。靠的就是对技术的热爱和持续的努力付出。个人与公司一起成长,就能自然而然的获得各种收益。 但近几年的一些事情,让我的想法也开始有点转变了,似乎如今的大厂已经不是对技术人那么友好了,为什么这么说呢? 公平在哪里以前跟大家吐槽过银行里的关系户多、自己的荣誉被别人拿走、等等不公平的事情。 你以为只有国企会这样吗?如今的互联网大厂一样有!因为领导要提拔某人,然后让其他同事让出一些成绩、荣誉的情况。这种事情在国企挺常...