工作记录
善守的大龙猫
昔之善战者,先为不可胜,以待敌之可胜。不可胜在己,可胜在敌。故善战者,能为不可胜,不能使敌之必可胜。故曰:胜可知,而不可为!
成为专家!成为专家!
展开
-
idea双击没有反应,打不开
【代码】idea双击没有反应,打不开。原创 2024-07-15 22:36:32 · 257 阅读 · 0 评论 -
IETAB 在线用印失败的问题排查
IETAB导致的请求权限异常原创 2024-06-13 20:10:59 · 181 阅读 · 0 评论 -
ORA-01461:can bind a LONG value only for insert into a LONG column
字段的值超过4K的字符数据,会被oracle直接转换成long型数据插入数据库,因为varchar2不能存储超过4k的数据,这个转化是为了减少认为的设置或者当初设计不当造成的错误。在与外部系统交互时,最好先保存发送记录,然后再进行推送,然后再进行更新状态。2、这个超长的字段是附件列表,不保存所有的附件信息,只保留key值即可。因为如果是先推送后记录。推送后,保存记录失败则导致数据不一致。如果是先记录后推送,如果推送失败,则两边数据不一致。只能把long型数据插入一个long型数据列。原创 2024-06-12 15:41:48 · 795 阅读 · 0 评论 -
代码重复:搞定代码重复的三个绝招
业务同学抱怨业务开发没有技术含量,用不到设计模式、Java 高级特性、OOP,平时写代码都在堆 CRUD,个人成长无从谈起。每次面试官问到“请说说平时常用的设计模式”,都只能答单例模式,因为其他设计模式的确是听过但没用过;对于反射、注解之类的高级特性,也只是知道它们在写框架的时候非常常用,但自己又不写框架代码,没有用武之地。其实,我认为不是这样的。设计模式、OOP 是前辈们在大型项目中积累下来的经验,通过这些方法论来改善大型项目的可维护性。原创 2023-12-28 23:27:36 · 1206 阅读 · 2 评论 -
Failed to connect to 127.0.0.1 port 1080 after 2063 ms: Couldn‘t connect to server、Failed to connect
本地有个项目,需要上传到github,仓库建好以后,推送到远端的时候报错。原创 2023-12-24 00:01:22 · 1062 阅读 · 0 评论 -
微信读书不能注释
经常通过微信读书看书,发现我的电脑网页版看书时不能添加标记,添加注解。经过测试发现原来是“有道”的自动划词打开后,导致选择文本后自动复制,不能注解原创 2020-12-14 14:04:17 · 1118 阅读 · 0 评论 -
开发实践中的一些不适感
现在网上的教程越来越多,有时候感觉眼花缭乱,但是越是这个时候越要守住本心,很多教程看起来高端大气,充满专业名词,但是真的很适合自己吗?不一定,怎么样才能更好地工作呢。只有自己的实践中才能知道自己需要什么,在开发一个功能时,发现为什么开发的效率变慢了,到底是什么让你感觉不适,这些不适感都是我们需要记录的,只有记录好这些东西,才能真正地知道如何提高自己的开发效率。如何做到一个行业的专家?不就是在面对这些问题时,比别人更有效地处理吗?这些都需要在实践中慢慢体会,慢慢把生活调整到最合适的状态。举个例子,在开发原创 2022-03-19 11:53:37 · 182 阅读 · 0 评论 -
用SQL直接查询字段中json数据
在一些公共历史表中,不太容易通过加字段的方式来兼容各个场景,这时间通过存储json类型的数据就是很好的选择。利用SQL直接查询字段中json的键值对就显得特别重要。//其中 ::json 是对字段类型进行强转select new_value::json->>'remark' from table_name where id = '1212323'字段中的值如下://{"remark": "test"}...原创 2022-02-09 19:25:58 · 3864 阅读 · 0 评论 -
20220209工作的一点收获
1.工作中要努力达到心流的状态,这种特别能提高工作效率,这个是要一直努力的方向。2.聚合函数 group by 作用还是很大的,可以实现对子关联的表的数量查询。SQL联系有牛客网,leecote等,网站,每天可以练习一题。3.要坚持手打,只有手打,只有放弃辅助,用最本源的操作才是真正的实力。如果不行,说明还是实力不行。...原创 2022-02-09 09:27:32 · 306 阅读 · 0 评论 -
一次生产问题的复盘
问题描述前段时间做了一个支付功能,昨天业务反馈说支付以后,显示仍然在支付中,已经支付的订单然后又重复支付了支付成功的业务没有记录数据。在查找问题的过程中没有打印报错信息处理过程优化点:已经支付的业务要立即进行更新支付状态同一个mergeId已经支付的账户不能重复支付。这是个很严重的问题。把报错信息打印出来经验总结对于遍历处理的功能,需要想到异常出现以后怎么办?不能出现重复支付的情况。...原创 2022-01-25 13:52:14 · 598 阅读 · 0 评论 -
用函数式接口重构代码(2)
前段时间曾写过一篇文章写用函数式接口重构代码,现在回头去看,还是写的不清晰,有些问题没有讲清楚。自己回头看都有问题,何况别人第一次看呢?其实技术博客大多是给自己看的,关键在于写的过程中,会有很多想法,写好后也可以自己回顾,在回顾的时候,又会有新的想法,也就是想法也会进化,想法进化的过程中,能力也就接着进化了。转到正题,利用函数式接口重构有个问题就是每次重新建属于自己的接口,不可避免的就是接口数量的激增,如果是工具类,在新写接口,感觉就有点不适合。其实JDK的开发人员早就想到了这个问题,在JDK中内置了原创 2022-01-25 11:03:08 · 200 阅读 · 0 评论 -
Json转List集合的方法
使用fastJson可以直接实现String jsonStr = JSON.toJSONString(object);List<VO> list = JSON.parseArray(json, VO.class);list.forEach( item -> { System.out.println(item.name); })原创 2022-01-20 11:21:24 · 6958 阅读 · 0 评论 -
有问题要及时处理,确保不影响后续版本
有时候不需要可以刻意总结,只是简单记录下工作经历,慢慢体会,简单随意。原创 2022-01-19 18:15:55 · 192 阅读 · 0 评论 -
今天的两个小收获
1.快速找官网2.性能优化思路原创 2022-01-18 20:35:08 · 176 阅读 · 0 评论 -
com.thoughtworks.xstream.security.ForbiddenClassException com.thoughtworks.xstream 1.4.18
XStream1.4.18原创 2021-12-01 10:26:01 · 2265 阅读 · 4 评论 -
如何利用ELK排查生产问题?
一、找到traceID利用已知的一些关键字,找到请求日志,查看日志详情,找到traceID二、利用traceID,跟踪请求过程添加traceID过滤器,查找到整个过程的请求路径,然后排查出问题。原创 2021-11-23 11:49:05 · 466 阅读 · 0 评论 -
利用文本编辑器及正则表达式批量替换文本(UE、notepad++)
可以实现多变量批量替换 (.*.)\t(.*.)原创 2021-09-27 15:44:43 · 3138 阅读 · 0 评论 -
在Java开发中常用的jar包以及常用的API记录
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.8</version> </dependency>common-lang3主要常见的类如下:数组工具类 ArrayUtils日期工具类 DateUtils D.原创 2021-05-22 02:49:28 · 277 阅读 · 0 评论 -
读取ZIP文件时ZipEntry的size为-1的解决办法
以下为示例代码,纯手写,主要为协助讲清楚解决办法public String batchFileUpload(@RequestParam("file") MultipartFile file) { String zipFileName = file.getOriginalFilename(); if (file != null) { String contype = file.getContentType(); if (contType.toLowerCase().indexOf("zip")原创 2021-05-21 23:18:34 · 1789 阅读 · 0 评论 -
开发小技巧--快速切屏
在开发过程,开的程序很多,但是屏幕只有一个,如果用两个屏幕又感觉没有焦点,也很累,windows可以直接进行切屏,快捷键win + <-- 或 win + -->切屏以后看很多东西就会很方便。就像Idea里编辑器也可以切屏一样。...原创 2021-05-21 21:45:28 · 485 阅读 · 0 评论 -
接口多个实现类定位
一般开发中定位接口方法时,会有多个实现类,可以利用对象实体类命名的规则来确定到底是哪个实现类原创 2021-04-22 22:54:45 · 152 阅读 · 0 评论 -
log4j日志转json
文章目录方案1:基本解决方案2:完美解决小结最近项目中遇到log4j日志要改成json格式,方便引入ELK进行查询日志。在网上找了一个方法几个方法都不太好用,这个是个改造项目,原来的限制比较多。例如只能使用xml格式配置。尝试了多种方法之后,终于让我发现一个可以完美解决的方案。方案1:基本解决在log4j.xml中添加<JsonLayout/>标签,这个标签可以基本可以实现把日志转为json,这个也是网上普遍转载的方案,但是存在一个缺陷,就是时间戳是long类型,网上找了很多资料基本不能原创 2021-04-18 23:40:50 · 2570 阅读 · 6 评论 -
PostgreSQL生产中sql把一个用户的权限赋给另一个用户
生产遇到一个问题,更改了数据库账户。需要把原来的账户和现在的账户的权限保持一致。select 'grant insert, update, delete on public.' || tablename || ' to r_' ||tableowner|| '_dml;' from pg_tables where schemaname='public' and tableowner= 'rmasdata'...原创 2021-04-02 16:40:45 · 2156 阅读 · 0 评论 -
PG库设置字段自增长
CREATE SEQUENCE huipan_id_seqSTART WITH 1INCREMENT BY 1NO MINVALUENO MAXVALUECACHE 1;alter table rmas_hp_task alter column id set default nextval('huipan_id_seq');原创 2021-04-02 14:13:35 · 638 阅读 · 0 评论 -
判断web访问是内网或是外网
最近在项目中添加一个支持外网下载的功能。因为内外网不同的下载URL,所以需要判断当前网络是否为外网。首先方案是在java代码中判断HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest();String urlProtocol = request.getScheme();if (urlProtocol.equals("http")原创 2021-03-22 17:34:46 · 2767 阅读 · 0 评论 -
SQL 查询时报错“无效的月份”
项目场景:这个项目是一个老项目,外包出去的,导致开发很多地方不是很注意细节。有个日期类型的字段竟然设计成Integer类型,这样就容易导致一些奇怪的问题。问题描述:开发过程中,遇到一个SQL,执行时报错“无效的月份”,查看了这个文件的提交记录,发现这个文件上次修改还是半年之前,说明不是SQL的问题。那就是数据问题。原因分析:初步分析这个应该日期问题,因为SQL中有个函数to_date(),很可能是数据格式。在把所有的lr_date字段替换成null以后,发现SQL可以查出数据,这就进一步验证原创 2021-03-22 17:11:31 · 3900 阅读 · 0 评论 -
spring boot 多数据源
多数据源最主要的两部分就是首先在配置文件中配置两套参数,同时创建根据不同的环境创建不同的SqlSessionFactory,创建session,然后获取mapper。根据不同业务场景获取不同的SqlSessionFactory.就可以实现多数据源。当然也可以提前生成好,然后根据不同的条件进行创建。...原创 2021-03-15 22:50:18 · 297 阅读 · 0 评论 -
Can not deserialize instance of java.util.ArrayList out of Start_Object token
项目场景:新增接口,与其他微服务进行交互。问题描述: 新增一个接口,测试时,接口返回Can not deserialize instance of java.util.ArrayList out of Start_Object token 原因分析:接口返回格式与接收的格式不一致。本来应该是`String`,而我写成了List解决方案: 调整接口返回格式即可解决此问题。...原创 2021-03-09 19:37:06 · 524 阅读 · 0 评论 -
org.springframework.web.client.HttpClientErrorException:404 null
问题描述项目新增一个接口,调用另外一个微服务但是调用接口的时候报错。org.springframework.web.client.HttpClientErrorException:404 null问题原因由于是刚接手这个项目,很多地方不清楚,研究发现这个项目进行分层,分层为web层、service层,这是其中两个子模块,而且是分开部署的。刚好我这次分别用到两个子模块。所以一个子模块没有重新部署,没有启用新的代码导致这个错误。解决办法把service层重新部署下即可。问题反思这个问题困扰了我原创 2021-03-09 19:26:59 · 3710 阅读 · 3 评论 -
如何将后端错误实时提示给前端?
在实际开发中,有这个想法:就是程序运行时,如果遇到错误可以将错误实时推送给前端,这样方便查问题。到底有没有一种机制,可以实现这个要求呢?原创 2021-02-07 14:11:59 · 2938 阅读 · 0 评论 -
file对象转换为Muti文件对象工具类
Muti对象也是有属性的。原创 2021-02-06 22:48:53 · 692 阅读 · 0 评论 -
Navicat查询数据后不能修改数据
近期使用Navicat时,发现有时候可以修改数据,有时候不可以修改数据,感觉这里肯定有什么规律,只不过我没找到。刚开始的时候发现如果只是select * from tableName这种情况基本上都是可以修改的,但是我自己的SQL就是不行。经过查询资料发现结论如下:如果表中没有设置或添加一列作为primary key(主键)的话,是无法直接进行修改操作的。我们只需要添加或者设置其中一列(比如ID字段)设置为primary key并且自动递增,在查询时,添加该字段,就可以直接修改操作了。这也解释了为什么原创 2020-12-11 11:22:22 · 5636 阅读 · 0 评论 -
匿名内部类有什么用?
很多Java后端开发,一直有个疑问,为什么要有匿名内部类?它有什么巧妙的使用?从重构的角度,匿名内部类可以减少代码量。public static void test() { long start = System.currentTimeMillis(); //执行打印的业务逻辑 for (int i = 0; i < 10; i++) { System.out.println(i); } long end = System.currentT原创 2020-09-30 11:23:13 · 2143 阅读 · 3 评论 -
Lombok简化开发
1.什么是Lombok?Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java.Never write another getter or equals method again, with one annotation your class has a fully featured builder, Automate your lo原创 2020-09-25 16:33:44 · 141 阅读 · 0 评论 -
实体类后缀含义
VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。DTO(Data Transfer Object):数据传输对象,这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载,但在这里,我泛指用于展示层与服务层之间的数据传输对象。xxxDTO,xxx为业务领域相关的名称。DO(Domain Object):领域对象,就是从现实世界中抽象出来的有形或无形.原创 2020-09-23 14:27:07 · 635 阅读 · 0 评论 -
PLSQL快速登录
在PLSQL中每次登录都复制粘贴账户感觉好麻烦,PLSQL提供“固定账户功能”,配置后不用每次填写密码。要保持工作的“敏感度”,时刻保持对开发效率的敏感,感觉哪些地方让你感觉不舒服,感觉效率好差。配置方案 -> 工具 -> 首选项 -> 登陆历史 -> 固定用户user/password@ip:1522/databaseName...原创 2020-09-17 10:19:49 · 531 阅读 · 0 评论 -
类运行时报错:java.lang.OutOfMemoryError: Java heap space 解决方法
今天写了一个工具类,导入Excel文件,根据文件批量生成SQL,但是运行的时候,一直报错,报错如下:java.lang.OutOfMemoryError: Java heap space调整idea中setting中的compiler的Build process heap size(Mbytes)不起作用,然后报另一个错误Could not reserve enough space for 1662965 object heap这个错误确实是由于电脑本地的内存不够。所以又退回修改了。正确的解原创 2020-09-14 16:14:36 · 648 阅读 · 0 评论 -
bad SQL grammer []; nested exception is java.sql.SQLSyntaxErrorException:ORA-00918:未明确定义列
出现这个问题主要是因为列名重复,导致不能明确定义列。很多表及字段关联以后,往往会出现这个问题,还是要细心才能解决。原创 2020-09-09 20:56:38 · 2284 阅读 · 0 评论 -
this bean ‘xxx‘ could not be registered. A bean with that name has already bean defined
The bean 'xxx' could not be registered.A bean with that name has already been defined and overriding is disabled.最近在和一个系统对接时,引入了一个新的jar包,在测试环境发版本时,报上述错误。一直以为对方给的jar包应该是很严谨的,不可能出问题,可能是我其他的代码出问题了(蜜汁信任)。然后一直排查一直排查不到问题,最后发现是jar包里的Feign命名和项目中的命名冲突导致的,过分相信队友了原创 2020-09-09 20:52:02 · 1437 阅读 · 0 评论 -
Feign调用报错feign.FeignException: status 400 reading xxx 异常
微服务调用时报错“status 400 reading x x x”经过查看日志,各种排查问题,最后发现路径配错了。好尴尬原创 2020-09-09 20:29:12 · 2377 阅读 · 0 评论