自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(83)
  • 收藏
  • 关注

原创 一个开源的汽修rbac后台管理系统项目,基于若依框架,实现了activiti工作流,附源码

一个基于若依Vue2框架的汽修平台rbac后台管理系统~整合了activiti工作流、定时任务等功能,欢迎一起讨论学习哦~

2023-11-16 11:55:08 847

原创 手把手教你学会用vue实现元素拖拽移动+滚轮缩放功能

项目中做看板重构时遇到的开发需求,不能使用组件,乍一看感觉很头大,但实际上手做出来后还是小有成就的。直接进入正题:先创建一个简单的vue demo项目<template> <div class="drag"> <div class="back_box"> 这是一个背景 <div class="drag_box">这是一个蓝色可拖拽元素</div> </div> </div&g

2022-01-26 18:46:31 24888 38

原创 vue实现仿阿里云官网的ace-view-fullColumn模块

案例:阿里云官网(https://www.aliyun.com)下方的“全面、专业、智能的解决方案”模块进行组件化自己实现出来的效果:gitee仓库:https://gitee.com/Yuzaki-Nasa/aliyun-ace-view-fullColumnvue实现:<template> <div class="common-fadein"> <div class="bg"> <div class="view-center

2021-11-16 22:01:11 1754

原创 MySQL的原生API实现插入数据后在可视化工具上不显示的问题解决

那么问题产生的原因也找到了,是连接池创建的连接里,执行插入数据的sql语句没有提交,导致线程结束后直接将连接释放了,所以sleep期间在可视化工具上也看不到插入的数据。改为自动提交后就能看到了。所以我们将代码改成SqlSession session = sessionFactory.openSession(true),让其在插入数据或者回滚删除数据时自动提交。显示表中有两行数据,该表也设置了主键和唯一索引。点进表里看却没有数据。

2024-01-30 18:23:16 261

原创 Spring Boot通过配置文件支持数据库自定义表名

直接上干货:例如一个叫xxx的项目,yml文件里加上这段创一个Configuration类放表名和Mapper看到这聪明的你应该已经知道后续该怎么做了

2024-01-29 11:15:49 487

原创 JAVA时间类中Date类、Calendar类和LocalDateTime类的简介与对比区别

时间类一直是代码开发中经常用到的东西,时间类在JDK中刚出现到国内最常用的1.8版本,一共迭代了三次。分别是Date类、Calendar类和LocalDateTime类。虽然JDK在更新,但是我看到很多的项目还是用着最初的Date类,这期就来讲一下三代时间类的区别。

2023-12-21 13:26:52 278

原创 JAVA实现敏感词高亮或打码过滤:sensitive-word

练手项目中实现发表文章时检测文章是否带有敏感词,以及对所有敏感词的一键过滤功能。

2023-12-08 12:29:56 988

原创 Vue3+nuxt+ts项目引入高德地图API实现步骤

看了好多相关的文章都没有完全贴合选用Vue3+nuxt+ts框架的,也不太靠谱,只好自己踩坑实现了首先去高德开放平台用自己的账号申请一个key,位置如下,申请好后保存好生成的key我们使用,一个高德地图2.0版本的vue3对应封装由于我们使用了nuxt框架,组件库内部使用的插件会使用部分特殊的对象,比如process、window。因此在使用时需要根据Nuxt要求处理加载顺序和对象的默认值处理。在根目录的utils文件夹下创建文件,根据自己项目的规范在其他目录创建也可以在nuxt配置文件。

2023-12-02 10:49:33 443

原创 RedisTemplate中使用scan方法代替keys指令

demo写到这步已经可以用了,注意传参的String pattern是要带*号的,比如我想查user_info:1、user_info:2等等数据,则匹配user_info:前缀(redis的key最好用枚举类+定义常量),此时传参的pattern即为"Keys会引发Redis锁(数据过多一直查询处理),并且增加Redis的CPU占用。但此demo会有一个问题:没法移动cursor,也只能scan一次,并且容易导致redis链接报错。当需要扫描key,匹配出自己需要的key时,可以使用 scan 命令。

2023-11-30 21:59:16 634

原创 前端传参中带有特殊符号导致后端接收时乱码或转码失败的解决方案

自从成为全栈后感觉思考问题和找bug的视野更广了,写代码也觉得越来越有趣,越来越顺畅。相信自己选择的路,即使它不一定对,只要努力让自己不后悔就好。祝大家学有所成,劳有所获,加油~

2023-11-30 21:45:26 1631

原创 当TinyMCE富文本编辑器遇到Vue3+nuxt+ts项目,分享引入成功案例及过程中踩的那些坑

如果你的前端项目技术栈使用的是Vue3+nuxt+ts,并且老大让你集成一下那个传说中非常丝滑的TinyMCE富文本编辑器,那么恭喜你和我一样中大奖了。网上找了好久都没有找到同类型且靠谱的实现方案,于是就自己着手研究文档并踩着坑解决了。TinyMCE中文文档中文手册懒得看过程的直接跳到最下方复制组件源码后按自己项目微调即可。

2023-11-28 19:41:13 553 6

原创 SpringCloud Alibaba组件入门全方面汇总(下):服务网关-Gateway、链路追踪-Sleuth&Zipkin、配置中心-Nacos Config

Sleuth是Spring Cloud的一部分,专门为微服务架构中的调用链路跟踪提供了解决方案。在复杂的微服务架构系统中,每一个前端请求都会形成一个复杂的分布式服务调用链路,而Sleuth可以帮助清晰地记录这个调用链路。Zipkin是一款开源的分布式系统跟踪工具,它可以帮助我们准确的定位问题并解决它们。Zipkin的设计思想是将应用程序中的请求跟踪和分析组织起来,以便于在分布式系统中发现延迟问题。它使用的是Google的Dapper论文中提到的Trace思想来实现分布式追踪。

2023-11-16 15:23:49 123

原创 SpringCloud Alibaba组件入门全方面汇总(中):服务熔断降级-Sentinel

Sentinel 可以通过自定义异常和 @SentinelResource 注解来提供更加灵活的保护机制。首先,Sentinel 允许用户自定义异常处理类,通过继承 BlockException 类并重写其中的方法,可以定制异常处理逻辑。同时,在定义资源时,可以使用 @SentinelResource 注解来指定异常处理类,以便在发生异常时执行自定义的异常处理逻辑。FlowException 限流异常DegradeException 降级异常ParamFlowException 参数限流异常。

2023-11-14 23:23:35 352

原创 SpringCloud Alibaba组件入门全方面汇总(上):注册中心-nacos、负载均衡-ribbon、远程调用-feign

例如,如果服务器A的权重值为2,服务器B的权重值为1,那么在轮询过程中,服务器A被选择的概率是2/3,服务器B被选择的概率是1/3。在概念上,Feign是一种轻量级的RESTful的HTTP服务客户端,它以Java接口注解的方式调用Http请求,类似于Dubbo,服务消费者拿到服务提供者的接口,然后像调用本地接口方法一样去调用,实际发出的是远程的请求。在原理上,Nacos通过注册中心实现服务的注册与发现,通过配置管理模块实现配置的动态获取和更新,通过服务管理模块实现服务的元数据管理和流量管理。

2023-11-13 23:26:45 921

原创 Java中对date数据做加减时间运算——Calendar类

在日常开发中,我们经常会遇到需要对日期进行加减操作的场景,比如在某个时间点上加上指定的小时数。本文将介绍如何使用JAVA的Date类来实现对日期加小时的操作,并提供具体的步骤和代码示例。

2023-11-06 22:00:23 1115

原创 activiti的核心对象与API与对应操作的表与核心字段

获取方式:对应的表:act_re_deployment用于存储流程部署的相关信息。该表记录了每个流程部署的唯一标识符(ID)、名称(NAME)、类别(CATEGORY)、租户标识符(TENANT_ID)、键(KEY)以及部署时间(DEPLOY_TIME)等信息。核心字段:获取方式:.deploymentId(“流程部署id”).processDefinitionId(“流程定义id”).processDefinitionKey(“流程定义的key”)

2023-11-03 00:21:46 306

原创 用大白话聊聊SpringBoot的自动配置原理(面试题详解)

首先,自动配置是Auto-Configuration,针对的是SpringBoot中的配置类,而自动装配是Autowire,针对的是Spring中的依赖注入。

2023-10-30 22:08:52 415

原创 SpringBoot内置工具类之断言Assert的使用与部分解析

断言是一个判断逻辑,用来检查不该发生的情况;断言的判定规则:2.1.值为true时,程序从断言语句处继续执行;2.2.值为false时,程序从断言语句处抛出异常,停止执行;2.3.早在JDK的1.4版本已经引入断言assert,通过命令-enableassertions开启,通过命令-disableassertions关闭;不加参数,全局生效;加了参数,只在某个类中使用;具体可通过java help命令查看;

2023-10-28 22:59:14 1144 1

原创 maven之父子工程&版本控制&案例实战,及拓展groupId和artifactId的含义

用于父子工程项目,什么是父子工程?顾名思义,maven父子项目是一个有一个父项目,父项目下面又有很多子项目的maven工程,当然,子项目下面还可以添加子项目,从而形成一个树形的结构。那么,这么做有什么好处呢?有以下两点:父工程package 需要指定pom子工程需要声明parent,否则无法使用父pom的依赖导入依赖和dependencyManagement 一起出现,指定的版本优先级更高,通常出现在父pom通常parent用于做结构管理,声明子工程继承父工程的A依赖B C继承BA = B的依赖 +

2023-10-28 22:45:24 1077

原创 Maven入门与开箱即用

Maven 翻译为“知识的积累”,“专家”,“行家”,是一个跨平台的项目管理工具;Maven 主要用作基于 Java 平台的项目(Maven 本身也是 Java 编写的)的构建、依赖包管理和项目信息管理;Maven 能提供一种项目的配置,配置好的项目,只需要运行一条简单的命令,就能完成重复的,繁琐的构建动作;Maven 能提供一种项目的依赖配置,配置好的项目,Maven 能自动的从 Maven 的中央仓库中帮我们下载并管理项目依赖的 jar 包。

2023-10-28 22:02:14 625

原创 redis的bitmap(面试题,待补充)

如果我们需要记录某一用户在一年中每天是否有登录我们的系统这一需求该如何完成呢?如果使用KV存储,每个用户需要记录365个,当用户量上亿时,这所需要的存储空间是惊人的。Redis 为我们提供了位图这一数据结构,每个用户每天的登录记录只占据一位,365天就是365位,仅仅需要46字节就可存储,极大地节约了存储空间。位图数据结构其实并不是一个全新的玩意,我们可以简单的认为就是个数组,只是里面的内容只能为0或1而已(二进制位数组)。一看就懂 详解redis的bitmap(面试加分项)

2023-10-28 09:20:12 227

原创 简单聊下Redis的主从复制和哨兵机制以及集群(面试题)

在之前的哨兵当中,一旦Main挂掉了,就势必会导致一段时间内的数据写不进去了,当并发量很大的时候这势必是一个比较大的问题集群就说为了解决这个问题而诞生的。由于数据量过大,单个Master复制集难以承担,因此需要对多个复制集进行集群,形成水平扩展每个复制集只负责存储整个数据集的一部分,这就是Redis的集群,其作用是提供在多个Redis节点间共享数据的程序集。Redis集群是一个提供在多个Redis节点间共享数据的程序集Redis集群可以支持多个Master。

2023-10-25 19:45:24 455

原创 Access denied for user ‘root‘@‘localhost‘ (using password:YES) 解决方案(禅道相关)

而我产生这个问题的起因是:前一天不管是项目debug、Postman测试、Navicat启动都还好好的,也没更改过用户,怎么今天就突然连接不上了?用网上说的这些暴力方法未免过于麻烦了,那就控制变量好好想想,昨天在电脑上干了什么,才会发生现在这种情况。关于这个问题,网上查到的解决方法基本都是因为忘记Mysql密码或者用户权限问题,都说要重置密码或者删改配置文件什么的。其他应用可能也有造成这种结果的情况,多回想一下自己是因为之前多操作了些什么而出现的问题。结果原来是禅道搞的鬼。

2023-10-24 22:05:12 535

原创 redis的key超时策略和key淘汰机制(面试题详解)

他会去遍历16个库,遍历每一个库,对这个库进行抽样,抽样之后,判断抽样出来的key,是否超过1/4的key是否处于过期状态,如果说,这些抽样出来的key里边的没有超过1/4的key过期,此时他先清理完抽样出来过期的数据之后,再去遍历下一个库。惰性删除不是去主动删除,而是在你要获取某个key 的时候,redis会先去检测一下这个key是否已经过期,如果没有过期则返回给你,如果已经过期了,则删除,返回null。在设置键的过期时间的同时,创建一个定时器,让定时器在键的过期时间来临时,立即执行对键的删除操作。

2023-10-23 20:36:16 931

原创 Redis的持久化策略:RDB与AOF(面试题详解)

RDB和AOF持久化的由来?因为Redis中的数据是基于内存的,所以如果出现服务器断电或者服务器宕机,那么Redis中存放的数据就会直接丢失。RDB和AOF就是针对Redis提供的两种持久化机制,可以将Redis中的数据持久化到磁盘中。当Redis实例故障重启后,就可以根据备份的文件来进行数据的恢复RDB全称Redis Database Backup file,也被叫做Redis数据快照,简单来说就是把内存中所有的数据都记录在磁盘中,当Redis实例故障重启后,从磁盘读取快照文件,恢复数据。

2023-10-23 20:04:18 448

转载 Redis的大key简介与问题与解决

redis 的大 key 不是指存储在 redis 中的某个 key 的大小超过一定的阈值,而是该 key 所对应的value 过大对于 string 类型来说,一般情况下超过 10KB 则认为是大 key;对于set、zset、hash 等类型来说,一般数据超过5000条即认为是大 key。

2023-10-23 18:48:35 134

原创 开发项目中各环境的缩写说明(DEV、SIT、UAT、PET、SIM、PRD/PROD)

在项目每次进行版本迭代的晚上,把开发功能完善的UAT代码上传到PRD,然后在生产环境上让测试和项目经理再仔仔细细测过一遍,确定该版本迭代ok了,没问题了才能下班。不同的公司或项目会启用的环境也有所不同,例如某公司某项目,个人在DEV环境开发,然后初版开发完成后前后端上传SIT进行联调,联调觉得没问题后上传UAT给测试或项目经理进行验收,测出BUG后继续重复前三轮操作。

2023-10-23 17:36:59 2729

原创 如果面试问到你redis的常用数据类型,你怎么和面试官聊上十分钟?附redis各数据类型常用命令

一道简单的面试题,你能给出更高大上的回答吗?

2023-10-22 19:57:29 134

转载 Spring中的@Autowired和@Resource区别

总结@Autowired 和 @Resource 都是用来实现依赖注入的注解(在 Spring/Spring Boot 项目中),但二者却有着 5 点不同:来源不同:@Autowired 来自 Spring 框架,而 @Resource 来自于(Java)JSR-250;依赖查找的顺序不同:@Autowired 先根据类型再根据名称查询,而 @Resource 先根据名称再根据类型查询;支持的参数不同:@Autowired 只支持设置 1 个参数,而 @Resource 支持设置 7 个参数;依

2023-10-13 17:25:47 43

原创 JAVA成员变量首字母小写,第二个字母大写报错问题(原因:Lombok与Spring冲突)

也就是说Lombok与Spring针对这种首字母小写,第二个字母大写的对象的解析是不同的,而这也就自然而然影响到默认的Jackson的解析,导致返回给前端的属性名称不是我们预期中的名称,则前端判断取得的值为null,继而报错。JAVA类里定义成员变量使用首字母小写,第二个字母大写。

2023-09-16 11:18:17 794

原创 解决Ubuntu下载速度或更新速度缓慢问题

(这一步里,网上很多其他教程都用vim,但一些新装的ubuntu里没有vim,经过一些错误操作后导致vim安装出错使用不了,所以这里用自带的gedit就不会打不开了。Ubuntu 系统自带的源文件,都是国外的源网址,在国内下载安装升级源或者依赖的时候,都比较慢,更换国内的源地址,轻松搞定此问题。3、在打开的sources.list文件里输入以下信息,然后点右上的“保存”,并退出。4、修改损坏的依赖包,卸载出错的包,重新下载新的正确的版本。5、修改损坏的依赖包,卸载出错的包,重新下载新的正确的版本。

2023-05-23 02:46:13 4079 2

原创 echarts中tooltip设为渐变色与模糊背景滤镜

本次需求中UI提供的设计图的一个模块:开发页面过程中写该模块样式时还原出的效果:实现方法:在的里进行配置:2、tooltip的文本框:这部分没有特供的配置属性,直接用配合超文本的形式进行样式加工:这边值得一提的是CSS中的backdrop-filter这个属性,在案例中实现了一个模糊滤镜的效果该属性的各项配置效果具体可参考该文章:css的backdrop-filter未来有时间再好好研究下这个属性并将经验输出成文章分享给大家~THX!

2022-11-29 18:32:12 4139

转载 vue中关于watch的immediate的理解与使用

对于watch的使用大家都还是比较熟悉的,我们平时使用的比较多的就是watch一个变量,偶尔还是使用deep:true来监听对象,但是immediate的使用就相对比较少,之前有遇到过这个属性,而且也查找过资料,但是一直都是有点懵懵的,要深刻去理解他,我们还是主要是从它的作用,需要在那种情境下使用它。

2022-11-28 10:55:46 977

原创 vue中鼠标移入移出事件种类以及区别

@mouseenter与@mouseleave。适用于鼠标移入移出时该块整体元素只执行一次事件的场景,例如自行封装的多层级组件。

2022-11-28 09:05:52 7812

原创 Echarts折线图隐藏markPoint只显示最大值和最小值的文本,且只在该两点显示symbol

算是一个比较偏门的需求吧,具体UED给的设计图效果如下:看起来非常简单,但实际实现起来……也确实简单,就是步骤多一点~我们知道Echarts提供的markPoint标注最大值和最小值是会有一个水滴图案的:首先要做的就是隐藏这个水滴图案。但如果将markPoint.symbol设为’none’,会将label文本一同去除。所以思路应为将水滴图案的颜色置为透明。

2022-11-17 16:19:53 3740

原创 Vue中$once搭配生命周期使用,例如hook:beforeDestroy

$once是一个函数,可以为Vue组件实例绑定一个自定义事件,但该事件只能被触发一次,触发之后随即被移除。$once有两个参数,第一个参数为字符串类型,用来指定绑定的事件名称,第二个参数设置事件的回调函数。$once可以多次为同一个事件绑定多个回调,触发时,回调函数按照绑定顺序依次执行。还可以作为修饰符使用。

2022-10-24 23:26:18 2084

原创 vue中用ref实现父子组件、孙组件、兄弟组件、非亲子孙组件互相调用的方法

无论是什么层级的组件之间互相调用,掌握好ref后都是万变不离其宗。来练练手吧。

2022-09-03 09:43:48 3668 4

原创 ElementUI日期选择器DatePicker限制所选时间范围(例如限制前后时长不超一个月)的实现

选择初始时间后,第二个选择的时间前后不能超过初始时间的一个月。且此时下拉框变成禁用状态。选好起始时间和结束时间后,下拉框与所有禁止选用的日期限制全部放开,以供下一轮的正常选择。例如:点击7月15日后,在8月14日往后的日期全部禁止选中。7月15日前一个月的6月15日之前的日期也全部禁止选中。未选择时间时,最初选择时间不能超过今天。...

2022-08-31 11:12:31 7820 11

原创 SourceTree安装跳过注册登录BITBUCKET步骤方法(更详细有用)

公司电脑最近因为某些原因重装了,那么常用的软件也需要重装,其中之一就是SourceTree。 安装过程中有一步是需要登录BITBUCKET,要知道很多公司的办公环境是不允许访问外网的,那么我们应该如何跳过这一步骤呢? 百度搜到的结果几乎都只有第一步创建accounts.json文件,然而操作完后并不好使,重启软件依旧卡在登录界面。而我这边执行完第二步后终于能跳过登录BITBUCKET的界面并可以正常使用了,接下来就从头分享这一系列的操作经验

2022-08-24 16:00:14 6012 6

原创 SourceTree在不使用SSH密钥的情况下连接远程仓库的方法(可进行远端拉取和推送)

windows系统下的SourceTree在不使用SSH密钥的情况下连接远程仓库的方法。网上都是MAC的,我觉得必须自己站出来写一篇了

2022-08-24 15:24:36 1399

空空如也

空空如也

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

TA关注的人

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