自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

专注力、洞察力、分享力

https://github.com/Charles7c/charles7c.github.io

  • 博客(34)
  • 收藏
  • 关注

原创 一个界面现代美观,色彩年轻化的Vue3+SpringBoot3前后端分离中后台管理脚手架

ContiNew Admin (Continue New Admin)中后台管理框架/脚手架,持续以最新流行技术栈构建,拥抱变化,迭代优化。在社区贡献者的支持和参与下,持续发展并源源不断地为企业级项目开发提供助力。当前采用的技术栈:Spring Boot3(Java17)、Vue3 & Arco Design、Sa-Token、MyBatis Plus、Redisson、Liquibase、JustAuth、Easy Excel、Hutool、TypeScript、Vite4 等。

2023-11-08 16:54:07 1563

原创 简单聊聊如何让网站开启灰色显示

C: 在一些特殊的日子里,为了表达哀思和悼念,除禁娱之外,各网站会将首页或者全站在特定时间内以灰色显示。本篇,笔者就来和各位同学简单聊聊,如何让我们的网站以灰色显示。笔者虽然是一个后端开发者,但平时在网页或 APP 上遇到一些用心的效果时,也会停下来想想,在方便的情况下也会简单探究一下。既然各网站都开启了灰色显示,想要知道它们怎么实现的,那就随便找几个网站和笔者一起来看看吧。进入掘金首页,按下 [Fn] + F12,打开开发者工具,切换到 [Elements] 选项卡,毕竟是全局性的效果,所以我们要找的”目

2022-12-07 23:48:25 1018 1

原创 Docker 安装 MinIO 详细步骤

笔者下面的步骤及配置是基于指定版本的实践,大多数程序大多数情况下在相差不大的版本时可以直接参考。(当然了,即使是非 Docker 方式安装程序也是一样道理)

2022-11-16 21:26:40 1079

原创 使用 IntelliJ IDEA 进行远程程序调试

今天在测试环境出现了一个 “匪夷所思” 的问题,追踪日志、排查 Feign 日志,修改配置,尝试了很多种办法,均未解决。最终决定对测试环境进行远程程序调试来看看。在开发时用 IDE 的断点调试倒是相对便捷,但到了部署好的环境,再使用 IDE 来调试,就要麻烦一些了。下面就跟着笔者来看看使用 IntelliJ IDEA 实现远程 Debug 的步骤吧。more。

2022-11-03 22:41:02 580

原创 CentOS 安装 Docker、Docker Compose 详细步骤

笔者下面的步骤及配置是基于发帖时间当下的实践,大多数程序大多数情况下在相差不大的版本时可以直接参考。

2022-11-01 22:37:26 634

原创 Docker 设置网络代理

第 2 个怀疑主要是因为前面的提示部分:Error response from daemon,前文已经提过了,这是一台内网机器,内网机器这个身份基本可以表明它本身是没有网络的,能上网也是因为设置了网络代理的原因。所以又去简单搜了一下 Docker 网络代理的设置,意外发现它的解决方案和笔者刚才提到记录过的问题解决方案一样,这也让笔者确定了问题的原因。将下方配置贴到 HTTP 代理配置文件中,是的没错,就是添加了两个环境变量,这两个环境变量在。中也设置过,详情见之前笔者记录过的一篇设置网络代理的文章。

2022-10-31 23:29:53 2048

原创 Docker 安装 MySQL 详细步骤

笔者下面的步骤及配置是基于指定版本的实践,大多数程序大多数情况下在相差不大的版本时可以直接参考。(当然了,即使是非 Docker 方式安装程序也是一样道理)

2022-10-30 18:01:37 178

原创 Docker 安装 OpenLDAP 详细步骤

笔者下面的步骤及配置是基于指定版本的实践,大多数程序大多数情况下在相差不大的版本时可以直接参考。(当然了,即使是非 Docker 方式安装程序也是一样道理)

2022-10-26 21:32:45 1552

原创 Docker 安装 Consul 详细步骤

不指定版本(Tag)就拉取镜像,那拉取下来的镜像版本(Tag)默认是 (最新的)。 会跟随 Docker Registry 中的记录变化,现在拉取下来的 是 x1 版本,但隔了一段时间后你在其他机器上再拉取 可能就是 x2 版本了。笔者下面的步骤及配置也是基于指定版本的实践,大多数程序大多数情况下在相差不大的版本时可以直接参考。(当然了,即使是非 Docker 方式安装程序也是一样道理)变化的版本,不利于生产环境部署的稳定。无论是后续在其他环境部署还是扩容集群等场景均要求根据架构要求指定好版本。运行容

2022-10-25 22:59:44 1562

原创 CentOS 8.2 安装 JDK 1.8.0_202 详细步骤

