自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(831)
  • 资源 (7)
  • 问答 (1)
  • 收藏
  • 关注

转载 StoneDB 为何敢称业界唯一开源的 MySQL 原生 HTAP 数据库?

近些年,HTAP 正在受到人们越来越多的关注,Gartner 在 2014 年提出了HTAP这个术语和它的定义:Hybrid transaction/analytical processing (HTAP) is an emerging application architecture that "breaks the wall" between transactio...

2022-07-29 08:09:02 69

原创 21天,胖哥亲自带你玩转OAuth2

参与Spring‍ Security与OAuth2专栏限定免费学习群,请从阅读原文扫描第三个专栏学习群二维码入群!关于21天学习挑战赛活动细节,请点击‍阅读原文了解。作者介绍码农小胖哥,Spring Contributor,同时也是一名热衷于技术分享、拥抱开源的技术博主。在CSDN等各大技术平台都有原创技术创作,目前主要的技术栈是Java、Python、Golang等语言...

2022-07-26 19:58:51 171

原创 胖哥亲自带你玩转Spring Security OAuth2

码农小胖哥,SpringContributor,同时也是一名热衷于技术分享、拥抱开源的技术博主。在CSDN等各大技术平台都有原创技术创作,目前主要的技术栈是Java、Python、Golang等语言,擅长的二次开发。Spring Security与OAuth2是我在对深度解读基础上,对OAuth2这一流行授权框架的的特别补充,包含了对Spring生态相关组件进行了解读和实践讲解,并紧跟前沿,对进行了源码分析。以解决OAuth2上手难度的问题。.........

2022-07-26 15:09:51 432 1

原创 Maven依赖的作用域你到底用对了没有

Maven是目前Java开发主要使用的依赖管理构建工具之一,但是很多人在引用依赖的时候直接引用坐标,而没有考虑依赖的作用范围,结果导致出现这样和那样的问题。今天胖哥就来说明一下Maven引用依赖的一个要点概念——作用域。要选择正确的scopescope是Maven坐标的一个关键字,它主要来限制依赖的作用域。它有五种类型:Maven依赖的作用域选择合理的作用域,能够避免一些...

2022-07-25 07:22:10 65

原创 POJO、Java Bean是如何定义的

之前介绍过DTO、PO、VO的转换,在日常开发中还有一些类经常被人叫做POJO,还有的人叫它们Java Bean。这些概念都是在特定场景下引入,用来表明它们的特性的。那这些称呼都是啥意思,有啥标准和特征呢?今天就来分享一下这些没用的知识。POJOPOJO是 Plain Old Java Object 的简写,大概意思就是“淳朴的Java对象”。这个词是国外一家外包公司的员...

2022-07-20 07:40:03 79

原创 分享搭建脚手架的一些经验

印象中有些日子没有写文章了,最近一直在放飞自我,今天和大家分享的一些在搭建脚手架和编程中的一些实践原则。所有目标都是“清晰架构分层”。使用统一的依赖管理这种方式是基于我多年来的实践。最开始我也将项目类库及其版本随意的管理,大部分情况下它们能够正常的工作,遇到版本升级和依赖冲突就很头疼。于是模仿一些知名开源的依赖的管理,定制自己的BOM,就像这样:<dependenc...

2022-07-18 07:55:09 104

转载 并发编程的核心问题

并发编程并不是一项孤立存在的技术,也不是脱离现实生活场景而提出的一项技术。相反,并发编程是一项综合性的技术,同时,它与现实生活中 的场景有着紧密的联系。并发编程有三大核心问题:分工问题同步问题互斥问题本文就对这三大核心问题进行简单的介绍。1分工问题关于分工,比较官方的解释是:一个比较大的任务被拆分成多个大小合适的任务,这些大小合适的任务被交给合适的线程去执行。分工强调的...

2022-07-15 23:23:50 87

转载 利用Sharding-JDBC 实现Mysql读写分离

