10-项目规划测试代码审查实战

news2026/4/7 2:07:05
10-项目规划、测试、代码审查实战使用 Cursor 完成软件工程全流程项目规划、测试驱动开发、代码审查与质量保障。一、AI 驱动项目管理概述1.1 全流程覆盖项目启动 ↓ 需求分析 → AI 辅助需求拆解 ↓ 技术方案 → AI 生成架构设计 ↓ 任务分解 → AI 生成任务清单 ↓ 开发实现 → AI 辅助编码 ↓ 测试验证 → AI 生成测试、运行测试 ↓ 代码审查 → AI 自动审查 ↓ 文档生成 → AI 生成技术文档 ↓ 项目交付1.2 Cursor 在各阶段的作用阶段Cursor 功能使用场景项目规划Chat 讨论、Agent 生成文档架构设计、技术选型开发实现Agent 多文件编辑、Tab 补全多文件重构、代码生成测试Inline Edit 单文件测试单文件单元测试代码审查Review Selection、单文件审查深度代码审查二、项目规划阶段2.1 需求分析与拆解使用 Cursor Chat 进行需求分析打开 Chat 面板 (CtrlL) 输入 我有一个项目想法做一个在线笔记应用 请帮我分析需求并生成详细的功能清单。Claude 输出结构## 需求分析 ### 核心功能 1. 用户系统 - 注册/登录邮箱密码、OAuth - 个人资料管理 - 密码重置 2. 笔记管理 - 创建/编辑/删除笔记 - 富文本编辑Markdown 支持 - 笔记分类文件夹/标签 - 搜索功能 3. 协作功能 - 笔记分享链接/邀请 - 实时协作编辑 - 评论系统 4. 高级功能 - 版本历史 - 导出PDF、Markdown - 自动保存 - 离线支持 ### 技术选型建议 - 后端FastAPI PostgreSQL - 前端React TypeScript - 实时WebSocket / Socket.io - 部署Docker AWS/GCP2.2 技术方案设计使用 Agent 生成架构文档选中项目目录或新建文件 docs/architecture.md 按 CtrlI (Composer) 输入 基于在线笔记应用的需求生成技术架构文档 1. 系统架构图 2. 数据库设计 3. API 设计 4. 技术栈选型 5. 部署架构生成的架构文档结构# 在线笔记应用 - 技术架构 ## 1. 系统架构┌─────────────────────────────────────────────────┐│ 客户端层 ││ ┌──────────┐ ┌──────────┐ ┌──────────┐ ││ │ Web App │ │ Mobile │ │ Desktop │ ││ │ (React) │ │ (React │ │ (Electron)│ ││ └────┬─────┘ │ Native) │ └────┬─────┘ ││ └─────────┴──────────┴───────┘ │└─────────────────────────────────────────────────┘│ HTTPS↓┌─────────────────────────────────────────────────┐│ 网关层 ││ Nginx / AWS API Gateway │└─────────────────────────────────────────────────┘│↓┌─────────────────────────────────────────────────┐│ 应用层 ││ FastAPI (Python) ││ ┌──────────┐ ┌──────────┐ ┌──────────┐ ││ │ Auth │ │ Notes │ │ Share │ ││ │ Service │ │ Service │ │ Service │ ││ └──────────┘ └──────────┘ └──────────┘ │└─────────────────────────────────────────────────┘│↓┌─────────────────────────────────────────────────┐│ 数据层 ││ ┌──────────────┐ ┌──────────────┐ ││ │ PostgreSQL │ │ Redis │ ││ │ (主数据库) │ │ (缓存) │ ││ └──────────────┘ └──────────────┘ │└─────────────────────────────────────────────────┘## 2. 数据库设计 ### 2.1 用户表 (users) sql CREATE TABLE users ( id SERIAL PRIMARY KEY, email VARCHAR(255) UNIQUE NOT NULL, username VARCHAR(50) UNIQUE NOT NULL, hashed_password VARCHAR(255) NOT NULL, is_active BOOLEAN DEFAULT TRUE, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );2.2 笔记表 (notes)CREATETABLEnotes(idSERIALPRIMARYKEY,titleVARCHAR(200)NOTNULL,contentTEXT,user_idINTEGERREFERENCESusers(id),folder_idINTEGERREFERENCESfolders(id),is_publicBOOLEANDEFAULTFALSE,created_atTIMESTAMPDEFAULTCURRENT_TIMESTAMP,updated_atTIMESTAMPDEFAULTCURRENT_TIMESTAMP);3. API 设计3.1 认证相关POST /api/v1/auth/register- 用户注册POST /api/v1/auth/login- 用户登录POST /api/v1/auth/refresh- 刷新 Token3.2 笔记管理GET /api/v1/notes- 获取笔记列表POST /api/v1/notes- 创建笔记GET /api/v1/notes/{id}- 获取笔记详情PUT /api/v1/notes/{id}- 更新笔记DELETE /api/v1/notes/{id}- 删除笔记4. 技术栈层次技术后端框架FastAPI 0.100ORMSQLAlchemy 2.0数据库PostgreSQL 15缓存Redis 7认证JWT bcrypt部署Docker Docker Compose### 2.3 任务分解与排期 **生成开发任务清单**选中 docs/tasks.md按 CtrlI (打开 Agent 面板选择 Agent 模式)输入“基于技术架构生成详细的开发任务清单包括任务名称、优先级、预计工时、依赖关系。”生成的任务清单 markdown # 开发任务清单 ## Phase 1: 基础设施 (Week 1) | 任务 | 优先级 | 工时 | 负责人 | 依赖 | |------|--------|------|--------|------| | [ ] 项目初始化 | P0 | 4h | AI | - | | [ ] 数据库设计 | P0 | 4h | AI | - | | [ ] 配置管理 | P0 | 2h | AI | 项目初始化 | | [ ] 日志系统 | P1 | 2h | AI | 项目初始化 | | [ ] Docker 配置 | P1 | 4h | AI | - | ## Phase 2: 用户系统 (Week 1-2) | 任务 | 优先级 | 工时 | 依赖 | |------|--------|------|------| | [ ] User 模型 | P0 | 2h | 数据库设计 | | [ ] JWT 认证 | P0 | 4h | User 模型 | | [ ] 注册 API | P0 | 2h | JWT 认证 | | [ ] 登录 API | P0 | 2h | JWT 认证 | | [ ] 用户资料 API | P1 | 2h | 注册 API | | [ ] 密码重置 | P2 | 4h | 登录 API | ## Phase 3: 笔记功能 (Week 2-3) | 任务 | 优先级 | 工时 | 依赖 | |------|--------|------|------| | [ ] Note 模型 | P0 | 2h | User 模型 | | [ ] Folder 模型 | P0 | 2h | Note 模型 | | [ ] 笔记 CRUD API | P0 | 4h | Note 模型 | | [ ] 文件夹 API | P0 | 3h | Folder 模型 | | [ ] 搜索功能 | P1 | 4h | 笔记 CRUD | | [ ] 标签系统 | P1 | 3h | Note 模型 | ## Phase 4: 高级功能 (Week 4) | 任务 | 优先级 | 工时 | 依赖 | |------|--------|------|------| | [ ] 分享功能 | P1 | 4h | 笔记功能 | | [ ] 版本历史 | P2 | 6h | 笔记功能 | | [ ] 导出功能 | P2 | 4h | 笔记功能 | | [ ] WebSocket 实时协作 | P2 | 8h | 分享功能 | ## Phase 5: 测试与优化 (Week 4-5) | 任务 | 优先级 | 工时 | 依赖 | |------|--------|------|------| | [ ] 单元测试 | P0 | 8h | 所有功能 | | [ ] 集成测试 | P0 | 6h | 单元测试 | | [ ] 性能优化 | P1 | 4h | 测试完成 | | [ ] 部署配置 | P1 | 4h | 优化完成 |三、测试驱动开发3.1 测试策略规划使用 Chat 生成测试策略打开 Chat 面板 (CtrlL) 输入 为在线笔记应用生成测试策略文档包括 1. 测试金字塔单元、集成、E2E 2. 测试覆盖率目标 3. 关键测试场景 4. 测试数据策略 5. CI/CD 中的测试流程 保存为 docs/testing-strategy.md生成的测试策略# 测试策略文档 ## 1. 测试金字塔/\ / \ E2E 测试 (10%) - Playwright /____\ / \ 集成测试 (30%) - pytest TestClient /________\/ \ 单元测试 (60%) - pytest mock/____________\## 2. 覆盖率目标 | 模块 | 单元测试 | 集成测试 | 总覆盖率 | |------|----------|----------|----------| | models | 90% | - | 90% | | services | 85% | 70% | 95% | | routers | 80% | 80% | 95% | | utils | 90% | - | 90% | ## 3. 关键测试场景 ### 3.1 认证模块 - [ ] 用户注册成功 - [ ] 注册时邮箱已存在 - [ ] 登录成功 - [ ] 登录时密码错误 - [ ] Token 过期处理 ### 3.2 笔记模块 - [ ] 创建笔记成功 - [ ] 创建笔记时标题为空 - [ ] 更新自己的笔记 - [ ] 更新他人的笔记权限检查 - [ ] 删除笔记 - [ ] 搜索笔记 ### 3.3 并发场景 - [ ] 同时编辑同一笔记 - [ ] 高并发下的数据一致性3.2 生成测试框架代码使用 Agent 生成测试基础设施选中 tests/conftest.py 按 CtrlI (Composer) 输入 生成测试基础设施代码 1. pytest fixtures 2. 测试数据工厂 3. 测试工具函数 4. 异步数据库支持生成的conftest.py# tests/conftest.pyimportasyncioimportpytestimportpytest_asynciofromhttpximportAsyncClientfromsqlalchemy.ext.asyncioimportAsyncSession,create_async_enginefromsqlalchemy.ormimportsessionmakerfromapp.mainimportappfromapp.databaseimportBase,get_dbfromapp.models.userimportUserfromapp.utils.securityimportget_password_hash# 测试数据库TEST_DATABASE_URLpostgresqlasyncpg://test:testlocalhost/test_dbenginecreate_async_engine(TEST_DATABASE_URL)TestingSessionLocalsessionmaker(engine,class_AsyncSession,expire_on_commitFalse)pytest_asyncio.fixture(scopesession)defevent_loop():Create an instance of the default event loop for each test case.loopasyncio.get_event_loop_policy().new_event_loop()yieldloop loop.close()pytest_asyncio.fixture(scopesession,autouseTrue)asyncdefsetup_database():创建测试数据库表asyncwithengine.begin()asconn:awaitconn.run_sync(Base.metadata.create_all)yieldasyncwithengine.begin()asconn:awaitconn.run_sync(Base.metadata.drop_all)pytest_asyncio.fixtureasyncdefdb_session():获取测试数据库会话asyncwithTestingSessionLocal()assession:yieldsession# 清理数据awaitsession.rollback()pytest_asyncio.fixtureasyncdefasync_client(db_session):获取测试客户端asyncdefoverride_get_db():yielddb_session app.dependency_overrides[get_db]override_get_dbasyncwithAsyncClient(appapp,base_urlhttp://test)asclient:yieldclient app.dependency_overrides.clear()pytest_asyncio.fixtureasyncdeftest_user(db_session):创建测试用户userUser(emailtestexample.com,usernametestuser,hashed_passwordget_password_hash(testpassword),is_activeTrue)db_session.add(user)awaitdb_session.commit()awaitdb_session.refresh(user)returnuserpytest_asyncio.fixtureasyncdefauth_headers(async_client,test_user):获取认证 headersresponseawaitasync_client.post(/api/v1/auth/login,json{username:test_user.username,password:testpassword})tokenresponse.json()[access_token]return{Authorization:fBearer{token}}3.3 单文件单元测试使用 Inline Edit 生成单元测试打开 src/routers/auth.py 选中 auth 相关代码 按 CtrlK (Inline Edit) 输入 为这段代码生成 pytest 单元测试 测试注册成功、注册失败、登录成功、登录失败场景生成的测试示例# tests/test_auth.pyimportpytestfromhttpximportAsyncClientfromsqlalchemy.ext.asyncioimportAsyncSessionfromapp.models.userimportUserpytest.mark.asyncioclassTestAuth:认证模块测试asyncdeftest_register_success(self,async_client:AsyncClient,db_session:AsyncSession):测试用户注册成功# Arrangeuser_data{email:newuserexample.com,username:newuser,password:password123}# Actresponseawaitasync_client.post(/api/v1/auth/register,jsonuser_data)# Assertassertresponse.status_code201dataresponse.json()assertdata[email]user_data[email]assertdata[username]user_data[username]assertidindata# 验证数据库userawaitdb_session.get(User,data[id])assertuserisnotNoneassertuser.emailuser_data[email]asyncdeftest_register_duplicate_email(self,async_client:AsyncClient,test_user:User):测试注册时邮箱已存在# Arrangeuser_data{email:test_user.email,# 已存在的邮箱username:anotheruser,password:password123}# Actresponseawaitasync_client.post(/api/v1/auth/register,jsonuser_data)# Assertassertresponse.status_code400assertemail already existsinresponse.json()[detail].lower()3.4 运行测试与分析在 Cursor 终端中运行测试# 打开终端 (Ctrl)# 运行测试pytest tests/-v--covapp --cov-reportterm-missing --cov-reporthtml# 分析结果# ✓ 45 个测试通过# ✓ 覆盖率: 87%# ⚠ 3 个测试跳过需要 Redis使用 Chat 分析测试结果分析 pytest 测试结果 1. 哪些模块覆盖率不足 2. 提供改进建议 3. 生成缺失测试的代码模板四、代码审查与质量保障4.1 配置自动化代码审查创建检查清单选中 .cursor/code-review-checklist.md 按 CtrlI (Composer) 输入 创建代码审查检查清单包括 1. 功能性检查 2. 代码规范 3. 类型安全 4. 安全性 5. 性能 6. 测试生成的检查清单# 代码审查检查清单 ## 功能性检查 - [ ] 代码是否实现了预期功能 - [ ] 边界条件是否正确处理 - [ ] 错误处理是否完善 - [ ] 日志记录是否适当 ## 代码规范 - [ ] 遵循 PEP8 规范 - [ ] 命名清晰有意义 - [ ] 函数长度合理50 行 - [ ] 类职责单一 ## 类型安全 - [ ] 所有函数有类型注解 - [ ] 复杂类型使用 TypeVar/Generic - [ ] Optional/Union 使用正确 - [ ] mypy 检查通过 ## 安全性 - [ ] 无 SQL 注入风险 - [ ] 无 XSS 漏洞 - [ ] 敏感信息不硬编码 - [ ] 输入验证完善 ## 性能 - [ ] 无 N1 查询问题 - [ ] 大数据集使用分页 - [ ] 缓存使用合理 - [ ] 无内存泄漏风险 ## 测试 - [ ] 单元测试覆盖核心逻辑 - [ ] 边界情况有测试 - [ ] 错误路径有测试 - [ ] 测试可重复运行4.2 单文件深度审查使用 Review Selection打开 src/services/note_service.py 选中 process_notes 函数 右键 → Review Selection 或 Chat 中输入 审查 src/services/note_service.py 中的 process_notes 函数 重点关注性能和错误处理4.3 使用 Agent 批量审查选中 src/ 目录下的所有 Python 文件 按 CtrlI (Composer) 输入 批量审查这些 Python 文件 1. 检查代码规范PEP8 2. 检查类型注解完整性 3. 检查安全漏洞 4. 检查性能问题 5. 生成审查报告生成的审查报告# 代码审查报告 生成时间: 2024-XX-XX 审查范围: src/ 审查标准: PEP8, mypy, security, performance ## 总体评分 | 模块 | 规范 | 类型 | 安全 | 性能 | 综合 | |------|------|------|------|------|------| | models | 95 | 90 | 100 | 95 | 95 | | routers | 85 | 80 | 90 | 85 | 85 | | services | 90 | 85 | 95 | 80 | 87 | | utils | 92 | 88 | 100 | 90 | 92 | ## 发现的问题 ### 高优先级 (必须修复) 1. **src/routers/notes.py:45** - SQL 注入风险 python # 问题代码 query fSELECT * FROM notes WHERE title LIKE %{keyword}% # 建议修复 query SELECT * FROM notes WHERE title LIKE :keyword result await db.execute(query, {keyword: f%{keyword}%})src/services/auth.py:32- 密码明文存储# 问题代码user.passwordpassword# 明文存储# 建议修复user.hashed_passwordget_password_hash(password)中优先级 (建议修复)src/routers/users.py- 缺少错误处理建议添加 try-except 块统一错误响应格式src/services/note_service.py- N1 查询建议使用 joinedload 优化查询低优先级 (可选优化)部分函数缺少文档字符串部分变量命名可以更有意义修复建议运行black src/自动格式化运行mypy src/检查类型添加 bandit 安全检查到 CI为所有 API 路由添加限速### 4.4 自动化质量门禁 **使用 Agent 生成 CI 配置**选中 .github/workflows/quality.yml按 CtrlI (Composer)输入生成 CI/CD 配置包含代码格式检查black, isort代码规范检查flake8类型检查mypy安全检查bandit单元测试pytest覆盖率检查80%生成的 GitHub Actions 配置 yaml # .github/workflows/quality.yml name: Code Quality on: push: branches: [ main, develop ] pull_request: branches: [ main ] jobs: quality: runs-on: ubuntu-latest steps: - uses: actions/checkoutv3 - name: Set up Python uses: actions/setup-pythonv4 with: python-version: 3.9 - name: Install dependencies run: | pip install -r requirements.txt pip install -r requirements-dev.txt - name: Check code formatting run: | black --check src/ tests/ isort --check-only src/ tests/ - name: Lint with flake8 run: | flake8 src/ tests/ --max-line-length100 - name: Type check with mypy run: | mypy src/ - name: Security check with bandit run: | bandit -r src/ -f json -o bandit-report.json || true - name: Test with pytest run: | pytest tests/ -v --covsrc --cov-reportxml - name: Upload coverage uses: codecov/codecov-actionv3 with: file: ./coverage.xml fail_ci_if_error: true五、完整项目流程示例5.1 项目启动到交付Week 1: 项目规划 ├── Chat 讨论需求 ├── Agent 生成架构文档 └── Agent 生成任务清单 Week 2-3: 开发阶段 ├── Agent 并行开发用户模块 ├── Agent 并行开发笔记模块 └── Inline Edit 生成单元测试 Week 4: 测试与审查 ├── 终端运行所有测试 ├── Agent 批量代码审查 └── Inline Edit 修复问题 Week 5: 文档与交付 ├── Agent 生成 API 文档 ├── Agent 生成部署文档 └── Agent 完善 README5.2 实际开发会话示例会话1项目初始化 打开 Chat (CtrlL) 初始化 FastAPI 项目 notes-app 包含完整目录结构、Docker 配置、CI/CD 会话2需求分析 分析需求在线笔记应用 生成功能清单、用户故事、技术方案 会话3数据库设计 Composer: 设计数据库模型 - User, Note, Folder, Tag, Share 生成 SQLAlchemy 模型和迁移脚本 会话4API 开发 Composer: 并行生成 API 路由 - Auth, Notes, Folders, Tags 包含完整的 CRUD 和权限控制 会话5测试生成 Inline Edit: 为当前文件生成完整的测试套件 会话6代码审查 Review Selection: 审查选中代码的质量 会话7文档生成 Composer: 生成技术文档和 API 文档六、最佳实践总结6.1 项目规划最佳实践分阶段交付每个阶段产出可验证的成果文档先行架构文档、API 文档先于代码任务明确每个任务有清晰的输入输出定义风险评估提前识别技术难点和风险点6.2 测试最佳实践测试先行核心功能先写测试再实现分层测试单元 → 集成 → E2E数据工厂使用工厂模式生成测试数据覆盖率目标核心代码 90%总代码 80%6.3 代码审查最佳实践自动化优先CI 中集成代码检查分层审查AI 初筛 → 人工深度审查问题分级高/中/低优先级修复跟踪确保所有高优先级问题修复七、Cursor vs Claude Code 对比阶段Cursor 优势Claude Code 优势项目规划Composer 可视化编辑CLI 快速生成文档开发实现多文件编辑、Tab 补全批量文件操作测试单文件 Inline Edit批量测试生成代码审查单文件深度 Review批量审查推荐组合复杂架构设计 → Claude Code 生成 → Cursor Composer 细化日常开发 → Cursor 为主批量审查 → Claude Code 为主

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2491034.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…