2022

2022年1月20日,Spring官方发布了Spring Boot 3.0.0的第一个里程碑版本M1。 下面一起来来看看Spring Boot 3.0.0 M1版本都有哪些重大变化: Java基线从 Java 8 提升到了 Java 17这个在最早的Spring Boot 3相关预告中就已经知道了,Java 17将成为未来的主流版本。那么问题来了,大家都把Java 17的升级提上日程了吗?如果你对Java 8之后的各种版本的信息不太了解的话,这里有份 4.6 W 字的总结,或许你可以读一读。 从Java EE APIs 到 Jakarta EESpring Boot 3开始,所有的Java EE Api都需要迁移到Jakarta EE上来。大部分用户需要修改import相关API的时候,要用jakarta替换javax。比如:原来引入javax.servlet.Filter的地方,需...

如果你是MacOS的用户,或者与其协作的小伙伴有用MacOS的,那么大概率你会看到过Git仓库中可能出现.DS_Store这样的文件。这些文件是MacOS系统下为目录生成的,主要用来告诉MacOS下的Finder应用如何显示这个目录。 有时候,使用MacOS的开发者会不当心将这些文件提交到Git仓库中,所以我们通常都会在项目中配置.gitignore来排除这些文件。作为MacOS的开发者来说,这几乎是一个常用配置,你需要为所有的项目都做这样的配置。既然是个常规配置,那么有没有办法通过什么全局配置来一次性完成呢? 这显然是可以完成的,我们只需要使用Git的全局.gitignore配置就可以了。 第一步:创建.gitignore文件,把要排除的文件规则编辑进去,比如 .DS_Store 第二步:通过下面命令配置需要全局排除的规则文件: git config --global core.e...

在小伙伴们的心目中,传统的导航页面是什么样子的呢? 是这样子的? 看着就有点老旧的年代感?各种广告和没用的信息堆满了整个页面?让人用起来不是怎么的很舒服? 如果不喜欢这样子的页面,那么今天你就来对了,TJ君要跟你分享的是一个吊炸天、无比酷的个性化卡片式起始页插件 iTabNewTab 作者对其的标榜是: 一个让你不受广告干扰的个性化卡片式起始页插件 只能说作者还是太谦虚太低调,这何止是不受广告干扰这么简单! 是不是让人眼前一亮、排列有序、看着就舒服? iTabNewTab的主页上简简单单的主要分布着日历、天气、热搜、壁纸、待办、倒计时等几个大模块,让人看着不会觉得凌乱不知所措。并且这些主要的模块也是十分的实用: 天气 热搜 日历 倒计时 壁纸 待办 其他同时,在这些大模块的周围还围绕着不少小图标,这些小图标每一个都可以拖动并替换成自己常用的应用链接,并改变各种页面布局,很...

TJ君今天在和同事聊天,期间说起小孩子的教育,说现在的教育方式都是以鼓励为主,要不停的告诉小孩子正能量告诉他们是最棒的才能更好地激发他们的学习热情。 想想TJ君小时候的残酷生活,现在小孩子真是生活在幸福里的花朵。 不过话说回来,是不是希望自己在编码的时候也有人一直在鼓励你呢?嘿嘿,正所谓千穿万穿马屁不穿,那么TJ君今天介绍的这个好东东你就一定不能错过了。 TJ君今天给大家介绍的是一款程序员鼓励插件,可以在你编码的时候不停的语音鼓励你,让你事半功倍。 插件的雏形最早是一款vscode的插件,不过有大神jadepeng写了一个IDEA版本的,让我们这些使用idea的小伙伴也可以享受。 下载安装后,在插件设置界面,可以将voice package type属性设置为builtin,这样可以选择内置语音包,也可以将voice package type属性设置为custom,这样子就可以使用...

平日里大家想看一个jar包里的内容会怎么做呢?直接解压缩到本地?反编译到本地查看?或者下载一些专门查看jar包的工具?是不是觉得稍稍有点麻烦呢? TJ君肯定是想着能让大家在各方面使用更方便,于是今天带来这款插件,可以让大家直接在IDEA查看各种jar包、压缩包,是不是有点好奇呢? 我们来看下具体的效果: 先看看查看jar包的效果: 可以轻松的看到里面每一个文件及对应代码。 再来看看压缩文件的效果: 是不是轻松方便?插件支持各种不同款式的压缩包格式,例如.zip、.gz、.tar、.tgz、.7z、.zip、.jar、.war、.epc等都可以。 插件也不大,一共就105KB,可以说虽然简单小巧,但是实用好用,可以解决不少人的使用难题。 不过TJ君费解的是,今天TJ君怎么都上不了IDEA的插件市场,试了各种方式都不行。所以TJ君将插件包的安装介质给大家准备好了,直接在IDEA里面引...

