自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 问答 (1)
  • 收藏
  • 关注

原创 【微服务】——Nacos配置管理

这样,UserApplication(8081)使用的profile是dev,UserApplication2(8082)使用的profile是test。注意:项目的核心配置,需要热更新的配置才有放到nacos管理的必要。微服务要拉取nacos中管理的配置,并且与本地的application.yml配置合并,才能完成项目启动。Nacos一方面可以将配置集中管理,另一方可以在配置变更时,及时通知微服务,实现配置的热更新。我们最终的目的,是修改nacos中的配置后,微服务中无需重启即可让配置生效,也就是。

2024-05-06 16:53:47 839

原创 【微服务】——Gateway服务网关

3.1.为什么需要网关3.2.gateway快速入门1)创建gateway服务,引入依赖2)编写启动类3)编写基础配置和路由规则4)重启测试5)网关路由的流程图3.3.断言工厂3.4.过滤器工厂3.4.1.路由过滤器的种类3.4.2.请求头过滤器3.4.3.默认过滤器3.4.4.总结3.5.全局过滤器3.5.1.全局过滤器作用3.5.2.自定义全局过滤器3.5.3.过滤器执行顺序3.6.跨域问题3.6.1.什么是跨域问题3.6.2.模拟跨域问题3.6.3.解决跨域问题。

2024-05-06 16:53:35 1301

原创 【微服务】——Docker 基础知识

*数据卷(volume)**是一个虚拟目录,指向宿主机文件系统中的某个目录。一旦完成数据卷挂载,对容器的一切操作都会作用在数据卷对应的宿主机目录了。这样,我们操作宿主机的/var/lib/docker/volumes/html目录,就等于操作容器内的/usr/share/nginx/html目录了。

2024-04-30 14:21:35 1137

原创 debug——0%

l。

2024-04-30 11:23:18 250

原创 常见问题排查

4. 啥都不报错,但就是数据不对或者出不来。

2024-04-30 11:22:51 336

原创 【微服务】——Feign远程调用

2.1.Feign替代RestTemplate1)引入依赖2)添加注解3)编写Feign的客户端4)测试5)总结2.2.自定义配置2.2.1.配置文件方式2.2.2.Java代码方式2.3.Feign使用优化2.4.最佳实践2.4.1.继承方式2.4.2.抽取方式2.4.3.实现基于抽取的最佳实践1)抽取2)在order-service中使用feign-api3)重启测试4)解决扫描包问题先来看我们以前利用RestTemplate发起远程调用的代码:代码可读性差,编程体验不统一。

2024-04-29 13:53:57 1051

原创 git提交分支策略

如果在生产环境中发现了紧急的 bug,应该从主分支创建一个修复分支。在修复分支上解决 bug,并确保修复已经被合并到主分支和开发分支上。开发分支上的代码应该是相对稳定的,并且可以在需要时进行部署和测试。当开发人员准备发布一个新的版本时,应该从开发分支创建一个发布分支。开发人员在这个分支上合并他们的特性分支,并解决任何可能的冲突。发布分支的代码应该是稳定的,并且不应该在发布前再进行大的改动。直接从主分支拉取的分支应该是稳定的,并且已经经过充分测试。应该在一个单独的特性分支上进行开发。

2024-04-29 13:52:23 773

原创 写接口注意事项

ApiModelProperty(value = “公司id”):要见名知意,可以通过路径名就知道接口想要干什么。返回值是id,是要通过id进行修改。

2024-04-15 10:34:09 170

原创 常见的登录验证方式

当用户要访问B系统时,B系统将它重定向到SSO,已经登录了,所以SSO直接颁发可以访问B系统的ticket,客户端带着这个ticket就可以访问B系统了。这样就实现了一处登录,全线使用。当用户点击链接时,浏览器会自动发送包含用户认证信息的请求,从而执行攻击者指定的操作。Token 机制是无状态的,服务器不需要保存用户的会话状态,因此可以降低服务器的负载,特别适用于分布式系统和微服务架构。当业务线越来也多,就会有更多业务系统分散到不同域名下(不同的系统),就需要(一次登录,全线通用)的能力,这就是单点登录。

2024-04-15 10:32:37 2331

原创 springboot项目框架讲解

AuthorizationInterceptor.javaFileController.java

2024-04-07 10:15:10 350

原创 npm安装时一直idealTree:npm: sill idealTree buildDeps解决方案