为什么要读写分离?读写分离则是将事务性的增、改、删操作在主库执行,查询操作在从库执行。一般业务的写操作都是比较耗时,为了避免写操作影响查询的效率,可以使用读写分离。当然读写分离并不是万能的,还有前面的分库分表方案。读写分离如何搭建?MySQL搭建读写分离非常简单,一般有一主一从、一主多从,对于MySQL的主从的相关概念这里就不再详细介绍了。下面陈某就以MySQL5.7为例...

2022-07-07 23:35:36 125

转载 多个线程之间如何协同

1. CountDownLatch 计数器在多线程协作完成任务的时候,有时候需要等待其他线程完成任务后,主线程才能继续执行,我们可以使用Thread类的join()方法,让主线程等待被 join 的线程执行完毕主线程再执行。当然也可以通过线程的消息通信实现,但是今天我们 的并发包里面有一个工具,十分方便的完成这个任务。举个通俗的例子,二狗子带兵打仗,一共 6 个小...

2022-07-06 23:04:38 101

转载 有没有完全自主的国产化数据库技术

前段时间的俄乌冲突,Oracle 宣布“暂停在俄罗斯的所有业务”,相信大家的心情绝不是隔岸观火,而是细思恐极。数据库号称 IT 领域三大核心之一(其他两个是 CPU 和操作系统),一直以来都被国际巨头垄断,人家控制着核心,想什么时候锁喉就什么时候锁,你一点办法都没有。现在解决这个问题的办法只能是自强,将数据库核心技术掌握在自己手里,做属于自己的国产数据库。其实,这个事我国...

2022-07-04 08:37:28 116

转载 Git的一些常用概念

git思维导图Git工作区域 为了说明我们日常开发中执行的一系列Git命令的作用是什么,我们需要了解Git的工作区域的概念,几乎每一个常见的Git命令操作都可以通过工作区域来解释。Git本地有四个工作区域:工作区(Working Directory):在git init之后的本地的文件目录下,也就是大家写代码的地方暂存区(Staged/Index):修改了代码之后,需要先...

2022-07-03 22:53:43 95

转载 福利抽奖 | 开源企业级监控Zabbix6.0都有哪些亮点

Zabbix是企业级开源监控解决方案,支持实时监控数万台服务器、虚拟机和网络设备,采集百万级监控指标,提供跨平台支持。Zabbix完全开源免费,社区十分活跃,生态建设良好,插件也十分的丰富,是企业级监控的重要技术选型之一。文末胖哥将抽出五本Zabbix相关的技术书籍,可以去试试手气哦。Zabbix版本一直在不断升级,以满足日益增长的用户需求,支持高可用HA,K8S、指标t...

2022-06-29 10:11:43 106

转载 并发请求下如何防重复提交

沉寂了几天,开工!前言最近测试给我提了一个bug,说我之前提供的一个批量复制商品的接口,产生了重复的商品数据。追查原因之后发现,这个事情没想象中简单,可以说一波多折。1. 需求产品有个需求:用户选择一些品牌,点击确定按钮之后,系统需要基于一份默认品牌的商品数据,复制出一批新的商品。拿到这个需求时觉得太简单了,三下五除二就搞定。我提供了一个复制商品的基础接口,给商城系统调用...

2022-06-28 22:56:28 173

原创 在OAuth2授权流程中实现联合身份认证

很多同学都知道第三方登录,也都对接过微信、QQ、钉钉等三方登录,但是联合身份认证(Federated Identity)这个概念应该只有少数人了解过,包括胖哥也是一年前才知道这个概念。既然追求刺激,那就贯彻到底!胖哥花了点时间,在OAuth2授权流程中实现了联合身份认证,今天就分享一些骚操作。联合身份模式将身份验证委托给可信任的身份提供者(IDP),包含自有平台和第三方,...

2022-06-16 15:10:50 263 1

原创 甭管什么登录都给你接入到项目中去

