一止长渊
自定义数据校验注解

在后端数据校验时,我们通常使用 javax.validation.constraints 或@Pattern 正则注解来使用,但可能存在一种这样的情况,我们的业务场景很复杂,官方提供的校验注解可能无法为我们提供合适的功能,这时候我们可以考虑采用自定义我们的校验注解。

设计模式

设计模式的目的是为了降低代码的耦合性,同时也保证代码可维护性和扩展性,一共有 23 种设计模式。
分为以下三类:

  • 创建型设计模式

注重于隐藏对象的创建逻辑,使用时无需 new 对象,直接获取对象

  • 结构性模型

注重已有对象之间的相互组合

  • 行为型模式

注重对象之间相互调用的行为,关注对象之间的通信

冷启动如何快速训练

image.jpeg

1.训练速度慢涉及到的两个原因

1)增量式的参数更新,最初的算法,从输入的环境,到输出的 AI 动作之间,是靠梯度下降来完成映射的。在这个过程中,每个增量都需要非常小,才不至于让新学到的信息,把之前学到的经验覆盖了(这叫做灾难性干扰),如此一来,学习过程就十分缓慢。
2)弱归纳偏置,任何学习过程都面临着偏见-方差权衡
所谓偏见,就是一开始限定好一些可能的结果,AI 从里面找出自己想要的一种,限定越窄,AI 就可以只考虑到为数不多的可能性,更快地出结果。
弱归纳偏置,就需要考虑到更多的可能性,学习就会慢一些,通用神经网络都是偏见极低的系统,因为他们有大量的参数,可以用来拟合大范围的数据。

WebMvcConfigurer

为什么要使用 WebMvcConfigurer?

WebMvcConfigurer 是一个接口,提供很多自定义的拦截器,例如跨域设置、类型转化器等等。可以说此接口为开发者提前想到了很多拦截层面的需求,方便开发者自由选择使用。由于 Spring5.0 废弃了 WebMvcConfigurerAdapter,所以 WebMvcConfigurer 继承了 WebMvcConfigurerAdapter 大部分内容。

WebMvcConfigurer 方法介绍

由于内容太多,只展示 3 个关键的接口,用的比较少的,只是阐述下含义,不再详解,用的更少的,就不看了,毕竟十多个方法呢…

项目部署查看日志信息

在 o2o 项目部署到远程服务器时,发现出现报错,这时候如何及时发现错误呢?登陆远程服务器,查看 tomcat 的日志信息
截屏2021-02-09 11.17.13.png