自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

阿韩的经验分享博客

记录Java工作日常中琐碎问题与bug,在创作中成长并积累经验

  • 博客(58)
  • 资源 (1)
  • 收藏
  • 关注

原创 记MyBatis-Plus使用中or()使用避坑,mybatisplus中的or怎么使用

记MyBatis-Plus使用中or()使用避坑,多条件使用or之后生成的语句查询结果成为or两边的合集,目标结果是只有or两边的条件去做“或”比较下面来看一个MyBatis-Plus查询语句,希望实现的查询效果是根据GalaxyActivity对象的code和状态确定内容后进行ShowId、Name两个字段的查询操作galaxyActivityService.list(new LambdaQueryWrapper<GalaxyActivity>().eq(GalaxyActivity::

2021-12-22 11:25:58 6485

原创 nginx 301 重定向优雅实现~ 原路由重定向到新网站对应页面做法

需求:网站域名下的子页面路由改变,需要将访问老路由的用户重定向到新路由,例如:https://www.xxx.com?pid=123指向https://www.xxx.com/dibiaoabc.html。两个后缀之间没有任何规律,且有多个页面需要匹配。实现:server文件内引入重定向配置,重定向配置中编辑rewrite规则,将原路径指向新路径。server配置server { listen 80; server_name localhost; locati

2021-08-20 13:08:05 1464 1

原创 自建GitLab代码仓库ssh访问地址为localhost修改成域名

自建的GitLab,代码仓库ssh访问地址为localhost,http地址显示域名没问题,就很奇怪。第25行有个ssh_host专门配置ssh的访问地址的,改这个就好了其他的不懂就别动。正确的配置是在gitlab安装目录的config下,有一个。文件,如果你的gitlab也是一键安装的,进这个目录。找了很久帖子发现这个访问地址不在.rb系统配置文件里。得找到yml配置文件跟着下面步骤操作。

2024-03-12 17:28:05 1131

原创 Java实现批量重命名中文文件夹和中文文件名,中文转拼音重命名多层级文件夹中遍历所有文件

最近的业务中拿到了来自其他部门预处理过的文件压缩包,包含多个目录层级,最终文件是png和webp,为了批量上传CDN调用并且不改变整体的文件结构和对应关系,需要实现一个批量拷贝并且处理中文目录、中文文件名的功能,都转为拼音重命名。上面的代码里共同引用到一个工作目录,就是要处理的文件夹的上层目录,方便替换后重建同层级下的对应文件夹。注释中还有一种处理方案是对所有文件的重命名并覆盖,代码如下。所以main方法和全局变量是这么写的。然后直接上代码,用到递归处理文件夹。

2023-12-12 15:25:41 267

原创 Windows安装docker地址流程配截图,附网卡被禁用处理(有线插了没反应)

安装完重启后有线网一直保持插好的状态但开机没反应显示断网,设备列表中有线网卡驱动显示被禁止启动,这个时候不要慌,进行下面操作即可恢复。下载后双击打开,进入安装界面。单选框是添加桌面快捷方式,可以不勾选,然后点ok。找到“虚拟机平台”并取消勾选重启电脑,重启后网卡恢复,有线网络已连接。启动或关闭Windows功能。打开控制面板,查看小图标。

2023-11-14 12:22:35 354

原创 三行代码实现图像画质修复,图片清晰度修复,清晰度提升python

三行代码实现图像画质修复,图片清晰度修复,清晰度提升python应用层面的话复制上面代码直接执行即可,唠叨两句讲讲我的实现思路:open_file_dialog()函数使用 tkinter 实现文件获取拿到文件名,用于识别需要修复的image;然后使用 PIL 的增强功能生成好画质修复后的图片;注意,输入输出文件格式必须一致。

2023-09-22 16:08:11 3502 2

原创 Windows环境Java+VUE项目现场实施总结,JDK安装环境变量配置、Nginx安装、MySQL安装、Redis安装、bat启动脚本编写

Java后台接口+对外开放接口jar包(包含mysql和redis连接)windows环境后台启动部署,redis后台启动;vue打包前端静态文件包;使用nginx代理接口+静态文件,本地部署加一键启动脚本(计划实现开机自启)。安装包 + jar包、前端文件、bat启动脚本client中包含index.html及相关scc、jsinit.sql为测试环境提前准备的数据脚本java.jar为项目jar包。

2023-06-27 13:21:32 1240

原创 windows快捷指令收藏

服务快捷指令临时缓存文件快捷指令控制面板快捷指令注册表快捷指令记事本快捷指令计算器快捷指令鼠标设置快捷指令屏幕设置快捷指令网络设置快捷指令虚拟键盘快捷指令防火墙快捷指令磁盘分区管理快捷指令

2023-06-27 11:08:29 101

原创 内网环境安装nginx,内网环境安装jdk并部署jar项目相关环境配置流程,附下载地址

linux环境centos7环境配置+简单的jar包启动,相应的其他内核请更换下载地址的访问链接。

2023-02-27 15:24:34 289 1

原创 nginx部署next项目访问日志去重小技巧,next项目资源不计入日志,网站日志统计去除资源请求

之前在跟SEO做网站日志分析的时候受到了一部分资源请求数据的影响,统计出来的ip访问次数远远大于实际值,从日志中或者网站控制台看到每个页面都会发送十几个请求,而这些请求都会被统计到网站日志中,在后续的分析哪些ip请求了哪些页面时,往往拿不到真实的值。于是考虑处理next项目的请求,过滤到资源请求只保留html的访问日志。原有的网站访问配置做了一些限流和缓存的操作,感兴趣可以移步之前文章。

2022-12-30 12:33:29 820

原创 使用nginx实现自定义大小预览缩略图,http_image_filter模块的安装使用

nginx配置使用http_image_filter模块实现自定义尺寸预览缩略图,fastDFS带参访问不同尺寸缩略图

2022-12-25 17:27:46 1959

原创 static静态方法工具类中注入bean失败,@Autowired在static方法中注入时失效导致的NullPointerException

static静态方法工具类中注入bean失败,@Autowired注入的对象在static方法中为null,报出空指针。根据SpringBoot启动和Bean注入的时机,各个注解生效时间,对象创建时间先后关系,稍微梳理后得出只能在运行时获取bean,那么答案就是运行中获取bean只能通过上下文对象ApplicationContext

2022-11-02 17:29:21 1042

原创 SpringBoot集成websocket及上线前服务器nginx配置websocket

在线上环境存在https页面中调用websocket的场景,这时候如果没有配置wss会报相关错误,只需要在listen443的server中做上述配置即可解决,当然一般线上环境80转443后直接写在443中也就不存在这个问题了。由于设备A无法搭建服务,所以排除方案一。项目服务中遇到如下场景:设备A生成带有身份信息"Device0001"的二维码,使用手机扫码付款,付款成功后服务端返回信息给设备A。项目服务中添加socket服务作服务端,设备A作为socket客户端,此处粘出服务端代码及js客户端demo。.

2022-08-26 11:29:56 821

原创 nginx带参301,nginx重定向携带路由,nginx截取请求url作为重定向路由

将链接:https://www.domain.com/abcdef/defghi.html重定向到:abc/defghi.html即砍掉中间的def。在此基础上要做一个批量重定向的效果,一条表达式完成不同尾部路由的重定向。在之前写过的文章中有利用nginx内置rewrite功能配合 if() + 正则 实现判断某条件路由后重定向到新的地址;可以匹配,跳转到如果个位数的页面需要重定向可以一条一条的写后缀,那么有没有统一匹配后重定向到原来的路由呢,这就需要截取url作为临时变量,当做参数重定向了。...

2022-06-22 18:17:50 2137 2

原创 Foxmail默认窗口大小调整

Foxmail解决默认窗体大小占满屏幕或者Foxmail挤出屏幕的情况

2022-06-13 15:12:09 1694 2

原创 anji验证码AJ-Captcha避坑指南,springBoot集成后redisTemplate注入空指针及/captcha/get接口响应400无信息

SpringBoot集成AJ-Captcha滑块验证码使用流程及接口响应400,cacheService空指针,redisTemplate空指针

2022-05-17 14:51:07 6190 2

原创 记录redis的模糊匹配scan踩坑事件,scan执行70秒,redis中scan的count属性释义

事情的起因是这样的:近日项目用户量暴增加上最近一次项目优化把很多东西都放进了redis中,导致redis的开销和key数量急剧上升,由原来不到几千key增长到了三到五万,然后悲剧就此发生客服收到很多用户反馈登录卡顿,登录失败,操作缓慢…一系列的问题,作为开发扛把子,当然是把自己删掉,体验一把登录的“快”感,于是,我也同广大用户一起卡在了登录界面上,无限转圈圈问题排查代码本地debug启动,前端代码本地启动联调,进行登录操作并对后端代码进行逐行排查,发现走到这一行后直接卡死// 卡顿代码cacheU

2022-04-18 21:13:08 1838

原创 使用Base64编码传输图片是否会会减少流量,简单测试得出结论

对于Base64编码将图片转换成字符的格式早有使用,今天突发奇想在文件服务器中使用Base64去做一个文件映射,调用的时候使用字符格式是否会比源文件小,从而达到减少数据流量的效果呢?于是进行了一下简单的测试,得到的结论既在情理之中也在预料之外。

2022-03-16 15:33:37 1169

原创 idea直连服务器工具RemoteHost配置全过程详解,idea执行ssh命令神器

项目开发运维过程中不可避免用到ssh命令连接远服务器进行远程部署或者一些配置操作,之前一直用的Xshell免费版,更新了一次电脑之后打不开了,重新安装又没找到安装包,于是直接用git窗口ssh命令行操作服务器应急,之后考虑idea中是否有集成的类似shell命令工具呢,一番摸索中get到了这个神器,使用配置过程记录一下一、打开RemoteHost窗口二、添加服务三、建立连接四、使用配置后右侧边栏会出现RemoteHost栏,打开后是服务器的目录结构,如果要使用命令行,则如图操作这样就可

2022-03-03 13:15:13 3573

原创 Nginx负载均衡策略配置方式,轮询策略,最少连接策略,IpHash策略的配置及调用全过程详解

在官方文档中可以看到Nginx负载均衡是通过upstream模块来实现的,内置实现了三种负载策略:轮询,最少连接,IpHash,可以满足常用场景,优化nginx反向代理,其中还涉及到一个重要参数weight,用于给对应服务加权,数字越高执行概率越大。在查阅资料时还看到了通过第三方实现的两种策略(fair、url_hash)本文中暂不讨论。ipHash策略中添加根据ip让用户始终访问同一节点

2022-02-24 17:54:48 3803

原创 redisTemplate.opsForSet().remove()删除失败问题解决

场景:使用redisTemplate.opsForSet().remove()方法删除redis中set结构的某个或某几个values,接口使用@PathVariable List<String>传参,打断点看删除返回值是0思考1:RedisTemplate更换为StringRedisTemplate此前出现过几次redis的采坑事件,更换RedisTemplate的实现类StringRedisTemplate后问题得以解决思考2:List<String>泛型失效因为remo

2022-01-21 19:17:53 6990

原创 Git本地文件删除后从仓库强制拉取覆盖

之前遇到一个场景本地git文件全都删掉了也没办法恢复,直接执行git pull拉取不下来,按照下面三步执行就好了git fetch --allgit reset --hard origin/mastergit pull上面三步就是获取远程仓库文件,然后将本地设置为这个版本的master分支,当然也可以指定别的分支,最后就实现强制覆盖的效果了,如果想一次执行可以在中间拼接&&符号一句执行git fetch --all && git reset --hard orig

2022-01-15 16:38:55 1513

原创 一分钟看懂MySQL的page数据页

MySQL存储引擎拆解MySQL记录存储页头页尾最大最小虚记录记录堆自由空间链表(已删除记录)未分配空间Slot区

2021-11-28 14:15:14 1441

原创 thymeleaf从创建项目到登录成功快速入门(保姆级登录案例教程)

thymeleaf+SpringBoot实现简单登录,从创建项目到运行打包

2021-09-17 13:28:27 968

原创 很细的项目部署上线流程(三)前端next脚手架recat项目部署+一键拉取代码脚本部署,git配合node自动化部署

本文整个流程是在博主完成一次项目上线全过程后复盘的记录,有没有写到的细节不清楚的可以私聊提问。选购服务器或服务器配置参考:项目上线流程(一)服务器环境从0搭建,JDK+nginx+ssl证书+git+node+pm2+maven后端Java项目部署参考:项目上线流程(二)后端项目部署+脚本部署从环境搭建到前后端项目部署,证书部署,Springboot 打包 Java + next 脚手架运行 recat 项目上线部署前端项目部署1.手动部署2.Git配合Shell脚本部署前端项目部署1.手动部署

2021-08-09 14:02:39 624

原创 很细的项目部署上线流程(二)后端Java项目部署+脚本部署Java项目,一键拉取代码并部署

本文整个流程是在博主完成一次项目上线全过程后复盘的记录,有没有写到的细节不清楚的可以私聊提问。选购服务器或服务器配置参考项目上线流程(一)服务器环境从0搭建,JDK+nginx+ssl证书+git+node+pm2+maven从环境搭建到前后端项目部署,证书部署,Springboot 打包 Java + next 脚手架运行 recat 项目上线部署后端接口部署1.手动部署2.Git、Maven配合Shell脚本部署后端接口部署1.手动部署使用Xftp将jar包传输到工作目录cd /opt/ma

2021-08-09 13:45:29 2102

原创 很细的项目部署上线流程(一)服务器搭建环境从0开始,Linux安装JDK安装nginx部署ssl证书安装git安装node安装pm2安装maven

本文整个流程是在博主完成一次项目上线全过程后复盘的记录,有没有写到的细节不清楚的可以私聊提问。准备选购服务器又有疑问的可以参考一、服务器选购,跳过可以直接点击目录从环境搭建到前后端项目部署,证书部署,Springboot 打包 Java + next 脚手架运行 recat 项目上线部署一、服务器选购阿里云服务器选购教程二、服务器配置及证书部署1.JDK安装2.nginx安装配置3.证书部署4.Git安装、关联仓库5.node安装6.cnpm及pm2安装7.Maven安装一、服务器选购https://

2021-08-09 13:31:11 4815

原创 nginx缓存node服务的伪静态页面(详细教程)

node服务配置nginx缓存,css,js,png,jpg使用nginx缓存,加速访问1.创建缓存文件目录使用mkdir命令创建缓存文件存放目录mkdir /datamkdir /data/next-cache2.nginx.conf的http设置部分添加 proxy_cache_path的设置,server 部分添加或修改location设置http { proxy_cache_path /data/next-cache levels=1:2 keys_zone=next-cache

2021-07-27 15:56:56 635

原创 sh脚本部署,linux服务器一键部署vue

sh脚本实现一键部署须知本文针对VUE项目,后面会出Java和next项目的一键部署,也有可能出一套从环境搭建到一键部署的教程。前提条件:服务器装了Git,node,node装有cnpm(因为有些资源国内npm install下不下来)node装cnpm命令npm install -g cnpm --registry=https://registry.npm.taobao.org快捷命令软链sudo ln -s /usr/local/.npm-global/bin/cnpm /usr/local/b

2021-07-15 14:17:07 485

原创 万字MySQL调优,从sql到索引到配置文件详解(精)EXPLAIN详解

明确目标1.认识MySQL2.确定调优方向3.MySQL调优一、MySQL逻辑架构逻辑图:查询流程:1.建立TCP连接2.验证用户3.查缓存,命中则直接返回4.解析器解析SQL,分两步,词法分析(提取查哪个表,哪些字段,有什么where条件),语法分析(主要判断sql是否正确,是否符合mysql语法)5....

2021-07-15 13:36:53 242

原创 用table2对应内容填充table1空字段,字段如果为空则使用另一张表字段解决方案

场景:查询表table1的a,b,c字段,如果a或b或c为空则查询table2的对应字段填充两种写法,方案一用了CASE函数;方案二用了IFNULL函数,整洁度和可阅读性上来说第二种比较好????文末有福利????方案一:sql附上SELECT a.ID, a.CODE, a.PRODUCT_CODE,CASE a.TITLE WHEN NULL THEN a.TITLE ELSE b.TITLE END AS TITLE,CASE a.SUB_TITLE WHEN NULL

2021-07-05 15:42:34 843

原创 IDEA2020 Plugins 插件无法搜索无法安装瞬间解决 IDEA插件无法安装

我用的是IDEA2020.1.4,想装个插件突然什么都搜不到了,以前也遇到过类似的情况不过过阵子就自己好了也没在意,今天比较急特意研究了一下前置条件看看能不能连接到 IntelliJ 的网络,Settings→Appearance & Behavior → System Settings → Updates → Check Now,点完之后会出现一些可用更新,如果没有请检查自己的网络连接是否有异常他人解决方案设置 HTTP Proxy→Auto-detect proxy settings

2021-06-11 12:29:02 1127

原创 从购买服务器到项目部署上线,Jenkins安装配置自动化Java项目部署,linux部署next.JS环境react项目

宇宙超级无敌一条龙~从买服务器到前后端上线全流程梳理,Git一键部署从购买服务器到项目部署上线,Jenkins安装配置自动化Java项目部署,linux部署next.JS环境react项目后端Java项目,使用阿里云MySQL5.7,Maven,SpringBoot,MybatisPlus前端React项目,由前端同事负责,不做过多赘述,只讲述部署过程

2021-06-01 15:07:44 530

原创 限制ip访问 nginx配置网站白名单黑名单

最近项目需要针对屏蔽某些恶意的IP访问我们的网站,或者限制仅仅某些白名单IP才能访问网站。在nginx的server中通过配置达到限制访问的目的。

2021-04-01 15:54:55 834

原创 el-table-column 使用 v-for 中el-table遍历数某个字段,多层嵌套时处理数组

el-table-column 使用 v-for 中el-table遍历数某个字段,多层嵌套时处理数组数据

2021-03-19 11:17:55 9794 4

原创 SpringBoot整合swagger遇到 No mapping for GET 异常

问题场景:SpringBoot项目集成swagger,原来的api是可以访问的,今天加了一个继承WebMvcConfigurationSupport的类之后出现异常No mapping found for HTTP request with URI [/xxx.html] in DispatcherServlet with name ‘dispatcherServletpublic class WebConfigure extends WebMvcConfigurationSupport { p

2021-02-01 14:18:04 2759 1

原创 Required request body is missing(缺少必需的请求正文);已解决

Resolved [org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing: xx路径xx方法(xx类)]缺少必需的请求正文在使用@RequestBody注解接收前端传来的对象参数时前端一直报400,联调时控制器打印WARN 23420 --- [nio-9090-exec-1] .w.s.m.s.DefaultHandlerExceptionResolver

2021-01-23 13:14:28 9913 7

原创 SpringBoot中自定义类注入Service对象为null

在一个自定义的工具类中用到了service层的方法,直接通过@Autowired注解来进行注入的时候出了NullPointerException初始化静态资源需要用到@PostConstruct注解举个栗子@Componentpublic class GetCodeUtil { @Autowired private UserService userService; private static GetCodeUtils getCodeUtils; @Post..

2021-01-21 17:01:45 1738 2

原创 MySQL中几个日期时间格式的区别

MySQL中有如下几个时间类型:date、time、datetime、timestamp、year一张表让你弄懂它们之间的区别和联系类型存储空间显示格式取值范围date3字节yyyy-MM-dd1000-01-01~9999-12-31time3字节HH:mm:ss-838:59:59~838:59:59datetime8字节yyyy-MM-dd HH:mm:ss1000-01-01~9999-12-31timestamp4字节yyyy-M

2021-01-14 16:57:52 204 1

原创 使用EasyExcel导出Excel时报错 Can not close IO 及EasyExcel.write()方法找不到,已解决

1.在使用EasyExcel导出Excel时遇到了两个问题,第一个就是网上用的很多的write()方法我写了报红,这个很简单是easyexcel的pom版本太低了,于是换了下面这个版本 <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2

2021-01-05 13:06:30 17498

图片画质修复,画质提升

python写的exe脚本,通过弹出文件选择器选择图片后输入增强系数,输出画质提升后的图到原目录。

2023-09-27

sitemap模板与编写规则.tar

网站sitemap模板,<loc><![CDATA[https://,附自定义生成sitemap规则

2021-09-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除