news 2026/4/15 2:10:39

U-linker_Beta阶段冲刺博客5

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
U-linker_Beta阶段冲刺博客5

Beta阶段冲刺博客5

团队名称U-Linker
课程EE308FZ - 软件工程
要求Teamwork—beta Spring
目标记录β冲刺第9-10天的进展

目录

  • Beta阶段冲刺博客5
    • Part 1: SCRUM部分
      • 1.1 成员工作进展
      • 1.2 代码签入记录
        • 功能模块:个性化推荐算法
        • 功能模块:Docker 一键部署脚本
        • 功能模块:推荐帖子 API 接口
      • 1.3 测试工作成果
      • 1.4 SCRUM会议照片
    • Part 2: PM报告
      • 2.1 项目整体进度
      • 2.2 燃尽图
      • 2.3 任务总量变化记录
      • 2.4 项目最新运行截图
        • 功能演示 1:个性化推荐列表
        • 功能演示 2:Docker 一键部署
        • 功能演示 3:系统健康检查
        • 功能演示 4:推荐效果对比
    • Part 3: 技术亮点
      • 3.1 推荐算法设计
      • 3.2 部署架构

Part 1: SCRUM部分

1.1 成员工作进展

成员角色过去两天完成的任务遇到的困难接下来的计划
颜一顺后端1. 配置生产环境服务器
2. 搭建推荐算法运行环境
服务器内存配置优化协助测试组进行线上环境压力测试
曾渝后端1. 设计基于用户行为的简易推荐算法
2. 实现协同过滤模块
协同过滤计算效率优化优化推荐算法性能,增加缓存机制
程一鸣后端1. 开发获取推荐帖子列表的 API 接口
2. 实现浏览记录接口
完善推荐 API 的分页和过滤功能
陶炯后端1. 编写 Docker Compose 编排脚本
2. 实现一键部署功能
容器间网络通信配置编写部署文档,准备生产环境上线
陈舒薇前端1. 设计个性化推荐模块的前端 UI 组件
2. 完成推荐卡片样式
推荐理由标签布局优化推荐页面交互体验
杨璐前端1. 配合后端进行线上环境的冒烟测试
2. 修复测试发现的 Bug
协助完成最终验收测试
薛易明前端1. 在首页接入个性化推荐列表展示
2. 实现推荐分数可视化展示
推荐列表与普通列表切换逻辑完善推荐页面的加载动画和空状态
高子言前端1. 编写前端 Dockerfile
2. 配置 Nginx 反向代理
SSL 证书配置优化前端构建流程,减小打包体积
林语婧PM1. 制定推荐策略规则
2. 统筹上线部署流程
组织最终演示彩排,准备答辩材料
黄祉睿测试1. 测试推荐算法的准确性
2. 验证部署后的稳定性
编写测试报告,总结 Bug 修复情况
陈乐晗数据1. 整理用户兴趣标签数据
2. 解决推荐冷启动问题
新用户数据不足分析推荐效果,提出优化建议
张健涛数据1. 模拟不同用户行为
2. 生成测试推荐算法所需的数据
准备演示用的测试账号和数据

1.2 代码签入记录

GitHub链接

功能模块:个性化推荐算法
  • 提交说明:实现基于用户-物品协同过滤的推荐算法,支持新用户冷启动处理。
# services/recommendation.pyimportnumpyasnpfromcollectionsimportdefaultdictclassRecommendationService:defget_recommendations(self,user_id,limit=10):""" 基于协同过滤的推荐算法 1. 获取用户历史行为(浏览、收藏、点赞) 2. 计算用户相似度矩阵 3. 推荐相似用户喜欢的帖子 """# 获取用户行为数据user_behaviors=self._get_user_behaviors(user_id)# 冷启动处理:新用户返回热门帖子ifnotuser_behaviors:returnself._get_hot_posts(limit)# 计算相似用户similar_users=self._find_similar_users(user_id,top_k=20)# 聚合推荐结果并去重recommendations=self._aggregate_recommendations(user_id,similar_users,limit)returnrecommendations
功能模块:Docker 一键部署脚本
  • 提交说明:完成前后端容器编排,支持一键启动所有服务。
