
日常mark
茄汁切西瓜
他山之石,可以攻玉。
展开
-
Linux系统删除文件后空间没有立刻释放
lsof -nw | grep deleted 抓取删除后因使用锁定的进程ps -ef | grep pid 抓取对应进程kill -9 pid 杀掉对应进程重启服务原创 2021-11-29 10:09:25 · 1315 阅读 · 0 评论 -
nginx匹配多个路径转发到同一个地址写法
本质上还是location正则匹配规则的活用(todo 有时间补完相关知识到这里21-09-16) location ~ ^/(路径1|路径2|路径3|路径4|路径5) { proxy_pass 跳转的地址; proxy_set_header $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header x-tif-uid $http_x_tif_uid;原创 2021-09-16 10:40:05 · 12237 阅读 · 0 评论 -
yaml配置文件中${REDIS_DB:0}写法的意义
出现场景接到个新项目,看yml配置文件的时候看到了一种挺有趣的写法,之前没有见过(见识太少),特地去查了查该种写法见识到的新写法: redis: #数据库索引 database: ${REDIS_DB:0} host: ${REDIS_HOST:127.0.0.1} port: ${REDIS_PORT:6379} password: ${REDIS_PWD:} #连接超时时间 timeout: 6000平常写法:与平常写法直接在后面跟随原创 2021-07-07 15:39:12 · 5799 阅读 · 2 评论 -
Java中用redisTemplate实现redis的scan命令
业务场景思路分析代码实现注意事项思路拓展参考资料原创 2021-06-25 00:21:58 · 5509 阅读 · 0 评论 -
docket-compose部署nginx时写入TZ时报错ERROR: yaml.parser.ParserError: while parsing a block collection in xxx
报错场景在用docker-compose部署nginx时, 添加了时区TZ参数后报错,错误截图如下:解决思路第一时间当然是百度, 最后我发现了很多人的文章都没讲到一件事 : docker-compose是有版本区别的, 2和3版本的yml配置命令存在一定差别.解决方案实际上其实就是docker-compose版本间的格式问题.在version 2 中, 时区TimeZone参数的配置格式如下: environment: TZ : 'Asia/Shanghai'原创 2021-04-19 18:25:12 · 1409 阅读 · 0 评论 -
lua开发入门小坑记录
起因在下本来是做Java开发的,然后老大突然给我下发一个任务——面向国产网关apisix做插件开发,然后看了一下,插件是用lua语言开发的,然后就上手了lua进行了一段时间开发。经过一阵子学习,只能说是刚刚入门,基本是掌握一定的编写运用,再更深层次的理解使用还是欠缺的,为了让这阵子踩坑的时间不白费,我决定还是记录一下一些小错误。学习资源在摸索的过程中我还是留下了一两个比较好的参考资料一个openresty的gitbook: https://moonbingbing.gitbooks.io/open原创 2021-04-07 11:17:55 · 163 阅读 · 2 评论 -
如何解析格式为“2020-11-22T11:49:17.000+00:00“的“yyyy-MM-dd‘T‘HH:mm:ss.SSSz“带毫秒带时区字符串
场景描述做业务时调用第三方接口,返回了形如"2020-11-22T11:49:17.000+00:00"的时间格式字符串,需要调整为yyyy-MM-dd HH:mm:ss这种常见格式返回到前端。思考过程观察字符串"2020-11-22T11:49:17.000+00:00",与命令行中打印的数据库时间格式类似,有+08:00这种时区格式,因此猜想该字符串应该为常规字符串带上毫秒以及时区,根据该思路查询搜索引擎得到想要的答案。解决方案解析时间格式字符串时,其实也是找对应的时间格式公式,此处未能展示更原创 2021-02-19 10:50:49 · 1690 阅读 · 0 评论 -
spring boot继承Filter类编写filter,urlPatterns路径失效
场景描述彼时在项目中写了两个filter,都是使用extend Filter的方式编写的(这个写了preHandler没有就用了…),然后在两个filter上都加了注解如下 ↓然后我配的另一个filter上的注解如下 ↓一跑起来,基本上全部请求都过TokenFilter,全部都被拦截下来了,估计全部都也配置了CorsFilter的属性。出现的场景:urlPatterns的路径限制失效解决思路既然路径失效了,那么肯定是路径被覆盖掉了吧,大的路径把小的路径覆盖掉 --> 那么是不是一个属性原创 2021-01-15 18:19:40 · 1339 阅读 · 0 评论 -
使用json解析工具解析含有“\“反斜杠的字符串时报错:JsonParseException
场景在调用别人接口时返回的token如下:{ "token": "eyJ0eeqOiJKV1QiL/CJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJhZj\FjMTU1O#TFmZTAxMWViOGR(lMTAyNDwNSI_sImV4cCI6M=TYxMDMzMj\UzMX0.ODtsPyUnfv6Qh_dOWTfSj416Y"}返回来的字符串里什么特殊符号都有,彼时项目中使用的是GSON,解析字符串时解析到反斜杠\时直接报错,返回一番搜寻后,使用了fastjson来对字符原创 2021-01-11 11:09:58 · 6020 阅读 · 1 评论 -
FeignClient 在 spring boot 内部发起调用时,携带前端传入的请求中的请求头信息与请求体信息
业务场景前端请求时,会在请求头header中带上一系列的校验参数,到达我负责的模块之后,需要去调用其他服务。在其他服务中, 需要对请求的请求头header中的信息做相关校验以及信息提取,再执行相关业务行为。问题描述在我这边配好feign调用之后,发起调用,却发现返回500错误码,查看对应错误日志,被调用方对header进行校验时NPE了,通过打印日志(嗯忘记直接debug看了)发现我方header中的信息参数都没有传过去。思考过程feign实质上也只是发起了一次请求罢了,底层也不过是对参数进行封装原创 2020-11-28 11:00:46 · 1364 阅读 · 0 评论 -
Java中判别是不是纯数字或者是否有数字的正则表达式
情景判断输入的字符串中是否存在数字判断输入的字符串是否为纯数字解决方案用正则匹配解决对场景1:是否有数字 //正则判断字符串有无数字 String haveNum = ".*\\d+.*"; final Pattern pattern = Pattern.compile(haveNum); Matcher match = pattern.matcher(searchParam); JSONArray jsonArr原创 2020-11-19 20:43:06 · 2079 阅读 · 0 评论 -
借助redissonClient创建redis对象时报错:org.redisson.client.RedisAuthRequiredException
错误描述:在spring boot中加入redisson创建客户端对象后,成功运行,但是在对接口访问时,报错:org.redisson.client.RedisAuthRequiredException: NOAUTH Authentication required..解决方法:为redis连接设置密码。解决思路:初看可知是未取得redis的授权导致的错误,再百度后可得的确是在red...原创 2020-03-18 22:19:54 · 10265 阅读 · 4 评论 -
使用dbunit在spring boot项目中进行dao层测试时报错org.dbunit.database.AmbiguousTableNameException: USER原因以及解决方法
在spring boot框架下使用dbunit进行测试时,报错:org.dbunit.database.AmbiguousTableNameException: USER原因在数据库中存在两个同名的数据表,同名->不区分大小写的同名,则user和USER也是同名的,特别的是这两个同名数据表可能是存在本地中两个不同的数据库中。jojo中的user表:mysql中的user表解决...原创 2020-02-23 23:09:21 · 1114 阅读 · 0 评论 -
IDEA的项目上传码云报错:Push rejected: Push to origin/master was rejected
第一个情况:在IDEA内使用VCS进行项目上传时发现跳了Push failed Remote: [31mIncorrect username or password ( access token ),经过检查是自己的码云账号密码输错了,然后就是 控制面板 -> 凭证管理器 -> 更改自己的码云账号密码,然后就弹出了新报错。第二个情况:再次push时,报错:Push rejected:...原创 2020-02-12 23:38:26 · 615 阅读 · 0 评论 -
Springboot项目连接到Mysql数据库报错:Access denied for user 'root'@'localhost' (using password: YES)
Springboot项目连接报错:java.sql.SQLException: Access denied for user ‘root’@‘localhost’ (using password: YES)按照别人的步骤构建了一个Springboot项目之后,也按照别人的application.yml文件把spring数据源文件配置了一下,然后别人的配置文件是这样的:于是我也按照配置格式把...原创 2020-01-08 21:07:40 · 6431 阅读 · 9 评论 -
Java产生当前/特殊日期的个人用法总结
每次想快速输出日期时都会忘记,在自己需要的时候到处查不如记下来,到时忘了看自己的,嗯。产生当前时间对象的有两种方式:new Date()产生一个Date对象,是当前时间并且经过系统默认格式进行格式化,是Date类型使用System.currentTimeMillis()产生一个从1970年计算到现在的毫秒数,是long类型参数:yyyy:年份MM:月份dd: 天数HH: 小时...原创 2019-10-28 17:35:41 · 5750 阅读 · 0 评论 -
Windows10卸载MySQL 5.7.16时出现error code:2503,2502解决方法
因为想要更新换代,所以要把MySQL5.7彻底卸载安装去重装新版本,但是通过window10的应用卸载面板以及控制面板卸载都出现了 error code :2503,2502的提示。(另,我的Windows10版本是1703通过百度查询,初步了解的问题是我的权限不够(?),于是就找到了几种方法,经过亲身试验后留下了以下两种方法:Method_1:(很多人通过这个方法就可以解决了)第一步:打开...原创 2019-08-26 12:32:33 · 1754 阅读 · 1 评论 -
String , StringBuilder , StringBuffer三者之间的小区别
出于快速记忆三者之间的特点,看了一些资料简化成下面的几句话:1)String是被声明为final class的,因为具有不可变性,所以在进行字符拼接时会产生许多无用的中间对象影响性能。2)StringBuffer就是为了解决大量拼接字符串时产生很多中间对象问题而提供的一个类。3)StringBuffer和StringBuilder的区别在于StringBuffer是线程安全的,而String...原创 2019-08-19 20:50:53 · 100 阅读 · 0 评论