DD有很多音箱,几百块、几千块到几万块,各种价位的我都买过。这几天刷抖音,连续看到小米有品上在众筹的一款壁画音箱在做推广。 颜值可以说非常在线,如果不是因为之前这个厂商给我的不好体验,估计这次依然会入手,谁让我是颜值党呢… 那么这个音箱是否值得买呢?因为我没有入手,我不好评价商品本身如何。但这个商品详情页面的服务细则,着实又让我恶心了一把。 哪里恶心了?关键就在“支持7天无理由退货”后后面加了一段话:激活后不支持 可以看看之前的商品是怎么样的: 这款音箱就是之前DD购买过的,虽然他的商品详情页没有写这行字,但我收到商品之后,第一时间拆开、激活、并开发使用,但使用效果很差,这里我不评价音质如何,核心让我觉得商品不行的是音乐播放的卡顿,这就决定了基本没法用,谁也不想听音乐是一卡一卡的吧? 然后联系客服之后,给我的建议是,重启、关掉各种特性等操作,都试过之后,发现依然无用,然后我想就...

今天TJ君给大家要分享的是一个90后小哥开发的开源CHROME插件: vimium-c小伙伴可能奇怪,TJ君怎么知道作者是90后小哥呢?看看作者的名字就知道啦: 瞧见没,最后一次更新就在年底,作者还是很努力的。言归正传,这款vimium-c能做什么呢? 请看: 是不是觉得一下子眼花缭乱? 其实,vimium-c是一款全键盘操作浏览器 插件,可以支持只用键盘完成点击任意链接、切换标签页和快速搜索任意内容,还支持自定义快捷键和调整操作细节。 Vimium C 支持 新版 Microsoft Edge、Firefox 63+ 和 Chrome 47+ 等主流浏览器的最新版本。如果上面那张图看着觉得复杂的话,TJ君给大家再解释下: Vimium C 支持的网页常见操作有: 按 F 自动发现并标出可点击的链接和按钮,输入一个定位标记上的文字就能点击它 按 字母O 可以显示一个方便美观的...

又到了一年总结工作的时候,每年的这个时候,大家是不是都在期待着年终奖得发现?期待着年会得举办?期待着抽一个大奖喜滋滋地过年? 当然,凡事都有两面性,虽然有那么多值得期待的事情,但是每年年底是不是也是大家要写年终小结的时候啦?有些要求高的单位,是不是不仅要文字稿,还要求PPT稿? TJ君之前介绍一个用Markdown的方式来做PPT的工具,Slidev,忘记了的小伙伴点这里:让你用Markdown的方式来做PPT 但即便有这样的利器,我们做PPT的时候还会遇到一个难题,就是没有各种模板样式! 通常office自带的那几个简陋的模板实在不够用,想用一些好看的过得去的网上的模板,往往都是收费的。真的就像过年回家被家长收拾的小朋友一样,永远都有别人家的PPT比自己的好看。 那怎么样才能让自己的PPT令人眼前一亮呢?别着急,今天TJ君就给大家带来一些PPT模板,专为年终小结准备,各种各样的,...

2021

上一篇我们介绍了Spring Boot 2.x中默认日志框架Logback的使用。今天继续说说日志,接下来我们要讲是前段时间爆出核弹漏洞的Log4j2。虽然出了漏洞,让很多小伙伴痛苦了1-2周(加班),但不可否认的是Log4j2依然是目前性能最好的日志框架。所以,当Logback性能上无法支撑的时候,替换使用Log4j2还是最为快速便捷的方法。下面,我们就来学习一下如何在Spring Boot 2.x版本中,替换Logback,使用Log4j2记录日志。 动手试一试这里省略Spring Boot项目的基础创建,如果您还不会可以看本教程的快速入门。 下面的操作你可以基于Spring Boot 2.x中默认日志框架Logback一文的例子继续下去,也可以用任何一个Spring Boot 2.x的项目来尝试。 第一步:在pom.xml中引入Log4j2的Starter依赖spring-bo...

下面这个封面熟悉不? 你最近的信息流是不是也跟我一样,这个样子的? “VPN翻墙被抓,已大规模行政处罚”的消息最近是传的沸沸扬扬!对于我们程序员群体来说,也是瑟瑟发抖,因为有很多学习资料、技术文档等内容一直都是访问比较困难的状态。为了更好的学习和工作,大部分人都会有“翻墙”的需要。 突然间传出说这个违法,还被大规模行政处罚,自然是吓到了广大程序员们! 那么事实真的如此吗?今天,我们就来一起探寻一下! 下面这张图是被疯传文章中的被行政处罚的查询页面,里面列出了很多个人利用非法定信道进行国际联网的行政处罚信息: 从图中,我们可以获得这些信息: 信息来源是浙江省人民政府,浙江政务服务网 搜索条件使用的是案件名称:信道 搜索结果的处罚日期在2020年8月20日-8月31日之间 既然我们来找真相,那么不妨顺着这个线索自己去搜索一下呗! 查询链接如下: https://www.z...

