- 博客(17)
- 收藏
- 关注
原创 端口转发与跨域处理
端口转发通过代理服务器“隐藏”真实的后端地址,使浏览器认为前后端属于同源,从而绕过跨域限制。它是开发和生产环境中解决CORS问题的优雅方案,但需合理配置代理规则。
2025-05-08 15:35:06
1143
原创 图书推荐(协同过滤)算法的实现:基于订单购买实现相似用户的图书推荐
这个代码实现了一个基于用户的协同过滤(User-based Collaborative Filtering)推荐系统,下面我将结合代码详细解析协同过滤算法的原理和实现方式。这个实现是一个典型的生产级协同过滤推荐系统,平衡了算法效果和工程实践,适合中等规模的电商平台使用。对于更大规模的系统,可能需要考虑更复杂的优化如分布式计算、近似算法等。
2025-05-08 15:24:32
945
原创 图片上传的util和使用
这个代码实现了基于Spring框架的本地图片上传功能,主要包含三个部分:上传工具类、配置类和静态资源访问配置。下面我将详细解析其实现原理和工作流程。这个实现是一个典型而完整的Spring Boot文件上传应用场景,涵盖了从文件接收到存储再到数据库更新的完整流程,具有良好的可扩展性和实用性。工具类,实现了完整的用户头像上传和更新流程。下面我将详细解析其工作原理和实现机制。配置静态资源访问规则,使上传的图片可以通过HTTP访问。方法结合了你之前提供的。目录下的文件可以通过。
2025-05-08 15:08:53
574
原创 毕业设计基础知识总结
在中,Controller 层使用 @RequestMapping及其衍生注解(如等)来定义 RESTful API 接口,这是提供的功能,属于 SSM 框架的核心部分。在前后端分离的 Vue + SSM 项目中,后端通常提供表示这是一个,所有方法默认返回数据(而不是视图)。传统的 Spring MVC 控制器,通常用于返回视图(如 JSP/Thymeleaf),但在前后端分离项目中较少使用,除非后端也渲染部分页面。这些注解用于匹配methodSpring MVC 还提供了一些注解,用于从axios。
2025-05-08 14:58:43
758
原创 抽奖模块消息队列集成
让你的系统从"脆弱的同步调用"变成"韧性的异步处理"。即使保持现有代码,也已经获得了抗突发流量的能力。每个顾客必须等奶茶做完(包括:煮茶、加料、包装)才能离开,高峰期队伍会排到马路上,最终柜台崩溃。顾客下单后拿到取餐号就可以离开(立即返回结果),后厨根据生产能力。,Service 只处理核心抽奖逻辑(通常很快,<100ms)✅ 可以灵活增加后厨人手(消费者实例)✅ 系统不会崩溃(订单积压在队列里)✅ 顾客体验好(不用原地等待)2. 执行抽奖逻辑(同步)4. 发送记录消息(异步)
2025-03-28 23:03:47
774
原创 体系结构课程实验
集成详解策略模式定义了多个算法(或策略),将每个算法封装在独立的类中,使得它们可以互换使用。客户端可以在运行时选择使用哪种策略,而不需要修改具体的逻辑。工厂模式提供了一种封装对象创建逻辑的机制。客户端不直接实例化对象,而是通过工厂类来创建和获取对象,这样可以将对象的创建过程与使用过程分离。
2024-09-10 19:14:02
1119
原创 动态规划详解
0-1 背包问题是一个经典的动态规划问题。在这个问题中,你有一个背包,其最大容量为total(单位为重量),以及若干个物品,每个物品有一个重量weight和一个价值value。你需要决定如何选择物品,使得放入背包的物品总重量不超过背包的最大容量,同时总价值最大。在 0-1 背包问题中,每个物品只能选择一次(即每个物品要么放入背包,要么不放入背包),这就是问题名称中的 “0-1” 的含义。
2024-09-09 17:06:54
947
原创 牛客华为算法解题及相关知识点汇总(1-15)
HashSet是最常用且效率较高的去重方法,但不保留元素的插入顺序。可以在去重的同时保留元素的插入顺序。TreeSet去重并对元素自动排序(自然顺序或自定义顺序)。Stream API的distinct()是 Java 8 及以上版本中较为简洁的去重方法。手动遍历去重适用于需要自定义逻辑的场景,但效率较低。根据具体需求,你可以选择不同的去重方式。如果追求效率和简洁,Set是首选。//正则表达式实用性更强( str.split("\\s+"))
2024-09-08 15:29:06
1196
原创 微服务之间的数据交互,eureka完成服务的发现
将原本单独的整体项目进行解耦,正常项目是可以直接调用其他服务的service的,一个controller多个service,微服务将之分开,以user和order为例,分开后,不再可以进行直接的调用,不过分开之后仍然可以用url进行访问调用,此处先以原始调用为起始。
2024-08-05 15:15:53
422
原创 Eureka的搭建和微服务的注册
EnableEurekaServer启动支持,另一个则是application正常启用。输入-Dserver.port指定不冲突的端口(-D代表参数)在最下方的server中,选中右键,复制配置。弹出窗口选择修改选项。
2024-08-05 10:59:28
378
原创 第四步:具体功能实现之:图片文件上传本地文件
在最初的两个实现类中,其中一个,就是banner,banner中存储了对应的横幅图,但是所谓的insert与update,实际上仅仅只是内容参数的传递,并不是实际的文件,因此,在这里进行第一个功能的实现,图片上传。
2024-08-02 11:22:05
499
1
原创 第三步:result类的编写,规范返回结果
Result类是一个通用的封装类,用于统一表示API接口的响应结果。它通常包括响应的状态码、消息、数据等信息,帮助开发者更方便地处理和返回API的响应。
2024-08-01 13:31:33
3727
1
原创 第一步:springboot初学项目mybatisx搭建三层架构并通过swagger文档完成测试
在学校的实训过程中一直在做的前端方面的活,后端的了解不深入,为此,重新学习,参照实训期间已经完成的项目,将后端从零开始进行操作。
2024-08-01 10:35:02
1919
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人