上次我们把验证码登录、小程序登录优雅地集成到了Spring Security,很多同学大呼过瘾,相比较一些传统玩法高级了很多。胖哥就赶紧抓住机会举一反三,把微信、企业微信的三方登录也优雅地接了进来。只需要通过下面几行简单的代码就可以完成集成:@BeanDelegateClientRegistrationRepositorydelegateClientRegis...

2022-06-15 00:00:23 242 3

转载 快过期的红包封面

2022-06-13 23:46:39 134

转载 5 张图带你理解 RocketMQ 延时消息机制

大家好,今天来聊一聊 RocketMQ 的延时消息是怎么实现的。延时消息是指发送到 RocketMQ 后不会马上被消费者拉取到,而是等待固定的时间,才能被消费者拉取到,而不是立刻被消费。延时消息的使用场景很多,比如电商场景下关闭超时未支付的订单,某些场景下需要在固定时间后发送提示消息。1 生产者首先看一个生产者发送延时消息的官方示例代码:publicstaticvoi...

2022-06-13 23:46:39 141

原创 微信官方你真的懂OAuth2?Spring Security OAuth2整合企业微信扫码登录

❝企业微信扫码登录DEMO参见文末。现在很多企业都接入了企业微信,作为私域社群工具,企业微信开放了很多API,可以打通很多自有的应用。既然是应用,那肯定需要做登录。正好企业微信提供了企业微信扫码授权登录功能,而且号称使用了OAuth,正好拿这个检验一下Spring Security OAuth2专栏的威力。正当我兴致勃勃打开文档学习的时候,脸上笑容逐渐消失,这确定是OAu...

2022-06-10 16:07:53 407

原创 收藏备用 | 关于OAuth2的一些常见问题总结

关于OAuth2相信很多初学者都有一些疑问,胖哥趁着Spring Security OAuth2专栏写完的间隙将这些疑问一一收集了起来做成了QA,或许能帮助OAuth2学习者,这个必须收藏备用。OAuth2相关的QA❝Q:OAuth2 的一些常用场景?A: OAuth2主要用于API授权,是跨API服务之间授权的解决方案。它适用于单点登录(SSO)、微服务之间的授权鉴权、...

2022-06-08 17:20:50 224

原创 新的Spring Security OAuth2源码解读完成

昨天一口气把Spring Authorization Server最后的和OIDC相关的几个规范写完了,到此Spring Security OAuth2专栏算是告一段落。❝当然还没有彻底结束,以后只要有新功能都会第一时间通过专栏进行补充。历程Spring Security OAuth2专栏目前为止一共包含了50篇系列图文,这50篇图文涵盖了JOSE、OAuth2 Clie...

2022-06-07 12:16:16 306

原创 49-OAuth2授权码中PKCE的配置

PKCE这个词在OAuth2相关的教程中出现的越来越频繁了,它是 Proof Key for Code Exchange的缩写。OAuth2公共客户端非常容易遭受授权码拦截攻击,PKCE技术可以抵御该类型的攻击。

2022-06-06 23:32:54 469 4

原创 48-OIDC OP配置信息端点

在OAuth2AuthorizationServerMetadataEndpointFilter一文中专门提到一个对外提供授权服务器元信息的端点,遵循RFC8414相关的规范。 在OIDC 1.0中同样也有这样一个端点来提供类似的功能,相关的规范为OpenID Provider Configuration Request。...

2022-06-06 17:31:27 239

原创 47-Spring Authorization Server对OIDC客户端动态注册的实现

在46-OIDC客户端动态注册中对OIDC协议中的动态注册客户端的定义进行了讲解,今天我们来看看Spring Authrization Server中是如何实现该功能的。

2022-06-06 13:42:02 354

转载 这几个Java工具类确实好用