还差最后一步,配置环境变量 JAVA_HOME。不配好它,很多 Java 写的程序可就没法直接使用了。而且你配好了环境变量,我们也可以方便的在任何目录下使用 Java 的命令。检查系统中是否已经安装了 JDK ,安装的基本是 OpenJDK,如果已经安装了,那就提前卸载掉它。除去一些固定的东西,一定要记得根据你实际的情况调整好目录位置或命名。如果能看到下方这么一串版本信息输出,那就道上一声恭喜。里面就是我们熟悉的 JDK 那些内容。执行查看 Java 版本命令。也可以直接在服务器内下载。

2022-10-23 15:45:31 1451

原创 CentOS 8.2 安装 MySQL 5.7.39 详细步骤

检查系统中是否已经安装了 MySQL 或 MariaDB ,如果已经安装了,那就必须提前卸载掉它们,否则它们占用的端口号、服务名或是一些其他配置很可能会干扰到后续我们要安装的 MySQL 版本。下方的配置中,指定了 MySQL 安装目录、MySQL 数据存储目录、MySQL 服务占用端口、MySQL 默认字符集、MySQL 日志文件位置、MySQL 进程文件位置等。命令来安装 MySQL 服务,并指定好用户名、MySQL 安装目录、MySQL 数据存储目录。到此,MySQL 服务就安装完成了。

2022-10-23 00:15:22 686

原创 解决Windows桌面部分快捷方式图标变为空白的问题

