- 博客(42)
- 收藏
- 关注
原创 SpringBoot集成Security实现权限控制
主要有两个主要功能:“认证”,是建立一个他声明的主体的过程(一个“主体”一般是指用户,设备或一些可以在你的应用程序中执行动作的其他系统),通俗点说就是系统认为用户是否能登录。一般在拦截器中进行拦截用户信息进行认证。“授权"指确定一个主体是否允许在你的应用程序执行一个动作的过程,一般是在Security中进行接口权限配置,查看用户是否具有对应接口权限。通俗点讲就是系统判断用户是否有权限去做某些事情。相应语法:.successForwardUrl()登录成功后跳转地址.loginPage()登录页面。
2024-02-01 10:18:37
1019
1
原创 Springboot整合阿里云OSS进行上传单个图片,多个图片,删除图片功能
3. 在application.yml 进行阿里云配置。请求成功就会返回图片所在阿里云云存储器地址。4. 创建OSSController。5. 使用postman进行测试。格式: from-data。value:上传的文件。1. 导入OSS依赖。2. 进行OSS配置。请求方式: post。key:传输的参数名。
2023-10-11 15:52:55
558
原创 guliMall 分布式基础篇03-- 属性分组
在修改BrandServiceImpl 的updateDetail 方法中,注入CategoryBrandRelationService,修改关系表中的数据。修改品牌管理的条件查询。在 CategoryServiceImpl 中继承 CategoryService的findCatelogPath方法。所以当我们在controller层修改数据时,就需要携带上修改CategoryBrandRelation 的数据。本次需求:在属性分组页面,当点击某一分组进行修改时,我们需要在修改页面,回显其分类id。
2023-09-25 14:36:01
121
原创 guliMall 分布式基础篇04 05-- 平台属性 新增商品
在AttrServiceImpl实现queryBaseAttrPage 方法中,通过查询表pms_attr_attrgroup_relation 的AttrId和AttrGroupId来分别查询pms_attr 和 pms_attr_group 中属性所在分组和分类的名字。此时我们可以使用insert方法来新增分类或者分组。逆向生成的规格参数新增,只有基础的新增,保存的有所属分类的信息,没有添加所属分组的关联关系。在属性分组页面-->点击关联-->新增关联 展示在同一分类下,没有被其他分组关联的属性。
2023-09-25 11:46:55
194
原创 guliMall 分布式基础篇02--品牌管理
1. 在新增页面的显示状态showstatus为1或者0.因为在数据库存储的过程中是存储数字1或0.element-ui->index.js 组件/*** UI组件, 统一使用饿了么桌面端组件库(https://github.com/ElemeFE/element)* 使用:* 1. 项目中需要的组件进行释放(解开注释)
2023-09-11 11:21:31
184
原创 关于谷粒商城虚拟机内存不够用的问题
由于谷粒商城项目比较庞大,最开始的40G已经不能满足需求,此时我们可以选择删除一些文件或者重新创建虚拟机。而我选择的是重新创建虚拟机。然后此时可以打开vagrantfile文件进行编辑,将以后创建的虚拟机内存大小提升至80G.保存并退出。然后我们就可以使用命令 vagrant up直接创建一个硬盘大小80G的虚拟机啦。1. 在本地环境中使用cmd进入vagrantfile 目录。下载虚拟机环境可以配置虚拟机硬盘大小的插件。此处致谢博主 落亦_
2023-09-06 11:30:26
205
原创 guliMall 分布式基础篇01--分类维护
将商品数据进行树形结构分类首先在 gulimall_pms 中的 pms_category 表导入数据在gulimall_product 模块中进行操作。
2023-09-05 09:36:22
123
原创 本地sqlyog连接虚拟机MySQL
当我们想要远程连接时,我们可以使用命令更改root权限,其中%代表开启远程连接,非本地端口也可以连接。如果我们忘了密码,可以在my.cnf 中进行配置,跳过密码验证,在[mysqld]选项下面。登录mysql,输入 mysql -uroot -p;如果root对应的是localhost,则是只能本地连接。然后可以按照上面步骤来进行修改root权限。使用命令来查看root用户是否开放远程连接。如果root对应的是%,则开启远程连接。如何有报错,我们可以使用命令来更新操作。然后使用命令连接mysql。
2023-08-02 15:33:24
1117
原创 今日算法题之数组
题目描述:给定一个n个元素有序的(升序)整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果目标值存在返回下标,否则返回-1。二分查找思想二分查找是一种常用的查找算法,适用于有序数组或有序列表。它的基本思想是将查找区间逐渐缩小为一半,直到找到目标元素或确定目标元素不存在。二分查找的时间复杂度是 O(logN),其中 N 是查找区间的大小。由于每次查找都将查找区间缩小为一半,因此它的效率非常高。但前提是要求查找的数据结构是有序的。
2023-07-26 15:47:49
74
原创 仿牛客网第三篇(开发点赞,关注功能)
然后我们有创建了RedisKeyUtil,因为我们存储数据是以key'的形式存在,所以ReidisKeyUtil的主要功能就是返回存储在Redis中的key。而非关系型数据库是将数据存储到内存中,反应速度快,适合频繁操作。
2023-07-20 10:53:13
194
原创 仿牛客网第二篇(开发评论,私信功能)
此时还没实现显示帖子的功能,因为评论显示在帖子详情页面 discuss-detail,所以在DiscussPostController实现显示,处理评论和回复评论的功能。在发布评论的过程中会有一些不合适的词汇,我们应该不让其发布成功,所以进行过滤处理,主要使用前缀树结构进行过滤敏感词。新增帖子之后会发送异步请求,将帖子数据直接传输到帖子列表,并且创建时间越早,帖子会越靠前。处理帖子详情页面discuss-detail,主要处理评论区的页面。点击消息进入消息详情页面,处理letter-detail。
2023-07-17 18:16:01
117
原创 浏览器清除缓存后,造成springboot项目运行加载不出来css样式
查看了css报错信息,发现大致原因是因为本次访问是http请求,而在css样式中有一些https的请求,而最新的浏览器的同源策略是不支持跨源请求的。#配置跨源请求,使我们的http可以访问https资源,比如我们需要访问的https://stackpath.bootstrapcdn.com。所以我们可以在服务器端进行配置,使我们的http请求可以访问http的域名资源。配置完后我们就可以访问远程的https资源,就可以展示css和js样式了。在application.properties中进行配置。
2023-07-14 10:31:12
315
原创 仿牛客网第一篇(分页显示帖子,注册,登录,拦截器实现)
首先在applciation.properties配置ServerProperties(包含端口和访问路径),ThymeleafProperties(缓存设置),数据库(数据源,路径等),还有mybatis配置。创建拦截器LoginTicketInterceptor,在请求开始之前查询用户信息,在controller层下创建Interceptor包,然后创建LoginTicketInterceptor拦截器。其中,最难的是page分页组件的创建,以及在controller的运用。
2023-07-13 14:18:57
330
原创 RabbitMQ整合篇
1.将文件erlang-21.3-1.el7.x86_64.rpm,rabbitmq_delayed_message_exchange-3.8.0.ez, rabbitmq-server-3.8.8-1.el7.noarch.rpm三个文件使用xftp传入linux系统cenros77系统的/opt目录下。2.打开/opt目录,顺序使用以下命令安装rabbitmq: rpm -ivh erlang-21.3-1.el7.x86_64.rpm yum install socat -y
2023-07-11 17:37:43
157
原创 计算机网络完结篇(从键入网址到响应页面-->HTTP常见面试题-->TCP三次握手及挥手-->TCP超时重传等特性-->Ip地址)
2. 本地DNS服务器收到客户端的请求后,会先在缓存的表格中寻找www.alibabab.com 的ip,如果找到,直接返回IP,如果没有,本地DNS服务器会去问根域名服务器,根域名服务器会返回给本地域名服务器一个方向 .com ,然后本地域名服务器会去访问 .com 顶级域名服务器。但是服务器必须按照接受请求的顺序来发送对这些请求的响应。当客户端发送FIN数据包请求断开时,服务器端会发送ACK表示确认收到了请求,但是此时服务器端可能还会有未处理的数据,等将数据处理完之后,就可以发送FIN给客户端。
2023-07-11 17:18:50
397
原创 从零开始——springboot增删改查小demo
后面的impl中的PersonServiceImpl继承PersonService的接口,并调用PersonMapper中的增删改查与数据库进行交互。然后在pom中加入依赖,注意springboot的parent的版本不易过高,2.1.5.RELRASE 即可。首先,先创建数据库 -----sushe,然后创建表 person,表结构是这样的,一共四个字段。然后是service层的PersonService,采用接口设计。首先实体类dao包的Person代码。项目大概的架构是这样的。最后,就是三个小页面。
2023-07-11 14:51:12
325
原创 一招永久解决github连接不上的问题
完成后就可以直接访问github.com啦。然后保存退出,最后打开cmd,使用命令。然后将这段代码复制粘贴在文本最后面。首先,打开下面这个文件。
2023-07-11 14:36:17
1506
原创 微服务入门
不要访问其他微服务的数据库,但是微服务可以将自己的业务接口调用给其他使用,从而间接访问其他微服务数据。以上运行之后就可以在Eureka注册中心进行实例化注册了,下面就是注册了 eurekaserver,userservice,orderservice。服务调用者无需自己寻找服务,而是将自己的需求告诉Eureka,Rureka将包含信息的服务告诉你。分布式架构:松耦合,扩展性好,但架构复杂,难度大,适合大型互联网项目,像京东淘宝等。服务消费者:从注册中心中,获取服务列表,从而调用其他服务的就接口。
2023-07-03 19:02:11
805
原创 idea项目提交到git 这一篇就够了
然后再配置远程仓库,点击Git 选择 Manage remote 然后在配置Url ,将自己所创建的远程仓库地址放上即可。最后先 commit 添加代码,然后再pull 查看是否可以push代码,如果没问题则直接push 代码即可。有可能是已经关联过另一个远程仓库了,在命令行中打开,首先需要初始化数据 git init ,此时项目中就会出现 .git 文件,代表初始化成功。此时还需要提交到远程仓库,git采用ssh密钥的形式,一路回车。密钥生成的地址在里面,由于我的本地电脑没有安装打开这个文件的软件。
2023-07-02 20:10:03
5062
原创 Redis 常见面试题
但是,在旧主节点失联期间时,客户端传输的数据也就丢失了。为了保证Redis中的数据与数据库中的数据的一致性,会给在Redis中的数据设置过期时间,当缓存过了过期时间,用户需要访问的数据不在缓存中,缓存会重新生成,因此需要重新访问数据库。混合持久化工作在AOF重写过程中,当开启了混合持久化,在AOF子进程重写日志时,fork创建出来的子进程会先将于主进程共享的内存数据以RDB的形式写入到AOF文件中,然后后面主进程的操作命令会写入到AOF重写缓冲区,重写缓冲区的增量命令会以AOF的格式写入到AOF文件中。
2023-05-28 15:11:35
2720
原创 操作系统总结
段式管理把内存分为一段一段的形式,每段的大小又比每页的小很多,最主要的是段是具有实际意义的,每段都定义了一组逻辑信息。实际上,我觉得虚拟内存同样是⼀种时间换空间的策略,你⽤ CPU 的计算时间,⻚的调⼊调出 花费的时间,换来了⼀个虚拟的更⼤的空间来⽀持程序的运⾏。LRU算 法赋予每个⻚⾯⼀个访问字段,⽤来记录⼀个⻚⾯⾃上次被访问以来所经历的时间 T,当须 淘汰⼀个⻚⾯时,选择现有⻚⾯中其 T 值最⼤的,即最近最久未使⽤的⻚⾯予以淘汰。因此,当用户态运行的进程需要系统态的子功能时,就需要进行系统调用。
2023-05-01 14:25:49
78
原创 java基础篇总结
2) hashCode的作用,当你把一个对象加入到HashSet(一个集合)中时,hashSet会先通过判断该对象的hashCode来判断该对象的位置,然后与其他hashCode作比较,如果没有相同的,hashSet会认为对象没有重复出现,如果有相同的hashCode值,这是会调用equals方法检查hashCode相等的对象是否真的相同,如果相同,则不会让其加入集合。所以,线程也被称为轻量级进程。面向过程 : 面向过程的性能较高,因为在面向对象,向java在运行时,类调用需要实例化,开销较大,消耗资源。
2023-04-26 11:06:20
85
原创 仿牛客网项目 回顾错误
1 . 在elasticsearch搜索应用中,发布帖子能存储到数据库中,但是没有存储到elasticsearch服务器中,原因就是kafka功能未完善。一旦发布帖子,就会触发发帖事件,kafka的生产者将消息发送到消费者,由消费者进行处理。将followeekey作为字符串传到了redis缓存中,将followeekey作为了键值。2 . redis关注和未关注数目同步,原因就是在redis的运用中发生错误。在 ServiceLogAspect 加上代码kafka功能即可运行。
2023-04-19 18:04:09
186
原创 Elasticsearch的配置及常见错误
开启elasticsearch :elasticsearch的bin目录下的elasticsearch.bat,双击即可打开elasticsearch。其中cluster.name对应springboot项目中application.properties里elasticsearch配置的。elasticsearch一共有两个端口号9200和9300,9200一般是HTTP使用的,所以项目一般使用9300端口。在elasticsearch.yml中配置两项内容。1.下载Elasticsearch到d盘。
2023-04-13 22:47:23
282
原创 关于kafka配置 启动 报错 处理
创建生产者 kafka-topics.bat --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test。创建消费者 kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test--from-beginning 直接运行。上面的错误我们只需要删除kafka-logs中的48日志即可。
2023-04-13 18:22:47
1252
原创 数据库高级 行锁
1)在session1中首先修改数据,但是未提交,然后在session2中修改数据,发现产生堵塞。等在session1中commit提交数据后,session2才会执行SQL语句。在session1中,修改部分数据,但是未提交。同时查询数据,发现数据修改。3.在session1和session2中对表中同一数据进行修改。4.在session1和session2中对表中不同数据进行修改。同时在session2中,查询数据,发现数据未修改。对同一表中的不同数据进行修改,双方互不干扰。
2023-04-07 10:40:25
43
原创 数据库高级 表锁
在session2中也可读mylock的数据,更改数据会造成堵塞,等seesion1中的锁取消。2)session2中读mylock的的数据会阻塞,更改mylock的数据也会阻塞,可以读其他表。效果:1) session1中可以读mylock的数据,可以更改mylock的数据,但是不能读其他表。效果:在session1中可以读到mylock的数据,但是不能更改数据,不能读其他数据表。但是可以读到其他表。2)给mylock上读锁,给book表上写锁。1.环境准备,建表myock,已经前面创建的book表。
2023-04-07 09:51:12
124
原创 数据库高级 为排序使用索引Order by优化
索引为age,birth。在explain select语句中,Order By语句后面的语句只要采用最左前列原则,就说明使用了索引进行排序,不会产生Using filesort。Using filesort(说明MySQL会对数据使用一个外部的索引进行排序,而不是按照外部的索引进行排序。MySQL中无法利用索引完成的排序成为文件内排序),这是一个不好的东西。当where 子句使用的最左前缀为常量的时候,则Order BY使用索引。1.Order by语句使用索引最左前列。讲一下关于双路复用和单路复用。
2023-04-06 11:18:36
215
原创 数据库高级 In和Order by
2.而在In和Order By中同样采用小表驱动大表优化原则,小的数据集驱动大的数据集。在Order by中,B表大于A表,同样也是小的数据集驱动大的数据集。在In优化中,B表比A表小,小的数据集驱动大的数据集。在In和Order By中二者是同样的目的。1.在数据库中一般采用小表驱动大表,类似于。
2023-04-06 10:56:48
110
原创 数据库高级 索引优化
最佳左前缀法则:如果索引是多字段的复合索引,要遵守最佳左前缀法则,指的是查询从索引的最左前列开始并且不跳过索引中的字段。查询的字段都用到了索引,但是范围之后的索引字段会失效。二者执行结果一样,但是第二个索引没有用上。如果一定要使用%like,则应该用覆盖索引。因此,在索引列上进行计算,会是索引失效。口诀:带头大哥不能死,中间兄弟不能断。like百分加右边,字符要加单引号。带头大哥不能死,中间兄弟不能断。索引列上不计算,范围之后全失效。覆盖索引尽量用,不等有时会失效。口诀:索引列上不计算。
2023-04-04 11:26:50
38
原创 数据库高级 单表多表优化案例
中comments=1使views失效,所以应该索引优化一下。1.单表优化(表为article)中有效,但是在另一个查询语句中。左连接将索引放到右表合适。右连接将索引放到左表合适。索引应该设到经常查询的字段。后两个都是ref并且总优化很好。
2023-04-04 09:30:00
77
原创 linux系统下mysql的登录
1. 启动MySQL服务 service mysql start。2.使用 命令打开登录mysql。3.输入密码即可登录。
2023-04-03 21:10:23
6829
2
原创 导入sql文件的两种方法
1.使用windows命令行进行sql文件导入(在导入过程中出现了许多错误,推荐使用图像化界面直接导入文件)、右键数据库 在目录点击导入,会出现执行sql文件选项,点击即可。2.使用图形化界面SQLyog进行拉入SQL文件(推荐使用)直接将sql文件拉入命令行界面,路径不能有中文字符。
2023-04-03 20:50:40
4564
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人