- 博客(270)
- 收藏
- 关注
原创 必修-场景题
对于高并发的场景,可以采用Kafka/RabbitMQ等消息队列,将请求进行排队处理,避免瞬时高并发冲击数据库,关于如何利用消息队列延时队列处理有对应的文章我集成框架 - RabbitMQ。例如,在优惠券数量减少的过程中,进行版本号比较,确保操作的原子性,前提是一个库一张表。我以设计一个抢优惠券并发场景的解决方案,来举例,那么需要确保系统的高并发处理能力、安全性和可靠性。使用独立的请求ID对每个用户的请求进行去重,防止重复请求,常用的就是id加上ip加上机器放bitmap。
2024-07-25 18:11:20
642
原创 配置证书443访问 -- 集成框架
由于业务要求需要对当前网络请求服务器不走80端口,进行443 https证书访问。文档有点丑见谅,我还没加样式。
2024-05-24 12:40:15
909
原创 集成框架-RabbitMQ重试和确认
在中,你可以使用yml格式的配置文件来配置RabbitMQ的重试机制。spring:rabbitmq:port: 5672listener:simple:retry:initial-interval: 5000 # 初始重试间隔时间(毫秒)max-attempts: 3 # 最大重试次数max-interval: 10000 # 最大重试间隔时间(毫秒)multiplier: 2.0 # 重试间隔时间倍数在这个配置中,启用了RabbitMQ 的重试机制,并指定了重试的初始间隔时间。
2024-05-16 22:05:42
1148
原创 mysql: docker 异常 - mbind: Operation not permitted
用数据库处理平台问题今天报错,。mbind 不允许操作,一头雾水这是什么意思。网上找了很多资料大概意思是:这个错误通常表示操作系统或系统管理员已经限制了进程的内存绑定操作。内存绑定是一种将进程的内存映射到特定的物理内存区域的操作,这可以提高性能或者确保一些特定的内存访问策略。但是,在某些环境下,比如虚拟化环境或者受限制的系统中,可能会禁止这种操作。我是用docker进行处理的,也就是docker虚拟化容器技术。所以这个问题需要docker买单。对于MySQL。
2024-05-09 22:02:44
1140
原创 集成框架 -- OSS
接入oss必须有这两个文档基础使用STS临时访问凭证访问OSS_对象存储(OSS)-阿里云帮助中心前端上传跨域后端代码已经提供,前端就比较简单了,拿到钥匙直接upload就可以了。一般脚手架都有,凭借url即可前端文档:sts前端上传代码。
2024-04-29 16:06:13
898
原创 chroot -- 限制其他用户liunx空间且监控生成子账户输出命令日志
前提ecs 服务器,centos系统,乌班图系统需要root榕湖ssh 限制了 xushouchun账户在home家目录给定了对应的命令提供了对应的配置关于越狱问题,除非待讨论 除非对方有计算机基础,不然很难越狱。
2024-04-17 18:08:30
299
原创 com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Public Key Retrieval is not al
AllowPublicKeyRetrieval=True 参数以允许客户端从服务器获取公钥。
2024-04-08 22:18:23
148
原创 vit -- 常用配置
构建:定义了构建输出和优化选项,包括输出目录、压缩器、source map 和 Rollup 打包器的配置。静态文件服务:指定了一个目录,该目录下的文件会被 Vite 资源服务器作为静态文件提供。别名:定义了一些便利的路径别名,可以在 JavaScript 和 CSS 中使用。开发服务器:配置了本地开发服务器,包括自动打开浏览器、跨域和代理。全局常量:定义了一些在全局代码中可以使用的常量,例如版本号。插件:使用了 Vue 官方的插件来支持单文件组件。基础路径:配置了用于加载资源的基础路径。
2024-03-27 10:54:56
202
原创 Spring - 使用webSockt
在实际应用中,前端可能需要一些逻辑来控制重连、消息格式处理(例如JSON的编码和解码)、心跳检测以维持连接不被断开等。但是一般会用组件,如React、Vue,可以将WebSocket逻辑包装到一个服务或hook中,并在对应的的生命周期中初始化和销毁WebSocket连接。另外,对于一些复杂的场景,可能会使用一些封装了WebSocket和提供了更丰富功能的库(如socket.io)为了安全性,服务器端还需要实现适当的身份验证和授权机制,并在前端采取措施以保护用户数据。
2024-03-21 16:23:33
467
原创 java基础 -- 事件监听器
在示例中,我们创建了一个自定义的事件类MyEvent,一个实现MyEventListener接口的事件监听器类MyEventListenerImpl,以及一个触发器类EventTrigger来触发事件和管理事件监听器。通过运行Main类,可以看到事件监听器接收到事件并进行相应的处理。您可以根据需要在事件类和事件监听器类中添加更多的数据和方法。要实现一个事件监听器,您可以使用Java中的事件模型和接口。
2024-02-20 12:10:52
534
原创 Kind创建k8s - JAVA操作控制
kind 是 Kubernetes in Docker 的简写,是一个使用 Docker 容器作为 Nodes,在本地创建和运行 Kubernetes 群集的工具。适用于在本机创建 Kubernetes 群集环境进行开发和测试。kind 使用 kubeadm 创建和启动群集节点。
2023-12-25 15:21:33
1623
1
原创 Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Handler d
检查您的Java版本:确保您正在使用包含 “javax/xml/bind/DatatypeConverter” 类的JDK版本。错误信息提示缺少 “javax/xml/bind/DatatypeConverter” 类,这是在Java类路径中缺失的一个类。添加JAXB库:如果您使用的JDK版本不包含 “javax/xml/bind/DatatypeConverter” 类,您可以手动将JAXB库添加到项目的依赖项中。清理并重新构建项目:在添加依赖项后,清理并重新构建项目,以确保JAXB库正确包含。
2023-12-01 18:23:30
916
原创 IO流 -- 调研
对于io流其实一直在使用,但是其中原理不是很熟悉,至于能干什么,概念是比较熟悉的,但是深入了解还是欠缺,于是我开始整理这部门整体话知识,进行了一次调研;
2023-10-13 11:12:13
167
原创 HashMap -- 调研
在Java中,保存数据有两种比较简单的数据结构:数组和链表。数组的特点是:寻址容易,插入和删除 困难;链表的特点是:寻址困难,但插入和删除容易;所以我们将数组和链表结合在一起,发挥两者各 自的优势,使用一种叫做拉链法的方式可以解决哈希冲突。
2023-10-11 17:29:32
147
原创 uniApp -- 学习笔记(vue3+ts)
(三)我需要的是了解这几个方法的作用,这一个栏目,是uni选择器的了解,和构想一下使用场景的需求,其实从文档中可以得到的信息这几个方法的重载,选择一个节点,选择一个类的所有节点选择某个区域,调用。其实主要就是拿到这个数据,那么后面就比较理解了,比如selectAll 就是获取只要class 或者 id 所有的节点信息,数据为数组的节点位置信息。这是官网给的说法,听起来云里雾里的,但是可以拿到几个关键信息。拿到选择器,获取一定程度组件的,或者是整个页面的部分或者区域的选择器,提供了上述的几个方法。
2023-06-15 15:15:50
1443
原创 前端VUE3+Vite +UniAPP-- 框架搭建
除了HBuilderX可视化界面,也可以使用 cli 脚手架,可以通过 vue-cli 创建 uni-app 项目。全局安装 vue-cli配置tailwindcss插件在 tailwind.config.js 配置文件中添加所有模板文件的路径。将加载 Tailwind 的指令添加到你的 CSS 文件中在你的主 CSS 文件中通过 @tailwind 指令添加每一个 Tailwind 功能模块。安装 pinia安装防抖增加请求安装 uniui组件库uview 组件库地址。
2023-06-08 13:36:06
5275
原创 vue - tailwindcss 和 element-ui 冲突处理
其实情况也比较简单,也就是先引入tailwindcss 再引入element-ui 这样element-ui就会覆盖掉tailwindcss。elementui 样式 import ‘element-plus/es/components/dialog/style/css’在使用tailwindcss 情况下,有时候会导致element-ui的样式失效最常见的是butten按钮的样式就变了。所以在保证tailwindcss的情况下对于element覆盖的样式再重新定义。引入tailwindcss。
2023-02-24 14:49:37
3226
原创 Uncaught (in promise)
我写的有问题,多此一举,其实在500的时候给弹窗就好了,不需要把约定定位错误。因为错误的数据data都是为空的,而我的数据也是从data里面拿的对后面不影响,后面直接拿const data 等于返回的结果data就好了。看起来没什么问题但是后面调用post存在一个问题就是必须得then catch 因为我已经把这个promise 定位错误了。所以后面调用post返回的promise 必须处理。不定义为异常,所以自然也不需要捕获 直接出去。抓一下http不是200的异常 先弹窗。所以我弹窗提示就可以了。
2023-02-23 16:44:08
513
原创 webstom找不到vue全局组件
但是这个只能自定义标签,不可能一个个配置,肯定是保留在vue里面的node——model里面所以我放弃了,我觉得只要引入就好了,百度了三个小时。所以我认为是这样,vue的文件是可以导入的,是因为在script 标签里面,相同的自动导入组件应该也是进来了,不然项目会报错,但是项目没有,所以一定是webstom的问题,于是我去目录里面去挂靠。直接说重点,既然是webstom的问题,我觉得我应该去官网看看,然后找了一个多小时,看到了这个。我尝试了不添加组件,进行编译,编译器中我也引入了这两个生成的自动导入文件。
2023-02-21 17:26:42
1362
原创 VUE -- useThrottleFn
定义:对于一次触发事件,进行自定义延时处理在使用前需要了解他的使用场景简单带过一下举个例子,如果写过后端,可以理解为单线程池,默认容错规则为放弃,只是这个线程规定了具体的事件,比如这个线程池里面只有一个线程,而这个线程的执行时间可以设置为1分钟,如果一分钟进来10个线程,那么也只能处理一个线程,但是在一分钟之后再进来一个线程该线程又可以执行了白话来说就是,一个按钮,如果用了节流阀,设置时间为1分钟,那么这个按钮在一分钟内点击100次,那么该按钮只触发第一次,一分钟之后,再点击触发第二次。
2023-02-18 10:19:37
1540
原创 VUE -- computed
computed定义:处理复杂逻辑的响应式计算vue3 之后用computed用的比较多,相对来说侦听器用的就比较少,侦听器是监听一个属性值的变化,进行后续操作,而computed的功能已经涵盖很多触发条件:当页面加载会计算一次,后续计算中使用的值发生改变,就会跟着值改变的次数调用多少次拿到最新的值。
2023-02-17 17:05:23
234
原创 VUE -- defineExpose
定义:用于组件通信中父级组件调用操作子组建方法和响应式属性参数能力在使用前需要了解两个拷贝对象函数shallowRef这两个都是vue包里面的简单带过一下:处理对象最外层属性的响应式(浅响应式)。shallowRef:只处理基本数据类型的响应式, 不进行对象的响应式处理。
2023-02-17 15:06:04
4889
原创 集成框架 -- 聚水潭对接
token 建议放到redis 加过期时间,通过过期时间来判断是否需要刷新token,来重新续命。直接拿到demo运行,其他的自己封装即可。
2022-11-14 16:28:39
1114
原创 Vite 脚手架 -- 实现后台
前言,导入依赖包如果遇到导入不进去,alt 加 enter 自动npm install 会自动导入最新的版本,除了必要工具放到dev依赖其他的项目依赖包全部放到 依赖里面。创建install 插件放在这里暴露方法,由app 一次性进行方法注册 预留两个包,一个指令包 directives,一个插件包 plugins。由于后面可能涉及到用户信息仓库,用户权限管理员等路由配置等所以 在stores 里面先建立一个modules包。目前项目已经有了 路由,和本地仓库 对index.html 进行全局配置。
2022-11-02 16:34:06
908
原创 vue3 vite 打包部署后,访问报错Expected a JavaScript module script but the server responded with a MIME type of
原因是加载不到静态资源,一般来说偶显会有加载不到对应的资源问题的控制台报错。部署的时候 要更改一下 ./ 改为其他路径 或者/
2022-10-28 16:51:06
2953
原创 集成框架 -- websocket发消息给前端
基于连接可以做健全,前提必须有同一个域名,ws协议下可以长连接,其他的连接配置参数可以在后端校验。完成连接后,后端可以发送消息到前端,用于消息传输,但是websocket是不稳定的,netty有稳定版本的。前言: 使用websocket的原因,是因为项目中会出现无法服务器调用前端的情况,基于此TCP长连接协议,所以用了ws协议封装了一层,流反向调用。使用websocket 前端需要连接对应的服务域名,域名替换为ws,打到集群主机。注册使用bean 用来扫描端点。
2022-10-21 17:55:37
1871
原创 集成框架 -- 阿里网关API
直接用HTTPS 安全校验是可以跳过的,所以相比较HTTP HTTPS 可以任意切换。外部接口,避免复杂配置,增加证书校验,可以选择API 网关。
2022-09-26 15:23:47
1049
原创 继承框架 - 秒杀接口实现
校验商品库存数量,校验商品信息,校验是否已经完成,符合推送的信息,后台定时任务推送秒杀信息到redis 秒杀列表,锁定库存,前端展示库存减去预上架库存,举例真实库存100 秒杀20 前端请求均显示,系统库存 80,推送秒杀id 对应的商品库存数量。令牌之后,存储用户令牌,+用户频率,和成功时间,设置过期时间一小时,第二次进来,获取用户频率如果大于等于两次,或者一次,时间小于两分钟,进行拒绝)用户在队列中,关闭应用,如果抢订单成功,通过消息,通知用户抢购成功,点击消息,跳转到订单确认页面。
2022-09-13 16:24:39
389
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人