今天把电脑系统从 Windows 11 换回了 Windows 10,使用了半个月的 Windows 11 真是一言难尽。换完系统就开始安装一些开发应用,安装了一会儿,突然发现桌面上 draw.io 应用快捷方式的图标变为了空白。这是图标缓存文件,实际上我们的操作就是要删除图标缓存,让系统重新生成缓存。按下 Windows + X 键,在弹出快捷菜单后,按下 T 键。按下 Windows + R 键,在弹出的运行对话框中输入。2、在打开的本地应用数据存储窗口中,找到并删除。1、打开本地应用数据存储位置(

2022-10-15 21:53:07 8100

原创 内网CentOS服务器设置网络代理

今天在网管那新申请了一台服务器,打算用来做测试环境。但是内网服务器没有网络,所以需要设置一下网络代理才能满足上网要求。more。

2022-10-07 13:31:00 1323

原创 个人常用Git命令-持续更新

如果你已经将之前本地版本推送到了远程仓库,那么在下一次推送的时候就> 需要加上-f参数了。但是 GitHub 或者公司内的 GitLab 等,默认都是禁止强制推送的,需要设置一下,所以还是多加注意吧。git commit --amend [ --author = "用户名 " ] [ -m 提交信息 ]

2022-10-06 19:07:04 417

原创 个人常用Docker命令-持续更新

例如:docker pull tomcat:8.5.0 拉取的就是 8.5.0 版本的 tomcat 镜像,而 docker pull tomcat -> 拉取的实际是 docker pull tomcat:latest,这个 latest 是跟随记录中心中的最新版本变化的,无法确定当前拉取的是哪一个版本。是 quiet 的意思,加上这个参数后,docker images 输出的就不是镜像详细列表了,而是镜像 ID 列表,通常用于编写脚本时使用。如果本地不存在该版本的镜像,则会先从记录中心拉取到本地。

2022-10-06 18:59:40 984

原创 个人常用快捷键-持续更新

Alt + Tab -> Alt 键不松手,Tab键切换窗口,松手后进入窗口:切换窗口视图。Windows + Tab -> 方向键切换窗口,回车键进入窗口:打开多窗口视图。Windows + Shift + S:打开系统自带截图。Ctrl + Alt + Delete:打开任务管理器。[Fn] + Alt + F4:关闭窗口(关闭程序)Windows + R:打开“运行”对话框。Windows + E:打开资源管理器。Windows + V:打开剪贴板。Windows + D:显示桌面。

2022-10-06 18:54:07 309

原创 解决无法重复读取请求体和响应体的问题

为了解决这个问题,Servlet 提供了两个类 HttpServletRequestWrapper、HttpServletResponseWrapper,我们可以继承它们来实现请求体和响应体内容的缓存,达到重复读取请求体和响应体的目的。这两天实现了一个操作日志功能,需求是要记录指定操作的请求 URL,请求方式、请求头、请求体、响应码、响应头、响应体、请求耗时、操作人、操作IP、操作地址等信息。中获取请求体信息,那么就获取不到了。中获取了请求体信息,那么对应 Handler 就无法获取了,反之如果我是在。

2022-10-05 18:31:22 1246 4

原创 递归查询树型结构数据的性能优化方案

在日常开发中,像系统菜单、文件目录、多级分类这样的树型结构业务数据,我们往往会采用递归的方式来完成数据的查询处理。递归查询数据的确很方便,但稍微不注意就会造成较大的性能损耗,今天笔者就简单介绍一种优化方案。more。

2022-09-07 23:14:10 1951

原创 Nginx转发请求,报13:Permission denied错误

笔者这一想,我们公司的网管当时让他安装 Nginx 没 5 分钟就告诉 OK 了,那很大可能是用 yum 安装的啊,作者博客让看一下 audit.log 有没有出现错误信息,笔者前去看了一下。赶紧去测试地址看了一下,发现验证码接口 Nginx 502 了,首先想到的就是后端服务宕了,登上测试环境看了看,人家跑得欢快的很啊,程序日志里也没出现什么错误。,没有权限的意思,笔者突然灵光一现,很早以前安装 Nginx,在启动的时候遇到过一个和权限类似的错误,大意是你不能用。赶紧改一下,重新加载下配置试试。

2022-09-05 22:53:25 3766

原创 SpringBoot项目引入OpenFeign后无法启动

由于项目需要调用第三方 API,所以打算使用 Open Feign 来作为调用工具。但这次新项目用的 Spring Boot 版本有点高,花了点时间排除问题。more。

2022-08-31 22:45:42 3742 2

原创 用Java8获取近N天日期

登录进入管理类系统,首页一般都是以展示数据仪表盘为主。例如:展示一些总量、展示近一周或是近 N 天的某数据的折线图、柱状图等等。那在展示这类近 N 天的图表时,后端必然要给前端提供一个近 N 天的日期集合用于显示。至于实现的方法也有很多种,笔者在这儿就记录一种目前看来扩展性相对较好的方案。

2022-08-19 12:25:18 886

原创 一条SQL查询今年每月统计信息

前不久,笔者介绍过一种统计近 N 天记录数的需求解决方案。今天,笔者再介绍一种也很常见的统计需求。示例需求: 统计今年每月的注册用户数。你可以基于这个示例需求,去完成各种类似的月统计需求。而且啊,笔者今天这个需求解决方案的重点是在 SQL 上,这类需求问题在 SQL 语句笔试上也挺常见,所以下回再见到类似的需求,你可以好好回想下本篇实现。

2022-08-19 12:25:05 1209

原创 执行Shell脚本,报java: command not found

既然以往的经验不能提供帮助,那就对症下药,提示说找不到 java 命令,那说明它识别不到 Java 环境配置,帮它一把就得了呗。复制一份 Java 环境配置,放在脚本内容前,相当于每次执行这个脚本的时候,先做一次临时环境配置。其实,这个问题以前印象里也出现过,不过是很久以前初次使用 Shell 脚本的时候了,最终的问题点是因为直接写的脚本内容,没有添加。如果你要使用下方的配置,不要直接复制了事,记得将配置中的 JDK 安装路径,替换为你自己实际的 JDK 安装路径。打开脚本内容看了看,这个声明也加着呢。..

2022-08-15 18:37:33 8724

原创 为指定Git仓库单独配置用户名和邮箱

在前几天里,笔者一直给大家分享关于如何在 Git 仓库中 “销赃匿迹”,究其原因是笔者最近业余时间用的是工作用笔记本来“干活”,工作用笔记本里的全局用户名和邮箱肯定是公司 GitLab 的信息了。周末和工作日切换的时候,有时候兴致上来,没有及时修改全局用户名等信息,就直接 commit ,push 了,等到发现时那肯定就要用前几天的几个法子来挽救一下了。可能会有同学问,你怎么不为指定仓库做一下局部用户名配置呢?...

2022-08-14 22:22:44 2707

原创 修改Git所有提交记录中的作者和邮箱

上一篇,笔者介绍了怎么修改 Git 最后一次提交的作者和邮箱信息。那如果你是已经提交了很多次的记录,难道一个个的回退过去修改吗?显然不可能,所以本篇笔者带着大家认识一下如何批量修改 Git 提交记录中的作者和邮箱信息。...

2022-08-14 22:21:42 1083

原创 创建一个自身类的静态对象变量,究竟会如何执行?

}这激起了我们几个干技术的热情,那就分析一下吧。

2022-07-24 14:55:42 344 1

原创 合并两个Git仓库的历史提交记录

最近在下班的时间一直在维护一个基于EL-Admin这个开源后台管理系统的衍生开源项目。EL-Admin这个项目是采用前后端分离架构开发的,所以在开源平台上是分为了两个项目库,一个前端的,一个后端的。这本无可厚非,分成两个项目库,在开发时还是挺友好的,公司内部基本也是这个模式,但对于一个开源项目来说,分散为两个库还是有一些不利的方面。在管理issue上不太方便,项目作者要兼顾查看两个项目,而且有些小伙伴在提出issue时并不会管你这是前端库还是后端库,提就完事了。......

2022-07-23 19:44:25 766

原创 修改Git最后一次提交记录的作者和邮箱