【代码】npm安装时一直idealTree:npm: sill idealTree buildDeps解决方案。

2024-04-05 22:20:46 1263

原创 ERROR Network Error AxiosError: Network Error at XMLHttpRequest.handleError

解决:在Controller类上加上@CrossOrigin注解。

2024-04-05 22:20:16 982

原创 【微服务】——Nacos注册中心

1.认识和安装Nacos2.服务注册到nacos1)引入依赖2)配置nacos地址3)重启3.服务分级存储模型3.1.给user-service配置集群3.2.同集群优先的负载均衡4.权重配置5.环境隔离5.1.创建namespace5.2.给微服务配置namespace6.Nacos与Eureka的区别国内公司一般都推崇阿里巴巴的技术,比如注册中心,SpringCloudAlibaba也推出了一个名为Nacos的注册中心。

2024-04-03 17:37:44 1206

原创 FastGpt流程

最好将pdf/ppt/xx转换成文本,在文本里面进行数据清洗(以防知识库删除后,数据清洗失效)可以插图,将图片通过网页检查F12查看路径放进去。引入文本——>数据清洗。

2024-04-03 17:37:14 956

原创 微服务——Ribbon负载均衡

SpringCloudRibbon的底层采用了一个拦截器,拦截了RestTemplate发出的请求,对地址做了修改。用一幅图来总结一下:拦截我们的RestTemplate请求http://userservice/user/1RibbonLoadBalancerClient会从请求url中获取服务名称,也就是user-serviceDynamicServerListLoadBalancer根据user-service到eureka拉取服务列表。

2024-04-01 17:25:16 1027

原创 SOA-面向服务架构

SOA (Service-Oriented Architecture,SOA),从应用和原理的角度,目前有2种公认的标准定义。从应用的角度定义可以认为SOA是一种应用程序架构。将业务应用划分为单独的业务功能和流程, 即所谓的服务。所有功能都定义为独立的服务,这些服务带有定义明确的可调用接口,能够以定义好的顺序调用这些服务来形成业务流程。这种业务灵活性可以使企业快速发展,降低成本,改善对及时、准确信息的访问。有助于实现更多的资产重用、更轻松的管理和更快的开发和部署。从软件的基本原理定义。

2024-03-30 17:42:11 2914

原创 单据模型——待完善

付款信息(Payment Information):单据的付款方式和付款状态,如付款方式、付款日期、付款状态等。交付信息(Delivery Information):如适用,记录单据涉及的交付信息,如交付日期、交付地址等。最后修改时间(Last Modified Time):单据的最后修改时间,记录单据最后一次被修改的时间点。单据编号(Document Number):单据的唯一编号,用于标识单据的身份。创建时间(Created Time):单据的创建时间,记录单据被创建的时间点。

2024-03-30 16:56:59 571

原创 Stream流

泛型里面不能写基本数据类型—>包装类。

2024-03-30 16:53:17 262

原创 SSH和SFTP

SFTP 与传统的 FTP(File Transfer Protocol)不同之处在于,SFTP 使用了 SSH 的加密通道,因此传输的数据是加密的,而 FTP 则是明文传输的,安全性相对较低。总的来说,SSH 是一种安全的网络传输协议,而 SFTP 则是基于 SSH 的安全文件传输协议,用于在网络上安全地传输文件。SFTP 是基于 SSH 协议的文件传输协议,用于在加密的通道中安全地传输文件。安全文件传输:通过SSH协议进行安全的文件传输,确保文件在传输过程中的安全性。

2024-03-30 15:27:32 1386

原创 自增id,UUID,雪花id

UUID1.优点2. 缺点雪花id1.优点2.缺点自增id1.优点2.缺点使用 UUID 替代雪花 ID 行不行?

2024-03-29 13:42:46 1530

转载 GitLab 与 Gerrit对比

这样做没有体现出gitlab的特点,而且由于gerrit的权限问题,很多代码无法放在gitlab上,gitlab沦为代码查看工具,很多功能形同虚设。gitlab 可以提供issues,wiki等功能方便开发者与使用者之间的沟通,并且gitlab可以无缝的与一些项目管理工具集成,比如:jira。现在比较流行的CI系统,gitlab提供代码查看功能,gerrit保存真正得代码,jenkins通过plugin发布 gerrit上的代码。多部门之间的权限隔离,强制review的机制都是其优点,