最新消息!根据Log4j官网发布,2.17.0版本还存在漏洞! 上图来自Log4j2官网:https://logging.apache.org/log4j/2.x/ 漏洞编号:CVE-2021-44832 漏洞内容:Log4j2提供的JDBCAppender功能,将日志信息写入数据库中,这个过程需要JNDI的支持,故攻击者可以利用此来执行任意代码。 危害等级:中 影响范围:2.17.0及以下版本(不包含2.12.4、2.3.2) 修复措施:升级Log4j2的版本 Java 8或之后用户升级到最新的2.17.1 Java 7用户升级到2.12.4 Java 6用户升级到2.3.2 这个漏洞跟之前曝出的Logback漏洞类似,因为存在苛刻的利用条件,所以危害并不是很大。也许后面你马上会看到很多来自营销号危言耸天的标题,希望你可以冷静看待,不必慌张… 点赞,转发,让更多人知道本质,不...

Spring Boot在所有内部日志中使用Commons Logging,但是对底层日志的实现是开放的。在Spring Boot生态中,为Java Util Logging 、Log4J2 和Logback 这些常见的日志框架都提供了自动化配置组件,每种Logger都可以通过配置在控制台或者文件中输出日志内容。默认情况下,当我们使用各种Starter的时候,会使用Logback来实现日志管理。 如何记日志在介绍写日志的方式有很多,这里就不对各种方式做罗列了,只讲DD用得最多的方式! 首先,在代码层面,我们不纠结到底用默认的Logback还是Log4j,而是直接用:Slf4j。 为什么不用管具体用Logback还是Log4j就可以去写代码呢?这个就是使用Slf4j好处,为什么是Slf4j?英文全称:Simple Logging Facade for Java,即:简单日志门面,它并不是...

相信不少小伙伴跟TJ君有一样的经历,当然相信也会有小伙伴是因为更换设备导致的文件丢失,不管怎么说,临时用用还行,平时大家还是不要把重要的文件直接存储在微信上,还是该备份的备份,该传输到本地的传输。存到网盘?你确定不开通个VIP那上传下载速度能用? 那么今天的问题就来了,平时大家都用什么文件传输工具呢? 今天TJ君要和大家分享的就是一款免费、开源的文件同步工具,Syncthing 作为一款P2P性质的文件同步工具,Syncthing在Github上广受欢迎,已经收获了42k的Star! Syncthing有五大特点: 1、避免数据丢失 2、安全防范攻击者 3、便捷使用 4、自动化运行 5、高兼容性 像Windwos、macOS、Android、Linux这些主流平台都支持Syncthing,所以Syncthing可以跨平台的进行文件传输。 目前最新的版本是v1.18.5版本,在1...

今天上海降温到零下了,一点起床的欲望都没,想着直接睡到吃午饭吧。结果看到群里小伙伴吐槽一早被叫起来修Bug,定睛一看,要修的BUG居然又是之前说过很多次的YYYY-MM-dd问题,这个不是之前已经说过很多次了吗(听说又有兄弟因为用YYYY-MM-dd被锤了…),怎么还有人中招呢 不过再想想,其实也正常,每一年都有新人,即使是老人,也可能因为跳槽接手已经存在问题的系统,当然也可能没关注DD,没看过之前的推送?不管什么原因,也许现在还有其他小伙伴正在修Bug的路上,所以,赶紧起床推一篇,聊聊这个问题吧。 如果你正好碰到的,可以看看了解下原因,做好相应的处理;如果还没碰到的,最好也自查一下。如果你已经很了解这个,那么把这篇文章分享到朋友圈,也提醒下身边其他的同行朋友们吧~ 事故现场我们先来写个单元测试,重现一下这个问题。 测试逻辑: 1、创建两个日期格式化: 一个是存在问题的YYYY-...

今天遇到一个小伙伴,他给TJ君提了一个小小的建议,如何让代码变得好看 这里指的好看,不是说代码的编写风格,而是指平时TJ君给大家分享项目的时候如何让展示的代码显得好看,是真的字面意思上的好看哦! 小伙伴的意思是,无论在CSDN、博客园、掘金(TJ君在这些地方都有账号,可以一起关注哦),这些分享开源项目的地方,展示的代码都是这个样子的: 虽然实用但是不够美观,他心目中觉得好看的、眼前一亮、让人舒服的代码是这样的: 好吧,之前TJ君是更多的考虑实际运用层级而忽略了美观这一点,所以这就是今天TJ君要和大家分享的项目,carbon 对于经常和大家分享代码的小伙伴来说,carbon可以成为你的好帮手。 carbon是一款将代码转变为优美图案的开源项目,没错上面你看到的特别好看的代码是一副图片哦,想直接拷贝里面内容的话,还是要找源码哦。 抛开这一拷贝使用上的不便,carbon转换出来的美化...