行是知之始,知是行之成。

今天算是我感染新冠病毒的第八天(我一直以为第七天,看来是脑子烧坏了)了,病程接近尾声,主要症状如发烧、咳嗽、鼻塞都好的差不多了,我又站起来了!

碎碎念

本文主要介绍一种通过实现自定义注解,实现一种比较通用的接口防刷方式

前言

1.基本准备

  1. jdk 8
  2. redis
  3. springboot 2.7.6

2.基本思路

主要就是借助 redis 来实现接口的防刷。

基本逻辑:定义一个切面,通过@Prevent注解作为切入点、在该切面的前置通知获取该方法的所有入参;
同时,通过@Prevent注解的convert属性,自定义redis的部分key值,并将其Base64编码+完整方法名作为redis的key,
自定义redis的部分key值作为reids的value,@Prevent的time作为redis的expire,存入redis;

每次进来这个切面根据自定义入参Base64编码+完整方法名判断redis值是否存在,存在则拦截防刷,不存在则允许调用;

JAVA springboot

前言

本文主要记录工作学习中用到的Git常用操作。

教程思路:

2018/4/7 星期六 下午 9:06:06 1. git中常用命令;

Git

概述

今天做的APP中的一个表单页面需要以后蓝牙连接打印设备后打印出来,当时想过要截屏,但想了一下截屏的话太麻烦,截屏的话是将手机的屏幕截取下来,包含很多无用的信息,所以这个想法就给pass掉了;后来又想到了转化为图片、PDF什么的,在网上搜索了一些相关信息后,发现还是将整个布局变成图片比较简单,并且也找到了一篇不错测教程,文末附有链接。

Android

使用方法步骤:

  1. 添加默认分割线:高度为2px,颜色为灰色
  2. 添加自定义分割线:可自定义分割线drawable
  3. 添加自定义分割线:可自定义分割线高度和颜色
  4. 万能分割线登场
Android Recycle

最近遇到一个问题。具体内容是使用Volley联网请求一段json数据,用Postman工具获取返回数据也是正确的,在别人的电脑上也是正常的,返回数据header中编码格式也是utf-8.那么问题就出在volly这个工具类上了。

经过排查,发现问题确实出在volley的一个工具类上 。

JAVA Volley