自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 spring cloud alibaba sentinel 配置过程 流控 降级热点 授权

流量控制(Flow Control),原理是监控应用流量的QPS或并发线程数等指标,当达到指定阈值时对流量进行控制,避免系统被瞬时的流量高峰冲垮,保障应用高可用性。您可以通过实现扩展接口来快。Sentinel是阿里开源的项目,提供了流量控制、熔断降级、系统负载保护等多个维度来保障服务之间的稳定性。3.链路:只记录指定路上的流量,指定资源从入口资源进来的流量,如果达到阈值,就进行限流,api级别的限流。丰富的应用场景 :Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即。

2024-05-26 21:38:30 402

原创 JWT使用方法

如果一个庞大的系统需要按服务分解为多个独立的服务,使用分布式架构,则这种方式更难处理。客户端接收服务器返回的JWT,将其存储在Cookie或localStorage中,此后在于服务器的交互中都携带者JWT信息,它验证的方法其实很简单,只要把header做base64url解码,就能知道JWT用的什么算法做的签名,然后用这个算法,再次用同样的逻辑对header和payload做一次签名,并比较这个签名是否与JWT本身包含的第三个部分的串是否完全相同,只要不同,就可以认为这个JWT是一个被篡改过的串。

2024-05-25 13:11:17 408

原创 GateWay网关

②限制瞬时并发数(如 nginx 的 limit_conn 模块,用来限制瞬时并发连接数)③限制时间窗口内的平均速率(如 Guava 的 RateLimiter、nginx 的 limit_req 模块,限制每秒的平均速率);网关提供API全托管服务,丰富的API管理功能,辅助企业管理大规模的API,以降低管理成本和安全风险,包括协议适配、协议转发、安全策略、防刷、流量、监控日志等功能。客户端和服务端中间的一堵墙,可以起到的作用有:请求转发、负载均衡、权限控制等等。

2024-05-24 20:47:06 835

原创 SpringCloud Alibaba--nacos配置中心

这个信息的作用是指定配置中心中配置信息的格式,一般选择yaml格式的。其中,public是Nacos默认提供的命名空间,如果不单独配置命名空间,那么默认所有的配置信息都在public命名空间中。我们在配置信息时,一定是先有了微服务客户端,根据客户端需求,才在配置中心配置的信息。在消费者中设置了负载均衡的权重算法,所有的配置文件全放在nacos配置中心,取出生产者的端口号并显示在页面上,通过消费者进行访问。Nacos提供了配置中心的功能,首先,需要在Nacos服务端,配置好服务的配置文件。

2024-04-24 19:28:55 897 1

原创 SpringCloud Alibaba--nacos简介和注册中心和登录

服务限流降级:默认支持 WebServlet、WebFlux, OpenFeign、RestTemplate、Spring Cloud Gateway, Zuul, Dubbo 和 RocketMQ 限流降级功能的接入,可以在运行时通过控制台实时修改限流降级规则,还支持查看限流降级 Metrics 监控。有了Spring Cloud Alibaba,您只需要添加一些注释和少量配置,就可以将Spring Cloud的应用程序连接到阿里巴巴的分布式解决方案上,并利用阿里巴巴的中间件构建分布式应用系统。

2024-04-23 19:44:08 1693

原创 web测试基础知识

典型的业务系统基本上由用户、用户组(角色)、权限及基本功能构成,权限管理在整个业务系统中起着至关重要的作用,即使通过了口令验证,不同用户、不用角色仍可能具有不同的权限,因此在测试过程中需重点测试授权问题,如未登录是否可以浏览信息、未授权是否可以使用功能、权限重叠时能否正确分配等。协议其实就是一种规范,是通信对象共同遵守的规则,在网络通信中,只有遵循一定的规则,才能相互交换信息,因此协议的一致性及标准性在Web系统应用过程中尤为重要,常见的网络协议有TCP/IP、HTTP、SSL、TLS、WTLS等。

2024-04-23 19:04:38 851

