随笔分类 - 技术杂谈
摘要:前言 行为验证码通过用户的操作来完成验证,常见的行为验证码有拖动式和点触式。 拖动式验证就是根据图片显示,将指定的图形拖动到指定位置完成验证。而点触式验证码就是通过鼠标点击出示例中出现的图形完成验证。 行为验证码应用 今天推荐一款非常优秀的行为验证码AJ-Captcha(项目地址**https://
阅读全文
摘要:以前写过一篇关于接口服务规范的文章,原文在此,里面关于安全性问题重点讲述了通过appid,appkey,timestamp,nonce以及sign来获取token,使用token来保障接口服务的安全。今天我们来讲述一种更加便捷的方式,使用jwt来生成token。 一、JWT是什么 JSON Web
阅读全文
摘要:一、如何实现拦截器 在Spring Boot项目中,拦截器经常被用来做登陆验证,日志记录等操作。拦截器是Spring提供的,所以可以将拦截器注成bean,由IOC容器来管理。实现拦截器的方式很简单,主要由以下两个步骤: 自定义拦截器类实现HandlerInterceptor接口 自定义WebMvc配
阅读全文
摘要:在上一篇文章中,讲到了redis五大基本数据类型的使用场景,除了string,hash,list,set,zset之外,redis还提供了一些其他的数据结构(当然,严格意义上也不算数据结构),一起来看看redis还可以做哪些事? 一 Bitmaps 在计算机中,使用二进制做为信息的基础单元,也就是输
阅读全文
摘要:Redis是一种基于键值对的NoSQL数据库,它的值主要由string(字符串),hash(哈希),list(列表),set(集合),zset(有序集合)五种基本数据结构构成,除此之外还支持一些其他的数据结构和算法。key都是由字符串构成的,那么这五种数据结构的使用场景有哪些?一起来看看! 一 字符
阅读全文
摘要:Zookeeper是Apache开源的一个分布式框架,它主要为分布式应用提供协调服务。 Zookeeper主要负责存储和管理大家都关心的数据,一旦这些数据的状态发生变化,Zookeeper就会通知那些注册在Zookeeper上的服务。简单来讲就是zookeeper=文件系统+通知机制。 一 Zook
阅读全文
摘要:昨天有个读者问了我这样一个问题在mysql中建表的时候,我设置一个字段为int类型,长度为1,但是我发现这个字段却可以存储任意长度的数字,这是什么情况?这个问题在我刚接触数据库的时候也遇到过,我觉得有必要写一篇文章来解释一下。 0 和 1 是计算机最基本的存储单位。也是 CPU 采用的最基本的计算单
阅读全文
摘要:SQL注入攻击是黑客对数据库进行攻击常用的手段之一,随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于程序员的水平及经验参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返
阅读全文
摘要:Spring Boot获取文件总的来说有三种方式,分别是@Value注解,@ConfigurationProperties注解和Environment接口。这三种注解可以配合着@PropertySource来使用,@PropertySource主要是用来指定具体的配置文件。 @PropertySou
阅读全文
摘要:今天给大家安利一款接口文档生成器——JApiDocs。 swagger想必大家都用过吧,非常方便,功能也十分强大。如果要说swaager有什么缺点,想必就是注解写起来比较麻烦。如果我说有一款不用写注解,就可以生成文档的工具,你心动了吗?他就是我们今天的主角——JApiDocs。 下面我们一起来看看如
阅读全文
摘要:背景 最近有项目中要用到nacos,因此就打算在本地先装个nacos玩玩。怎么装呢?当然使用docker了。既方便又简单。说实话自从装了docker之后,我这用了3年时间的ThinkPad着实有点卡。因此也有好长时间没运行过docker了。如果你还不会在windows下安装docker,请看以下两篇
阅读全文
摘要:开源只是偶然,并不是刻意而为 我平时喜欢逛逛github和码云,看一些好玩的项目,也时常拉一些下来自己捣鼓捣鼓。其中不乏一些star数非常高的项目,当然也有一些是被埋没在这个大环境下的“垃圾”。我也曾幻想过自己有一天可以做一个开源,加深与同行交流,也算是为软件行业贡献一份力量。当然我也为此努力过
阅读全文