SimpleDateFormat 线程安全问题让我们穿越到远古和未来

herman 6年前 (2019-01-17) 3330浏览

最近一直在忙于救火,陆陆续续的有不少用户反馈我们的系统会出错,下单时间不是在远古就是在未来。而负责后台管理系统的员工也提出了质疑,这个订单下单时间是 19xx 年,还有这个订单创建时间是 2187 年,这些都是非正常的订单,是不是有人攻击我们?这...

spring-security-oauth2 自定义登录页面

herman 6年前 (2019-01-16) 8197浏览

一个网站的登录页面就相当于一个人的脸,脸往往给人留下第一印象。印象好,就会带来好体验。好体验就可能有更高的活跃度,所以像我前面《SpringBoot + spring-security-oauth2 实现仿微信,QQ,微博等授权认证》中的漂亮的登...

spring-security-oauth2 使用 TokenEnhancer 自定义生成令牌

herman 6年前 (2019-01-16) 13330浏览

不管是 spring-security-oauth2 框架,还是其他框架,它们的共同点就是可以高度定制化。今天我们就来个定制化第二篇,使用 TokenEnhancer 自定义生成令牌。 所谓令牌,也就是我们常说的 Token。通过我的这篇文...

函数式编程的原理和优点

herman 6年前 (2019-01-16) 8941浏览

我在 WebFlux 教程中已经阐明了一种观点,函数式编程(Functional programming)将成为未来编程的一种趋势。我们也可以从 Java 8 等新版本中看到这种趋势。所以关于函数式编程的原理,优缺点?什么是函数式编程?等问题,我...

spring-security-oauth2 自定义生成授权码

herman 6年前 (2019-01-15) 8117浏览

从前面的文章中,我们可以了解到 spring-security-oauth2 产生的授权码默认是 6 位的。 并且,我们通过拿到 code 后,再通过 code 获取 access_token。那么会不会因为 code 太短,或者 code 太简单被...

SpringBoot + Spring Security OAuth2 的简单实现

herman 6年前 (2019-01-15) 8637浏览

随着 OAuth2(开放授权)的火热,越来越多的网站选择使用 OAuth2 技术获得用户。这样做不需要用户过多的注册账号,维护账号以及担心用户个人信息泄露等问题。所以说与 OAuth2 相关的关键词都火热了起来。比如:OAuth 2 c#、oau...

Redis 的大 Key 扫描 redis-cli -h{ip} -p{port} bigkeys 用法详解

herman 6年前 (2019-01-11) 8772浏览

代码中的问题,光靠 Code Review 是不够的。Code Review 主要是解决规范问题,当然也能排查出一些 bug。 Code Review 适合技术驱动型团队、公共服务型团队、测试缺失型团队、新人密集型团队、任何有主观意愿的团队...

一个 ArrayBlockingQueue 不当使用,导致公司损失几百万!

herman 6年前 (2019-01-07) 17518浏览

我们为什么要招高级程序员呢?因为高级程序员写的 bug 可能更少,在调用 api 的时候,犯错的概率更小。但是并不意味这高级程序员就不犯错。今天我们就一起来分享一个由于 ArrayBlockingQueue 使用不当,导致公司损失几百万的案例! ...

WebFlux 网站微信第三方登录

herman 6年前 (2019-01-07) 3699浏览

微信的强社交属性让其拥有众多的用户。一些第三方网站,如果,每个都做一套用户管理系统,让每个用户都再注册一遍,首先管理上就面临很多问题。比如,要不要发短信验证码,涉及到信息安全等问题,小公司很难有保证。于是随着 OAuth 等第三方授权协议的发展,...