# deploy_update.sh 核心逻辑deploy_all(){echo"===== 开始全量部署 ====="# 1. 创建 Docker 网络(如不存在)dockernetwork create u-linker-network2>/dev/null||true# 2. 部署后端服务cd/opt/u-linker-backenddockercompose-fdocker-compose.backend.yml downdockercompose-fdocker-compose.backend.yml build --no-cachedockercompose-fdocker-compose.backend.yml up-d# 3. 部署前端服务cd/opt/u-linker-frontenddockercompose-fdocker-compose.frontend-simple.yml downdockercompose-fdocker-compose.frontend-simple.yml build --no-cachedockercompose-fdocker-compose.frontend-simple.yml up-d# 4. 健康检查sleep10curl-fhttp://localhost/health&&echo"前端健康检查通过"curl-fhttp://localhost/api/health&&echo"后端健康检查通过"echo"===== 部署完成 ====="}
功能模块:推荐帖子 API 接口
  • 提交说明:提供个性化推荐帖子列表接口,支持分页查询。
# routes/posts.py@posts_bp.route('/recommendations',methods=['GET'])@login_requireddefget_recommendations():"""获取个性化推荐帖子列表"""page=request.args.get('page',1,type=int)per_page=request.args.get('per_page',10,type=int)# 调用推荐服务recommendation_service=RecommendationService()post_ids=recommendation_service.get_recommendations(current_user.id,limit=per_page*3# 多获取一些用于过滤)# 分页处理start=(page-1)*per_page end=start+per_page paginated_ids=post_ids[start:end]# 查询帖子详情posts=Post.query.filter(Post.id.in_(paginated_ids)).all()returnsuccess(data={'posts':[post.to_dict()forpostinposts],'has_more':len(post_ids)>end})

1.3 测试工作成果

  • 测试内容:推荐算法与线上部署验收
  • 测试状态:全部通过
  • 测试报告

本次测试针对系统的"个性化推荐"和"生产环境部署"进行了全面验证,确保核心功能稳定可用。

  1. 推荐算法准确性测试
    测试场景:验证推荐结果与用户兴趣的相关性。
    测试过程:
  • 创建 5 个测试账号,分别模拟不同兴趣偏好(学习资料、二手交易、活动组队等)。
  • 每个账号进行 20+ 次浏览、收藏、点赞操作,建立行为画像。
  • 调用推荐接口,检查返回帖子与用户历史行为的匹配度。
    测试结果:推荐准确率达到 78%,Top-10 推荐列表中平均有 7-8 条与用户兴趣相关。
  1. 冷启动处理测试
    测试场景:验证新用户的推荐体验。
    测试过程:
  • 注册全新账号,无任何历史行为数据。
  • 访问首页推荐模块,检查是否返回热门帖子。
    测试结果:新用户可正常获取热门推荐,无空白或报错情况。
  1. Docker 部署稳定性测试
    测试场景:验证一键部署脚本的可靠性。
    测试过程:
  • 在全新服务器环境执行部署脚本。
  • 检查前端、后端、数据库容器是否正常启动。
  • 进行 100 次并发请求压力测试。
    测试结果:部署脚本执行成功率 100%,系统在 100 并发下响应时间 < 500ms,无服务中断。

总结:推荐算法初步达到预期效果,Docker 部署流程稳定可靠,系统已具备上线条件。

1.4 SCRUM会议照片

  • 会议时间:2025年1月4日

Part 2: PM报告

2.1 项目整体进度

指标数值
预期总任务数47
已完成任务数47
剩余任务数0
完成百分比100%

2.2 燃尽图

说明:截止 Day 10,项目进度已全部完成(100%)。这两天我们集中攻克了推荐算法和 Docker 部署两大核心任务,成功实现了生产环境的完整部署。Day 9 完成 94%,Day 10 完成剩余所有任务,项目按时交付。

2.3 任务总量变化记录

日期原计划任务数新增任务数新增原因
01.03470无新增任务,进入收尾阶段

反思:本次冲刺的 Docker 部署过程中,我们发现 Nginx 反向代理配置和前后端跨域问题比预期复杂。通过编写详细的部署手册(参见 U-Linker 部署手册),我们将踩过的坑记录下来,方便后续维护和团队知识传承。

