随笔分类 -  日常记录

记录在工作中碰到的各种问题
摘要:一、现象描述第三方数据上传,上传上来发现有一个人的出生日变成了 1991-07-15 23:00:00。这个时间明显不对,理论上这个的生日是1991年7月16号。曾经踩过夏令时的坑, 一看这个就知道应该是夏令时时区转换导致时间相差一个小时。二、问题分析与解决2.1 数据流转说明欲分析是哪里出现了时区 阅读全文
posted @ 2023-05-25 11:27 zeng1994 阅读(130) 评论(0) 推荐(0) 编辑
摘要:一、背景在微服务项目开发中,虽然说每个服务都是一个微服务,可以独立工作。但现实中,一个微服务还依赖着它的下游服务,如用户服务、基础服务等。作为一名开发人员,当我完成了某个需求开发后。我需要对自己开发的代码进行自测以及全流程的验证。此时,有如下几种方案:a. 公司有容器环境,则独立部署一整套容器环境即 阅读全文
posted @ 2023-01-16 15:28 zeng1994 阅读(1017) 评论(2) 推荐(1) 编辑
摘要:为了加快程序的响应,日志异步打印是很有必要的。这里贴一个配置异步日志的xml,方便后续查阅 一、原理 logback的异步打印日志,原理就是用了一个阻塞队列来缓冲。具体可以参考源码ch.qos.logback.core.AsyncAppenderBase 二、参数说明 二、参数说明 1. queue 阅读全文
posted @ 2022-06-07 10:09 zeng1994 阅读(3689) 评论(0) 推荐(0) 编辑
摘要:记录一个数据上传下载夏令时踩坑经历。客户端将数据上传到平台,客户端再下载该数据,发现人的生日居然变成了前一天的23点,相差1小时 一、时区说明 Asia/Shanghai: 兼容夏令时,下面简称 "上海" GMT+8: 不兼容夏令时,比夏令时时间慢一个小时, 下午简称"东八" 二、转换丢失一小时说明 阅读全文
posted @ 2021-12-11 16:32 zeng1994 阅读(436) 评论(1) 推荐(0) 编辑
摘要:开发过程中,日志一般都是直接输出到logstash,不过这都是几年前的玩法了。生产环境一般都是通过Filebeat去收集日志,不采用应用直连logstash的方式。为了实现快速切换,因此在项目的application.yml中添加个开关,直接通过开关切换输出到文件还是logstash 一、实现思路 阅读全文
posted @ 2021-10-26 23:44 zeng1994 阅读(1524) 评论(0) 推荐(0) 编辑
摘要:公司项目采用SpringBoot+dubbo技术栈,虽然上了elk,但是还是不能把所有的日志串联起来。因此自己写了一套traceId和spanId的生成方案。在此记录下该方案的具体实现,方便后续查阅 一、 名词解释 traceId:链路Id spanId:可以理解为服务Id,一各请求可能会调用多个服 阅读全文
posted @ 2021-10-26 23:42 zeng1994 阅读(1684) 评论(0) 推荐(0) 编辑
摘要:参考链接,http://www.logback.cn/ 一、logback打印json格式到文件注意事项 1.用springboot默认的encoder 一定要对日志内容中的双引号进行转义,不然会破坏json的结构。 转义方法 采用 %replace对双引号进行转义,参考下面的案例 {"system 阅读全文
posted @ 2021-10-26 23:41 zeng1994 阅读(1309) 评论(0) 推荐(0) 编辑
摘要:前后端分离后,由于没有了session,导致验证码内容存储在session已经不可能了,因此考虑存储在redis。本文将介绍一种基于cookie + redis方案的验证码 一、方案的提出 (1)验证码存放位置 没了session,则存储在redis,why? 因为redis 具有key自动过期,所 阅读全文
posted @ 2021-10-26 23:36 zeng1994 阅读(2228) 评论(0) 推荐(1) 编辑
摘要:在项目开发过程中,swagger ui是个非常好用的在线接口文档生成工具。但他有个缺点,不够安全,可以直接访问。虽然生产环境一般会关闭它,但难免有时候有人会把它开启,所以它需要一个登录的功能。本文将叙述登录功能的两种实现方案,两种方案随便一种都可以使用,看个人喜好。 一、环境说明 springboo 阅读全文
posted @ 2021-10-26 23:28 zeng1994 阅读(6841) 评论(0) 推荐(1) 编辑
摘要:公司项目采用了Log4j2来输出日志,在开发环境和测试环境下均可以输出日志,但在生成环境就没有日志输出。开始毫无头绪,后来通过不断的排查,终于解决了这个问题。在此记录下该问题的解决过程,便于后续查阅。一、发现问题 开发环境打印日志但生产环境不打印日志这个问题比较棘手。一直找不到原因,后面突然想到在启动的时候打印信息肯定会有所不同。通过在2个环境启动同一个项目的控制台打印信息对比有了以... 阅读全文
posted @ 2018-11-09 17:21 zeng1994 阅读(34229) 评论(5) 推荐(1) 编辑
摘要:由于公司数据库表的id是利用雪花算法生成的,所以实体类里面定义的数据类型为Long。但是这个数据传到前端时,发生了精度丢失的现象。本文记录了从java后端的角度如何解决这个精度丢失的问题,便于自己后续查阅。一、问题的描述 前端通过ajax请求后端接口,返回json数据,然后将数据渲染到一个表格中。突然发现表格中id这一列出现了精度丢失的现象,这精度丢失是由前端引起的。二、问题的解决(... 阅读全文
posted @ 2018-11-08 17:32 zeng1994 阅读(10652) 评论(0) 推荐(0) 编辑
摘要:由于公司对SpingMVC框架里面的东西进行了扩展,在配置SpringMVC时没有使用这个标签。而且是自己手动来配置HandlerMapping和HandlerAdapter。在处理跨域请求时,就抛No adapter for handler 异常了。记录下该异常的解决过程,方便后续查询。一、异常信息 具体的异常信息如下:threw exception [No adapter for... 阅读全文
posted @ 2018-11-08 10:23 zeng1994 阅读(4607) 评论(2) 推荐(1) 编辑
摘要:公司项目重构,把dubbo版本从2.5.8升级为2.6.2。升级后在本地运行一点问题都没有;可是通过公司自研的发布系统将项目发布到测试环境的linux服务器下面后,出现了dubbo服务未注册的现象。刚出现这问题,大家都一脸懵逼,毕竟在本地跑起来非常顺畅。但问题总是要解决的,不可能因为dubbo服务注 阅读全文
posted @ 2018-11-07 14:52 zeng1994 阅读(4283) 评论(1) 推荐(0) 编辑

点击右上角即可分享
微信分享提示