前言在java的庞大体系中,其实有很多不错的小工具,也就是我们平常说的:轮子。如果在我们的日常工作当中,能够将这些轮子用户,再配合一下idea的快捷键,可以极大得提升我们的开发效率。今天我决定把一些压箱底的小工具,分享给大家,希望对你有所帮助。本文会分享17个我们日常工作中一定会用得到的小工具,主要内容如下:1. Collections首先出场的是java.util包下的...

2022-06-05 22:29:43 235

原创 46-OIDC动态注册客户端

在OAuth2框架中,OAuth2客户端需要注册到授权服务器,但是并没有规定如何注册到授权服务器。而在OIDC规范中明确定义了RP如何动态向OP进行注册,也就是说在OIDC中是可以直接通过调接口的方式添加一个新的OAuth2客户端的。相关协议具体的信息请参照相关规范。注册客户端必然需要定义个可以注册的客户端,OIDC明确规定了定义OAuth2客户端的元数据,所有规定的属性如下图所示:属性虽然比较多,但是大都是可选的。在Spring Authorization Server中客户端元数据被封装为了。这里的配

2022-06-05 22:13:01 319

原创 Spring宣布旧的Spring Security OAuth彻底停止维护,连文档仓库都没了

Spring Security团队正式宣布Spring Security OAuth终止维护,到达生命的终点。目前官网的主页已经高亮提醒彻底停止维护。旧的Spring Security OAuth项目终止到2.5.2.RELEASE版本,该项目将不会再进行任何的迭代,包括Bug修复,之前胖哥已经提醒该项目即将停止维护,有心的同学已经进行了迁移。2020年就已经宣布了EOL...

2022-06-02 10:56:28 421

原创 是时候为Spring Boot 3.0做准备了

2018年2月28日Spring Boot进入2.0时代,距今已经超过4年了。2022 年11月Spring Boot 3.0将正式发布,它将基于Spring Framework 6.0,并且需要 Java 17 或更高版本,同时它也将是Jakarta EE 9的第一个Spring Boot版本。还有六个月的时间留给开发者来过渡到Spring Boot 3.0,今天胖哥将...

2022-05-31 08:31:28 250

原创 胖哥离职了,挺突然的!

离职了,挺突然的,正好35岁,4月疫情的缘故,业绩断崖式下滑,这里面除了大环境,更多的是人为因素,整个事业部全部要砍掉。35岁,你问我慌不慌,开始有点慌,觉得基本上算是可以告别这个行业了, 尤其像我这样没有什么Title,也没有什么大厂经历的人,而且在这个环境下,可能未来的路不太好走。我想大部分人都是我这样的人,面对突发的状况,我准备了很长一段时间,你有没有给自己准备后路...

2022-05-30 10:11:57 294 1

原创 45-Spring Authorization Server中OIDC用户信息端点配置

在OIDC核心一文中对OIDC的协议簇和一些要点进行了简单的解读,今天我们回到Spring Authorization Server中去,看看Spring Authorization Server中的OIDC是如何配置的。本文基于Spring Authorization Server 0.3.0。OidcConfigurerSpring Authorization Server的OIDC配置都在OidcConfigurer这个配置类中,该配置类更像一个适配器,它并不直接提供配置,而是聚合了OIDC

2022-05-29 23:48:21 534

原创 44-开发者应该掌握的OIDC核心知识

OIDC是在OAuth2的基础上做了一个身份认证层,以便于客户端知晓授权的终端用户(End User),在客户端获取access_token的同时一并提供了一个用户的身份认证信息Id Token,它必须使用JWT格式。OIDC几个关键术语EU End User的缩写,指的是 一个最终用户。RP Relying Party的缩写,指的是OAuth2中的受信客户端,身份认证和授权信息的消费方;OP OpenID Provider的缩写,指的是有能力提供EU认证的服务(比如OAuth2中的授权服务),用

2022-05-27 15:43:06 563

原创 Spring Authorization Server 0.3.0 发布,官方文档正式上线

