自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(196)
  • 资源 (8)
  • 收藏
  • 关注

原创 DeepSeek+本地知识库

整个操作下来,AnythingLLM 的体验没有cherry好。AnythingLLM就像一个包壳的web应用(后来查了下,确实是)。AnythingLLM 得具备一定的程序思维,给技术人员用的。非技术人员还是使用cherry吧。作为喜欢折腾的开发人员,我们可以结合dify使用。个人知识库+本地大模型的优点隐私性很好,不用担心自己的资料外泄、离线可用在工作和学习过程中对自己整理的文档,能快速找到,并自动关联在代码开发上,能参考你的开发习惯,快速生成代码。

2025-03-06 15:15:32 1010

原创 谷粒商城—分布式高级②.md

创建模块,导依赖,引入和,并把静态资源放到nginx的static目录下(2) 整合短信服务在阿里云网页购买试用的短信服务在中编写发送短信组件,其中、、可以在配置文件中使用前缀进行配置编写controller,给别的服务提供远程调用发送验证码的接口(3) 接口防刷由于发送验证码的接口暴露,为了防止恶意攻击,我们不能随意让接口被调用。(4) 注册接口编写在服务中编写注册的主体逻辑注: 可以通过session保存信息并在重定向的时候携带过去通过会员服务注册逻辑3. 用户名密码登录在模块中的

2025-02-20 11:00:26 582

原创 nohup.out日志

在你执行时,程序原本要输出到控制台的所有内容,包括日志框架输出到控制台的部分,都会被写入nohup.out。nohup命令运行程序时,默认情况下,nohup会把程序的标准输出(stdout)和标准错误输出(stderr)重定向到一个名为nohup.out的文件中。

2025-01-02 15:51:40 400

原创 linux常用操作命令

启动chronyd服务。

2024-12-30 10:25:30 213

原创 Elasticsearch 集群

以三台物理机为例。在这三台物理机上,搭建了 6 个 ES 的节点,三个 data 节点,三个 master节点(每台物理机分别起了一个 data 和一个 master),3 个 master 节点,目的是达到(n/2) +1 等于 2 的要求,这样挂掉一台 master 后(不考虑 data),n 等于 2,满足参数,其他两个 master 节点都认为 master 挂掉之后开始重新选举.master 节点上data 节点上。

2024-12-25 13:50:17 857

原创 13. 导出与导入镜像

docker镜像下载非常慢,好不容易下载好的镜像,可以通过导出的方式保存,更换环境后直接导入之前的镜像文件即可直接使用。docker save 镜像id > /dockerimages/nginx1.21.6 .tar。docker tag 【镜像ID】【镜像名称】:【tag版本信息】导入后极有可能repository和tag都是<none>

2024-12-24 16:27:41 197

原创 Redis 集群

--cluster-replicas 1表示有一个副本:redis会拿出3台做主机,3太做副本。

2024-12-22 18:56:07 676

原创 MySQL 集群

将mysql8.0默认密码策略 修改为 原先 策略 (mysql8.0对其默认策略做了更改 会导致密码无法匹配)# 将mysql8.0默认密码策略 修改为 原先 策略 (mysql8.0对其默认策略做了更改 会导致密码无法匹配)#注意:skip-name-resolve 一定要加,不然连接 mysql 会超级慢。#复制是通过二进制日志操作增删改,并记录执行到那个位置。#给backup用户可以访问mysql并进行日志复制。#查看 master 状态。#需要备份的数据库模式。#不需要备份的数据库。

2024-12-20 16:05:04 807

原创 谷粒商城—分布式高级①.md

1. ELASTICSEARCH1、安装elastic searchdokcer中安装elastic search(1)下载ealastic search和kibanadocker pull elasticsearch:7.6.2docker pull kibana:7.6.2(2)配置mkdir -p /mydata/elasticsearch/configmkdir -p /mydata/elasticsearch/dataecho "http.host: 0.0.0.0" >

2024-12-12 15:59:00 1256

原创 谷粒商城—分布式基础

