SpringBoot项目添加2FA双因素身份认证
什么是 2FA(双因素身份验证)? 双因素身份验证(2FA)是一种安全系统,要求用户提供两种不同的身份验证方式才能访问某个系统或服务。国内普遍做短信验证码这种的用的比较少,不过在国外的网站中使用双因素身份验证的还是很多的。用户通过使用验证器扫描二维码,就能在app上获取登录的动态口令,进一步加强了账 ...
公司来了个新同事,把 DDD 运用得炉火纯青!
前言 我们生活中都听说了DDD,也了解了DDD,那么怎么将一个新项目从头开始按照DDD的过程进行划分与架构设计呢? 一、专业术语 各种服务 IAAS:基础设施服务,Infrastructure-as-a-service PAAS:平台服务,Platform-as-a-service SAAS:软件服 ...
MySQL 分库分表方案,总结太全了。。
来源:https://www.cnblogs.com/405845829qq/p/7552736.html 前言 公司最近在搞服务分离,数据切分方面的东西,因为单张包裹表的数据量实在是太大,并且还在以每天60W的量增长。 之前了解过数据库的分库分表,读过几篇博文,但就只知道个模糊概念, 而且现在回想 ...
支持私有部署的云端存储双链笔记软件
大家好,我是 Java陈序员。 我们无论是日常生活还是办公,常常需要使用一些工具软件来记录笔记、代办事项等。 今天,给大家介绍一款支持私有化部署、支持多端使用的笔记软件。 关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享、超200本经典计算机电子书籍等。 项目介绍 Blossom ...
第一篇博客记录test
调试vs Code查看使用test 工作在浏览器上人-YangBobin 知识不在广泛,在于精通。知识不在积累,在于消化。 学习不在激情,在于坚持。书不在多,一两本真正看懂就行。书读百遍,其义自现。 随笔 - 897, 文章 - 1, 评论 - 81, 阅读 - 158万 VSCode用markdo ...
手写SpringMVC底层机制
手写 SpringMVC 底层机制 前景提要:实现的是SpringMVC核心机制 对一些细枝末节的代码做了简化,比如字符串的处理... 完成哪些机制 机制一: 通过@RequestMapping ,可以标记一个方法,编写路径url,浏览器就能通过url完成调用 机制二: 进行依赖注入,使之不需要传统 ...
SpringMVC学习总结 + 【手写SpringMVC底层机制核心】
SpringMVC笔记 SpringMVC介绍 基本介绍 SpringMVC 是WEB 层框架, 接管了Web 层组件, 支持MVC 的开发模式/开发架构 SpringMVC 通过注解,让POJO 成为控制器,不需要继承类或者实现接口 SpringMVC 采用低耦合的组件设计方式,具有更好扩展和灵活 ...
web server apache tomcat11-18-clusting 集群
前言 整理这个官方翻译的系列,原因是网上大部分的 tomcat 版本比较旧,此版本为 v11 最新的版本。 开源项目 从零手写实现 tomcat minicat 别称【嗅虎】心有猛虎,轻嗅蔷薇。 系列文章 web server apache tomcat11-01-官方文档入门介绍 web serv ...
@ComponentScan注解的实现,Spring扫描包的过程
相信接触过spring做开发的小伙伴们一定使用过@ComponentScan注解 @ComponentScan("com.wangm.lifecycle") public class AppConfig { } @ComponentScan指定basePackage,将包下的类按照一定规则注册成Be ...
springboot~mybatis-plus中使用TypeHandler做类型映射
mybatis-plus中,如果数据表字段类型与java实体字段类型不一样,这时就需要做类型映射与转换了,我们一般可以实现TypeHandler接口,或者继承抽象类BaseTypeHandler,我们下面举例来说明一下它的使用方法。 场景 数据表里字段是varchar,java里是List集合,例如 ...
Java面试题:请谈谈Java中的volatile关键字?
在Java中,volatile关键字是一种特殊的修饰符,用于确保多线程环境下的变量可见性和顺序性。当一个变量被声明为volatile时,它可以确保以下两点: 内存可见性:当一个线程修改了一个volatile变量的值,其他线程会立即看到这个改变。这是因为volatile关键字会禁止CPU缓存和编译器优 ...
自动生成数据库设计文档,支持多数据源批量生成(Word文档)
在做项目时通常使用PowerDesigner设计数据库,但在项目完成交付项目给客户的时候常常需要一份Word版本的数据库文档给客户,你不能指望每个客户都会用PowerDesigner,所以基于当前开发数据库生成数据库文档就是最佳选择,如果手动编写数据库文档那将是一件非常痛苦的费力不讨好的事情,自动生... ...
keycloak~jwks-rsa中使用的设计模式
com.auth0.jwk组织下面的jwks-rsa包,主要实现的是通过公钥对jwt的签名进行验证,在这个包中,它使用了包装器的设计模式,对默认的jwks提供者添加了一缓存的支持,通过建立一个GuavaCachedJwkProvider类,传入一个默认的UrlJwkProvider来将这个Provi ...
【插件】IDEA这款插件,爱到无法自拔
通义灵码代码智能生成,完成工作更高效,行/函数级实时续写、自然语言生成代码、单元测试生成、代码优化、代码注释生成、代码解释 ...
keycloak~使用jwks验证token的合法性
keycloak提供了jwks服务,其地址可以在/auth/realms/fabao/.well-known/openid-configuration的返回结果中找到,jwks_uri它表示了公钥的颁发者,可以使用颁发出来的公钥来验证token的签名,基地址也是固定的/auth/realms/fab ...
web server apache tomcat11-16-mbean
前言 整理这个官方翻译的系列,原因是网上大部分的 tomcat 版本比较旧,此版本为 v11 最新的版本。 开源项目 从零手写实现 tomcat minicat 别称【嗅虎】心有猛虎,轻嗅蔷薇。 系列文章 web server apache tomcat11-01-官方文档入门介绍 web serv ...
03-为啥大模型LLM还没能完全替代你?
1 不具备记忆能力的 它是零状态的,我们平常在使用一些大模型产品,尤其在使用他们的API的时候,我们会发现那你和它对话,尤其是多轮对话的时候,经过一些轮次后,这些记忆就消失了,因为它也记不住那么多。 2 上下文窗口的限制 大模型对其input和output,也就是它的输入输出有数量限制。为了保护它的 ...
公司新来一个干练小伙,把 MyBatis 替换成 MyBatis-Plus,上线后哭晕在厕所。。。
作者:青石路 来源:https://www.cnblogs.com/youzhibing/p/18019399 MyBatis 替换成 MyBatis-Plus 背景介绍 一个老项目,数据库用的是 MySQL 5.7.36 , ORM 框架用的 MyBatis 3.5.0 , mysql-conne ...
线程池的运行逻辑与你想象的不一样,它是池族中的异类
只要是 web 项目,程序都会直接或间接使用到线程池,它的使用是如此频繁,以至于像空气一样,大多数时候被我们无视了。但有时候,我们会相当然地认为线程池与其它对象池(如:数据库连接池)一样,要用的时候向池子索取,用完后归还给它即可。然后事实上,线程池独树一帜、鹤立鸡群,它与普通的对象池就是不同。本文本 ...