2024-03-25 15:21:56 1260

原创 单点登录SSO

单点登录的英文名叫做:Single Sign On(简称SSO),指在同一帐号平台下的多个应用系统中,用户只需登录一次,即可访问所有相互信任的系统。简而言之,多个系统,统一登陆。相比于单系统登录,sso需要一个独立的认证中心,只有认证中心能接受用户的用户名密码等安全信息,其他系统不提供登录入口,只接受认证中心的间接授权。

2024-03-25 13:57:27 1108

原创 OAuth2权限认证(第三方登录)——70%

OAuth 2.0是一种用于授权的开放标准,通常用于用户允许第三方应用访问其在另一个服务提供者上存储的信息,而无需将用户名和密码提供给第三方应用。OAuth 2.0协议允许用户授权第三方应用访问他们在另一个服务提供者上持有的资源,例如照片、视频、个人资料等。在OAuth 2.0流程中,涉及以下几个主要角色:资源所有者:即用户,拥有资源的最终所有者,可以授权第三方应用访问他们的资源。客户端:即第三方应用,希望访问用户的资源。

2024-03-25 11:22:19 1241

原创 微服务—Eureka注册中心

假如我们的服务提供者user-service部署了多个实例,如图:order-service在发起远程调用的时候,该如何得知user-service实例的ip地址和端口?有多个user-service实例地址,order-service调用时该如何选择?order-service如何得知某个user-service实例是否依然健康,是不是已经宕机?回答之前的各个问题。问题1:order-service如何得知user-service实例地址?

2024-03-25 11:19:33 2648

原创 idea快捷键

Ctrl+Alt+I,将选中的代码进行自动缩进编排,这个功能在编辑 JSP 文件时也可以工作。Ctrl+B/Ctrl+Click,快速打开光标处的类或方法(跳转到定义处)。Ctrl+Alt+T,可以把代码包在一个块内,例如:try/catch。Ctrl+/或Ctrl+Shift+/,注释(//或者/**/)。Ctrl+F,查找/Shift+F3,向上查找/F3,向下查找。Ctrl+Alt+Shift+S,打开当前项目/模块属性。Ctrl+Alt+Shift+C,复制引用,必须选择类名。

2024-03-25 11:14:35 1464

原创 微服务概述

单体架构:将业务的所有功能集中在一个项目中开发,打成一个包部署。架构简单部署成本低耦合度高(维护困难、升级困难)

2024-03-25 10:24:12 848

原创 RBAC模型__待完善

传统: 用户直接分配权限,每一个用户都需要勾选账号对应的每一个权限,当用户的权限都相同时都需要做重复的工作,也做不到批量修改用户权限,可见非常繁琐,维护起来非常麻烦。RBAC角色实际上是人与资源之间的中间桥梁,人可以通过拥有某个角色来获得该角色下的所有权限RBAC模型(Role-Based Access Control:基于角色的访问控制)RBAC认为权限授权的过程可以抽象地概括为:Who是否可以对What进行How的访问操作。

2024-03-24 20:03:56 349 1

原创 用户登录----OAuth2

即可解决上边的问题,用户认证通过后会得到一个JWT令牌,JWT令牌中已经包括了用户相关的信息,客户端只需要携带JWT访问资源服务,资源服务根据事先约定的算法自行完成令牌校验,无需每次都请求认证服务完成授权。授权码模式简单理解是使用授权码去获取令牌,要想获取令牌先要获取授权码,授权码的获取需要资源拥有者亲自授权同意才可以获取。3、用户通过浏览器向认证服务请求授权,请求授权时会携带客户端的URL,此URL为下发授权码的重定向地址。就是校验令牌需要远程请求认证服务,客户端的每次访问都会远程校验,执行性能低。

2024-03-24 19:46:21 957 1

原创 RAG检索增强生成---待完善

是在文本检索中常用的一种策略,其目的是通过多个召回路径(或方法)综合获取候选文档,以提高检索的全面性和准确性。单一的召回方法可能由于模型特性或数据特点而存在局限性,多路召回逻辑引入了多个召回路径,每个路径采用不同的召回方法。Knowledge Base Question Answering,一种早期的对话系统方法,旨在利用结构化的知识库进行自然语言问题的回答。中检索最新、准确的信息,从而提高了答案的质量和时效性。------实现方法2:按照段落、句子、页不同的角度进行语义编码进行检索,综合得到检索结果。

2024-03-24 18:35:54 1274 1

原创 AI基础知识扫盲

AI基础知识扫盲

2024-03-22 14:13:07 2412 1

原创 项目上线流程

【代码】项目上线流程。

2024-03-22 13:44:37 470 1

原创 SpringMVC注解

SpringMVC@EnableWebMvc 在配置类中开启Web MVC的配置支持,如一些ViewResolver或者MessageConverter等,若无此句,重写WebMvcConfigurerAdapter方法(用于对SpringMVC的配置)。@Controller 声明该类为SpringMVC中的Controller@RequestMapping 用于映射Web请求,包括访问路径和参数(类或方法上)@ResponseBody 支持将返回值放在response内,而不是一个页面,通常用

2024-03-22 11:35:38 235 1

原创 spring常用注解

Async 在实际执行的bean方法使用该注解来申明其是一个异步任务(方法上或类上所有的方法都将异步,需要@EnableAsync开启异步任务)@Configuration 声明当前类为配置类,其中内部组合了@Component注解,表明这个类是一个bean(类上)@EnableAsync 配置类中,通过此注解开启对异步任务的支持,叙事性AsyncConfigurer接口(类上)@Bean 注解在方法上,声明当前方法的返回值为一个bean,替代xml中的方式(方法上)

2024-03-21 15:20:56 938 1

原创 spring boot项目实战----开发流程

2024-03-20 14:23:36 136 1

原创 resultful

*无状态:**服务器不能保存客户端的信息, 每一次从客户端发送的请求中,要包含所有必须的状态信息,会话信息由客户端保存, 服务器端根据这些状态信息来处理请求。400 INVALID REQUEST - [POST/PUT/PATCH]:用户发出的请求有错误,服务器没有进行新建或修改数据的操作,该操作是幂等的。200 OK - [GET]:服务器成功返回用户请求的数据,该操作是幂等的(Idempotent)。]:用户发出的请求针对的是不存在的记录,服务器没有进行操作,该操作是幂等的。

