Gin 参数验证 普通验证 /** 更多验证规则 https://pkg.go.dev/gopkg.in/bluesuncorp/validator.v8#section-documentation */ type Student struct { ... 2021-03-08
Gin基本知识 相关代码位置:https://github.com/imyzt/learning-technology-code/tree/master/golang/imooc-gin-study httpMethod start package ... 2021-03-07
Spring Find Methods By Annotation 在Spring环境中,查找Bean是非常方便的,但是如果是需要查询方法上的注解进行反射调用或其它,则极其不方便。 可以使用MethodIntrospector.selectMethods工具方法,通过遍历所有@Component Be... 2021-02-03
Redis LUA RateLimiter 参考文章:基于Redis的限流系统的设计 本文作为总结和回顾 限流脚本 首先需要引入的是redis的LUA脚本. --- 判断source_str 中是否contains pattern_str --- @param source_... 2021-01-13
手写一个SpringBoot ConditionOn* SpringBoot自带的Conditional 打开任意*AutoConfiguration文件,一般都有下面的条件注解,在spring-boot-autoconfigure-1.5.3.RELEASE.jar的org.spring... 2021-01-02
Java Throwable异常堆栈收集的性能问题 在项目中,大家通常都喜欢使用 throw new BusinessException() 来阻断错误的参数或者业务逻辑异常等已知异常,反馈给用户。比如用户未绑定手机号、用户的参数异常等情况。在大部分情况下,使用异常终止流程都不是很好的... 2021-01-02
MySQL 8.0 公用表表达式(CTE) 从版本8.0开始,MySQL简单地引入了公用表表达式功能或CTE。 用于单词定义多次引用使用。 语法如下所示,其中需要注意的是 定义后,必须下方接着使用,不然语法错误。 同一个语句可以定义多个CTE with 别名 as (SQL... 2020-11-30
MySQL 8.0 window functions(二) 接上一篇的内容,继续讲一下窗口函数和分析函数结合的使用。 lag与lead函数是跟偏移量相关的两个分析函数,通过这两个函数可以在一次查询中取出同一字段的前N行的数据(lag)和后N行的数据(lead)作为独立的列,从而更方便地进行进行... 2020-11-30
MySQL 8.0 window functions(一) 什么是window functions window functions(开窗函数),主要是用来解决聚合函数执行后丢失原有结果的问题。 通过使用window functions可以同时携带原有结果并且具有聚合后的结果。 目前,MySQ... 2020-11-29
分布式事务(三) 分布式事务解决方案 DTP和XA 分布式事务的解决方案之一就是两阶段提交协议(2PC:Two-Phase Commit) 1994年X/Open组织(现在的Open Group)定义了分布式事务处理的DTP模型,该模型包括这样几个角色: 应用程序(AP... 2020-09-07