2.4 项目最新运行截图

功能演示 1:个性化推荐列表

首页根据用户历史行为展示个性化推荐帖子,新用户显示热门内容。

功能演示 2:Docker 一键部署

使用 deploy_update.sh 脚本实现前后端服务的一键部署与更新。

功能演示 3:系统健康检查

部署完成后自动执行健康检查,确保服务正常运行。

$curlhttp://121.89.81.18/health{"status":"ok","service":"frontend"}$curlhttp://121.89.81.18/api/health{"status":"ok","service":"backend","database":"connected"}
功能演示 4:推荐效果对比

左图为新用户(热门推荐),右图为活跃用户(个性化推荐)。


Part 3: 技术亮点

3.1 推荐算法设计

本次实现的推荐系统采用基于用户的协同过滤算法,核心思路如下:

  1. 行为采集:记录用户的浏览、收藏、点赞行为
  2. 相似度计算:使用余弦相似度计算用户间的兴趣相似性
  3. 推荐生成:聚合相似用户喜欢的帖子,过滤用户已交互内容
  4. 冷启动处理:新用户返回基于热度排序的帖子列表

3.2 部署架构

┌─────────────────────────────────────────────────────────┐ │ Nginx (端口 80) │ │ u-linker-frontend │ ├─────────────────────────────────────────────────────────┤ │ / → 静态文件 (Vue 构建产物) │ │ /api/* → 反向代理到后端容器 │ └─────────────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────┐ │ Flask Backend (端口 5000) │ │ u-linker-web │ └─────────────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────┐ │ MySQL (端口 3306) │ │ u-linker-mysql │ └─────────────────────────────────────────────────────────┘

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/14 14:16:17

Zotero文献去重终极指南:3分钟搞定5000+重复条目的完整方案

还在为文献库中堆积如山的重复条目而烦恼吗&#xff1f;当你从不同数据库交叉检索、导入多种格式文献时&#xff0c;重复条目就像学术研究中的"冗余干扰"&#xff0c;不仅浪费存储空间&#xff0c;更严重影响引用准确性和工作效率。现在&#xff0c;Zotero Duplicate…

作者头像 李华
网站建设 2026/4/14 19:44:35

三步搞定视频PPT提取!免费高效的幻灯片导出终极指南

三步搞定视频PPT提取&#xff01;免费高效的幻灯片导出终极指南 【免费下载链接】extract-video-ppt extract the ppt in the video 项目地址: https://gitcode.com/gh_mirrors/ex/extract-video-ppt 还在为视频中的PPT内容截图而烦恼吗&#xff1f;extract-video-ppt这…

作者头像 李华
网站建设 2026/4/9 14:34:05

对比主流TTS模型:IndexTTS 2.0在可控性与灵活性上的优势分析

对比主流TTS模型&#xff1a;IndexTTS 2.0在可控性与灵活性上的优势分析 在视频内容爆炸式增长的今天&#xff0c;语音合成已不再是“能说话就行”的基础功能。从B站UP主为动画配音&#xff0c;到企业批量生成广告音频&#xff0c;再到虚拟偶像直播互动&#xff0c;用户对语音…

作者头像 李华
网站建设 2026/4/11 20:44:28

纪念逝者网站:访客留言转语音播放功能实现

纪念逝者网站&#xff1a;访客留言转语音播放功能实现 在数字时代&#xff0c;人们对“告别”的理解正在悄然变化。越来越多的家庭选择通过在线纪念网站缅怀逝去的亲人——那里不仅有照片、生平故事&#xff0c;还有来自亲朋好友的一条条文字留言。但文字终究是静默的&#xff…

作者头像 李华
网站建设 2026/4/8 9:04:38

Hanime1Plugin:Android平台动画观影的革命性解决方案

在移动设备上享受纯净无干扰的动画观影体验&#xff0c;是每位动漫爱好者的终极追求。Hanime1Plugin作为专为Android平台设计的观影插件&#xff0c;彻底颠覆了传统在线观影的体验模式&#xff0c;为用户打造了一个专属的高品质动画观看空间。 【免费下载链接】Hanime1Plugin A…

作者头像 李华