- 博客(20)
- 收藏
- 关注
转载 一次实现centos安装docker
【centos7安装Docker详细步骤(无坑版教程) - 优快云 App】https://blog.youkuaiyun.com/heima005/article/details/127053152?
2025-03-04 12:10:19
43
原创 Typescript基础知识
任意属性任意属性值[propName:string]:any,一旦定义了任意类型属性的值,所有已经确定类型的属性必须是任意类型属性的子集,可以使用联合类型解决这个问题。接口还可以对数组进行约束,数组的下标对应对象中的属性。2.联合类型:表示取值可以为多种类型中的一种。还没有赋值的时候只能访问联合类型中所有类型共有的属性和方法。类型断言可以将任何类型转换为any类型,也可以将any类型断言为具体类型,还可以将联合类型断言为子类型。1.类型推断:ts在没有明确指定类型的时候会推测一个类型。
2025-02-28 18:01:50
346
原创 React知识整理(二)
补充说明:第一次渲染页面直接从虚拟DOM转成真实DOM,但是后期视图更新的时候,需要经过一个DOM-DIFF的对比,计算出补丁包PATCH(两次视图差异的部分),把PATCH补丁包进行渲染。2.胡子语法:不支持渲染普通对象,支持渲染JSX虚拟DOM对象,原始数据类型中Number和String支持渲染,其它原始数据类型全部渲染为空。5.JSX底层处理机制:第一步,把编写的JSX语法编译为虚拟DOM对象;3.循环创建的元素一定设置key属性,属性值是本次循环中的“唯一值”,以便优化DOM-DIFF。
2025-02-28 18:00:59
275
原创 Java基础
由于存储String长度的类型时int, 而int占4个字节,所以String最多能存储2的31次方减1个字符。不过有些编译器可能有65535个字符的限制,在这种情况下如果字符串长度超过了65535可能会导致编译不过。可以通过if else判断避免,也可以通过jdk封装好的工具类判断是否为空避免,还可以通过@Nullable注解在编译期间提示避免,用assert断言也可以避免。
2025-02-28 17:57:38
225
原创 消息中间件
我们使用rabbitMQ来确保mySQL和redis间数据双写的一致性,这要求我们实现消息的高可用性,具体措施包括:1)开启生产者确认机制,确保消息能被送达队列,如有错误则记录日志并修复数据。1)消息若超时未消费则变为死信,队列可绑定死信交换机,实现延迟功能。2)另一种方法是安装rabbitMQ的死信插件,简化配置,在声明交换机时指定为死信交换机,并设置消息超时时间。我们遇到过消息重复消费的问题,处理方法是:1)设置消费者为自动确认模式,如果服务在确认前宕机,重启后可能会再次消费同一消息。
2024-12-25 22:11:10
386
原创 Java微服务
在使用nacos作为注册中心的项目中,我注意到nacos与eureka的共同点和区别:1)共同点:两者都支持服务注册与发现,以及心跳检测作为健康检查机制。当发起远程调用时,ribbon首先从注册中心获取服务地址列表,然后根据预设的路由策略选择一个服务实例进行调用,常用的策略是轮询。3)服务调用:Feign。我们通常通过服务降级和服务熔断来解决这个问题:1)服务降级:在请求量突增时,主动降低服务的级别,确保核心服务可用。在早期,spring cloud的五大组件通常指的是:1)Eureka:服务注册中心。
2024-12-25 21:43:11
597
原创 ssm框架
spring的常见注解包括:1)声明Bean的注解:@Component、@Service、@Repository、@Controlller。2)A在初始化时需要B对象,开始B的创建逻辑。spring的框架允许循环依赖存在,并通过三级缓存解决大部分的循环依赖问题:1)一级缓存:单例池,缓存已完成初始化的bean对象。主要思路是使用AOP的环绕通知和切点表达式,找到需要记录日志的方法,然后通过环绕通知的参数获取请求方法的参数,例如类信息、方法信息、注解、请求方式等,并将这些参数保存到数据库。
2024-12-25 20:41:33
462
原创 Redis
1.请解释一下I/O多路复用模型。I/O多路复用模型是指利用单个线程来同时监听多个Socket,并且在某个Socket可读、可写时得到通知,从而避免无效的等待,充分利用CPU资源。目前的I/O多路复用都是采用的epoll模式实现,它会在通知用户进程Socket就绪的同时,把已就绪的Socket写入用户空间,不需要挨个遍历Socket来判断是否就绪,提升了性能。其中Redis的网络模型就是使用I/O多路复用结合事件的处理器来应对多个Socket请求,比如,提供了连接应答处理器、命令回复处理器,命令请求
2024-12-24 20:08:25
444
原创 Vue3学习笔记
2020年9月18日,Vue.js发布版3.0版本。截止2023年10月,最新的公开版本为:3.3.4在Vue3中,自定义Hook是一个非常有用的功能,它可以帮助我们重用组件中的逻辑。
2024-01-22 03:49:45
554
原创 git上传
生成新密钥:ssh-keygen -t ed25519 -C “xxx@xxx.com”今天打算把之前写的项目上传到github上的仓库,但是上传的时候发现出现了错误。后面经过搜索引擎发现原来是公钥缺失了,于是重新创建公钥后就能成功导入了。
2023-08-31 02:42:22
131
原创 网页设置动态背景
是相对于原有文档流(也就是从左向右,从上到下)来说的,相对定位也就是在原有位置改变位置后原有位置不让出来,而绝对定位则是要把原有位置让出来。以便不占用位置,不占用位置的原因是它把自己原有的位置让出来了,这样所有新元素都会从它的原有位置开始占用文档流,从而使得这个视频起到了背景的作用。,这样这些模块就会浮在整个绝对定位的视频之上,因为它们占用了之前绝对定位的视频的位置,也就是整个视频由于绝对定位不占用空间,充当了背景的作用。使用CSS的相对定位和绝对定位来实现,所谓的。通过相对定位导入需要的模块。
2023-06-27 10:46:24
742
原创 后端实现用户多次登陆失败锁定账户
刚开始想的是在用户数据库中加一个字段login_time,根据这个login_time来决定是否锁定用户以及锁定多长时间。但是我尝试在用户表中新增字段失败了,由于用户数据库是同组其他人完成的,加之自己目前对django的数据库操作不是特别熟练,在数据表中添加字段的时候报错了,也不知道怎么改。只要再session中添加一个键lose_time表示登录失败的次数,当lose_time>=3的时候一定时间内不让这个用户再登录就可以了,经过写代码测试,的确可以实现这个功能。
2023-06-19 00:00:00
583
原创 Vue2基础知识整理
1.Vue:渐进式的Javascript框架,渐进式指的就是Vue“可以被逐步集成”,意思就是既可以整个项目使用Vue框架,也可以在其中某个页面使用Vue框架。21.组件组成:最大的功能就是可复用性, .vue文件是单文件组件,一个组件必须有template, 组件使用分为三步,引入组件,注入组件和显示组件。此外,props是只读的。4.typescipt是js的超集,支持ES语法,能够解决js类型错误的问题,也被叫为静态类型检查器,方便后期维护。es是写在文档里的js,ts是静态类型检测的js。
2023-06-15 09:28:05
180
原创 字符串的最大公因子
5.最后判断两个字符串是否能整除自身前l2个字符组成的字符串及它们自身前l2个字符组成的字符串是否相同来判断它们任一的前l2个字符组成的字符串是否是它们的最大公约字符串,如果是,则返回,如果不是,则这两个字符串不存在最大公园字符串,返回空字符串。3.在讨论完这两种特殊情况后,str1和str2必定不相同且它们的长度也不同,为了便于讨论,这里通过使得str2的长度大于str1的长度时交换str1和str2从而让str1的长度一定大于str2的长度。
2023-06-12 22:26:29
281
原创 正则表达式返回空值
我打算匹配字符串中的所有数字,但是匹配结果返回空数组,如图所示,不知道什么原因。后面经过多次调试,发现是正则表达式写错了,把正则表达式改成下图所示就可以了。r’[1-9]+\.?[0-9]*'就能匹配字符串中大于0数字了。r是告诉python这是一个普通字符串,不需要转义。表示0个或1个普通的小数点,\是不转义符号。[1-9]+表示一个或多个1到9之间的数字。[0-9]*表示0个或多个0到9之间的数字。
2023-06-12 11:41:18
567
原创 react基础知识整理
6.npm,nrm,yarn,cnpm的关系:npm是node包管理工具,nrm是npm源管理工具,yarn简单来说相当于速度更快,输出更简洁,语义化更好的npm, cnpm就是npm在国内的镜像。5.我使用react脚手架创建项目的时候前两次都报错了,第二天早上同样的命令竟然成功了,我猜想可能跟当时网站的状态或访问量有关,真正确切的原因还需要在以后的学习中体会思考才能知道。(1)src:所有后续编写的代码,几乎都在SRC下【打包的时候,一般只对这个目录下的代码进行处理】,入口是index.js。
2023-06-08 11:04:46
141
原创 vscode 终端无法执行pip
2、在命令框输入 set-ExecutionPolicy RemoteSigned 回车。1、在Windows应用中找到Windows PowerShell,右键以管理员运行。ps: powershell比cmd更高级,但是微软向前兼容,还保留了cmd和dos。3、根据需要选择,这里我选择的是A,成功解决了问题。
2023-05-23 13:51:39
4196
windows版redis5.0.14
2024-07-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