半个菜鸟程序员

半个菜鸟程序员

半个菜鸟程序员

json字段顺序

由于jsonobject默认为hashmap,因此字段顺序并不一定为put时的顺序,当需要用json字符串计算签名时,很容易由于字段顺序不一致导致验签失败。解决方法有:直接使用LinkedHashMap使用 new JSONObject(true)JsonObject的定义HashMap改为Link

redis keys命令

生产环境、redis 集群禁止使用 keys 命令(使用 scan 代替)

时间格式中字母含义

经常忘记,在这记一下字母含义示例y年份。一般用 yy 表示后两位年份,yyyy 表示 4 位年份content3M年份。一般用 yy 表示后两位年份,yyyy 表示 4 位年份content3dDEHhm分钟数。一般使用 mm 表示分钟数使用 mm 表示的分钟数,如 34s秒数。一般使用 ss 表示

Google二次认证设计

类似的有战网通行证、百度令牌、腾讯安全管家

ES分页

ES 提供了 3 种分页方式:from + size:最普通、简单的分页方式,但是会产生深分页的问题。search after:解决了深分页的问题,但只能一页一页地往下翻,不支持跳转到指定页数。scroll API:会创建数据快照,无法检索新写入的数据,适合对结果集进行遍历的时候使用。

List比较工具类

最近在写一个业务时,需要同步第三方的一个字典表,每次都是全量同步,由于查询压力比较大,我又不能每次全删了重新存。因此需要比较出新增、编辑、删除的项。于是随手写了个工具类。public interface ListCompare { String getKey(); boolean equ

分页数据重复

如果分页的sql里有根据 某个字段排序,而这个字段又不是唯一的,那查询结果的顺序会有一定的随机性,从而导致分页时出现重复数据。最典型的情况就是需要把最新的数据显示在前,于是就order by createTime desc,而在并发量较高的时候,createTime会出现重复,从而导致分页查询数据重

fastjson转换泛型对象

使用fastjson将json字符串转换对象的时候,如果对象中使用了泛型,则需要如下处理:// 使用的是fastjson中的TypeReference,A为接收类型,B为A的泛型类,C为B的泛型类A<B<C>> resultObj =JSON.parseObject(&quo

mybatis日期缺失时分秒

mybatis日期缺失时分秒问题用习惯了mybatis-plus,最近项目用mybatis时发现个坑,日期查出来为 2022-06-15 00:00:00,记下解决方案。问题出在xml的 jdbcType上<resultMap id="BaseResultMap" type

elasticsearch基础

简介官网地址Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎。Elasticsearch 属于apache组织。ELKELK是Elasticsearch、Logstash、Kibana三大开源框架首字母大写简称。市面上也被成为Elastic Stack。kibana