- 博客(52)
- 收藏
- 关注
原创 仅需三分钟,使用Vue3.x版本组件式风格实现一个消息提示组件!
在日常的前端项目开发中,我们时常需要使用到“消息提示”(以下简称“消息”)这个组件来帮助我们更好的给予用户提示,例如常见的“登录成功”、“操作成功”、“服务器异常”等等提示。 尽管市面上已经有一些组件库提供了这样的组件,例如国产的`Element-Plus`(如下图)。但他们还是有一个缺点,即如果我仅仅需要消息提示这一组件,那么引入一个大型的组件库是完全多余的,对整个项目来说,也会使其依赖体积过分庞大。
2025-02-26 21:09:02
1220
原创 前端JS接收后端的Long长整型数据,并且保证不丢失精度的解决思路
前端与后端对接的途中,有时我们会遇到一些奇怪的坑,例如后端传给前端一个Long类型的数据(可能是某张表的id或是某个随机值),但是前端接收后,数据竟然发生了微妙的变化,这背后的底层原理,就是JS语言number数据类型的精度丢失。
2024-12-10 14:29:21
782
原创 十分钟学会!使用腾讯云COS对象存储实现文件的上传下载功能!
最近恰好因为公司需要,涉及到了文件的上传下载这一块,于是想到了使用腾讯云的COS(云对象存储)来完成这部分的功能实现。
2024-10-29 18:42:45
1549
原创 Docker部署Nginx和SpringBoot项目,一遍把坑全踩完!
我们的Spring项目想要在docker容器上运行,就需要封装一个自己的image,操作起来并不复杂。看到这里,基本就能够解决Docker容器的部署问题了,离成功又进了一步!
2024-04-23 12:53:19
1447
1
原创 Java获取Jar、War包路径,并生成可编辑修改的本地配置文件
由此,我们得出一个结论,上述获取jar包路径的代码,在IDE中运行的效果和打包后运行效果不同,且打包后Windows和Linux运行效果基本一致。我们想要的Jar文件夹路径,需要向上获取三次父目录,正确的在打包后获取Jar包路径的代码应该如下:resource即我们需要的配置文件路径,使用File.seperator是为了不同平台的适配性。//jar所在文件夹路径Java获取Jar、war包路径的可行方法是通过。
2023-11-16 08:26:27
2329
5
原创 Windows使用ssh远程连接(虚拟机)Linux(Ubuntu)的方法
要使用SSH连接,当然得先有一个好用的客户端软件才方便。我这里使用的是WindTerm,一个开源免费的SSH连接工具,用什么软件不是重点。这里默认你已经生成过SSH的密钥了,如果没有,你可以在控制台使用如下命令生成。ssh-keygen。
2023-11-15 10:03:23
1845
原创 vue项目,如何修改Element-Plus等UI组件库的样式,三种方式搞定!!!
我们在学习和使用组件库构建页面的时候,时常会遇到这样的问题。即,尽管组件库已经提供了较多的功能,来帮助我们构建自定义的效果,但有时仍不能使我们满意。这个时候我们就不得不修改UI库的样式,来达到想要的状态。以Element-Plus为例,在Vue3中,主要有三种方式可以实现自定义第三方组件库的样式。
2023-08-28 16:56:57
13714
2
原创 在Linux上安装MYSQL 8.x,保姆级教程,看完不会博主吃电脑~
案例中我的主机为win11.尝试安装的是MYSQL8.0.28的版本。使用的是阿里云的服务器,系统为CenOS 8.x,如果和你的系统有区别,请自行对照。此外连接服务器用的是Xshell和XFTP。
2023-06-10 00:32:42
2302
3
原创 简单上手element-ui,三分钟学会按需导入~
这样一来,按需导入的步骤就完成啦,你可以在vue组件中任意的使用element-ui的元素,并且不用考虑导入的问题。
2023-04-20 03:29:02
1181
原创 Vue语法糖<script setup>详解,用最快的方式让你看懂和<script>的区别
它是Vue3中的一个语法糖,熟悉vue3脚手架的同学,应该一眼就能看出来,vite脚手架默认创建的模板项目中就使用了这个语法糖,说明官网也推荐我们去使用语法糖。我们都知道,setup是vue3中新增的属性,主要用来解决数据和方法的声明。是setup的替代,我们之前在setup中声明的内容,现在都可以直接迁移。
2023-04-11 00:18:56
2572
原创 解决Mybatis查询错误:Mapped Statements collection does not contain value for xxx
新手在使用mybatis注解开发的时候,往往容易出现各种错误。上述提到的“Mapped Statements collection does not contain value for xxx”就是常见的一种,出现这个错误表明mybatis没有找到你所使用的查询语句。
2023-03-29 10:27:50
15851
2
原创 JavaFx11+构建打包(含可执行文件),以及获取资源文件路径问题详解
如何构建属于自己的JavaFx应用程序,一步到位,本文带你详细介绍在idea中使用maven的JavaFx构建方式。
2023-03-17 11:45:14
1670
原创 如何简单的上手JavaFX17+?解决“缺少 JavaFX 运行时组件, 需要使用该组件来运行此应用程序”等问题
JavaFX是一个Java的一个ui库,但是自从java8以后,它很悲惨的被从OpenJdk中移除了,因此我们使用它来进行开发时,如果我们使用的是8以后的版本,经常会遇到一些问题。这里针对新手做一个简单的引导(悲,也许根本没新手来学吧)
2023-03-08 20:09:56
3965
9
原创 这些java名词你都了解嘛?JDK、openJDK、java EE、jre、jvm、jep、jar、jmod
在学习java的过程中,我们经常会遇到各种各样的缩写名词,虽然里面有一些不是必须了解的,不过作为java的学习者,我认为下面这些缩写词是很有必要知道的,不然不论是听别人交流还是看文档,都可能一头雾水。
2022-12-17 19:38:21
1020
原创 主机连接由虚拟机Linux搭建的redis,一步到胃,直接把坑踩完~
最近准备学习一下Redis来做缓存,在选择Redis环境上又犹豫了很久。有人推荐购买阿里云的Redis服务器,但是蚊子腿也是肉啊,而且便宜也只是针对新手罢了。作为白嫖党,学习阶段一分钱也别想让我掏出来。发现windows并不能很好的运行Redis,虽然也提出了一种解决方案(即WSL),但是WSL总的来说,还不成熟,1.0版本发布还没几天(我写这篇文章的时候),并且它不能兼容所有Linux程序。因此决定使用虚拟机Ubuntu来完成Redis的环境搭建。
2022-11-23 18:53:08
2479
原创 快速理解二分查找算法,附java代码实现
二分查找是一种常用的查找算法,其优点在于查找速度较快,最优时间复杂度为O(1),最坏时间复杂度也仅为O(log2n),在性能上十分优秀。二分查找必须对已排序的数组进行,因为其原理是不断比较区间的中位数与需要查找的值。一旦中位数大于查找值,则继续查找中位数与区间首(以下简称begin)的部分,反之,如果中位数小于查找值,则继续查找中位数与区间尾(以下简称end)的部分。
2022-11-16 15:08:10
339
原创 一遍掌握,快速排序的入门理解
快速排序,是一种常用的排序算法,因其易于理解且时间复杂度较低的特性而备受程序员青睐。平均复杂度为o(n lgn)。许多编程语言都有内置(优化过)的快速排序算法,例如java、c++等。虽然日常开发中,我们可以直接调用这些内置函数。但是,快速排序因其重要地位,我们仍然有必要掌握好。快速排序需要从排序的数组中选中一个key值,或者说基准值。每一次进行排序,都会根据选择的key值(通常是排序数组开头的值,即下面的begin)将数组根据元素大小切成左边数组和右边数组两部分。这个切开的过程,常见的实现方式是使
2022-11-09 18:21:36
423
原创 Java Web项目中的Servlet页面乱码问题
首先,我们得了解为什么会Servlet乱码。在进行Java web的开发时,我们最常用的是Tomcat服务器。浏览器默认的编码是ANSI(大陆地区就是GBK),而Tomcat在8及之前的版本都是ISO-8859-1,我使用的是Tomcat10.0.23(编码以及变成了UTF-8.因此默认编码不统一,就会导致乱码。不同于HTML页面与JSP页面,他们都能很方便的设置编码(当然Servlet其实也方便),并且编码都在十分显眼的位置,不容易忽视。例如HTML可以在中设置编码。
2022-10-01 16:53:59
639
原创 快速上手,Java中的计时功能(三种方法解决)
Java程序中,我们时常会有需要使用到计时的需求,比如统计某一段程序运行时间,以此判断程序的效率,又例如统计用户操作的时间等等。因此,掌握好java计时功能的使用,非常关键,是每一个java开发者必学的内容。三种方法中,首推的是第三种,因为前两种虽然写起来更轻松,却相对不好管理,在实际开发中,代码量大的时候,更容易混淆自己的思路。当然也是可以使用的。对于计时,其实无论是哪种方法,都无法避免误差,实际精度也难免受限于硬件。不过对于大多数的使用上,毫秒级的精度对我们已经足够了。...
2022-08-05 22:06:52
12180
原创 Java项目如何利用class.getResource()方法加载图片、配置文件等资源
众所周知,对新手来说,加载图片涉及到的路径之类的,都是最让人头疼的东西。有时候只是一个简简单单的文件路径,就能让人恶心一整天。因此,我对加载文件路径最常用的两种方法(分别是class.getClassLoder().getResource(fileName)和class…getResource(fileName))做出了测试。采用的是jdk17.我的文件路径是放在Maven项目resource根目录下的(编译后也就是classes目录下),icon下有两张图片。测试结果如下:class…getResourc
2022-06-17 15:27:19
1710
原创 关于windows11下,如何解决不小心把user用户名设置为中文的问题
众所周知,写代码,从学习阶段开始,我们就知道。所有的路径下都最好不要有中文,这么做的主要原因就是因为编码问题。如果我们的路径是英文的。那么不管我们的编码用的是utf-8还是ansi。最后我们的路径编码都是相同的(因为英文字母编码相同)。一旦我们在路径中使用了中文,在部署打包的时候很可能遇到各种恶心人的问题,网上也找不到任何有效的解决办法。不过如果我们一开始没有注意这一点,不小心把用户名设置为了中文,也有解决办法,这里给大家参考。xml的文件默认为ANSI编码,而ANSI默认是无法识别中文的。但用户名又是中文
2022-06-05 17:32:31
40429
19
原创 关于解决idea中加入(Module-info)Module Not Found错误的问题
不敢说一定和你的问题一样,不过也是一种思路。我是在使用javafx进行开发时遇到的。当我加入了一个module-info.java文件之后,就发现程序突然跑不起来了。把我急得不行,到处网上搜索也没有任何答案。最后发现其实是VM option的问题。把之前配置的模块信息去掉就好了,看样子是这两者之间会发生冲突。...
2022-06-02 23:52:51
4197
2
原创 java 使用Button时图片无法完全覆盖(不居中)的情况
前言使用Button时,我们有时会遇到一种情况。即明明图像与Button的大小完全一致,但是就是无法完全覆盖Button,如下图所示:而我们知道Button的贴图是默认居中的,不需要手动设置。解决办法出现这个问题的原因,是我们在Button上设置了文字导致的,文字与贴图造成了冲突。JButton jButton=new JButton("xxx");只要我们把Button上面的文字去掉,界面就会恢复正常了。虽然这是一个很简单的操作,但如果不注意就会让人调试大半个小时,上网到处查资料。相对
2021-12-26 20:58:12
738
原创 java gui-让动画(paint)和界面(conponent)同时显示的妙招,聊聊Panel和BorderLayout隐藏用法
前言在学习java的图形界面开发时,我们时常会遇到这样的情况。就是利用paint做好了一个动画后,如果我们想要直接在动画的界面上加上一些组件(component)来丰富界面,会发现这些直接加上的组件难以正常显示,如下图:没有显示的原因其实很容易猜到,出现的时间太短或者还没出现就被我们动画程序给清除了,导致我们没有看到。也可以理解为是我们的程序在repaint()小球动画的同时,也把我们的按钮给影响到了。或许会有人想到将Button放在一块新的板子(Panel)上,然后将这块Panel和动画所在Pa
2021-12-25 23:01:15
463
原创 30分钟~,轻松掌握线段树结构~
注明:目前使用线段树的次数不多,如果细节部分有微小错误,还请在评论区指证,谢谢!基本认识线段树是一种常用的数据结构,对于研究算法的acmer来说,更是必不可少。但是主流的一些教材上,却往往对其避而不谈,例如《算法导论》、《数据结构》等等。原因是,线段树相对其他常用数据结构来说,使用频率较低,而且难度相对较大。但是其实一旦理解好了其内部原理,线段树的实现就很简单了。线段树和区间树有着许多的相似之处,因此了解区间树有利于更好地学习线段树(没有学过也不要紧),线段树就像是区间树的升级版,先难后易也.
2021-10-01 16:57:17
201
原创 求最长递增子序列的个数
原题如下:给定一个未排序的整数数组,找到最长递增子序列的个数。示例 1:输入: [1,3,5,4,7]输出: 2解释: 有两个最长递增子序列,分别是 [1, 3, 4, 7] 和[1, 3, 5, 7]。示例 2:输入: [2,2,2,2,2]输出: 5解释: 最长递增子序列的长度是1,并且存在5个子序列的长度为1,因此输出5。方法一:动态规划这题属于动态规划的典型应用之一,我们可以把dp[i]定义为以第i个字符结尾的最长子序列长度。用cnt[i]表示以第i个字符结尾的最长的字符串
2021-09-20 16:09:09
439
原创 vector与数组的使用指南
前言作为c++ stl常用的容器之一,vector的使用频率一直很高,由于具备一系列的操作函数,使得它能很方便的存储和读写,所以vector在解题时应用很广。很多时候,在能够使用vector和数组的情况之下,我们会使用vector,因为它的操作函数确实方便。虽然在使用时,也会思考vector的时间复杂度到底相对数组有多大。但是由于写过的题目,基本不会因为数组和vector超时(或者说可能是没发现),因此一直搁置。最近我力扣做题,注意到一个问题。同样一道题,使用数组和使用vector,效率相差很大
2021-09-20 15:44:31
484
原创 c++ list的一些操作心得
最近写了一道list的题目,经典约瑟夫环问题。如下:试题 算法提高 找出出卖耶稣的人资源限制时间限制:1.0s 内存限制:256.0MB问题描述 耶稣有13个门徒,其中有一个就是出卖耶稣的叛徒,请用排除法找出这位叛徒:13人围坐一圈,从第一个开始报号:1,2,3,1,2,3…。凡是报到“3”就退出圈子,最后留在圈子内的人就是出卖耶稣的叛徒请使用双向链表实现编写该程序,依次输出出局人的编号。输入格式 无输出格式 输出13行,前12行分别是按顺序出局的人的编号。第13行输出叛徒的
2021-09-18 18:12:42
141
原创 蓝桥杯 正则问题递归思路分析
试题 历届试题 正则问题资源限制时间限制:1.0s 内存限制:256.0MB问题描述 考虑一种简单的正则表达式: 只由 x ( ) | 组成的正则表达式。 小明想求出这个正则表达式能接受的最长字符串的长度。 例如 ((xx|xxx)x|(x|xx))xx 能接受的最长字符串是: xxxxxx,长度是6。输入格式 一个由x()|组成的正则表达式。输入长度不超过100,保证合法。输出格式 这个正则表达式能接受的最长字符串的长度。样例输入((xx|xxx)x|(x|xx.
2021-09-18 17:17:20
158
原创 蓝桥杯 黑白无常 朴素算法
试题 算法训练 黑白无常资源限制时间限制:1.0s 内存限制:256.0MB问题描述 某寝室的同学们在学术完之后准备玩一个游戏:游戏是这样的,每个人头上都被贴了一张白色或者黑色的纸,现在每个人都会说一句话“我看到x张白色纸条和y张黑色的纸条”,又已知每个头上贴着白色纸的人说的是真话、每个头上贴着黑色纸的人说的是谎话,现在要求你判断哪些人头上贴着的是白色的纸条,如果无解输出“NoSolution.”;如果有多组解,则把每个答案中贴白条的人的编号按照大小排列后组成一个数(比如第一个人和第三个.
2021-08-15 16:01:33
317
原创 蓝桥杯 暗恋问题解析
试题 算法训练 暗恋资源限制时间限制:1.0s 内存限制:256.0MB问题描述 同在一个高中,他却不敢去找她,虽然在别人看来,那是再简单不过的事。暗恋,是他唯一能做的事。他只能在每天课间操的时候,望望她的位置,看看她倾心的动作,就够了。操场上的彩砖啊,你们的位置,就是他们能够站立的地方,他俩的关系就像砖与砖之间一样固定,无法动摇。还记得当初铺砖的工人,将整个操场按正方形铺砖(整个操场可视为R行C列的矩阵,矩阵的每个元素为一块正方形砖块),正方形砖块有两种,一种为蓝色,另一种为红色。我们.
2021-08-12 16:38:13
620
原创 拓扑排序经典问题 士兵排序 蓝桥杯
试题 算法提高 士兵排队问题资源限制时间限制:1.0s 内存限制:256.0MB试题 有N个士兵(1≤N≤26),编号依次为A,B,C,…,队列训练时,指挥官要把一些士兵从高到矮一次排成一行,但现在指挥官不能直接获得每个人的身高信息,只能获得“P1比P2高”这样的比较结果(P1、P2∈A,B,C,…,Z,记为 P1>P2),如”A>B”表示A比B高。 请编一程序,根据所得到的比较结果求出一种符合条件的排队方案。 (注:比较结果中没有涉及的士兵不参加排队)输入要求 .
2021-08-08 10:37:34
513
原创 如何用c++实现全排列功能(模拟next_permutation和prev_permutation)
前言众所周知,c++中标准库已经包含了这两个排列的函数。即,next_permutation()和prev_permutation()但我觉得研究一下排列对算法来说绝对是有益无害,同时也能让我们在解题中更加顺手。通晓原理才是永远的神~PS::不过实际解题中,效率最关键,最好还是直接使用排序函数。上一个排列prev_permutation()函数要实现这个函数,我们得了解我们是如何判断上一个排列的。举个例子,21045的上一个排列是20541.。发现规律了嘛?当前的这个数5->4-&g
2021-08-04 16:08:02
330
原创 如何简单快速地解决VS中的 scanf警告(无法使用)问题,不用sacnf_s
前言相信不少人都遇到过下面的情况:而每次遇到这样的情况,很多人只好换用scanf_s,或者默默的打上宏定义。然而很多时候,这显得非常不方便,尤其当你研究算法做题时,由于vs的scanf_s是无法被其他编译器识别的,这就导致你只能打上宏定义,浪费了不少时间,当然更关键的是,可能恰巧就让你做题思路卡了一下……常规方法:1.在项目属性中---->配置属性------>C\C+±------>预处理器------->在右侧的预处理器定义中加入一行_CRT_SECURE_NO_DEP
2021-08-03 16:58:22
5424
原创 最短路 SPFA算法
试题 算法训练 最短路资源限制时间限制:1.0s内存限制:256.0MB问题描述 给定一个n个顶点,m条边的有向图(其中某些边权可能为负,但保证没有负环)。请你计算从1号点到其他点的最短路(顶点从1到n编号)。输入格式 第一行两个整数n, m。接下来的m行,每行有三个整数u, v, l,表示u到v有一条长度为l的边。输出格式 共n-1行,第i行表示1号点到i+1号点的最短路。 样例输入 3 3 1 2 -1 2 3 -1 3 1 2SPFA算法简介全名为shortest path fa.
2021-07-26 15:16:50
178
原创 dijkstra算法,真的不能计算负权值吗?
很多人都知道dijkstra算法不能计算负权值。但是不是所有人都深刻地认识了这一原因。以下面的例子为例:如果用dijkstra算法来计算最短路径,一定会出错。因为按照dijkstra算法,它的原则是基于贪心进行查找,所以它的查找顺序应该是:BEDC。造成的结果就是:找到第二个节点时,就会直接判断E的最短路径为-3.并且后续节点的查找也不会改变这个值。但是显然,我们知道E的最短路径为-4.出现这种情况的根本原因是,负环(含负值的环)出现。导致贪心的查找逻辑无法继续成立。用通俗的话来说,就是面
2021-07-26 11:07:20
8729
8
原创 蓝桥杯 最短路问题 dijkstra算法负权值计算
原题如下:试题 算法训练 最短路资源限制时间限制:1.0s 内存限制:256.0MB问题描述给定一个n个顶点,m条边的有向图(其中某些边权可能为负,但保证没有负环)。请你计算从1号点到其他点的最短路(顶点从1到n编号)。输入格式第一行两个整数n, m。接下来的m行,每行有三个整数u, v, l,表示u到v有一条长度为l的边。输出格式共n-1行,第i行表示1号点到i+1号点的最短路。样例输入3 31 2 -12 3 -13 1 2样例输出-1-2数据规模与约定对于1
2021-07-24 17:48:43
1110
原创 vector快速存图 存图的方法 数据结构
简单引入存图的方法,主流的是4种。分别是利用二维数组、构建邻接表、前向星、和链式前向星。第一种二维数组的存图方式,优点是非常方便,只需要定义一个二维数组,就可以很快速的存图、和方便的读取。但是它的缺点也非常明显,就是容易造成空间的大量浪费。在实际解题中,一旦数据量超过一万个结点,就可以直接放弃,否则很容易爆内存。第二种构建邻接表,空间和时间复杂度都可以接受,查找比二维数组稍慢,但是不会浪费空间。是常用的一种存图方式,但是缺点是,需要自己构建邻接表的数据结构,因此尤其对于刚学习邻接表的新手来说,不太友
2021-07-24 16:49:41
3823
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人