- 博客(256)
- 收藏
- 关注
原创 ELK:Elasticsearch、Logstash、Kibana Spring Cloud Sleuth和Spring Cloud Zipkin
elasticsearch导入中文分词器Logstash修改es数据库ip及创建索引名配置。
2024-10-11 22:05:16
1180
原创 TX-LCN框架 分布式事务
分布式事务中值得注意的是,如果书籍远程调用出现问题,即使不使用分布式事务管理仍然学生业务回滚;解决这种代码侵入问题和逻辑问题,一是通常指定本地事务的rollbackFor回滚异常;并且如果redis服务崩了,但其实不影响学生业务,如果都回滚的话会导致所有关联的微服务不可用。二是在远程调用方自己捕捉异常处理。
2024-10-04 23:16:55
1023
原创 SpringCloud Config配置中心 SpringCloud Bus消息总线
在gitee网址中新建本地仓库cloud.config、 新建本地yml文件application-diy.yml。命名配置文件,该文件加载在application文件前,可以看作是实际配置文件的模板父文件。使用Eureka完成服务发现,所有其他服务器都视为Eureka客户端。3、 热刷新其中一个客户端,这里刷新8080端口。将配置中心服务器的启动器依赖改为客户端依赖。添加注解 @RefreshScope。
2024-10-03 22:43:01
1162
3
原创 spring cloud Gateway网关
实现GlobalFilter的filter()方法@Component/*** 过滤方法。* 实现上,只有唯一的要求。必须调用方法chain.filter(exchange),并把方法的返回值,返回。* @return*/@OverrideSystem.out.println("前置全局过滤");System.out.println("后置全局过滤");
2024-09-28 21:53:10
1012
原创 SpringCloud简介 Ribbon Eureka 远程调用RestTemplate类 openfeign
Autowired@Test@Testname=张三&age=20", String.class);name={a}&age={b}", String.class,"战法",29);map.put("x","阿森纳");@Test@Testmap.add("name","埃德加");name=咋很难&age=29", entity, String.class);@Testmap.put("name","绽放");@Test。
2024-09-25 20:41:01
1129
原创 文件服务器FastDFS 消息队列中间件RabbitMQ
Consumer项目中的监听器时刻监听提前设置好的监听队列,如果有消息进入队列中,会调用单元方法将消息中的数据取出消费,消费成功后返回信息在队列中删除消息。在FastDFS中根目录包含256个一级目录、每个一级目录中包含256个二级子目录,在二级子目录中存储图片。如果消息在Consumer项目中拿取数据或者消费过程中出现错误,这个时候不会被删除,而是会多次尝试再次获取 消息 消费。storage是存储服务器,每一个storage服务器都是一个单独的个体,storage服务器之间没有交互关系。
2024-09-23 22:09:25
1075
原创 spring security 手机号 短信验证码认证 替换默认的用户名密码认证
DaoAuthenticationProvider的authenticate()方法在父类 AbstractUserDetailsAuthenticationProvider中;实现该认证,只需要重写Token,Filter,Provider,UserDetilsService。这里验证码可以使用阿里云的免费短信测试,因为我的白嫖短信已经过期,所以这里事先写死验证码,最后调用阿里云的短信验证API。
2024-09-18 21:58:17
1091
原创 SpringSecurity 5
1)重写校验类,实现自定义校验需要实现一个接口UserDetailsService,这个接口其实是security框架提供给我们的自定义校验的接口,实现该接口,生成该实现类对象的话,security框架就不会使用默认的内置接口实现类对象进行校验。这里access表达式调用方法时规则:使用@符号调用方法写bean的id及调用方法参数名必须叫request,authentication//登出配置.logoutSuccessUrl("/myLogin") //成功的跳转路径// }
2024-09-15 22:36:06
1199
原创 Redis
〇、redis的几种数据类型一、两种储存机制:RDB和AOF RDB: rdb是redis默认的存储机制; 触发规则后将内存数据存储到硬盘的dump.rdb文件中: save 900 1save 300 10
2024-09-10 21:44:14
730
原创 CentOS Stream 8中安装和使用 Docker
docker run -d -p 宿主主机端口号:容器端口号 --name 容器名称 其他参数 镜像Id 创建并启动容器(容器不一定启动成功,需要查看启动日志)docker exec -it 容器名称 /bin/bash 进入容器的命令终端(容器必须是启动状态)docker cp 宿主主机文件路径 容器名称:容器内部路径 将宿主主机指定的文件复制到容器中。docker cp 容器名称: 容器内部文件路径 宿主主机路径 将容器内部的文件复制到宿主主机中。
2024-09-09 22:05:34
1859
2
原创 算法day09 二叉树
一、用递归和非递归分别实现二叉树的前序,中序,后序遍历 非递归方式: 要输出根左右的顺序,将元素右边先放入栈中元素左边后放入栈中,实现先弹出左边元素再弹出右边元素。 ①入栈,弹出;弹出的①视为根节点 每次while循环只看这一颗小树: ③入栈,②入栈;
2024-09-08 00:55:56
1089
原创 算法day08 链表
将【1 -> 2->3 -> null 】变为【1 ->1* -> 2-> 2* ->3 -> 3* 】eh指向et 此时地址 :也就是 et - > 第六个元素5的地址。假设有这样一个链表【 1 -> 2 -> 3 -> 2-> 1 】 已知条件只有链表head。bh指向bt 此时地址 :也就是 bh- > 第五个元素8的地址。sh指向st此时地址 :也就是 sh - > 第三个3的地址。跳出循环时为标志拿到链表尾节点tail 实现单向链表反转 【1 -> 2 -> 3。
2024-08-31 23:29:00
966
原创 若依脚手架 创建一个系统 his医院信息管理系统
界面的elementplus标签和script内语法可以参照岗位系统的前端界面post.vue代码。
2024-08-30 18:02:13
1291
原创 若依 Vue3的前后端分离系统管理 创建 使用
npm config set registry https://registry.npmmirror.com //前端设置镜像源。后端项目镜像源都在项目中配好了,只需要在pom.xml点击刷新依赖就ok。既然是vue3的项目还是一样的操作,需要node.js。
2024-08-30 11:24:14
1725
原创 Vue 选项式api和组合式api 路由嵌套
在MyAdd3组件中嵌套一个MyAdd4组件,进行参数传递id4=123。(){ }, // 定义对象及属性值。并且import导入的资源无需手动挂载。和选项式api一样,不过方法名前多加了一个on。:{ }, // 挂载import导入的组件对象。(){ }, // 创建函数对象。(){ } // 各种生命周期函数。在MyAdd4中使用。
2024-08-26 21:45:00
762
1
原创 ES5到ES6 js的语法更新
js是一门弱语言类型,为了实现更有逻辑的代码,需要不断更新语法规范,es就是用来规范js语法的标准。09年发布了es5,到15年发布es6,到现在es6泛指es5.1以后的版本es2016,es2017。
2024-08-21 17:00:15
1339
原创 python语言day9 正则表达式 和 xpath 解析html
元字符:. [ ]量词:?惰性匹配:玩儿(?P.*?)游戏:匹配到第一个游戏结束,name = 匹配的文本。玩儿(?P.*)游戏:一直匹配到不符合条件元字符才结束。
2024-08-20 21:55:11
517
原创 python语言day08 属性装饰器和property函数 异常关键字 约束
三个装饰器下的方法名都一样,通过message.creat_time的不同操作实现调用get,set,del方法。类比java,就是springBoot框架的@Bean注解。三个装饰器实现对私有化属性_creat_time的get,set,del方法;创建一个属性名,就是方法名creat_time。创建并私有化一个属性_creat_time。类似sql语句的as,给异常对象起个名字。私有化_name属性,对外提供name属性的调用。对应的值就是return的值。
2024-08-16 09:15:03
209
原创 从springBoot框架服务器上下载文件 自定义一个启动器
一:所有启动器配置类的创建使用spring-boot-autoconfigure实现二:spring-boot-configuration-processor找到boot的配置文件实现映射.<parent></parent>
2024-08-14 21:40:58
415
原创 python语言day7 函数式编程 面向对象编程
没有extends,只需要一个(),就能表示继承,python的语法写的很简洁,看起来很舒服。对象就是对 类的一种封装。
2024-08-14 20:52:22
496
原创 算法day07 常见排序稳定性
找一个基准值,大的放右边,小的放左边 ,只关心找到的大于基准值的数,小于基准值的数。交换两者位置不包含稳定性。heapify()的过程也就是对堆结构实现,把数组按堆结构排序,并不关心等值比较,本身也会将数组结构重组,没有稳定性。如果只是从左到右遍历一遍,大的放右边,小的放左边,会遗落掉交换的元素。归并排序,原数组分为左右两个数组,相等值把左数组值先放进help数组中,能够实现稳定性。左右指针同时移动,同时找到一个大的,小的,交换位置.每次循环实现在要插入的范围内有序,可以选择插入的位置,具有稳定性。
2024-08-11 20:48:33
283
原创 python语言day5 MD5 json
注册:启动py程序,在控制台界面提示用户输入用户名及密码;使用md5加密 密码;创建txt文件记录输入的用户名 和密文。登录:再次让用户输入用户名和密码;使用md5加密 得到对应密文;读取txt文件验证是否有符合的用户名及密文。
2024-08-11 14:30:25
567
原创 springmvc框架 dispacherServelet容器组件调用
服务器启动时,tomcat创建并自动装配所有生成对象:spring容器放在服务器应用全局中,springmvc容器被放在dispacherServlet容器中。注解解析器在dispacherServlet创建时赋予它识别相关注解并作出相应操作的能力。浏览器发送请求req,首先经过 过滤器,过滤器通常用来实现请求和响应的编码格式,或者拦截业务;请求req到达dispacherServelet,内部拦截器preHandle()方法调用,返回值为true时放行;
2024-08-09 21:21:51
343
原创 python语言day3 元组、字典、类型转换
是一个hashMap,元素是键值对:元素值可以是任意类型但是键只能是可哈希的类型info = {"name" : "武沛齐"
2024-08-07 12:05:18
719
原创 从ssm框架 到 spring框架 再到 springmvc框架 设计思想
getAllServelet接收到get请求首先调用service方法,根据请求的方法参数,具体是调用doGet()或者是doPost()方法或者是其他对应的方法。所以首先需要重写service方法或者是doGet()方法。
2024-08-06 22:00:25
919
原创 go语言day22 gin-vue-admin全栈项目的依赖安装
在goland中打开server目录,这时main函数还不能直接运行,许多依赖没有下载和导入,goland会直接报红。这里我把宝塔关闭了就好了,不知道是端口占用还是说内置的nginx服务器冲突了。一直卡在 npm install的下载上,但是网速一直都是几KB。傻瓜式安装,安装时直接勾选addPath,自动配置环境变量。在vscode中或者直接就在goland中打开web目录,再次npm install。
2024-08-06 20:41:26
738
原创 gin-vue-admin框架遇到AxiosError:Network Error怎么解决?
使用vscode打开web目录,无论是否使用goland运行server目录,都出现这个问题是怎么回事。
2024-08-06 10:29:26
403
原创 算法day06 优先级队列 桶排序 比较器
java提供有PriorityQueue类,如果没有提供优先级队列,例如c语言,需要先创建优先级队列,按需求创建的优先级队列通常效率更高。从优先级最小的个位d开始排序,位数每次加1,直到优先级最大,位数最大的d最后排序。提高效率,如果数组不合法或者不用排序直接返回不用排序。重写Comparator类的compare方法,返回值为负数,前者排在前面。返回值为正数,后者排在前面。每一次排序都实现了在相应d位上的有序。拆出相应d位上的数。
2024-08-05 10:04:00
370
原创 0730评价项目 实现数据库行转列查询
后接关联条件,如果不写默认查询该emp_name对应的所有的level_name数据。"未查到" END,如果后接else关键字,表示没有查到。"未查到",但是有点问题,"未查到"会替换查到的。level_name数据时使用默认值。
2024-08-02 21:49:04
586
原创 go语言day21 goland使用gin框架、gorm框架操作mysql数据库redis数据库 使用宝塔创建redis数据库 写一个投票项目
这里实现一个查询所有参赛选手的业务需求,也就是控制器接收活动aid,根据aid查询并返回player表的对应aid的所有players信息。去mysql数据库查询活动需要的信息:该活动aid 对应的所有参赛选手的id然后去redis数据库添加缓存信。这里的mysql连接对象dao.Db调用的增删改查方法默认封装了事务处理,并且会根据实体类Player的TableName()方法返回值确定查询的实体类对应的表名。查找到了正确的value活动信息,从数据库中根据value中的id查询每个选手的详细信息。
2024-08-02 20:31:33
998
原创 go语言day20 使用gin框架获取参数 使用自定义的logger记录日志
import ("net/http"//}// }//如果想要追加写入可以查看我的博客文件操作那一章// }if err!= nil {} else {1) 在common.go中文件写入 :每个url请求调用的函数最终调同到ReturnSuccess()函数2)直接在路由调用的函数中写入。
2024-07-28 21:52:43
581
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人