1. 整体介绍1)安装vagrant2)安装Centos7$ vagrant init centos/7A `Vagrantfile` has been placed in this directory. You are nowready to `vagrant up` your first virtual environment! Please readthe comments in the Vagrantfile as well as documentation on`vagrantup

2024-12-12 11:24:37 764

原创 【无标题】

createLintingRule方法里的内容。webpack.base.conf.js文件。

2024-12-11 16:32:11 274

原创 项目打包成docker镜像

/kh-app/logs:/home/plm-document/logs # 将宿主机的 /kh-app目录挂载到容器内的 /app 目录,方便日志输出等操作。#liunx上执行的命令docker build -t service-gateway:1.0.0 . (镜像、版本、.当前目录)#将宿主机当前目录下的service-gateway.jar文件添加到容器内,并将其重命名为service-gateway.jar。# 用于指定在容器启动后要执行的命令。#构建当前镜像所基于的基础镜像。

2024-12-09 11:45:44 355

原创 docker-compose.yml

command: server --address ':9000' --console-address ':9001' /data # 指定容器中的目录 /data。# mime 类型 application/pdf 为空 所有类型均压缩。# skywalking 探针。# skywalking 探针。# skywalking 探针。# skywalking 探针。# skywalking 探针。# skywalking 探针。# skywalking 探针。# skywalking 探针。

2024-11-22 15:48:49 1053

原创 上尚优选项目

②@ResponseBody将对象作为json格式响应。①@RequestBody接收json数据封装成对象。③前端json数组后端接收的格式是list集合,例如。

2024-11-03 21:37:40 300

原创 搭建Elasticsearch集群

在这个集群中,如果出现单节点故障,并不会导致数据缺失,所以保证了集群的高可用,同时也减少了节点中数据存储量。没错,我们可以把数据拆分成多份,每一份存储到不同机器节点(Node),从而实现减少每个节点数据量的目的。我们可以给每个分片数据进行备份,存储到其它节点,防止数据丢失,这就是数据备份,也叫数据副本(replica)。数据备份可以保证高可用,但是每个分片备份一份,所需要的节点数量就会翻一倍,成本实在是太高了。首先,我们面临的第一个问题就是数据量太大,单点存储量有限的问题。大家觉得应该如何解决?

2024-10-17 09:30:41 775

原创 docker镜像拉取失败

检查resolv.conf中是否包含8.8.8.8和8.8.4.4。进入proxy.conf(如果没有的话手动创建)进入daemon.json(如果没有手动创建)如果有代理的话需要配置,没有的话就不需要。包含说明DNS没问题大概率就是源的问题。连接超时大概率以下两个问题。

2024-10-09 09:41:48 1838

原创 19.JWT

现在token生成好了,大家要注意,refreshToken方法已经把当前成功登录的人的信息存到了redis中,前缀是login_tokens: + 当前的tokenId,tokenId是一个uuid。可以看到,它会去config.headers看看到底要不要,如果我们在请求头指定了不要,那么发请求就不会带上token,否则就会被带上token。答:没有,所以只能在login页面,凡是想跳转其他界面,都被重定向到登录,硬生生让你登录。然后它又是最后一个话在生成token,好家伙,玩我是吧?

2024-07-07 01:23:39 554 1

原创 问题记录-工作

在Java应用中,线程上下文类加载器用于在运行时动态加载类和资源,通常用在模块化/插件化开发等场景中。在某些情况下,特定的类或资源无法通过应用的默认类加载器加载,这时可以通过设置线程上下文类加载器来指定另外的ClassLoader去加载这些类或资源。在你的情况下,当设置线程上下文类加载器为自定义ClassLoader后,应用就能找到需要的bean了,说明bean所在的类或资源可能确实无法被默认类加载器加载,通过设置线程上下文类加载器解决了这个问题。文件服务器可以直接访问,前端加了token去请求。

2024-07-02 13:41:28 270

原创 36-51、Vue3入门

createApp({ data(){需要用到的数据}, methods:{需要用到的方法} })作用:动态为HTML标签绑定属性值,如设置href,src,style样式等。v-bind所绑定的数据,必须在data中定义。使用表格展示所有文章的数据, 并完成条件搜索功能。语法:v-bind:属性名="属性值"作用:基于数据循环,多次渲染整个元素。简化::属性名="属性值。Axios 发送异步请求。

2024-06-27 11:02:46 664

原创 30-33、SpringBoot项目部署\属性配置方式\多环境开发(一个文件)\多环境分组(多个文件)

根pom执行package命令即可Java –jar jar包位置必须有jre环境。

2024-06-26 00:31:40 339

原创 27-29、redis优化(令牌主动失效机制)-controllert额外添加参数接收请求头、拦截器

【代码】27-29、redis优化(令牌主动失效机制)-controllert额外添加参数接收请求头、拦截器。

2024-06-25 23:06:05 349

原创 23-26、文件上传本地存储+阿里云oss

前端:页面三要素头像: <input<input type="submit" value="提交"></form>后端://获取原始文件名//将接收的文件转存到磁盘文件中//获取文件的大小,单位:字节//获取文件内容的字节数组//获取接收到的文件内容的输入流//把文件的内容存储到本地磁盘上//保证文件的名字是唯一的,从而防止文件覆盖。

2024-06-25 23:02:00 926

原创 第十二 elasticsearch微服务模块开发

也就是说,每次页面创建完成,都会触发watch,然后就会去修改window.location路径,然后页面被刷新,再次触发created钩子,又触发watch,周而复始,无限循环。索引库中的数据来自于数据库,我们不能直接去查询商品的数据库,因为真实开发中,每个微服务都是相互独立的,包括数据库也是一样。然而,这一切有一个前提,那就是当你第一次渲染时,对象中有哪些属性,Vue就只监视这些属性,后来添加的属性发生改变,是不会被监视到的。// 可搜索的规格参数,key是参数名,值是参数值。

2024-06-04 17:59:38 890

原创 第十四 Elasticsearch介绍和安装

用户访问我们的首页,一般都会直接搜索来寻找自己想要购买的商品。而商品的数量非常多,而且分类繁杂。如果能正确的显示出用户想要的商品,并进行合理的过滤,尽快促成交易,是搜索系统要研究的核心。面对这样复杂的搜索业务和数据量,使用传统数据库搜索就显得力不从心,一般我们都会使用全文检索技术,比如之前大家学习过的Solr。不过今天,我们要讲的是另一个全文检索技术:Elasticsearch。欢迎来到 Elastic — Elasticsearch 和 Kibana 的开发者 | Elastic​。

2024-05-27 20:52:54 1031

原创 31.@Anonymous

我们一般知道,注解是给程序看的,给机器看的,当然也是给程序员看的。ApplicationContextAware接口实现之后,可以重写setApplicationContext方法,该方法可以拿到Spring的上下文,相当于Spring容器在手,天下我有。当我们的url为 /{getget} 的时候,会被替换为/*,当我们的url为/{getget}/{abc}的时候,会被替换为/*/*。上节课我们使用了注解@Anonymous,然后接口就可以直接被访问到了,不用token!正则表达式为:\{(.*?

2024-05-23 22:34:45 1282

原创 30.包名的修改和新建后端模块

当我们自己新建的模块需要依赖ruoyi-system和ruoyi-framework的时候,只需要引入ruoyi-framework即可,因为ruoyi-framework里面引入了ruoyi-system。我们所说的包名修改,是一次性修改ruoyi的全部包名,因为发现很多人有这样的需求,下载别人的代码,想要改成自己公司的包名,结果一改就各种出现问题,程序都起不来了,气死。如上,这样就可以了,然而,发现ruoyi的其他依赖项都没有加版本号,它们都从父模块继承了版本!循环依赖就是说A依赖B,B又依赖A。

2024-05-23 22:07:22 482

原创 day10-16:Spring Security

1、Spring Security基于Spring开发,项目如果使用Spring作为基础,配合Spring Security做权限更加方便。2)Shiro依赖性低,不需要依赖任何框架和容器,可以独立运行。Spring Security依赖Spring容器。2、Spring Security功能比Shiro更加丰富,例如安全防护方面。1)Shiro的配置和使用比较简单,Spring Security上手复杂些。3、Spring Security社区资源相对比Shiro更加丰富。6、rememberMe功能。

2024-05-09 22:38:14 276

原创 day123-实现第三方授权登录

还没到。

2024-05-09 21:28:03 266

原创 day17-day20_项目实战&项目部署

DevOps是Development和Operations两个词的缩写,引用百度百科的定义:DevOps是一种方法或理念,它涵盖开发、测试、运维的整个过程。DevOps是提高软件开发、测试、运维、运营等各部门的沟通与协作质量的方法和过程,DevOps强调软件开发人员与软件测试、软件运维、质量保障(QA)部门之间有效的沟通与协作,强调通过自动化的方法去管理软件变更、软件集成,使软件从构建到测试、发布更加快捷、可靠,最终按时交付软件。传统的软件开发流程如下:1、项目经理分配模块给开发人员。

2024-04-26 15:05:35 768 1

原创 前端工具类

【代码】前端工具类。

2024-03-11 21:47:16 387

原创 Vue2(4)——iHRM组织架构

显示右侧结构节点结构设计使用elementui的行和列结构行列。

2024-03-11 20:41:08 516

原创 Redis为什么被设计为单线程

redis是单线程的原因在于redis用单个CPU绑定一块内存的数据,然后针对这块内存的数据进行多次读写的时候,都是在一个CPU上完成的。redis核心就是 如果我的数据全都在内存里,我单线程的去操作就是效率最高的。所以,redis是单线程。

2024-02-19 11:08:12 705

原创 第一章:项目介绍

对于企业中的项目绝大多数都需要进行用户权限管理、认证、鉴权、加密、解密、XSS防跨站攻击等。这些功能整体实现思路基本一致,但是大部分项目都需要实现一次,这无形中就形成了巨大的资源浪费。本项目就是针对这个问题,提供了一套通用的权限解决方案----品达通用权限系统。

2024-01-12 09:47:43 449

原创 第二章-Spring Boot Starter介绍和使用

第二章-Spring Boot Starter介绍和使用。

2024-01-12 09:24:49 618

原创 day04-服务的具体实现以及MybatisPlus的入门

简称MP是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生。我们的愿景是成为MyBatis最好的搭档,就像 魂斗罗 中的1P2P,基友搭配,效率翻倍。

2023-12-26 11:41:14 992

原创 7Docker搭建es和kibana

docker exec -it elasticsearch bash 进入。docker logs elasticsearch 启动日志查询。docker restart elasticsearch 重启。:我安装的版本是7.12.0,可以根据实际的情况安装。docker ps 查看是否启动。

2023-11-29 11:26:11 820

原创 18.天气小案例

1、在菜单管理自己添加一个菜单,然后把菜单分配给某个角色,再把该角色分给某个人。【然而超级管理员什么时候都能看到此菜单,因为超级管理员能无视一切权限问题】然后随便写一个123,现在先让我们页面能跳过去先。组件路径一定要写对,写不对直接进不去相应的组件。路由地址可以乱写,但是起码也要有点“path”的样子吧?2、在路由文件(router/index.js直接写相关路由),然后可以手动切换浏览器网址进入该路由。本次例子利用使用自己添加菜单的方法,这样比较简单。现在我们可以开始专注页面了。

2023-11-22 21:11:59 1101

原创 Linux防火墙常用操作及端口开放

如果这时,我将Mysql在Linux中启动,并配置完成,那么远程telnet该端口是可以成功的;–permanent永久生效,如果没有此参数,则只能维持当前服务生命周期内,重新启动后失效;当在Linux中成功开启了某个端口,但是远程telnet还是无法ping通,是正常的;因为3306端口没有被Linux进程监听,换句话说,就是该端口上没有运行任何程序;–add-port=443/tcp添加tcp协议的端口端口号为443。Linux防火墙常用操作及端口开放。#查看端口被哪一个进程占用。

2023-11-21 17:26:01 502

原创 1.linux启动jar包

kill -9 进程号。

2023-11-19 23:14:57 84

原创 16. @PostConstruct注解和开关原理(验证码开关、IP开关)

我们打开页面“参数管理”,所谓参数管理,就是在系统运行起来的时候,可以动态修改一些值,这些值会被系统实时修改,下次如果需要读值,则会是最新的值。上一种验证码开关是在参数设置里面设置的,随着程序运行之后,也能随时改。主要通过redis实现。IP开关在YML,主要是用来看日志的时候能不能看到公网IP。IP开关通过YML文件中写死实现,也就是说,一旦程序启动,就改不了了。我们的项目具有验证码功能,旧版不支持关闭,新版已经支持关闭了。重新登录发现确实没有验证码了?我们直接看一下为啥没有了,上源码!

2023-11-19 21:21:04 757

富文本编辑器安装包(editplus)

富文本编辑器安装包(editplus)

2023-08-16

docker-compose安装包(三个版本)

docker-compose安装包(三个版本)

2023-08-08

rabbitmq安装文档

rabbitmq安装文档

2023-07-19

乐优商城rabbitmq安装文档

乐优商城rabbitmq安装文档

2023-07-18

乐优商城rabbitmq安装包

rabbitmq安装包

2023-07-18

SpringCloudNetflix-H版

SpringCloudNetflix-H版

2022-05-24

1.Java分布式与微服务实战\多线程与分布式\第1节 线程池

第1节 线程池

2022-05-23

JWT登录 SpringSecurity基础 SpringSecurity进阶 SpringSecurity高级

JWT登录 SpringSecurity基础 SpringSecurity进阶 SpringSecurity高级

2022-05-17

SpringData+jpa一对一与一对多

SpringData+jpa一对一与一对多

2022-05-12

springboot整合持久层:JdbcTemplate、Mybatis、jpa

springboot整合持久层:JdbcTemplate、Mybatis、jpa

2022-05-12

Thymeleaf模板引擎

Thymeleaf模板引擎

2022-05-11

Freemarke模板引擎文档

Freemarke模板引擎文档

2022-05-11

25、SpringBoot入门及原理(狂神)

25、SpringBoot入门及原理(狂神)

2022-05-04

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

TA关注的人

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