![](https://img-blog.csdnimg.cn/2019092715111047.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
服务器端
文章平均质量分 94
服务器后端编程,如介绍Java、PHP编程语言及周边配套开发工具,Spring、Spring boot、Spring cloud及Spring cloud alibaba等
52it.club
1、【极客精神】具有较强行业敏锐度,喜欢追逐前沿技术(docker、k8s、elasticsearch、Nginx、mongodb、spring boot/spring cloud等开源软件)、并关注前沿技术在业务中的价值;时刻清理自我,过去的经历不再重要,面对未来,我始终保持一颗学习的心态;
2、【团队管理】擅长团队组建与扩充、产品(尤其是软件产品)研发管理体系的建立与完善;极强的适应能力、组织能力、接受能力和应变能力,友善处理人际关系;曾带领研发团队(UI、前端、后端、测试、产品)高效完成电商、新媒体、物联网产品等产品
3、【项目丰富】开发过多种类型的产品,其中包括电商、股票理财、资讯等
展开
-
【消息中间件】新一代消息中间件Apache Pulsar将成主流?为什么被各大巨头热衷?
诞生的场景背景Kafka 作为一款明星级产品,能够彻底满足海量数据场景下高吞吐、高并发需求,在短短几年内,已经被阿里、腾讯、百度、字节跳动、Netflix、Twitter 等超一线大厂视为技术核心。然而,技术的世界从没有“三十年河东三十年河西”的说法,夸张地比喻一下:很多技术经常是今天诞生、明天爆火、后天淘汰。Kafka 被誉为消息传递系统之王,它全面具备:高吞吐量、低延迟、容错、持久性、可伸缩性,尤其是广为人知的高吞吐量,Kafka 每秒大约可以生产约 25 万消息(50 MB),每秒处理 55原创 2021-05-28 12:30:47 · 630 阅读 · 0 评论 -
【云原生】福利Spring Native beta发布,原生JVM调优或许将成为过去式
实际上,这意味着自Spring成立以来,除了Spring支持的常规Java虚拟机之外,我们还将添加Beta支持,以使用GraalVM将Spring应用程序编译到本机映像中,从而提供一种部署Spring应用程序的新方法。支持Java和Kotlin。这些本机Spring应用程序可以部署为独立的可执行文件(无需安装JVM),并提供有趣的特性,包括几乎即时启动(通常<100ms),即时峰值性能和较低的内存消耗,但所需的构建时间和运行时优化次数少于JVM。Spring 团队日前发布了 Sprin..原创 2021-05-19 10:39:55 · 395 阅读 · 0 评论 -
【Spring Security】如何在登录认证中添加验证码
前面介绍了spring security 基础配置,并没有对认证逻辑进行过多的改动,现在我们就来介绍一下自定义认证逻辑,无论是添加登录验证码还是修改登录数据库格式,都需要对认证逻辑作出调整。在我们完成自定义认证之前,我们需要再了解一下认证流程。认证流程简析AuthenticationProvider 定义了 Spring Security 中的验证逻辑,我们来看下 AuthenticationProvider 的定义:public interface AuthenticationProvider {原创 2021-05-06 19:29:41 · 1444 阅读 · 0 评论 -
【Spring Security】在微服务项目中,Spring Security 比 Shiro 强在哪?
在微服务项目中,Spring Security 比 Shiro 强在哪?虽然目前 Spring Security 一片火热,但是 Shiro 的市场依然存在,今天我就来稍微的说一说这两个框架的,方便大家在实际项目中选择适合自己的安全管理框架。首先我要声明一点,框架无所谓好坏,关键是适合当前项目场景,作为一个年轻的程序员更不应该厚此薄彼,或者拒绝学习某一个框架。所以接下来主要结合我自己的经验来说一说这两个框架的优缺点,没有提到的地方也欢迎大家留言补充。Spring Security1. 因为 Sprin原创 2021-05-02 18:11:32 · 501 阅读 · 1 评论 -
【Spring Security】Spring Boot + Spring Security 实现自动登录功能
spring security 如何实现安全的自动登录自动登录是我们在软件开发时一个非常常见的功能,很多网站我们在登录的时候都会有记住密码选项,毕竟总让用户输入用户名密码是一件很麻烦的事。自动登录功能就是,用户在登录成功后,在某一段时间内,如果用户关闭了浏览器并重新打开,或者服务器重启了,都不需要用户重新登录了,用户依然可以直接访问接口数据。作为一个常见的功能,我们的 Spring Security 肯定也提供了相应的支持,本文我们就来看下 Spring Security 中如何实现这个功能。这个功能实现原创 2021-05-02 16:06:46 · 454 阅读 · 0 评论 -
【Spring Security】Spring Security+Spring Data Jpa逆向生成数据库表
Spring Security+Spring Data Jpa 环境快速搭建我们还是继续我们之前的安全管理权限框架学习,我们这里使用到的技术有 Spring Security 和 Spring Data Jpa 强强联手,安全管理没有简单,只有更简单!之前篇幅中我们的用户数据都保存在内存中,虽然中途介绍了 JdbcUserDetailsManager,但是使用起来依然灵活性不便,所以今天我要采用一个更加灵活的定义方式。那就是我们自己来定义授权数据库的模型。为了操作简单,我这里引入 Spring Data原创 2021-05-01 02:05:24 · 567 阅读 · 1 评论 -
【Spring Security】 如何将用户数据存入数据库?
Spring Security 如何将用户数据存入数据库?Spring Security 介绍到现在,我们还没连上数据库呢。真正的项目中,大部分情况下,我们都是自己设计权限数据库。不过,Spring Security 也给我们提供了一个它自己设计好的权限数据库,这里我们先来看看这是怎么回事!我们先来学这个简单的,然后我们再去看复杂的。1.UserDetailServiceSpring Security 支持多种不同的数据源,这些不同的数据源最终都将被封装成 UserDetailsService 的实例原创 2021-04-27 16:25:57 · 802 阅读 · 0 评论 -
【Spring Security】Spring Security 中的怎么样增加授权操作?只需要2步即可实现
Spring Security 中的怎么样增加授权操作?我们都知道安全认证框架避不开两大核心功能,第一是认证,第二个是授权;通过前面文章的介绍,Spring Security 中的登录认证我们就先告一个小小段落。在本系列未来的教程中,我们还会继续涉及到 Spring Security 中的登录认证问题,这个我们以后再说。今天我们就通过一个简单的案例来看看 Spring Security 中的授权操作。1.授权所谓的授权,就是用户如果要访问某一个资源,我们要去检查用户是否具备这样的权限,如果具备就允许访原创 2021-04-25 19:02:26 · 328 阅读 · 0 评论 -
【Spring Security】 做前后端分离配置,通过JSON进行数据交互
Spring Security 做前后端分离,通过 JSON数据交互前后端分离开发后,认证这一块到底是使用传统的 session 还是使用像 JWT 这样的 token 来解决呢?这确实代表了两种不同的方向。传统的通过 session 来记录用户认证信息的方式我们可以理解为这是一种有状态登录,而 JWT 则代表了一种无状态登录。可能有小伙伴对这个概念还不太熟悉,我这里就先来科普一下有状态登录和无状态登录。1. 无状态登录1.1 什么是有状态有状态服务,即服务端需要记录每次会话的客户端信息,从而识别客原创 2021-04-25 15:17:34 · 430 阅读 · 0 评论 -
【Spring Security】手把手带你捋一遍 Spring Security 登录流程
背景为什么想和大家捋一捋 Spring Security 登录流程呢?这是因为之前小伙伴们的一个提问:如何在 Spring Security 中动态修改用户信息?如果你搞清楚了 Spring Security 登录流程,这其实不是问题。我们先来大致描述一下问题场景:你在服务端的安全管理使用了 Spring Security,用户登录成功之后,Spring Security 帮你把用户信息保存在Session 里,但是具体保存在哪里,要是不深究你可能就不知道,这带来了一个问题,如果用户在前端操作修改了原创 2021-04-25 12:50:29 · 600 阅读 · 0 评论 -
【Spring Security】手把手带你快速入门Spring Security之WebSecurityConfigurerAdapter初次体验
【Spring Security】手把手带你快速入门Spring Security之WebSecurityConfigurerAdapter初次体验Spring Security 概述Spring Security 是一个功能强大且高度可定制的身份验证和访问控制框架。它是用于保护基于Spring的应用程序的实际标准。Spring Security 致力于为Java应用程序提供身份验证和授权。与所有Spring项目一样,Spring Security的真正强大之处在于可以轻松扩展以满足自定义要求特性:原创 2021-04-24 00:47:07 · 1459 阅读 · 1 评论 -
【Spring Cloud Alibaba】使用 sentinel 实现限流&熔断实践
实验说明本实验,你将会通过一个简单的案例,学习如何使用sentinel来保护你的应用。step1 实验环境准备启动服务端首先你需要启动一套 sentinel 服务端环境#创建preparesentinel.sh 脚本文件#!/bin/bashmkdir logswget -O /home/shell/sentinel-dashboard-1.8.0.jar https://handson.oss-cn-shanghai.aliyuncs.com/sentinel-dashbo原创 2021-03-21 17:34:29 · 596 阅读 · 0 评论 -
【Spring Cloud Alibaba】Spring Cloud Alibaba 分布式服务调用实践
1. 简介在《Spring Cloud Alibaba 服务注册与发现》篇中曾提到,Spring Cloud Alibaba Nacos Discovery 能无缝整合 Spring Cloud OpenFeign。换言之,Spring Cloud Alibaba 延续了 Spring Cloud 分布式服务调用的特性。除此之外,Spring Cloud Alibaba 引入了 Dubbo Spring Cloud,扩展了分布式服务调用能力,不仅能使 Apache Dubbo 和 OpenFeign 共原创 2021-03-19 21:29:49 · 509 阅读 · 0 评论 -
【设计模式】看Mybatis源码使用的 9 种设计模式,真是太有用了
虽然我们都知道有26个设计模式,但是大多停留在概念层面,真实开发中很少遇到,Mybatis源码中使用了大量的设计模式,阅读源码并观察设计模式在其中的应用,能够更深入的理解设计模式。Mybatis至少遇到了以下的设计模式的使用:Builder模式,例如SqlSessionFactoryBuilder、XMLConfigBuilder、XMLMapperBuilder、XMLStatementBuilder、CacheBuilder; 工厂模式,例如SqlSessionFactory、ObjectFa转载 2020-11-04 12:03:50 · 163 阅读 · 0 评论 -
【漏洞预警】Apache Dubbo反序列化漏洞及修复方案
漏洞描述Apache Dubbo是一款应用广泛的Java RPC分布式服务框架。Apache Dubbo于2020年6月23日披露在Dubbo Provider中存在一个反序列化远程代码执行漏洞(CVE-2020-1948),官方发布2.7.7版本修复漏洞,但近日该漏洞补丁被绕过,经阿里云工程师测试绕过有效,且目前官方还未发布新版本,漏洞属0day级,风险极大。阿里云应急响应中心提醒Apache Dubbo用户尽快采取安全措施阻止漏洞攻击。2020年6月29日,阿里云应急响应中心监测到Apache Du原创 2020-07-01 22:06:15 · 2658 阅读 · 0 评论 -
【BAT面试宝典】蚂蚁金服面试题之分布式全局ID的常见的实现方案有哪些?
分布式全局ID的常见的实现方案为什么要用分布式全局ID背景假如我们需要满足以下分布式ID的特性方案一:数据库自增ID优点:缺点:改进方法:进一步改进为批量生成ID(号段模式)优点:缺点:改进方法:方案二:UUID优点:缺点:上面无法保证趋势递增 可以增加时间毫秒数优点:缺点:方案三:redis 实现优点:缺点:方案四:基于雪花算法(Snowflake)模式优点缺点:方案五:百度(uid-generator)方案六:美团Leaf方案七:滴滴(Tinyid)tinyid的原理性能与可用性性能可用性Tinyid的原创 2020-06-19 18:55:33 · 560 阅读 · 0 评论 -
【IDE插件】秒懂Alibaba Cloud Toolkit一站式开发测试部署及诊断IDE插件工具,让开发应用更降本增效!
IDE Cloud Toolkit插件一键管理云端发布利器Cloud Toolkit 介绍传统部署方式Cloud Toolkit部署方式插件功能说明使用IDE安装和配置Cloud Toolkit有相应的环境要求,详情请见下表:Command命令使用须知应用场景介绍提升部署效率本地 Docker Image 打包和仓库推送工具内置终端 Terminal(可以替换xshell\ssh等客户端工具)文件上传(可以替换 FTP、SCP 工具)插件实践IntelliJ IDEA中安装和配置Cloud Toolkit部原创 2020-06-12 14:17:43 · 1057 阅读 · 0 评论 -
【云服务架构】什么是云原生应用?有哪些特点?来看看阿里云大学公开课给你答案
云原生技术发展简史首先从第一个问题进行分享,那就是“为什么要开设云原生技术公开课?”云原生、CNCF都是目前非常热门的关键词,但是这些技术并不是非常新鲜的内容。2004年— 2007年,Google 已在内部大规模地使用像 Cgroups这样的容器技术; 2008年,Google将 Cgroups合并进入了Linux内核主干; 2013年,Docker项目正式发布。 2014年,Kubernetes项目也正式发布。这样的原因也非常容易理解,因为有了容器和Docker...原创 2020-06-04 00:43:43 · 1486 阅读 · 0 评论 -
【文档插件】使用intellij IDEA AsciiDoc插件查看SpringCloud alibaba 开发文档
背景我们开发过程中,查看SpringCloud alibaba开源代码文档中出现了.adoc文件,为了了解并使用这个文件,简单记录以下功能和用法,方便后续查阅使用.adoc 文档编辑利器asciiddoc功能比较强大,比markdown给为强大,但是也复杂一下,使用门槛稍高,但不过还好。查查手册经常谢谢,很容易掌握的。markdown 大家基本都熟悉,作为程序员,进行知识管理,用markdown 有点很多。例如我就喜欢他语法简洁,在积累下来的大量文档中搜索变的比较容易。比word要强多了。mark原创 2020-06-03 18:50:00 · 4500 阅读 · 0 评论 -
【Spring Cloud Alibaba】Spring Cloud Alibaba 从入门到精通之微服务前世今生
该课程主要讲解Spring Cloud Alibaba核心组件 Nacos(服务注册与发现和分布式配置中心)、Sentinel(服务保护框架)、Seata(分布式事务解决框架)、阿里云OSS、Alibaba Cloud SchedulerX等。原创 2020-05-29 15:21:55 · 748 阅读 · 0 评论 -
【Java开发】7天零基础快速入门Java编程 | 开发者速成班
简介: 如果你还是Java小白,那么福利来啦!这里整理了7篇Java入门教程,一日一课,一周开启你的编程之旅!原创 2020-05-01 20:17:45 · 1979 阅读 · 0 评论 -
【Java开源框架】持久层框架mybatis之xml配置文件详解2
MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息。 配置文档的顶层结构如下:configuration 配置说明properties(属性)settings(设置)typeAliases(类型别名)typeHandlers(类型处理器)自定义类型处理器处理枚举类型objectFactory(对象工厂)plugins(插件)environments(环境配置)envi...原创 2019-04-10 16:26:00 · 408 阅读 · 0 评论 -
【Java开源框架】持久层框架mybatis之XML 映射文件及缓存说明3
XML 映射文件MyBatis 的真正强大在于它的映射语句,这是它的魔力所在。由于它的异常强大,映射器的 XML 文件就显得相对简单。如果拿它跟具有相同功能的 JDBC 代码进行对比,你会立即发现省掉了将近 95% 的代码。MyBatis 为聚焦于 SQL 而构建,以尽可能地为你减少麻烦。SQL 映射文件只有很少的几个顶级元素(按照应被定义的顺序列出):cache– 对给定命名...原创 2019-04-10 18:06:41 · 374 阅读 · 0 评论 -
【Java开源框架】持久层框架mybatis之动态SQL巧妙解决SQL拼接问题4
MyBatis 的强大特性之一便是它的动态 SQL。如果你有使用 JDBC 或其它类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句的痛苦。例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。利用动态 SQL 这一特性可以彻底摆脱这种痛苦。 虽然在以前使用动态 SQL 并非一件易事,但正是 MyBatis 提供了可以被用在任意 SQL 映射语句中的强...原创 2019-04-12 14:18:50 · 704 阅读 · 0 评论 -
【Java开源框架】持久层框架mybatis之Java API最大简化代码量5
既然你已经知道如何配置 MyBatis 和创建映射文件,你就已经准备好来提升技能了。MyBatis 的 Java API 就是你收获你所做的努力的地方。正如你即将看到的,和 JDBC 相比,MyBatis 很大程度简化了你的代码并保持代码简洁,容易理解并维护。MyBatis 3 已经引入了很多重要的改进来使得 SQL 映射更加优秀。应用目录结构在我们深入 Java API 之前,理解关...原创 2019-04-12 16:50:51 · 387 阅读 · 0 评论 -
【Java开源框架】持久层框架mybatis之SQL语句构建器类及日志6
SQL语句构建器类问题Java程序员面对的最痛苦的事情之一就是在Java代码中嵌入SQL语句。这么来做通常是由于SQL语句需要动态来生成-否则可以将它们放到外部文件或者存储过程中。正如你已经看到的那样,MyBatis在它的XML映射特性中有一个强大的动态SQL生成方案。但有时在Java代码内部创建SQL语句也是必要的。此时,MyBatis有另外一个特性可以帮到你,在减少典型的加号,引号,新...原创 2019-04-12 17:02:23 · 358 阅读 · 0 评论 -
【Java开源框架】持久层框架mybatis与spring/spring boot整合
什么是 MyBatis-Spring?MyBatis-Spring 会帮助你将 MyBatis 代码无缝地整合到 Spring 中。它将允许 MyBatis 参与到 Spring 的事务管理之中,创建映射器 mapper 和SqlSession并注入到 bean 中,以及将 Mybatis 的异常转换为 Spring 的DataAccessException。最终,可以做到应用代码不依赖...原创 2019-04-15 10:18:10 · 529 阅读 · 0 评论 -
【Java开源框架】持久层框架mybatis之快速入门1
简介什么是 MyBatis?MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架...原创 2019-04-10 11:52:58 · 229 阅读 · 0 评论