2024-03-20 14:21:59 1022 1

原创 Spring Boot

在类的级别上的注解会将一个特定请求或者请求模式映射到一个控制器之上,表示类中的所有响应请求的方法都是以该地址作为父路径;主要是用来获取 url 参数,Spring Boot 支持 restfull 风格的 url,比如一个 GET 请求携带一个参数 id 过来,我们将 id 作为参数接收,可以使用 @PathVariable 注解。同样地,url 上面的参数和方法的参数需要一致,如果不一致,也需要使用 value 属性来说明,比如 url 为:http://localhost:8080/user?

2024-03-20 13:36:58 893 1

原创 Mybatis-Plus

----无论是QueryWrapper还是UpdateWrapper在构造条件的时候都需要写死字段名称,会出现字符串魔法值-----基于BaseMapper中的update方法更新时只能直接赋值,对于一些复杂的需求就难以实现。MybatisPlus就是根据PO实体的信息来推断出表的信息,从而生成SQL的。无论是修改、删除、查询,都可以使用QueryWrapper来构建查询条件。

2024-03-20 09:50:43 706 1

原创 PO、VO、TO、BO、DTO概念

业务逻辑对象,位于服务层。比如一个简历中,有教育经历、工作经历、社会关系等等。java可重用组件,有显示逻辑的POJO,目的是把程序,业务逻辑和显示逻辑分开吗,降低开发的复杂程度和维护成本。数据查询对象,controller 层对查询参数的封装。注意超过2个参数的查询封装,禁止使用Map类来传输。简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创造的简称。具有getter、setter方法,没有逻辑类代码。数据传输对象 ,用于参数接受和返回数据包装。视图对象,用于页面显示。

2024-03-07 11:43:51 415 1

原创 缓存击穿,穿透解决方法

解决方案一:互斥锁解决方案二:逻辑过期面试回答缓存雪崩解决缓存雪崩的方法面试回答。

2023-10-26 14:53:47 206

原创 黑马spring bootP139案例-部门修改代码

部门修改代码1.deptcontroller2. deptservice3.deptserviceimpl4.deptmapper1.deptcontroller2. deptservice3.deptserviceimpl4.deptmapper

2023-08-23 09:56:07 312

数据结构与算法.pdf

数据结构与算法.pdf

2024-10-24

springboot项目框架

方便熟悉springboot项目

2024-04-03

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

TA关注的人

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