原创 微服务两种方式登录

Feign是Spring Cloud提供的声明式、模板化的HTTP生产者,它使得调用远程服务就像调用本地服务一样简单,只需要创建一个接口并添加一个注解即可。@FeignClient的属性name:指定FeignClient的名称,如果项目使用了Ribbon,name属性会作为微服务的名称,用于服务发现。页面输入用户名和密码,提交到后端消费者,消费者传到生产者后端在进行判断,返回登录成功或登录失败到消费者,消费者再放到页面上进行显示。三个生产者每个生产者各使用一个数据库,所以这里以生产者3为例。

2024-04-22 09:03:28 1060

原创 软件缺陷和测试用例

在区域的边界上的行为往往比在区域内的行为更容易出现错误,是等价类划分的扩展,但仅适用于等价类是有序的、由数字或顺序数据组成。从大量的实验点中挑选出适量的、有代表性的点,依据Glois理论导出“正交表”,从而合理的安排实验的一种实验设计方法。状态迁移法的目标是设计足够多的测试用例覆盖系统的状态、状态-条件的组合、状态的迁移路径。用概括性的语言描述出测试用例的测试点,测试用例的标题应该清楚的表达测试用例的用途,也就是看见标题就大概能知道测试什么,步骤是什么,预期结果是什么。考虑输入的取值(状态数)的个数。

2024-04-21 19:53:31 1114

原创 Feign的使用

Feign默认集成了Ribbon,所以Fegin默认就实现了负载均衡的效果。fallback: 定义容错的处理类,当调用远程接口失败或超时时,会调用对应接口的容错逻辑,fallback指定的类必须实现@FeignClient标记的接口。@FeignClient的属性name:指定FeignClient的名称,如果项目使用了Ribbon,name属性会作为微服务的名称,用于服务发现。在使用OpenFeign进行微服务间的调用时,熔断和降级是常用的服务保护机制,用于提高系统的可靠性和稳定性。

2024-04-19 12:24:13 768

原创 Eureka基础介绍和使用

Server在接收到请求之后,先去自己的注册表中去,找到请求的对应的服务信息,在这个服务信息里面有个Lease的对象,更新Lease对象里面的LastUpdateTimestamp时间戳,每一次接收到都会更新这个时间戳。像这种多个项目都需要使用的,可以将依赖加到父项目中,module中所有项目都可以使用热启动。Renews (last min):最后一分钟的续约数量(接受到的心跳数,不含当前,每分钟更新一次),当该值除以Renews threshold的结果小于等于1时会触发自我保护机制的开启。

2024-04-18 21:15:38 1548

原创 软件测试基础