基于OAuth2.1的授权服务器Spring Authorization Server 0.3.0今天正式发布,在本次更新中有几大亮点。文档正式上线Spring Authorization Server 的文档随着本次更新正式发布了,目前已经可以在Spring官网访问。地址是:https://spring.io/projects/spring-authorization-server该文档目前包含了以下几个重要的模块:项目概述:简介和功能列表。获得帮助:示例、常见问题和issues。入门

2022-05-26 10:39:49 1805

原创 Spring Authorization Server 0.3.0发布,官方文档正式上线

Spring Authorization Server 0.3.0今天正式发布,在本次更新中有几大亮点。基于Spring Authorization Server的授权服务器控制台项目Id Server也将全面升级到最新版本。文档正式发布Spring Authorization Server 的文档随着本次更新正式发布了,目前已经可以在Spring官网访问。地址:http...

2022-05-26 10:03:57 225

转载 12 张图带你彻底理解Java新的垃圾收集器ZGC

ZGC(Z Garbage Collector) 是一款性能比 G1 更加优秀的垃圾收集器。ZGC 第一次出现是在 JDK 11 中以实验性的特性引入,这也是 JDK 11 中最大的亮点。在 JDK 15 中 ZGC 不再是实验功能,可以正式投入生产使用了,使用 –XX:+UseZGC 可以启用 ZGC。ZGC 有 3 个重要特性:暂停时间不会超过 10 ms。JDK ...

2022-05-24 23:17:43 210

原创 43-Spring Authorization Server中的OAuth2令牌撤销

令牌撤销也是一个很常见的需求,在一些情况下要求能对已经发放的令牌进行撤销操作,OAuth2定义了相关的规范RFC7009。Spring Authorization Server提供了这一功能。OAuth2TokenRevocationEndpointConfigurerOAuth2TokenRevocationEndpointConfigurer是配置负责处理令牌撤销的过滤器的配置类。以上五项都可以自定义,大部分情况下我们使用默认配置就行了。OAuth2TokenRevocationEndpoin

2022-05-24 16:01:00 397 1

原创 搞定了!OAuth2使用验证码进行授权

现在验证码登录已经成为很多应用的主流登录方式,但是对于OAuth2授权来说,手机号验证码处理用户认证就非常繁琐,很多同学却不知道怎么接入。认真研究胖哥Spring Security OAuth2专栏的都会知道一个事,OAuth2其实不管资源拥有者是如何认证的,只要资源拥有者在授权的环节中认证了就可以了,至于你是验证码、账密,甚至是什么指纹虹膜都无所谓。Id Server实...

2022-05-20 18:04:30 457

原创 Spring Boot 2.7.0发布,2.5停止维护,节奏太快了吧

这几天是Spring版本日,很多Spring工件都发布了新版本, Spring Framework 6.0.0 发布了第 4 个里程碑版本,此版本包含所有针对 5.3.20 的修复补丁,以及特定于 6.0 分支的 39 项修复和改进。而今天Spring Boot 2.7.0和Spring Security的几个分支都发布了新版本,尤其Spring Boot 2.7.0是一...

2022-05-19 23:59:49 5139 6

原创 42-OAuth2授权服务器生成访问令牌的逻辑

上一篇分析了OAuth2TokenEndpointFilter,它处理了授权码模式、刷新模式、客户端凭据模式三种Token请求的逻辑,正好对应了三个AuthenticationProvider。OAuth2AuthorizationCodeAuthenticationProvider在 Spring Security OAuth2 Client 包中也有一个同名的类,要区分开来。授权码模式生成Token的过程虽然非常复杂的,不过还是需要分析一下的。①获取当前验证码对应的OAuth2客户端

2022-05-17 23:56:28 502 9

原创 一套系统多套用户安全体系该怎么办

在业务系统中很可能遇到两个或者用户体系,比如后台管理用户和前台APP用户。很多时候这两种用户走的还是两种不同的体系,比如后台用户用有状态的Session,而前台用户用流行的无状态JWT,总之它们是两种完全不同的隔离体系。这种需求该怎么实现呢?其中有哪些坑要踩呢?本文将告诉你怎么做。路径拦截策略在Spring Security中当然是按照不同的请求路径规则定义专门的过滤器链...

