10 2020 档案
摘要:前言 海量数据是每个大型乃至中型企业运营过程中不断累积的必然过程,如果需要对这些数据进行条件筛选后再批量更新呢?这个时候需要开发人员要有大数据量处理的思维。本案例将偏重思路的讲解,说一下自己的解决方案。 假如说数据库有上亿的商品数据,针对不同的数据有多种清洗的规则。 常见的解决方式是,先select
阅读全文
摘要:前言 最近有一个数据清洗的任务,其中需要分组条件统计某一个类别的数量后进行过滤,因为之前有看过类似场景的解决方案,后面决定使用聚合函数+case when来实现这个功能。 场景描述: 需要统计每个人有效手机的数量。我们很容易可以联想到,需要使用到group by 分组统计每个人的手机,但是怎么再加上
阅读全文
摘要:前言 最近开发的时候遇到一个任务,需要对重复的数据进行筛选,只取插入时间最早的一条数据。这里介绍一下解决这类去重问题的几种思路 先看样例数据 解决思路一:先group by找到每个人最新的数据插入时间(insert_time),再通过insert_time作为条件表关联的条件筛选出每个人最新的数据
阅读全文
摘要:前言 过滤器、监听器和拦截器是三种不同概念,也各有各的使用场景,如果刚刚接触这些概念或者没有很好了解这三者的核心的话,很容易会对这些概念混淆,不清楚在什么场景下使用哪些工具。如果你对过滤器、监听器和拦截器三者间尚未有一个比较清晰的认知,不妨看看这篇文章。 过滤器是什么? 过滤器定义在 javax.s
阅读全文
摘要:前言 springmvc的拦截器是基于aop思想实现和应用的,我们可以在某个方法甚至是字段被访问前进行拦截,加上我们想要执行的操作,非侵入式地添加上我们想要加入的功能和校验。拦截器也是我们学习springmvc所必须要掌握的一个知识点,本文将从拦截器的快速入门和应用进行介绍。 一、拦截器的接口方法介
阅读全文
摘要:前言 我们学习Servlet的时候,过滤器Filter是绕不过,而且较为重要的一个知识点。Filter随web应用启动而启动的,只初始化一次,以后就可以拦截相关的请求,只有当你的web应用停止或重新部署的时候才能销毁。在实际项目中,我们常常使用过滤器来对过滤字符编码或者做一些业务逻辑判断。 这篇文章
阅读全文
摘要:前言 常见的异常处理方式有两种,一种是申明式异常,另外一种是通过try/catch方式直接对异常进行捕获,手动的对异常进行处理会较为繁琐,而且当服务器遇到未知的异常的时候,web端直接暴露错误码给用户也不太友好。针对这种情况,springmvc提出了统一的异常处理机制,开发人员不再需要手动的try/
阅读全文
摘要:前言 先说结论,springmvc可以接收的参数类型如下: 基本数据类型 POJO类型参数 数组类型参数 集合类型参数 此外,本篇文章也会对获取restful参数、获取请求头信息、文件上传等内容进行总结 一、获取基本数据类型(get请求) http://localhost:8088/user/get
阅读全文
摘要:前言 在前几天排查问题的时候,发现有一条复杂的sql里面使用到了with alias as 的sql语法。原先从来没有见过,查询后发现是oracle特有的写法,主要用于将可能多次使用、查询过程较为耗时的sql语句进行封装,从而实现执行一次,多次调用,节省数据库资源。 也可以这么理解,with..as
阅读全文
摘要:前言 搭建私服后,利用maven进行jar包的上传下载是必不可少的环节,本文将通过讲解pom文件和setting.xml文件的配置方法来介绍如何进行jar包在私服的上传和下载。 一、将jar包上传到maven私服 1. 配置maven的settings.xml文件,在servers标签中配置serv
阅读全文
摘要:前言 在以前,如果要使用到第三方的jar包,我们需要自己找到要使用的jar导入到我们的项目中,随着项目的不断扩展,对第三方jar的使用使用不断增加,对第三方jar包的管理逐渐加大了项目维护的成本。同时,有些第三方依赖在网络上并不好找,自己去网络上找的话费时费力。 而maven作为当今常用的项目依赖管
阅读全文
摘要:前言 maven仓库可以分为本地仓库和远程仓库,远程仓库又可以根据来源不同,划分为maven中央仓库(官方)、其他远程仓库和私服。 maven私服其实就是公司局域网内的maven远程仓库,开发人员在安装maven且连接私服后,可以将自己开发项目的jar包上传到私服上,其他连接maven私服的开发同事
阅读全文
摘要:前言 随着maven项目不断推进,开发人员难免会遇到这样一个问题,在添加新的依赖jar包后,会发现和原有的项目依赖产生冲突(多数情况是由于依赖传递引起的),这个时候就需要我们根据实际情况来选择生效的最终依赖。 比如下图: 下面将以上面的例子来对如何解决依赖冲突进行讲解 方法一:使用maven提供的传
阅读全文
摘要:前言 log4j是许多项目使用的日志库,了解和使用log4j的配置对于开发人员来说,很基础也很重要,根据测试和生产环境的不同,配置不同的日志输入级别也是常规操作,如果你还对log4j的配置不了解的话,那么通过这篇文章,希望能够让你可以掌握如何对日志级别和输出等信息进行配置 一、Log4j是什么? L
阅读全文
摘要:前言 对于编码人员来说,在开发过程中引入第三方日志库来打印信息是必不可少的,而很多程序员也已经熟悉各种不同的日志库如java.util.logging、apache log4j、logback,那么当看到已有项目中既有slf4j和log4j而感到困惑,或者是以前没听过slf4j的话,就有必要去在你项
阅读全文
摘要:在生产环境中,往往没有条件给我们去debug排查,更多时候我们是通过日志来看具体的报错日期。 但是日志往往是一直在实时更新,而且记录条数庞大,很难直接定位到错误信息。这个时候,就可以利用sed命令来截取指定时间段内的日志(也是网上大多数博主的做法)。 具体命令如下: sed -n '/2020-10
阅读全文
摘要:前言 为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。 在实际操作中,收到广泛认可和遵循的主要有以下三条设计范式: 1.第一范式(确保每列保持原子性) 2.
阅读全文
摘要:前言 当前后端分离开发已经成为业内的主流,这种开发方式可以让前后端更加专注自身的工作,双方往往约定好入参和出参并编写接口文档,从而完成页面对数据的顺利获取。但是随着开发时间不断变长,当代码被修改后相对应的接口文档往往没有得到及时的更新,同时接口数量越来越多,也让接口文档的维护变得更加困难。 Swag
阅读全文