草庐IT

你还在

全部标签

日志里的敏感信息还在打明文?3 种日志脱敏方案任你选

背景我们打的日志中经常包含姓名、手机号、银行卡号等敏感信息,如果不做任何处理,就会以明文的形式展示在日志中,存在安全风险。像下面这样:我们需要一种能自动帮我们脱敏的工具,效果如下:方案1-基于logback我们得先搞清楚消息内容是在哪里处理的,也就是配置文件中这个占位符的内容:对应到源码是这里ch.qos.logback.classic.PatternLayout:这里可以看出来都是 通过这个类处理的 ch.qos.logback.classic.pattern.MessageConverter。继续看一下这个类的逻辑:publicclassMessageConverterextendsCla

升级版飞机大战来袭,手把手教学,万字详解,你还学不会嘛?

前言嗨!好几天没更新了,有没有想我?最近大家都在干嘛呢?哈哈哈我知道了,大家再准备1024程序员节嘛~上一期给大家制作了一个简易版本的飞机大战大家还记得嘛,不记得的话可以看下往期的文章哈。今天给大家升级了哦,期待吧,话不多说,正式开始吧正文一、游戏构想游戏的基本设定:敌方共有大中小3款飞机,分为高中低三种速度;子弹的射程并非全屏,而大概是屏幕长度的80%;消灭小飞机需要1发子弹,中飞机需要8发,大飞机需要20发子弹;每消灭一架小飞机得1000分,中飞机6000分,大飞机10000分;每隔30秒有一个随机的道具补给,分为两种道具,全屏炸弹和双倍子弹;全屏炸弹最多只能存放3枚,双倍子弹可以维持18

升级版飞机大战来袭,手把手教学,万字详解,你还学不会嘛?

前言嗨!好几天没更新了,有没有想我?最近大家都在干嘛呢?哈哈哈我知道了,大家再准备1024程序员节嘛~上一期给大家制作了一个简易版本的飞机大战大家还记得嘛,不记得的话可以看下往期的文章哈。今天给大家升级了哦,期待吧,话不多说,正式开始吧正文一、游戏构想游戏的基本设定:敌方共有大中小3款飞机,分为高中低三种速度;子弹的射程并非全屏,而大概是屏幕长度的80%;消灭小飞机需要1发子弹,中飞机需要8发,大飞机需要20发子弹;每消灭一架小飞机得1000分,中飞机6000分,大飞机10000分;每隔30秒有一个随机的道具补给,分为两种道具,全屏炸弹和双倍子弹;全屏炸弹最多只能存放3枚,双倍子弹可以维持18

不会Nginx Ingress可观测,你还算的上运维工程师吗?

Kubernetes 提供了四层代理用来访问部署在Pod中的应用,这种具有四层代理的 Service,Kubernetes 提供了四种访问方式:ClusterIP:供集群内的其它应用访问,外部无法访问。NodePort:所有节点上开放指定端口,外部可以通过IP+端口访问服务,如果没有指定NodePort的端口,默认会随机分配一个30000–32767的端口。LoadBalancer:在NodePort基础上,使用云服务商提供的负载均衡器,把流量转发到服务中。ExternalName:通过返回CNAME和它的值,可以将服务映射到externalName字段的内容。上述的四种方式都不能满足通过域名

不会Nginx Ingress可观测,你还算的上运维工程师吗?

Kubernetes 提供了四层代理用来访问部署在Pod中的应用,这种具有四层代理的 Service,Kubernetes 提供了四种访问方式:ClusterIP:供集群内的其它应用访问,外部无法访问。NodePort:所有节点上开放指定端口,外部可以通过IP+端口访问服务,如果没有指定NodePort的端口,默认会随机分配一个30000–32767的端口。LoadBalancer:在NodePort基础上,使用云服务商提供的负载均衡器,把流量转发到服务中。ExternalName:通过返回CNAME和它的值,可以将服务映射到externalName字段的内容。上述的四种方式都不能满足通过域名

你还在手写 join 联表查询?MyBatis-Plus 这样写太香了!

使用方法安装Mavencom.github.yulichangmybatis-plus-join1.2.4Gradleimplementation'com.github.yulichang:mybatis-plus-join:1.2.4'或者clone代码到本地执行mvninstall,再引入以上依赖注意:mybatisplusversion>=3.4.0推荐一个开源免费的SpringBoot最全教程:https://github.com/javastacks/spring-boot-best-practice使用mapper继承MPJBaseMapper(必选)service继承MPJBas

你还在手写 join 联表查询?MyBatis-Plus 这样写太香了!

使用方法安装Mavencom.github.yulichangmybatis-plus-join1.2.4Gradleimplementation'com.github.yulichang:mybatis-plus-join:1.2.4'或者clone代码到本地执行mvninstall,再引入以上依赖注意:mybatisplusversion>=3.4.0推荐一个开源免费的SpringBoot最全教程:https://github.com/javastacks/spring-boot-best-practice使用mapper继承MPJBaseMapper(必选)service继承MPJBas

你还在手写 join 联表查询?MyBatis-Plus 这样写太香了!

使用方法安装Mavencom.github.yulichangmybatis-plus-join1.2.4Gradleimplementation'com.github.yulichang:mybatis-plus-join:1.2.4'或者clone代码到本地执行mvninstall,再引入以上依赖注意:mybatisplusversion>=3.4.0推荐一个开源免费的SpringBoot最全教程:https://github.com/javastacks/spring-boot-best-practice使用mapper继承MPJBaseMapper(必选)service继承MPJBas

你还在手写 join 联表查询?MyBatis-Plus 这样写太香了!

使用方法安装Mavencom.github.yulichangmybatis-plus-join1.2.4Gradleimplementation'com.github.yulichang:mybatis-plus-join:1.2.4'或者clone代码到本地执行mvninstall,再引入以上依赖注意:mybatisplusversion>=3.4.0推荐一个开源免费的SpringBoot最全教程:https://github.com/javastacks/spring-boot-best-practice使用mapper继承MPJBaseMapper(必选)service继承MPJBas

还在苦于密码太弱?教你3招用Linux生成高强度密码

各位好啊,我是会编程的蜗牛,作为java开发者,我们平常肯定会接触Linux操作系统,其实除了一般的部署应用外,它还可以帮助我们生成密码。解决我们平常自己想各种复杂密码的烦恼,以后我会讲一讲如何安全地保存我们的密码。当今社会,信息泄露越来越严重,而强大的密码是保护个人敏感信息的第一步。在生活中,我们在各种场合都会用到大量的密码,有些人为了贪图方便,把这些密码都设置成一样,但是这样很危险,因为一旦泄漏的话,所有的账号都将暴露在风险之下。那么,有这么多场合需要用到密码,我们需要如何去想这么多高强度的密码呢(所谓的高强度密码,就是包含了大小写、数字、符号的密码)?如果仅仅是依靠自己的脑袋瓜去想的话,