- 博客(30)
- 收藏
- 关注

原创 使用Docker-Compose部署若依微服务项目详细教程
这里就不赘述怎么拉取代码问题。执行命令构建服务容器。注意:如果是多次构建,会存在换成可以使用该命令,忽略缓存,并且重新下载和构建所有镜像。
2024-04-25 18:37:11
1569
原创 若依微服务集成Flowable仿钉钉工作流
流程设计器• 节点新增、删除、修改 :用户可以随时对审批节点进行调整,以适应新的业务需求。• 流程保存和发布 :设计完成后,用户可以将流程保存并发布,使其生效。审批人配置审批人节点的配置非常灵活,目前支持选择指定人员、角色、部门、发起人自选等等。这种设计使得审批流程的管理更加高效且有针对性。集成能力此项目可轻松基础到现有项目中,因为工作流本身就可以作为一个单独的应用部署,集成的话只需要将项目的RBAC这套关系接口提供给工作流使用即可。
2025-04-10 15:49:50
476
原创 Docker+Jenkins+Gitee自动化项目部署
解压需要解压到这个目录下面 /opt/develop_resource/apache-maven-3.6.3,因为后面再启动jenkins的时候需要挂载在他容器的目录里面。改完之后通过git命令上传到gitee上面后,jenkins会自动的进行构建。注意:首次进入需要获取管理员密码,可以进入Jenkins容器查看。Jenkins启动完整后进入容器查看maven是否配置正确。进入后可以新建一个账号,插件可选择性安装,这里略。这里配置的地址与前面配置的保持一致即可。进入gitee代码仓库,将密码填入,
2025-04-08 17:53:07
1229
原创 Vue-TreeSelect组件最下级隐藏No sub-options
整个树形结构数据都是由后端构造好返回给前端的。默认子类没数据的话,children是一个空数组。也就是因为这最下级的空数组,导致最下级显示这段文字提示。
2024-11-26 10:08:58
682
原创 报错:Entering emergency mode. Exit the shell to continueTupe “iournaletl‘ to view sustem logs 解决
L 选项指定强制日志清零,强制xfs_repair将日志归零,即使它包含脏数据(元数据更改)。执行完后,重启虚拟机,大功告成!
2024-07-10 08:55:02
866
3
原创 MySQL索引B+树
本篇文章从二叉查找树,详细说明了为什么 MySQL 用 B+ 树作为数据的索引,以及在 InnoDB 中数据库如何通过 B+ 树索引来存储数据以及查找数据相关资料MyISAM和Innodb(非聚集索引和聚集索引)、B+树的存储、MySQL的几种索引。
2024-06-06 09:48:22
871
原创 ConcurrentHashMap原理详解
做插入操作时,首先进入乐观锁然后,在乐观锁中判断容器是否初始化,如果没初始化则初始化容器,如果已经初始化,则判断该hash位置的节点是否为空,如果为空,则通过CAS操作进行插入。如果该节点不为空,再判断容器是否在扩容中,如果在扩容,则帮助其扩容。如果没有扩容,则进行最后一步,先加锁,然后找到hash值相同的那个节点(hash冲突)循环判断这个节点上的链表,决定做覆盖操作还是插入操作。循环结束,插入完毕。
2024-06-06 09:47:22
1529
原创 微服务项目将Nacos地址、命名空间、环境等配置信息,统一放在pom.xml管理教程
在Maven项目中,src/main/resources目录下的文件通常被视为资源文件,这些资源文件在构建项目时会被复制到输出目录(如target/classes),以便在运行时被访问。通过这样的配置,你可以灵活地控制哪些文件会被视为项目的资源文件,并在构建过程中将它们复制到合适的位置。这些文件也会被视为资源文件,并在构建过程中被复制到输出目录。第一个 元素指定了src/main/resources目录,它包含了true的配置,表示对该目录下的资源文件执行过滤操作。元素用于定义一个资源目录及其配置。
2024-04-20 17:26:31
727
原创 Xshell连接不上VMware虚拟机,以及设置固定虚拟机IP教程
点击DHCP设置,查看ip网段范围,下面配置设置虚拟机ip,网段要在该范围内。5、保存并退出:wq,不保存退出:q!配置完成后重启虚拟机,查看虚拟机ip。进入该文件后在最后添加一段配置。2、键入i 进入编辑模式。1、首先输入法切到英文。3、esc退出编辑模式。这里记录下vim操作。
2024-01-25 10:29:20
2473
原创 Docker学习笔记
docker容器基础学习,从docker安装、到学习docker基础命令、数据卷使用、docker网络模式、dockerfile编写、镜像仓库介绍及使用、容器编排、分布式编排Swarm使用、单体服务、分布式服务使用docker部署等
2024-01-12 17:28:43
591
1
原创 JSON parse error: Illegal character ((CTRL-CHAR, code 31)): only regular white space (\r, \n, \t) is
远程接口调用参数过大,超过当前设置的最大参数长度,部分参数被截掉,导致json字符串不完整,也就解析出问题了。查阅资料,定位到该异常是由于Spring Cloud Feign 请求其他微服务时json数据被压缩导致的。也就是说只有当请求的参数大于8192,及8kb,才会将参数进行压缩。附上application-dev.yml中feign的配置。1、减小参数的长度(这种方案看具体场景)3、设置请求压缩的最小请求大小。当然这个参数大小自定义。2、关闭请求数据压缩。
2024-01-11 16:56:26
5569
1
原创 若依微服务版本JSON.parse: unexpected character错误排查
,若依这里是采用在配置文件当中填写具体信息的方式,来配置是否启用xss,是否是白名单,是否是匹配链接。按照后台填写的数据处理请求,如果是不启用或者是该请求为白名单,就直接将请求放过如果不通过就交给XssFilter来处理。若依框架在网关采用配置拦截器的方式来处理XSS攻击,一旦请求被过滤器拦截,就会转入到自定义的拦截器XssFilter当中,首先解决的就是判断是否启用XSS拦截器和是否需要拦截(在网关配置Xss过滤白名单接口。
2024-01-09 10:38:54
1268
原创 Spring Cloud Gateway网关转发websocket服务配置
客户端向 Spring Cloud Gateway 发出请求。然后在 Gateway Handler Mapping 中找到与请求相匹配的路由,将其发送到 Gateway Web Handler。Handler 再通过指定的过滤器链来将请求发送到我们实际的服务执行业务逻辑,然后返回。过滤器之间用虚线分开是因为过滤器可能会在发送代理请求之前(“pre”)或之后(“post”)执行业务逻辑。
2023-10-24 10:14:21
3760
原创 ThreadLocal使用及底层详解
但是在开发中我们都是使用线程池的方式,线程池的复用不会主动结束;当我们使用SimpleDateFormat的parse()方法的时候,parse()方法会先调用Calendar.clear()方法,然后调用Calendar.add()方法,如果一个线程先调用了add()方法,然后另一个线程调用了clear()方法;在java中,栈内存归属于单个线程,每个线程都会有一个栈内存,其存储的变量只能在其所属线程中可见,即栈内存可以理解成线程的私有变量,而堆内存中的变量对所有线程可见,可以被所有线程访问!
2022-09-20 09:12:37
363
原创 宝塔安装MySQL以及配置Navicat远程连接
使用root用户进入数据库 输入上面复制的root密码。#更新root用户权限,“%”指的是所有地址都可以访问。使用Navicat工具连接数据库测试!这里搜索MySQL并下载自己需要的版本。在这查看自己MySQL数据库密码。#最后一步,刷新权限即可。
2022-09-13 16:26:23
3272
原创 如何将exe注册为Windows服务,直接从后台运行
instsrv.exe.exe和srvany.exe是Microsoft Windows Resource Kits工具集中 的两个实用工具,这两个工具配合使用可以将任何的exe应用程序作为window服务运行。srany.exe是注册程序的服务外壳,可以通过它让应用程序以system账号启动,可以使应用程序作为windows的服务随机器启动而自动启动,从而隐藏不必要的窗口。...
2022-09-01 16:39:35
2592
原创 Vue 点浏览器后退 模态框有灰色遮罩,监听返回键 this 无效
监听返回键,遇到的问题是直接用 this.xxx 无效,原因是此处 this 非彼处 this,需要把 this 绑定下,如方法一;当然也可以用 low 点方法,如方法二。
2022-08-23 10:17:11
495
原创 Vue中Axios的封装和API接口的管理
在vue项目中,和后台交互获取数据这块,我们通常使用的是axios库,它是基于promise的http库,可运行在浏览器端和node.js中。他有很多优秀的特性,例如拦截请求和响应、取消请求、转换json、客户端防御XSRF等。所以我们的尤大大也是果断放弃了对其官方库vue-resource的维护,直接推荐我们使用axios库。如果还对axios不了解的,可以移步axios文档。安装引入一般我会在项目的src目录中,新建一个request文件夹,然后在里面新建一个http.js和一个api.js文件。ht
2022-07-09 14:21:00
512
原创 来系统学习下 lambda 表达式吧
lambda 表达式,相信大家都不陌生,就算没有用过,那应该也听说过。我也是一样,在使用新特性stream 流处理集合相关的代码时接触到这种语法,其他地方倒是不经常使用。所以也是仅仅知道一些皮毛,对于其中的原理什么的也不怎么清楚。今天准备系统的学习一番,话不多说,接下来就开始我们的学习。lambda 表达式是 Java 8 的一个新特性,可以取代大部分的匿名内部类,简化了匿名委托的使用,让你让代码更加简洁,优雅。比较官方的定义是这样的这个匿名函数没有名称,但它有参数列表、函数主体、返回类型,可能还有一个
2022-07-07 16:52:14
126
原创 Nginx使用及配置
优点:整个配置文件的结构大致如下:全局块events块Http块server块listen指令关于上面的一些重要参数做如下说明:listen指令的使用看起来比较复杂,但其实在一般的使用过程中,相对来说比较简单,并不会进行太复杂的配置。用于配置虚拟主机的名称。语法是:对于name 来说,可以只有一个名称,也可以由多个名称并列,之间用空格隔开。每个名字就是一个域名,由两段或者三段组成,之间由点号“.”隔开。比如在该例中,此虚拟主机的名称设置为 myserver.com 或 w
2022-07-07 16:36:54
961
原创 MySQL慢查询优化(线上案例调优)
MySQL查询优化解决方案所以针对这个问题的解决方案主要有两种:优化结果优化前,offset达到20万的量级时,查询时间过长,一直到超时。优化后,offset达到20万的量级时,查询时间为1.11s。优化结果优化前,offset达到20万的量级时,查询时间过长,一直到超时。优化后,offset达到20万的量级时,由于知道第20万条数据的id,查询时间为0.34s。......
2022-06-10 15:28:26
510
原创 MySQL 高级特性(一):为什么不推荐你使用外键?
在早期的数据库表结构设计中,往往会把一张表引用另外一张表的字段(通常是 id)作为外键,借助 MySQL 自动维护外键,确实能够省掉很多开发工作,但是外键实际的代价不低,很多数据表设计规范已经明确禁止使用外键。本篇将介绍外键存在的缺陷。目前,在 MySQL 内置存储引擎中,只剩下 InnoDB 还在支持外键,因此如果要使用外键可选择的存储引擎不多。外键并不是没有代价的。事实上,外键通常会需要服务器地在更改数据的时候检查另一张表。尽管 InnoDB 使用了索引提高这个操作速度,但并没有让数据检查的影.
2022-05-30 15:31:15
1589
原创 Vue+Element-UI根据浏览器大小动态设置el-table的高度,实现自适应
一、页面渲染<template> <div class="app-container"> <div style="background-color:green;padding:20px;margin-bottom:30px"> <el-table :data="table1_info.tableData11" style="width: 100%;" border :heigh
2022-04-29 11:09:36
3920
原创 MySQL的游标使用及作用
一、应用场景当前有三张表A、B、C其中A和B是一对多关系,B和C是一对多关系,现在需要将B中A表的主键存到C中;常规思路就是将B中查询出来然后通过一个update语句来更新C表就可以了,但是B表中有2000多条数据,难道要执行2000多次?显然是不现实的;最终找到写一个存储过程然后通过循环来更新C表,然而存储过程中的写法用的就是游标的形式。二、简介游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。游标充当指针的作用。尽管游标能遍历结果中的所有行,但他一次只指向一行。
2022-04-29 10:55:23
1382
5
原创 更多css技巧
一、三角形/** 正三角 */.triangle { width: 0; height: 0; border-style: solid; border-width: 0 25px 40px 25px; border-color: transparent transparent rgb(245, 129, 127) transparent;}/** 倒三角 */.triangle { width: 0; height: 0; border-style: solid;
2022-04-29 10:39:49
133
原创 Vue中如何使用百度地图
一、安装vue-baidu-mapnpm install vue-baidu-map --save二、全局注册(也可以局部注册,具体参考vue-baidu-map文档)import Vue from 'vue'import BaiduMap from 'vue-baidu-map'Vue.use(BaiduMap, { // ak 是在百度地图开发者平台申请的密钥 详见 http://lbsyun.baidu.com/apiconsole/key */ ak: 'YOUR_APP_KEY
2022-04-29 10:19:22
5009
6
原创 Vue 项目的权限管理(详讲)
一、首先,权限管理⼀般需求是两个:⻚⾯权限和按钮权限。权限管理⼀般需求是⻚⾯权限和按钮权限的管理具体实现的时候分后端和前端两种⽅案:前端⽅案会把所有路由信息在前端配置,通过路由守卫要求⽤户登录,⽤户登录后根据⻆⾊过滤出路由表。⽐如我会配置⼀个 asyncRoutes 数组,需要认证的⻚⾯在其路由的 meta 中添加⼀个 roles 字段,等获取⽤户⻆⾊之后取两者的交集,若结果不为空则说明可以访问。此过滤过程结束,剩下的路由就是该⽤户能访问的⻚⾯,最后通过 router.addRoutes(acces
2022-04-20 10:24:28
8492
原创 Java手把手教钉钉配置事件订阅
一、登录钉钉后台,在开发管理配置服务器出口IP二、在后台事件与回调中刷新aes_key和签名 token三、后台代码实现(注意在后台事件与回调下面还有一个请求地址为请求该方法)@RestController@RequestMapping("dingding/event")public class DingDingEvent { //钉钉事件订阅aeskey private String aeskey = "填写自己应用的"; //钉钉事件订阅token pr
2022-04-20 10:04:07
2150
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人