- 博客(116)
- 收藏
- 关注
原创 代驾项目01(小程序登录、腾讯云cos、证件OCR识别、Drools规则引擎、腾讯地图服务接口)
GetMapping("/getCustomerLoginInfo") // 从请求头获取token字符串@LoginAop // 添加aop// 1 从ThreadLocal获得用户id。
2025-03-24 21:30:29
988
原创 RabbitMQ:业务幂等、死信交换机
幂等是一个数学概念,用函数表达式来描述是这样的: f(x) = f(f(x))。这个交换机称为死信交换机(Dead Letter Exchange,简称 DLX)如果消费者没有实现幂等性,重复消费可能会导致数据不一致或业务逻辑错误。死信(Dead Letter)是指那些无法被正常消费的消息。1、定时任务:如订单超时未支付自动取消(12306买票)。2、重试机制:如消息处理失败后延迟重试。3、通知提醒:如预约提醒、会议通知等。消费者监听dlx队列。
2025-03-16 15:23:04
508
原创 消息队列RabbitMQ学习01
在同步调用中,发送方在发送消息后会等待接收方处理这条消息, 并立即返回结果。特定时间内,消息队列能够处理的消息数量,通常以每秒处理的消息数来衡量,吞吐量是评估消息队列性能的重要指标,它影响系统的响应能力和数据处理效率。异步调用中,发送方发送消息后,无需等待接收方的处理结果,立即返回。由于发送方需要等待响应,当处理时间较长时,可能导致性能下降。发送方可以立即继续处理其他任务,增强了系统的灵活性。实现相对复杂,因为发送方需要处理超时和重试逻辑。发送方会阻塞等待接收到的消息的处理结果。
2025-03-11 21:07:29
675
原创 微服务——网关、网关登录校验、OpenFeign传递共享信息、Nacos共享配置以及热更新、动态路由
网关是网络的关口,负责请求的路由、转发、身份校验。
2025-03-08 20:08:10
712
原创 关于网页地图的坐标系
火星坐标系用于避免地图数据被直接使用或分析。由于中国的法律对地图数据有严格的管理,因此在中国境内的地图API(如高德和百度地图)都会对GPS坐标进行加密,转换为火星坐标系。例如:leaflet加载高德地图,如果添加点击事件获取地图上的点那么点的坐标是火星坐标系的,如果向地图上添加已知点,为了加到正确的位置上,也要求是火星坐标系。
2025-02-28 20:29:25
520
原创 微服务项目入门(Nacos、OpenFeign)
在这种架构中,应用程序的所有组件(如用户界面、业务逻辑、数据访问层等)都被打包到一个单一的可执行文件或部署单元中。:随着业务增长,单体应用的代码量和复杂度会不断增加,导致难以扩展。:随着时间推移,代码库会变得庞大且难以维护,新功能的添加和旧功能的修改都会变得越来越困难。:对于初学者或小型团队来说,单体架构更容易理解和上手,不需要掌握复杂的分布式技术。:由于所有模块共享相同的代码库和技术栈,难以引入新的技术或框架,限制了技术的创新。:在单体架构中,事务管理相对简单,因为所有模块都在同一个数据库事务中操作。
2025-02-27 12:13:27
1046
原创 Spring常见面试题
缓存名称源码名称作用一级缓存单例池,缓存已经经历了完整的生命周期(除销毁),已经初始化完毕的bean对象二级缓存缓存早期的bean对象(生命周期还没有走完)三级缓存缓存的是ObjectFactory,表示对象工厂,用来创建指定的某一个对象的使用一二级缓存解决循环依赖(如果是代理对象的解决不了)一二三级缓存解决循环依赖(大部分循环依赖问题都可以解决)
2025-02-26 15:32:33
682
原创 前端如何发送post、get、delete、put请求?
为什么是返回result.data而不是result?在Axios中,对象包含了整个响应,包括、、、和。在拦截器中返回,是因为后端服务通常会将数据放在响应对象的 字段中。三、axios发送请求时两种携带参数的方式须知:post、put可以携带请求体,而delete和get不携带请求体,这四种请求都可以携带url参数2、参数携带到URL里或者
2025-02-13 23:32:39
171
原创 Mybatis操作配置postgis的postgresql以及GeoTools处理WKB数据为GeoJson
支持多种地理数据格式,如 Shapefile、GeoJSON、KML、GML、PostGIS 等。遵循 OGC(开放地理空间联盟)标准,支持各种网络服务功能(如 WMS 和 WFS)。(geometry):将几何对象转换为GeoJSON格式。(string类型)具有强大的渲染和符号化功能,可以创建地图图层,并根据所需样式动态渲染地理数据。提供几何操作和空间分析功能,允许用户执行缓冲区、重投影、空间查询等操作。:返回点的X坐标 (返回double类型)。:返回点的Y坐标 (返回double类型)。
2025-02-11 23:44:56
741
原创 Linux03——常见的操作命令
su命令是用于账户切换的系统命令,其来源英文单词:Switch User。,用户名也可以省略,省略表示切换到root。切换用户后,可以通过。
2025-02-01 22:09:05
1087
原创 Linux02——Linux的基本命令
在命令行中,以列表的形式,展示当前工作目录(默认HOME目录)下的内容(文件或文件夹)。:列出目录中的文件和子目录。
2025-02-01 17:15:36
648
原创 Geoserver入门以及通过WMS服务发布图层使用GIS前端框架展示
Geoserver学习以及通过WMS服务发布图层使用OpenLayers展示
2025-01-29 17:12:56
920
原创 Linux01——初识Linux
Windows Subsystem for Linux(WSL)是微软在Windows操作系统中提供的一种兼容层技术,用于在Windows环境下运行Linux二进制可执行文件(ELF格式)。它为用户提供了在Windows系统中直接使用Linux工具和应用程序的能力,而无需安装完整的Linux虚拟机。第一章-08-扩展-Win10配置WSL(Ubuntu)环境_哔哩哔哩_bilibili。
2025-01-29 12:19:02
670
原创 Redis实战(黑马点评)——redis存储地理信息、位图、HyperLogLog 用法
geo 就是 geolocation 的简写形式,代表地理坐标。redis 在 3.2 版本中加入了对 geo 的支持,允许存储地理坐标信息,帮助我们根据经纬度来检索数据。
2025-01-26 18:00:39
812
原创 Redis实战(黑马点评)——全局ID、优惠券秒杀、一人一单
悲观锁乐观锁定义认为冲突很常见,操作前直接加锁,确保同一时间只有一个线程操作数据。认为冲突较少,操作时不加锁,提交时检查冲突,若有冲突则重试或回滚。实现方式数据库的行锁、表锁;编程语言中的同步机制(如Java的Lock版本号(如数据库中的版本字段、或本身存储的字段)、时间戳等。优点保证数据一致性和完整性,适合冲突频繁的场景。性能更高,适合读多写少的场景,减少锁的开销。缺点加锁导致资源闲置和线程堵塞,性能较低,尤其在高并发时;可能引发死锁。高冲突场景下成功率低,影响性能;实现较复杂。适用场景。
2025-01-25 21:53:02
198
原创 Redis实战(黑马点评)——关于缓存(缓存更新策略、缓存穿透、缓存雪崩、缓存击穿、Redis工具)
Redis实战(黑马点评)——关于缓存(缓存更新策略、缓存穿透、缓存雪崩、缓存击穿、Redis工具类)
2025-01-24 00:12:33
1447
原创 Redis实战(黑马点评)——涉及session、redis存储验证码,双拦截器处理请求
Redis实战(黑马点评)——涉及session、redis存储验证码,双拦截器处理请求
2025-01-22 17:59:45
318
原创 令牌主动失效机制实现——Redis登录优化
令牌主动失效机制是一种安全措施,旨在防止令牌(如访问令牌、会话令牌等)在被泄露或不再需要时继续被使用。。
2025-01-17 21:39:31
395
原创 苍穹外卖09——vue2、Axios、Router
如果将serve改名字,比如运行指令变为npm run pro,那么可以在package.json里设置"pro"命令调用了 Vue CLI 的构建服务"pro": "vue-cli-service serve --mode production" // 修改访问名称},
2025-01-13 17:01:30
921
原创 苍穹外卖08——(涉及接收日期格式数据、ApachePOI导出报表、sql获取top10菜品数据)
苍穹外卖08——(涉及接收日期格式数据、ApachePOI导出报表、sql获取top10菜品数据)
2025-01-11 11:32:52
577
原创 苍穹外卖07——来单提醒和客户催单(涉及SpringTask、WebSocket协议、苍穹外卖跳过微信支付同时保证可以收到订单功能)
苍穹外卖07——来单提醒和客户催单(涉及SpringTask、WebSocket协议、苍穹外卖跳过微信支付同时保证可以收到订单功能)
2025-01-08 11:19:23
423
原创 苍穹外卖06——涉及缓存菜品、缓存套餐(SpringCache基于注解实现缓存)、小程序订单支付实现
由于以上代码缓存的是关于菜品的数据,那么只需要在关于菜品的增删改操作接口中的最好清理缓存。
2025-01-03 20:43:31
742
原创 苍穹外卖04——Redis初入门 & 在店铺打烊or营业状态管理功能中的使用
描述:最基本的数据类型,可以存储任何类型的数据,比如文本、数字、二进制数据等。用途缓存用户会话信息。存储简单的键值对数据。
2024-12-31 23:42:45
1287
原创 苍穹外卖03——公共字段字段填充(AOP处理、阿里云oss、事务回滚Transactional、动态sql实现集合插入、类属性中集合类型数据插入、分页查询)
Aspect // 定义切面类@Component // 加到ioc容器@Slf4j// 切入点 为了提高运行效率,先通过execution找到具体的包下,再加注解log.info("开始进行公共字段填充...");// TODO 待完成。
2024-12-29 11:59:05
303
原创 C#随便学学
在C#中,委托(Delegate)是一种特殊的类型,它定义了方法的类型,使得。下面是一个简单的示例,展示了如何在C#中使用委托和事件。
2024-12-29 09:38:42
128
原创 苍穹外卖02——员工管理(涉及:处理sql语句异常、xml文件里的动态sql、ThreadLocal、page分页插件、日期格式处理、查询回显与编辑提交)
苍穹外卖02——员工管理(涉及:处理sql语句异常、xml文件里的动态sql、ThreadLocal、page分页插件、日期格式处理、查询回显与编辑提交)
2024-12-27 21:20:19
645
原创 苍穹外卖项目01——软件开发整体介绍以及项目介绍
开发环境(development):开发人员在开发阶段使用的环境,一般外部用户无法访问测试环境(testing):专门给测试人员使用的环境,用于测试项目,一般外部用户无法访问生产环境(production):即线上环境,正式提供对外服务的环境。
2024-12-23 19:56:58
725
原创 Javase高级部分——多线程&JUC介绍
/用于指定的参数创建新的 ThreadPoolExecutor。// 具体创建一个线程池的案例(核心线程数,最大线程数,线程存活时间,任务队列,创建线程工厂,任务的拒绝策略);参 数: 核心线程数 不能小于0参 数: 最大线程数 不能小于0,最大数值 >= 核心线程数参 数: 时间,单位 用TimeUnit指定参 数: 任务队列 不能为null参 数: 创建线程工厂 不能为null参 数: 任务的拒绝策略 不能为null*/corePoolSize: 3, // 核心线程数,能小于0。
2024-12-22 18:04:16
1027
原创 springboot中的AOP以及面向切面编程思想
aop中相关概念实现导入依赖新建aop文件夹,里面声明XXXAspect类AOP的底层原理:动态代理。
2024-12-21 12:12:30
789
原创 springboot——登录认证(包括jwt技术、拦截器过滤器)
在实际应用中,这个秘钥应该是一个随机生成的强密钥,并且保密,只有服务器知道。在随后的请求中,前端需要将这个令牌携带在请求中发送给后端,以便于进行身份验证和授权。请注意,存储在浏览器中的令牌可能会受到跨站脚本攻击(XSS)的威胁,因此,确保前端应用的安全性是非常重要的。此外,使用HTTPS协议可以保护令牌在传输过程中的安全。2. 拦截范围不同:过滤器Filter会拦截所有的资源,而Interceptor只会拦截Spring环境中的资源。作用:拦截请求,在指定的方法调用前后,根据业务需求执行预先设定的代码。
2024-12-18 21:33:15
1136
原创 springboot中Controller内文件上传到本地以及阿里云
文件上传还存在一个要考虑的问题:如果两次提交的是不一样的文件,但是文件名称一样,那么第二次提交的图片会把第一次提交的文件给替换(覆盖)因此可以。该文件所在的路径的文件夹是个临时文件夹,运行完毕后这个文件夹里的内容清空。断点调试获取查看前端发送过来的文件。使用UUID命名来解决。使用UUID解决以上问题。
2024-12-17 16:27:36
825
原创 Springboot基本增删改查接口学习笔记
请求指定的资源。通常用于获取数据,不会改变服务器状态。: 向指定资源提交数据,通常用于创建资源。: 更新指定资源。如果资源不存在,可能会创建一个新的资源。: 删除指定的资源。
2024-12-16 17:54:11
404
原创 springboot的Lombok注解,知道一点点吧
注解 作用 @Getter/@Setter 为所有的属性提供get/set方法 @ToString 会给类自动生成易读的toString方法 @EqualsAndHashCode 根据类所拥有的非静态字段自动重写equals方法和hashCode方法 @Data 提供了更综合的生成代码功能(@Getter + @Setter + @ToString + @EqualsAndHashCode) @NoArgsConstructor 为实体类生成无参的构造
2024-12-16 17:36:42
134
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人