包括一系列的增量的步骤或迭代,每个迭代都包括很多的开发活动(需求、分析、设计、实包括一系列的增量的步骤或迭代,每个迭代都包括很多的开发活动(需求、分析、设计、实现等)黑盒测试:把软件(程序)当作一个有输入与输出的黑匣子,它把程序当作一个输入域到输出域的映射,只要输入的数据能输出预期的结果即可,不必关心程序内部是怎么样实现的。优点:克服瀑布模型的缺点,减少由于软件需求不明确带来的开发风险,适合预先不能确切定义需求的软件系统的开发,能快速吸引用户,从而抢占市场先机。一般所谓的测试指的是动态测试。

2024-04-12 23:39:57 1106

原创 SpringBoot --pagehelper分页

limit 0,4 pageIndex,pageSize 每一页开始下标,一页多少行。#总共多少页 (total/pageSize+total%pageSize)查到数据后,需要在页面显示时分页,所以在封装页面时使用分页。一次会显示全部,为了分页显示,引入pagehelper插件。图片显示并且有上一页、下一页、首页、尾页、当前页。使用pagehelper。

2024-04-11 09:03:14 745

原创 SpringBoot文件上传--头像上传

控制层取到和配置文件中的物理路径和访问路径,并且写在方法中。在页面写好上传和保存,上传到对应的路径,对应好上传的数组名。在配置文件中写好物理路径和访问路径。上传name和方法中数组名字相同。

2024-04-09 10:04:26 288

原创 SpringBoot文件上传和下载

from表单提交时method="post" enctype="multipart/form-data。经常会有浏览器不识别中文,所以需要下载改进。写显示页面方法和上传文件方法。写显示页面方法和下载文件方法。将数据异步上传到数据库中。

2024-04-08 16:24:19 345

原创 SpringBoot项目打包和部署

先点击clean文件,清理项目目录中生成的临时文件和构建产物,以便开始一个干净的构建过程。打开后,输入java -jar 文件名,回车,运行。BUILD SUCCESS出现成功。成功后,再点击package打包。在该路径下的地址框中输入cmd。此插件会在pom中自动添加。根据地址找到jar包。

2024-04-07 20:16:20 496

原创 SpringBoot3任务处理

fixDelay--延迟时间,按照一定的速率执行,是从上一次方法执行开始的时间算起,如果上一次方法阻塞住了,下一次也是不会执行,但是在阻塞这段时间内累计应该执行的次数,当不再阻塞时,一下子把这些全部执行掉,而后再按照固定速率继续执行。fixRate --按时间频率执行,控制方法执行的间隔时间,是以上一次方法执行完开始算起,如上一次方法执行阻塞住了,那么直到上一次执行完,并间隔给定的时间后,执行下一次。get()方法可以当任务结束后返回一个结果,如果调用时,工作还没有结束,则会阻塞线程,直到任务执行完毕。

2024-03-29 11:32:13 1424

原创 SpringBoot3的RabbitMQ消息服务

配置一个fanout类型的交换器,不需要指定对应的路由键(Routing key),同时会将消息路由到每一个消息队列上,然后每个消息队列都可以对相同的消息进行接收存储,在同一交换器下的所有队列都将收到消息。配置一个direct类型的交换器,并指定不同的路由键值(Routing key)将对应的消息从交换器路由到不同的消息队列进行存储,适用于进行不同类型消息分类处理的场合。在这种模式下,多个消息消费者通过轮询的方式依次接收消息队列中存储的消息,一旦消息被某一个消费者接收,消息队列会将消息移除。

2024-03-27 19:12:48 2401 2

原创 Spring Security安全管理

vip页面进入时必须要登陆vip账号,所以游客和普通用户不能查看vip中的内容,想要查看时,就必须登录才能查看。需要给页面授权,不同的授权有不同的权限用户访问,此时一旦用户访问到权限不够的页面,则会出现403错误。将路径和页面分别设为参数type和path,根据点击的不同,传进的参数不同,最终包装好返回值即可。不同的包下可以有同样的页面命名,在控制层,为了方便,可以将路径设为动态参数,只需要写一个方法。这里的注销并非返回登录页面,而是该用户的所有信息清空,需要重新登陆。方法一:可以在新建项目时添加依赖。

2024-03-25 09:07:58 1132

原创 Rabbitan安装流程

此电脑--属性--高级系统设置--环境变量--系统变量中的Path--新建--浏览--选择JDK下的bin文件夹--点击确定。提示:路径中不要带有中文,在打开rabbitmq_server-3.8.4\sbin下的rabbitmq-server文件中。此时打开rabbitmq_server-3.8.4\sbin下的rabbitmq-server文件,显示为0个插件。关闭cmd,打开rabbitmq-server文件,启动服务器。此时服务器不要关闭!此时,在路径中输入cmd,打开cmd管理器。

2024-03-24 15:51:12 517

原创 Spring+thymeleaf完成用户管理页面的增删查改功能

使得一个路由地址A与另一个路由地址B联系起来,执行A的时候会跳转执行B。不仅 “/” 可以被重定向,其他普通路由地址互相也可以重定向。根据输入条件,点击查询后页面显示数据。如果未输入,则显示所有,进入页面则显示所有。将原本信息显示在页面上,在输入框输入修改后信息,提交表单,更新数据库数据。点击添加用户,进入添加用户页面,表单输入完成后提交,添加表单内容到数据库。输入用户名和密码,根据用户名和密码查询,如果查到,则登录成功。点击查看,根据id查询到信息,显示在页面上。点击删除按钮,删除此条数据。

2024-03-23 20:42:02 515 2

原创 redis 如何保证数据同步(数据变化时)

1.新增、删除和修改都先对数据库进行操作,这时数据库的数据将域缓存中数据不同。2.数据库进行变动后,返回结果,根据返回的结果判断数据库操作是否成功。3.如果数据库操作成功,取出数据库中的数据,放入缓存中的指定键值对中。4.否则返回缓存中的数据,显示到页面上。

2024-03-23 20:29:44 341

原创 更改默认的网络状态页面

当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头用以响应浏览器的请求。项目中,默认的404页面会暴露后台错误,并且页面太过专业,对于项目使用者会有软件未做完的感觉,为了使软件整体和谐、完整,将会在项目中更改默认的报错页面。由于超载或系统维护,服务器暂时的无法处理客户端的请求。服务器完成客户端的 PUT 请求时可能返回此代码,服务器处理请求时发生了冲突。服务器不支持请求的HTTP协议的版本,无法完成处理。服务器理解请求客户端的请求,但是拒绝执行此请求。

2024-03-23 20:24:34 814

原创 Redis缓存和MyBaits整合

2.它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、 zset(sorted set --有序集合)和hash(哈希类型)。3.redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库(如MySQL)起到很好的补充作用。写一个程序,取值,如果缓存中有值,则从缓存中取,如果缓存中没值,则从数据库中取值,放入缓存中。4.它提供了Java,C/C++,C#,PHP,JavaScript等客户端,使用很方便。

2024-03-17 23:27:50 866 1

原创 mybatis+thymeleaf登录

其中, 是提交from表单,提交到th:action="@{/}",/为首页路径。th:href="@{css/public.css} -----css使用。th:src="@{/img/clock.jpg}" -----图片使用。th:src="@{/js/time.js}" -----js引用。th:href="@{/login}" -----页面跳转。th:action="@{/}" -----表单提交。页面中可知,表单将提交到首页页面,所以在首页获取。获取到后,将名字传值给页面。

2024-03-16 14:57:26 869 1

原创 使用Thymaleaf技术作为前端整合开发项目流程

Thymaleaf搭建的基本步骤,较为基础

2024-03-06 17:16:35 466 1

原创 java基础详细介绍

本文章篇幅较长,建议收藏使用,如有些基础,建议看java基础介绍表格版,更为简单明了

2024-03-05 20:29:14 703

原创 Java基础知识及应用

将Java入门的基础知识进行了一定总结,适用于学习过,但需要复习和加固基础的人群查阅

2024-03-04 20:52:00 2378 1

原创 String类常用方法

返回一个新字符串,它包含此字符串中从索引 beginIndex 到索引endIndex 之间的所有字符。返回字符串中 index 位置上的字符,其中 index 的取值范围是:0 ~(字符串长度-1)返回一个新的字符串,它是通过用 newstr 替换此字符串中出现的所有 oldstr 得到的。(指定字符串中的某个参数,根据参数将原字符串分割成多个字符串,并以数组的形式返回)返回一个新字符串,它包含字符串中索引 beginIndex 后的所有字符。(用新的字符串代替原本的字符串)

2024-02-27 14:51:47 680 1

原创 数据库基础(单表查询和多表查询)

本文包含单表查询中所用和多表查询中所用语句,包括级联删除和级联修改等

2024-02-25 15:28:44 878 2

原创 数据表的基本操作

本文包含新建数据库,修改库、表、字段名,非空约束、唯一约束、主键约束

2024-02-24 19:15:27 409 2

原创 复杂查询(一对一和一对多嵌套使用)以及项目中小问题

复杂查询的嵌套使用,并且总结了项目时遇到的小问题

2024-02-23 16:51:10 723 1

原创 MyBaits复杂查询(一对一)

在前后端连接过程中,一旦需要查询一对一数据时,需要按步骤连接,即可达到查询效果。常常在多表联合查询中使用

2024-02-22 17:11:19 457 1

原创 MyBaits复杂查询(一对多)

在前后端连接过程中,一旦需要查询一对多数据时,需要按步骤连接,即可达到查询效果。常常在多表联合查询中使用

2024-02-21 18:17:04 352 1

原创 SpringBoot整合MyBaits 使用mvc模式前后端连接开发

通过 @PathVariable 可以将地址中的参数绑定到方法中,也就是先解析地址中的参数,再赋值给方法里的参数,一般与@RequestMapping( )一起使用。where常常和if标签一起使用,where标签会自动去除and,如果遇到不知道会有几个条件时,可以使用where标签,内部再写if条件。将接口实例化对象,放入Spring容器中,必须注在接口上,在MVC中,这一步实现了M的封装数据。表示注解方法要进行查询操作,和mysql的sql对应,并且查询出的结果,赋给该方法的返回值。

2024-02-20 03:43:19 678

原创 SpringBoot基础小知识

本文章介绍了项目结构,并介绍了更方便的插件和小知识,最后介绍了自定义注解。

2024-02-19 11:18:37 740 1

原创 Spring Boot常用的12个注释

基础且常用的几个注释,方便记忆和理解,并有代码对照

2024-02-18 17:01:05 428 2

原创 新建SpringBoot项目流程

maven的安装流程、更改maven路径和修改端口号

2024-02-17 11:51:57 525 1

原创 创建完整vue前端项目流程

详细描述了从创建仓库到新建项目,并且做出一个小表格,最后提交项目到仓库的完整流程。

2024-02-16 12:03:33 643 1

原创 用CScode创建vue前端的环境配置

vue前端环境配置和gitee仓库配置全流程

2024-02-15 14:15:38 1040 3

python计算器,其中包含常用的python基础

1. 项目背景: 随着科技的进步,计算器已经成为了人们日常使用的工具。为了方便用户的使用,我们决定开发一个基于GUI的计算器应用。 2. 项目目标: 项目的目标是提供一个简单、易用、直观的计算器GUI应用,用户可以轻松地进行基本的算术运算,如加、减、乘、除等。 2、功能说明: (1)计算器的界面可视化,通过相应的按键,输入对应的数字 (2)回退功能。输入错误,有回退功能,每次回退一个数字 (3)清屏功能。清屏可以将屏幕当前显示的所有内容清除 (4)四则运算功能。可以进行加减乘除运算,如果输入有错误,则进行提示 (5)调用第三方库。

2024-03-06

Java嗖嗖移动的完整项目,大量使用面向对象的来完成,如果对面向对象或基础还不牢固的,可以看看此项目

1.模拟嗖嗖用户消费,并添加消费记录 2.预定6个消费场景,录入手机号和密码后,随机进入某个场景,当前套餐支持此类消费时,判断套餐余额,若套餐余量充足:不扣当前余额,若套餐余量不足:需扣当前余额,判断余额,若余额充足:按超出套餐资费计费,若余额不足:提示用户充值,成功后变更用户数据、添加消费记录,当前套餐不支持此类消费:重新随机进入另外场景 3.其中有大量知识点的应用。 4.模拟嗖嗖用户消费,并添加消费记录 5.预定6个消费场景,录入手机号和密码后,随机进入某个场景,当前套餐支持此类消费时,判断套餐余额,若套餐余量充足:不扣当前余额,若套餐余量不足:需扣当前余额,判断余额,若余额充足:按超出套餐资费计费,若余额不足:提示用户充值,成功后变更用户数据、添加消费记录,当前套餐不支持此类消费:重新随机进入另外场景 6.对于刚刚学习还未独立完成一个项目的学习者,有较大的提升,对于思维逻辑有很强的锻炼

2024-03-06

空空如也

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

TA关注的人

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