news 2026/4/3 7:51:03

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/3/28 4:42:49

LizzieYzy围棋AI分析工具:从入门到精通的完整指南

LizzieYzy围棋AI分析工具&#xff1a;从入门到精通的完整指南 【免费下载链接】lizzieyzy LizzieYzy - GUI for Game of Go 项目地址: https://gitcode.com/gh_mirrors/li/lizzieyzy 你是否曾经在复盘围棋对局时感到困惑&#xff0c;不知道关键转折点在哪里&#xff1f;…

作者头像 李华
网站建设 2026/4/2 10:20:06

深蓝词库转换:输入法数据迁移终极指南

深蓝词库转换&#xff1a;输入法数据迁移终极指南 【免费下载链接】imewlconverter ”深蓝词库转换“ 一款开源免费的输入法词库转换程序 项目地址: https://gitcode.com/gh_mirrors/im/imewlconverter 小王最近换了一台新电脑&#xff0c;安装了心仪的输入法&#xff0…

作者头像 李华
网站建设 2026/4/3 7:49:46

【R语言调试革命】:GPT如何在3分钟内定位并修复复杂语法错误

第一章&#xff1a;R语言调试的现状与挑战R语言作为统计计算与数据分析领域的主流工具&#xff0c;其灵活的语法和丰富的包生态系统深受科研人员与数据科学家青睐。然而&#xff0c;在实际开发过程中&#xff0c;调试&#xff08;Debugging&#xff09;仍然是许多用户面临的痛点…

作者头像 李华
网站建设 2026/4/1 17:00:06

Streamlit快速构建IndexTTS可视化Demo页面用于营销展示

Streamlit快速构建IndexTTS可视化Demo页面用于营销展示 在短视频、虚拟主播和有声内容爆发的今天&#xff0c;语音合成技术早已不再是实验室里的冷门研究。B站开源的 IndexTTS 2.0 模型一经发布&#xff0c;就因其“5秒克隆音色”“一句话控制情绪”“精准对齐视频时长”等能力…

作者头像 李华
网站建设 2026/3/26 12:12:39

个人创作者福音:一键生成专属vlog旁白,打造个性化声音IP

个人创作者福音&#xff1a;一键生成专属vlog旁白&#xff0c;打造个性化声音IP 在短视频内容井喷的今天&#xff0c;一个独特的“声音面孔”往往比画面更早抓住观众注意力。你有没有发现&#xff0c;那些让人一耳朵记住的vlogger——无论是温柔知性的旁白、热血沸腾的解说&…

作者头像 李华
网站建设 2026/4/1 12:40:51

Gradio集成IndexTTS打造在线试用语音合成平台

Gradio集成IndexTTS打造在线试用语音合成平台 在短视频和虚拟人内容爆发的今天&#xff0c;一个让人头疼的问题始终存在&#xff1a;如何让AI“像那个人”说话&#xff1f;不仅要音色像&#xff0c;还得语气对、节奏准——比如让某个动漫角色用愤怒的语调喊出新写的台词&#x…

作者头像 李华