2022-05-17 07:30:59 300

原创 Spring Cloud的OAuth2认证授权不再需要密码模式了

旧的Spring Security OAuth2停止维护已经有一段时间了,99%的Spring Cloud微服务项目还在使用这些旧的体系,严重青黄不接。很多同学都在寻找新的解决方案,甚至还有念念不忘密码模式的,别想了,已经凉透了。胖哥也在前面写了一篇解决思路的文章。好像还是不过瘾,今天看到这篇文章的同学有福了,问题将在这里得到解决。仓库地址:https://github....

2022-05-16 23:59:10 684 1

转载 Redis的数据类型HyperLogLog有什么用

在移动互联网的业务场景中,数据量很大,我们需要保存这样的信息:一个 key 关联了一个数据集合,同时对这个数据集合做统计。统计一个 APP 的日活、月活数;统计一个页面的每天被多少个不同账户访问量(Unique Visitor,UV));统计用户每天搜索不同词条的个数;统计注册 IP 数。通常情况下,我们面临的用户数量以及访问量都是巨大的,比如百万、千万级别的用户数量,或...

2022-05-16 23:59:10 225

R2DBC_Paluch_Folien.pdf

Spring 官方在 Spring 5 发布了响应式 Web 框架 Spring WebFlux 之后急需能够满足异步响应的数据库交互 API 。 由于缺乏标准和驱动,Pivotal(Spring 官方) 团队开始研究反应式关系型数据库连接(Reactive Relational Database Connectivity),并提出了 R2DBC 规范 API 以评估可行性并讨论数据库厂商是否有兴趣支持反应式的异步非阻塞驱动程序。最开始只有 PostgreSQL 、H2、MSSQL 三家,现在 MySQL 也加入了进来。R2DBC 最新版本是0.8.1.RELEASE。除了驱动实现外还提供了 R2DBC 连接池 和 R2DBC 代理。除此之外还支持云原生应用

2020-06-28

kotlin 官方文档

学习kotlin 的权威文档 Kotlin 非常适合开发服务器端应用程序,允许编写简明且表现力强的代码, 同时保持与现有 基于 Java 的技术栈的完全兼容性以及平滑的学习曲线: 表现力:Kotlin 的革新式语言功能,例如支持类型安全的构建器和委托属性,有助于构建 强大而易于使用的抽象。 可伸缩性:Kotlin 对协程的支持有助于构建服务器端应用程序, 伸缩到适度的硬件要求 以应对大量的客户端。 互操作性:Kotlin 与所有基于 Java 的框架完全兼容,可以让你保持熟悉的技术栈,同时 获得更现代化语言的优势。 迁移:Kotlin 支持大型代码库从 Java 到 Kotlin 逐步迁移。你可以开始用 Kotlin 编写新代 码,同时系统中较旧部分继续用 Java。 工具:除了很棒的 IDE 支持之外,Kotlin 还为 IntelliJ IDEA Ultimate 的插件提供了框架特 定的工具(例如 Spring)。 学习曲线:对于 Java 开发人员,Kotlin 入门很容易。包含在 Kotlin 插件中的自动 Java 到 Kotlin 的转换器有助于迈出第一步。Kotlin 心印 通过一系列互动练习提供了语言主要 功能的指南。

2018-12-14

IDE Support V2.0.9

JS chrome 调试插件

2017-02-12

spring boot 参考指南

非常不错 参考指南

2016-10-16

spring4 中文API

版权归原作者所有

2016-10-08

百度 echarts 数据图形渲染技术学习指南

基于h5的图形化技术

2016-10-08

spring-mvc4.2.4.RELEASE中文API官方原版翻译

基于4.2.4版本 版权归原作者所有

2016-10-08

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除