摘要: 现在的应用中对于登录,注册,短信验证码。。。这些场景来说,验证码真的是必不可少。随着技术的发展,也使得验证码从当初的图形验证码,发展到今天的滑块,倒立文字点击,数学计算,手势滑动,拼图,刮图。。。等等各种花样,总之一个目的,阻止机器人的访问。 验证码这玩意儿,确实给用户带来了很不好的体验,很多应用的 阅读全文
posted @ 2020-08-05 22:20 KevinBlandy 阅读(812) 评论(0) 推荐(0) 编辑
摘要: 限流说详细了,名堂也多。这种算法那种算法,这种策略那种策略的。没有绝对的银弹。都要结合实际的场景来实现。最简单的,使用Google的Guava,几行代码。就可以优雅的对一个接口完成限流。 令牌桶算法 通俗的理解就是,有一个固定大小的水桶,水龙头一直按照一定的频率往里面滴水。水满了,就不滴了。客户端每 阅读全文
posted @ 2020-08-04 21:19 KevinBlandy 阅读(2606) 评论(0) 推荐(0) 编辑
摘要: 使用jwt的好处就是,服务器不需要维护,存储token的状态。服务器只需要验证Token是否合法就行。确实省了不少事儿。但是弊端也显而易见,就是服务器没法主动让一个Token失效,并且给Token指定了exp过期时间后,不能修改。 配合redis,就可以轻松的解决上面两个问题 token的续约 服务 阅读全文
posted @ 2020-08-03 21:38 KevinBlandy 阅读(4544) 评论(0) 推荐(0) 编辑
摘要: 众所周知,使用@RequestParam(required = false) 封装请求参数的时候,如果客户端不提交参数,或者是只声明参数,并不赋值。那么方法的形参值,默认为null(基本数据类型除外)。 一个Controller方法,有2个参数 @GetMapping public Object u 阅读全文
posted @ 2020-07-29 22:33 KevinBlandy 阅读(5453) 评论(0) 推荐(0) 编辑
摘要: 业务场景:客户端把json数据进行加密后,编码成Base64字符串,提交给服务器。服务器再进行解密。 使用 @RequestBodyAdvice,可以在不修改任何Controller代码的前提下,轻松完成。 之前写过一篇帖子,使用@ResponseBodyAdvice统一对响应的数据进行处理。演示了 阅读全文
posted @ 2020-07-22 13:45 KevinBlandy 阅读(2397) 评论(0) 推荐(0) 编辑
摘要: 投影查询,就是仅仅检索表的部分字段。而不是粗暴的 SELECT * FROM...检索出所有列数据。例如检索用户余额信息的时候,就不需要检索用户的头像,创建日期等字段。节省了带宽传输和内存占用,也避免了可能暴露更多数据给客户端。 这里先啰嗦一下jpql的一些注意点 操作的是对象 @Entity, 不 阅读全文
posted @ 2020-07-16 11:48 KevinBlandy 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 允许用户上传图片资源(头像,发帖)是APP常见的需求,特别需要把用户的资源IO到磁盘情况下,需要防止坏人提交一些非法的文件,例如木马,webshell,可执行程序等等。这类非法文件不仅会导致客户端图片资源显示失败,而且还会给服务器带来安全问题。 通过文件后缀判断文件的合法性 这种方式比较常见,也很简 阅读全文
posted @ 2020-07-15 21:53 KevinBlandy 阅读(1024) 评论(1) 推荐(1) 编辑
摘要: 使用SpringBoot开发前后端分离的应用,可以使用Nginx作为网关来统一解决跨域问题。这种好处是,可以不修改应用代码的情况下,让应用支持跨域。 对于很多不支持的跨域的网站,你也可以弄个Nginx给它“加个Buff”,也就可以进行跨域访问了。 😆 Nginx配置(这个配置,可以解决 95% 以 阅读全文
posted @ 2020-07-13 17:15 KevinBlandy 阅读(6167) 评论(0) 推荐(2) 编辑
摘要: 查询方法,就是根据方法名来检索数据。按照一定的规则,通过方法名描述要检索的字段,过滤的条件,排序的策略等等,它们大都以find, get... 等开头。spring-data-jpa会自动解析,并且完成检索。省时省力。 在 Repository 中定义查询方法 public interface Us 阅读全文
posted @ 2020-07-13 12:45 KevinBlandy 阅读(467) 评论(0) 推荐(0) 编辑
摘要: 在SpringBoot中使用HikariCP连接池 HikariCP 是一款性能极佳的数据库连接池,体积很小,大约130Kb。SpringBoot2.0也已经采用HikariCP作为默认连接池配置.。 HikariCP官方Github https://github.com/brettwooldrid 阅读全文
posted @ 2020-07-09 16:27 KevinBlandy 阅读(1421) 评论(0) 推荐(0) 编辑