今天周末了,抽出了一点时间继续维护下之前提到过的衍生开源项目。修了一个bug后,提交了一下。但是突然想起来,今天开发用的是工作本,工作本中的Gitauthor、email是配的真实姓名和公司邮箱,提交前忘了修改,现在已经推送到开源平台了,这肯定不行啊。但是现在即使修改了本地的Gitauthor、email配置,历史提交记录也改变不了啊。别着急,看看怎么解决的。...

2022-07-23 19:38:33 581

原创 SQL 注入攻击风险

***JDBC,模拟登录示例*51//录入登录信息Scannerinput=newScanner(System.in);System.out.print("请输入用户名");System.out.print("请输入密码");//查询数据库,验证登录信息booleanloginResult=false;try{//1、注册驱动Class.forName("com.mysql.jdbc.Driver");用户名用户名。......

2022-07-19 22:06:38 859

原创 for循环中删除集合元素隐藏的陷阱

C: 今天在审查代码时,发现某位同事提交的代码中有一个比较基础性的错误。这部分需求的主要目的是将集合中指定的元素删除掉,而这位同事采用的方法是用 for 循环来循环集合索引,然后通过索引从集合中取出每一个元素,判断是否是要删除的元素,如果是就直接删除掉。大概意思的代码,如下:笔者知道,肯定有同学会好奇,这结果是正确的啊,哪里有什么问题?的确,这个思路没问题,问题的关键是这位同事采用的循环方式存在问题。别着急,接下来,笔者就带各位同学好好测试一下。直接放代码吧,下方是使用基础的 for 循环(循环索引)来实

2022-07-07 15:22:49 874

原创 JavaScript 无法存储 Java Long 类型数据问题

今天在解决一个需求问题的时候,遇到了一个难得一见的 JS 问题。这个问题大概是和一些同学在开发环境使用 == 来比较包装类型的整数一样,由于比较的数值在缓存范围内,因缘际会的错过了 bug 的出现。简单说一下问题经过,是这样的,笔者这个需求最终要求接口返回一组自定义结构的 k-v (不是单纯的键值对)数据,用于在前端表单中进行分类展示。后端响应的数据结构类似如下:在前端表单中的展示效果大概如下:笔者相信各位同学都应该猜得到,当提交表单的时候,前端肯定会把选中的镜像的 val 值传递给后端,然后由后端继续进

2022-06-30 18:01:58 1028

原创 无法访问 F:\。文件或目录损坏且无法读取。

笔者这块西数的移动硬盘最近真的是问题频发,前段时间无法删除损坏的回收站,这两天在家里电脑上插上之后,双击 F 盘提示已损坏,较之以前问题更甚。这的确给了笔者一个 “惊喜”,最近两周好像没开 Drive 备份到 NAS 。硬盘要是坏了,这两周的东西还能剩下多少就不好说了。不过好在最后问题解决了,跟笔者来一起看看解决方法吧。首先,在出现问题的磁盘上【右键】单击,然后选择【属性】。在弹出的【属性】对话框中,选择【工具】选项卡,然后点击【检查】按钮。这个功能是用来检查磁盘文件系统错误的,检查完还会有个错误修复的环节

2022-06-30 17:49:47 3197 1

原创 F:\ 上的回收站已损坏。是否清空该驱动器上的“回收站“?

近期打开移动硬盘时,经常弹出一个提示框,提示内容是:F:\ 上的"回收站"已损坏。是否清空该驱动器上的"回收站"?这个提示框出现过好多回了,除了第一次见到时担心数据丢失,所以比较重视,后来次数多了,点过 “是”,也点过 “否”,只要当下不再影响我就先忽略了。但今天在公司打开时,它还没完没了的弹,我决定给它 “上一课”。我首先考虑的是不是接触不良类的问题,于是我在电脑上弹出了移动硬盘,然后把硬盘接线也重新插拔了一下,再插到电脑上。再次打开该盘,依然如此,问题未解决。我又考虑是不是电脑本次出了点故障,于是我重启

2022-06-30 17:42:42 32628 11

原创 Command line is too long. Shorten command line for XXX or also for Spring Boot default configuration

今天笔者在公司从测试环境拉取了一个 bugfix 分支之后,等待 Maven 依赖也加载完了,点了【Debug】运行按钮,想起身去接杯水,跳过项目启动的这段时间。结果,刚握住水杯,就看到 IntelliJ IDEA 在左下角弹出了一个错误提示框,如下:看提示的意思是命令行太长了,让缩短一下命令行。又点了两下【Debug】运行按钮,依然不依不饶的弹出这个提示,那就放下水杯解决吧。我想了想原因,就明白什么问题了,给大家贴一下启动的项目程序所在位置。这个结构,不好多说什么,历史遗留, doc 和源码放在了一个仓库

2022-06-30 17:29:30 868

空空如也

空空如也

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

TA关注的人

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