
开发实践
文章平均质量分 54
上道至简
学习技术的过程,就是从学习怎么使用,到理解为什么这样用,再到自我创新,进一步优化,深度思考。
展开
-
关于前后端分离下如何生成图片验证码
前后端分离跟传统的JSP动态页面不太一样,前端通过调用restful接口获取数据,一般都是JSON格式的数据。我们在登录的时候有时候需要后端返回一个图片验证码,直接返回验证码数字肯定是不安全的,使用图片验证码的目的就是让机器人无法盗号暴力破解,提高安全性。这种情况下,可以通过后端返回图片字节流来获取图片验证码,具体代码如下:这里要注意的地方是后端把验证码保存到redis里面,对应的key是一个UU...原创 2018-05-26 22:54:11 · 10333 阅读 · 9 评论 -
注意了!云服务器的一些环境配置有可能导致应用启动失败
尝试用serviceComb框架跟Spring boot框架结合写了一个测试应用,结果放到云服务器上启动的时候报错,大概错误如下: Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'HOSTNAME%%.*' in value "history -a; printf "\033]0;%s@...原创 2018-08-19 09:44:15 · 1899 阅读 · 2 评论 -
使用Java8 Optional解决繁琐的NPE判断
Optional是java的新特性,主要用来解决空指针异常。按以前的做法,一般我们在调用某个对象之前都需要判断一下这个对象是否为null,这样的话有些情况下会有很多的if判空操作,有了这个Optional就好办了,下面给一个简单的使用例子,一学就会: 没有使用Optional这样写: BigDecimal amount = null != dto.getAmount() ? dto.getA...原创 2018-11-28 11:39:49 · 1145 阅读 · 0 评论 -
消息队列RabbitMQ线上问题总结
首先简单介绍下RabbitMQ。RabbitMQ使用高并发性的erlang语言开发编写,性能比较好,并且可靠性比较高,支持事务。RabbitMQ这些特性都比较适合我们当前的业务,对可靠性和稳定性都要求比较高,很适合作为我们系统的消息总线和异步解耦。而Spring boot集成RabbitMQ也比较简单,网上资料很多,下面是我刚开始使用的一种集成方案: 首先maven要引入相关的依赖包: <...原创 2018-12-11 11:38:12 · 1855 阅读 · 0 评论 -
使用JDK8的日期转换类DateTimeFormatter时遇到的问题
有个同事开发的时候用到这个类进行日期的转换,想转换的日期格式为“YYYY/MM/dd”,结果在2018年12月30日那天转换出来的格式是2019/12/30,请看下面的代码: public static void main(String[] args) { DateTimeFormatter dtf = DateTimeFormatter.ofPattern("YYYY/MM/...原创 2019-01-03 15:01:42 · 8394 阅读 · 0 评论