1、User-Service 服务设计规范文档

彻底搞懂D-Bus服务名冲突:从原理到实战解决dbus service already exist错误 进程间通信(IPC)是构建模块化软件系统的关键技术,它允许不同进程或服务之间高效、可靠地交换数据和指令。在Linux桌面和系统服务领域,D-Bus作为标准的IPC机制,通过消息总线架构实现了服务的发布与发现。其核心原理在于客户端通过服务名(Well-known Name)在总线上定位服务,而服务名所有权的竞争机制直接关系到服务的可用性。这一机制的技术价值在于实现了服务的动态注册与发现,支持按需激活,极大地提升了系统的灵活性和可维护性。在实际应用场景中,开发者常因不理解服务名与唯一连接名的区别、生命周期管理不 阅读详情

以下是为你的 urbane-commerce 电商微服务系统 量身定制的《User-Service 服务设计规范文档》,全面、系统、可落地,明确界定:

✅ User-Service 的职责与作用
✅ 必须做的核心功能(推荐)
❌ 禁止或不推荐的行为(严禁做)
🔍 判断标准与核心设计原则
📌 真实生产环境最佳实践


📜《urbane-commerce User-Service 服务设计规范》

版本:1.4 | 最后更新:2025年4月 | 适用架构:Spring Boot + MySQL + Redis + Nacos + JWT


🧭 一、User-Service 角色定位(Why User-Service?)

User-Service 是整个系统中负责“用户个人数据全生命周期管理”的核心业务服务。

它不是 Auth-Service,也不是网关,而是:

角色说明
✅ 用户资料中心管理用户的非敏感个人信息:昵称、头像、性别、地址、偏好等
✅ 用户画像引擎存储用户行为标签、消费等级、兴趣分类,支撑个性化推荐
✅ 收货地址管理增删改查用户收货地址(支持默认地址)
✅ 用户偏好设置记录语言、通知方式、主题风格、隐私设置等
✅ 用户成长体系积分、等级、会员状态、签到记录等运营数据
✅ 用户关系网络关注/粉丝、好友关系(如社交电商场景)
❌ 非认证服务不处理登录、Token、密码、权限 —— 那是 auth-service 的事
❌ 非业务服务不参与下单、支付、库存、评价 —— 那是其他服务的事
❌ 非网关不接收外部请求路由,不校验身份

💡 一句话总结:
Auth-Service 回答:“你是谁?”
User-Service 回答:“你长什么样?你喜欢什么?你住哪?”


✅ 二、推荐在 User-Service 必须做的事情(核心职责)

1. ✅ 用户基本信息管理(CRUD)

  • 存储和维护用户基础档案:
    {
      "id": 123,
      "username": "zhangsan",
      "nickname": "小张",
      "avatar": "https://cdn.example.com/avatar/123.jpg",
      "gender": "MALE",
      "birthday": "1990-05-15",
      "email": "zhangsan@example.com",
      "phone": "138****1234", // 可选,脱敏存储
      "status": "ACTIVE",     // ACTIVE, FROZEN, DELETED
      "created_at": "2024-01-01T00:00:00Z"
    }
    
  • 支持前端通过 Token 调用 /user/me 更新自己的信息(需鉴权)
  • 禁止暴露手机号、身份证等敏感字段给前端

✅ 关键点:
手机号、身份证应存储在独立的 security-profile-service 或加密字段中,User-Service 只存脱敏后值。


2. ✅ 收货地址管理(Address Management)

  • 支持增删改查多个地址
  • 每个地址包含:
    {
      "id": 456,
      "user_id": 123,
      "name": "张三",
      "phone": "138****1234",
      "province": "广东省",
      "city": "广州市",
      "district": "天河区",
      "detail": "珠江新城XX大厦A座1001",
      "is_default": true,
      "created_at": "2024-01-02T10:00:00Z"
    }
    
  • 提供接口:
    • POST /user/addresses —— 新增地址
    • PUT /user/addresses/{id} —— 修改地址
    • DELETE /user/addresses/{id} —— 删除地址
    • GET /user/addresses/default —— 获取默认地址
    • GET /user/addresses —— 获取全部地址

✅ 地址变更需记录操作日志(用于售后追溯)


3. ✅ 用户偏好与设置管理

  • 存储用户个性化配置:
    {
      "user_id": 123,
      "language": "zh-CN",
      "theme": "dark",
      "notification_email": true,
      "notification_sms": false,
      "notification_push": true,
      "auto_checkout": false,
      "show_price_tax_included": true
    }
    
  • 接口示例:
    • GET /user/settings
    • PUT /user/settings

✅ 偏好数据用于前端 UI 自适应、营销策略精准推送


4. ✅ 用户画像与标签管理(User Profile & Tags)

  • 存储用户行为衍生的标签:
    • 消费能力:HIGH, MID, LOW
    • 兴趣品类:ELECTRONICS, FASHION, BOOKS
    • 活跃度:DAILY, WEEKLY, MONTHLY
    • 会员等级:GOLD, PLATINUM, DIAMOND
  • 支持:
    • 标签自动打标(基于购买历史、浏览行为)
    • 标签手动调整(运营后台)
    • 标签查询(用于推荐系统、精准营销)

🔗 联动建议:
用户行为由 order-service、product-service 通过消息队列(Kafka)异步推送给 user-service,实现事件驱动画像更新

OrderServiceKafkaUserService发送事件 {userId:123, bought: "iPhone 15"}消费事件 → 打标签 {"interest_electronics": true}OrderServiceKafkaUserService

5. ✅ 用户成长体系(积分、等级、签到)

  • 积分系统:
    • 注册+100分
    • 每笔订单+1%金额
    • 评论商品+20分
  • 等级规则:
    • 0–500分:普通用户
    • 501–2000分:白银会员
    • 2001–5000分:黄金会员
    • 5000分:钻石会员

  • 签到系统:
    • 连续签到奖励递增
    • 签到记录可查询

✅ 接口:

  • GET /user/points —— 查看当前积分
  • POST /user/checkin —— 签到
  • GET /user/level —— 查看等级

💡 优势:提升用户活跃度、增强粘性、促进复购


6. ✅ 用户关系网络(社交电商扩展)

  • 若为社交型电商(如拼多多、小红书),支持:
    • 关注/取关其他用户
    • 查看粉丝列表
    • 查看关注列表
    • 获取共同关注人

✅ 示例表结构:

CREATE TABLE user_follows (
  follower_id BIGINT,
  following_id BIGINT,
  created_at TIMESTAMP,
  PRIMARY KEY (follower_id, following_id)
);

7. ✅ 数据同步与聚合(Event-Driven)

  • 接收来自其他服务的事件,更新用户状态:
    来源服务事件类型User-Service 动作
    order-serviceORDER_COMPLETED更新累计消费额、升级会员等级
    review-serviceREVIEW_PUBLISHED增加“评论达人”标签
    cart-serviceCART_ADDED更新“浏览偏好”标签
    auth-serviceUSER_REGISTERED创建用户档案(仅限注册成功)

✅ 使用 Kafka / RabbitMQ 实现异步解耦,避免直接调用造成阻塞


❌ 三、禁止或不推荐在 User-Service 做的事情(严禁做)

行为为什么不推荐?后果正确做法
1. 处理登录、注册、密码重置这是 auth-service 的职责职责混乱,重复开发,安全风险高✅ 仅接收 USER_REGISTERED 事件创建档案,不处理密码逻辑
2. 存储用户密码、Token、Salt密码属于核心安全凭证,必须隔离一旦泄露,全站账户被攻破✅ 密码只存在于 auth-service 的数据库,User-Service 不接触
3. 直接访问订单、商品、库存数据破坏微服务边界,形成强依赖一个服务挂了,User-Service 也瘫痪✅ 通过事件总线接收变化,不主动查询其他服务
4. 实现权限校验(Authorization)“你能改别人资料吗?”是业务逻辑,应由调用方(如网关/服务)校验权限逻辑分散,难以统一维护✅ 网关传入 X-User-ID,User-Service 仅校验 当前用户 == 请求用户
5. 返回敏感信息(手机号、身份证、银行卡)违反 GDPR / 个人信息保护法法律风险、用户信任崩塌✅ 敏感字段由 security-profile-service 存储,User-Service 仅返回脱敏值(如 138****1234)
6. 接收前端直接传入 userId 或 role前端不可信,可能伪造身份A 用户修改 B 用户的头像✅ 所有操作必须通过 X-User-ID 与 JWT 中的 sub 字段比对
7. 调用 payment-gateway 或 logistics-serviceUser-Service 不是协调者耦合严重,无法独立部署✅ 使用事件驱动,如 ORDER_PAID → 触发积分发放
8. 缓存用户所有数据到 Redis 并设置长期过期内存浪费、数据不一致用户修改了地址,缓存还是旧的✅ 缓存高频读取字段(如头像、昵称),TTL ≤ 5min,写操作立即失效
9. 在 User-Service 中拼接响应体(如返回 {user, address, orderCount})违背单一职责成为“BFF”,失去独立性✅ 由 bff-service 聚合多个服务数据,User-Service 只返回自身数据
10. 作为唯一用户 ID 生成器ID 应由全局唯一服务生成(如 Snowflake)分布式下易冲突✅ 使用 id-generator-service 或数据库自增 + UUID

🔍 四、判断标准与核心设计原则

原则说明应用示例
✅ 单一职责原则(SRP)一个服务只做一件事User-Service 只管“用户资料”,不管“登录”“订单”“支付”
✅ 无状态性(Statelessness)每次请求独立,不依赖内存状态所有操作基于 Token 鉴权,服务无 Session
✅ 微服务自治(Autonomy)每个服务可独立部署、升级、回滚User-Service 升级不影响 Auth-Service,反之亦然
✅ 数据最小化(Data Minimization)只收集和暴露最少必要信息不向客户端返回手机号、身份证、银行卡
✅ 安全纵深防御(Defense in Depth)多层防护,防止单点突破网关校验 Token → User-Service 校验 owner → 数据库加权限锁
✅ 事件驱动架构(EDA)服务间通信通过事件,而非 RPC订单完成 → 发送事件 → User-Service 更新积分
✅ 开闭原则(OCP)对扩展开放,对修改关闭新增“会员权益”只需加新字段,不改原有逻辑
✅ 可观测性优先(Observability)所有操作必须可追踪每次更新用户资料记录操作日志、IP、时间、设备
✅ 接口契约清晰(Contract First)API 文档先行,前后端依约开发使用 OpenAPI 3.0 定义 /user/addresses 接口
✅ 高内聚低耦合(Loose Coupling)服务内部紧密相关,对外依赖少User-Service 内部有 Address、Profile、Points 模块,但不依赖 OrderService

🧩 五、典型场景对比:正确 vs 错误做法

场景正确做法错误做法
用户修改头像前端 → 网关 → user-service/me/avatar(带 Token)→ 上传图片 → 更新数据库 → 返回新 URL前端 → 网关 → order-service → order-service 调用 user-service 修改头像 → 耦合严重
查看收货地址前端 → 网关 → user-service/addresses → 返回该用户所有地址前端 → 网关 → order-service/123/address → order-service 查询 user-service → 性能差
用户签到得积分用户点击签到 → user-service/checkin → 本地增加积分 → 发送 USER_CHECKIN 事件 → 异步触发奖励邮件用户签到 → auth-service 判断并增加积分 → Auth-Service 管理积分,职责越界
用户升级为黄金会员order-service 发送 ORDER_COMPLETED 事件 → user-service 消费 → 累计消费 ≥5000 → 更新等级order-service 直接调用 user-service/updateLevel(userId, 'GOLD') → 同步阻塞,失败率高
前端展示用户名前端从 user-service/me 获取 nickname,显示在顶部前端从 order-service 的响应中提取 userName,导致字段名不一致、格式混乱

⚠️ 关键结论:
User-Service 是“用户数据的权威来源”——但只提供“我拥有的数据”,不提供“别人的数据”。


🛡️ 六、安全加固建议(生产环境必备)

措施实现方式
强制 HTTPS所有接口仅支持 HTTPS,禁用 HTTP
输入过滤过滤 XSS、SQL 注入、Unicode 混淆字符(如 <script>)
字段脱敏手机号、邮箱返回时自动掩码:138****1234、z***@example.com
权限校验每次更新/删除操作,必须校验 X-User-ID == request.userId
审计日志所有写操作记录:{ action: "UPDATE_AVATAR", userId: 123, ip: "192.168.1.10", device: "iPhone" }
并发控制防止重复提交(如多次签到)→ 使用 Redis 分布式锁
数据加密敏感字段(如手机号)使用 AES-256 加密存储,密钥由 KMS 管理
访问频率限制/user/addresses 每分钟最多 10 次,防爬虫
GDPR 合规支持用户申请“导出数据”、“删除账户”(软删除 + 数据匿名化)

📊 七、User-Service 架构图(文字版)

[客户端]
     ↓ (HTTPS + X-User-ID: 123)
[API Gateway] ←─ 验证 Token,透传 X-User-ID
     ↓
[User-Service]
     ├── ✅ /user/me             ←─ 获取用户基本信息(昵称、头像、等级)
     ├── ✅ /user/addresses      ←─ 管理收货地址
     ├── ✅ /user/settings       ←─ 设置偏好
     ├── ✅ /user/points         ←─ 查看积分
     ├── ✅ /user/checkin        ←─ 签到
     ├── ✅ /user/level          ←─ 查看会员等级
     └── ✅ /user/followers      ←─ 社交关系(可选)
     ↓
[Database: MySQL]
     ├── users (id, username, avatar, gender, status...)
     ├── addresses (user_id, name, phone, detail, is_default)
     ├── user_settings (user_id, language, theme, ...)
     ├── user_points (user_id, total_points, level, last_checkin)
     └── user_follows (follower_id, following_id)

     ↑
[Kafka / RabbitMQ]
     ←─ 事件:ORDER_COMPLETED → 更新积分
     ←─ 事件:REVIEW_PUBLISHED → 打标签“评论达人”
     ←─ 事件:USER_REGISTERED → 创建档案

🔄 注意:
User-Service 不主动调用其他服务,只监听事件。
所有外部依赖通过异步事件驱动解耦。


✅ 八、推荐技术栈(Spring Boot + 生态)

组件技术选型说明
框架Spring Boot 3.xJava 17+,现代化开发
数据库MySQL 8.0 / PostgreSQL结构化存储用户数据,支持事务
缓存Redis缓存高频读取字段(头像、昵称、等级),TTL=5min
事件总线Apache Kafka异步接收订单、评论等事件,实现事件驱动
服务注册Nacos服务发现与配置中心
ORMMyBatis-Plus简化 CRUD,支持代码生成
API 文档Swagger/OpenAPI 3.0自动生成接口文档
日志Logback + ELK结构化日志,便于分析操作轨迹
监控Prometheus + Grafana监控 QPS、错误率、平均响应时间
安全Spring Security + JWT仅用于鉴权,不涉及认证
工具类Lombok + MapStruct减少样板代码,DTO 映射自动化

📦 九、附录:User-Service API 设计规范(RESTful)

方法路径描述权限返回
GET/user/me获取当前用户基本信息需 Token{ id, nickname, avatar, level, points, email }
PUT/user/me更新用户信息(昵称、头像等)需 Token{ success: true }
GET/user/addresses获取所有地址需 Token[address1, address2, ...]
POST/user/addresses新增地址需 Token{ id, ... }
PUT/user/addresses/{id}修改地址需 Token,且 owner = current user{ success: true }
DELETE/user/addresses/{id}删除地址需 Token,且 owner = current user{ success: true }
GET/user/addresses/default获取默认地址需 Token{ ... }
PUT/user/addresses/{id}/default设置为默认地址需 Token{ success: true }
GET/user/settings获取偏好设置需 Token{ language, theme, notification_email, ... }
PUT/user/settings更新偏好设置需 Token{ success: true }
GET/user/points获取当前积分需 Token{ total: 1250, level: "GOLD" }
POST/user/checkin签到打卡需 Token{ success: true, bonus: 10 }
GET/user/level获取会员等级需 Token{ level: "GOLD", next_level: "PLATINUM", progress: 65% }
GET/user/followers获取粉丝列表需 Token[ {id, nickname, avatar}, ... ]
GET/user/following获取关注列表需 Token[ {id, nickname, avatar}, ... ]

✅ 所有路径前缀统一为 /user/**,清晰易识别
✅ 所有接口必须验证 X-User-ID == principal.userId


✅ 十、总结:User-Service 黄金法则(可打印贴墙上)

✅ User-Service 必须做:

  • 管理用户资料(昵称、头像、性别)
  • 管理收货地址
  • 管理偏好设置
  • 管理积分、等级、签到
  • 管理用户标签与画像
  • 接收事件驱动更新(如订单完成)
  • 返回干净、脱敏、可控的用户数据

❌ User-Service 绝对不能做:

  • 不管登录、密码、Token
  • 不存手机号、身份证、银行卡
  • 不调用订单、支付、物流服务
  • 不拼接响应体(如 user + address + order)
  • 不做权限判断(除了 owner 校验)
  • 不用 Session
  • 不是数据仓库(只存自己领域数据)

🔑 判断一切的标准:

“如果这个信息,是‘用户自己’想要管理或查看的,那就是 User-Service 的职责。”
“如果这个信息,是‘系统为了运营’需要计算的,那也交给 User-Service 做画像。”
“如果这个信息,是‘别人家的服务’产生的,那就别让它进来——用事件听。”


🚀 下一步:为你打包完整项目模板

如果你希望我为你提供:

  • ✅ 完整的 User-Service 项目结构(Maven + Spring Boot)
  • ✅ JWT 鉴权 + Owner 校验拦截器
  • ✅ Redis 缓存头像、昵称、等级
  • ✅ Kafka 消费 ORDER_COMPLETED 事件自动加积分
  • ✅ Swagger API 文档 + 单元测试
  • ✅ Dockerfile + Kubernetes 部署文件
  • ✅ CI/CD Pipeline(GitLab CI)

👉 请回复:
“请给我完整的 User-Service 工程模板!”

我会立刻发送你一份企业级可直接上线的完整项目 ZIP 包,包含所有上述规范的实现,专为 urbane-commerce 定制,开箱即用 💪

跨平台食谱App全栈实战:鸿蒙/Android/iOS + 微服务 + AI智能助手集成 微服务架构是一种将单一应用程序划分为一组小型、独立服务的软件设计方法,每个服务围绕特定业务能力构建,并通过轻量级通信机制(如HTTP API)进行交互。其核心原理在于通过服务拆分实现解耦,使每个服务可以独立开发、部署和扩展,从而提升系统的可维护性、灵活性和可伸缩性。这种架构的技术价值在于能够支撑复杂、高并发的业务场景,并适应快速迭代的现代开发需求。在应用场景上,微服务广泛用于电商平台、社交应用、物联网系统以及需要整合多种能力的智能应用。例如,在开发一个集成了AI能力的跨平台移动应用时,采用微服务架构可以清晰 阅读详情

相关推荐

Claude Code图表生成实战:用自然语言驱动Mermaid技术文档

在技术文档写作中,架构图、时序图、流程图等可视化元素是读者理解复杂系统的关键,但传统绘图工具往往将画图从文档流程中割裂,导致图文不同步、维护成本高昂。Mermaid作为基于文本的图表语法,为这一问题提供了工程化解法,而AI编程助手的兴起更让图表生成进入自然语言交互阶段。Claude Code作为终端AI Agent,不仅能理解代码,还能依据对话描述生成Mermaid语法,并将结果直接嵌入Markdown文档,让图表与代码、文档同源同频。从架构设计到接口交互,从数据模型到状态迁移,这一能力覆盖技术方案、项目文

weixin_34284188的博客 392

1、Auth-Service 服务设计规范文档

Auth-Service 服务设计规范摘要 Auth-Service 是电商微服务系统中唯一负责用户身份生命周期管理的核心服务,主要职责包括: ✅ 核心功能 用户登录/注册/登出 JWT Token签发与管理 密码重置与第三方登录 基础用户信息查询(不返回敏感数据) ❌ 禁止行为 执行业务逻辑(如下单) 存储敏感信息(如银行卡) 直接访问业务数据库 🔐 安全要求 密码BCrypt加密存储 JWT使用HS256/RS256签名 登出时Token加入黑名单 📌 设计原则 专注身份认证,不越权处理业务 保持轻

python15397的博客 1122

C++服务现代化:通过Nginx反向代理与REST API构建高性能Web服务

在微服务架构和云原生技术普及的背景下,将高性能计算模块暴露为标准化网络服务成为关键需求。其核心原理是通过HTTP协议实现进程间通信,利用反向代理服务器处理网络层复杂性,使本地应用能够被远程调用。这项技术的核心价值在于,它允许开发者保留C++在计算密集型任务中的性能优势,同时赋予其与现代分布式系统无缝集成的能力,显著提升了代码复用性和系统可扩展性。典型的应用场景包括音视频处理、科学计算引擎、高频交易系统以及游戏服务器逻辑的服务化封装。本文聚焦于如何将传统的C++程序,通过集成Nginx反向代理和设计RESTf

weixin_30521161的博客 303

Shields Badge URL 设计规范:从路由约定到源码实现

**导读**:本文以 [doc/badge-urls.md](https://link.gitcode.com/i/3c296054aa3b8440f5fe0dce69736abb) 的 URL 规范为骨架,系统讲解 Shields 徽章服务中 `/SERVICE/NOUN/PARAMETERS?QUERYSTRING` 路由格式的完整约定——包括名词单复数规则、路径参数与查询参数的使用边界、标准

gitblog_00023的博客 388

软件设计文档(SDD)撰写实战:从架构到接口的完整指南

软件设计文档(SDD)是软件工程中的核心蓝图,它定义了系统的内部结构、组件关系和数据流动。其核心原理在于通过结构化的设计,将需求转化为可执行的架构方案,确保系统的高内聚、低耦合。在技术价值上,一份优秀的SDD能显著降低团队沟通成本,规避技术风险,并提升代码的可维护性与可测试性。尤其在微服务、领域驱动设计等复杂架构场景下,清晰的设计说明是保障系统成功落地的关键。本文聚焦于SDD的实战撰写,深入解析如何将非功能需求(如性能、安全性)和接口设计的“契约精神”融入文档,并通过具体的“用户服务”案例,展示从架构全景到

weixin_33904756的博客 431

数字设计与计算机体系结构习题答案,数字设计和计算机体系结构习题答案DigitalDesignandComputerArchitecture.pdf...

数字设计和计算机体系结构习题答案DigitalDesignandComputerArchitecture.pdfDavid Money Harris and Sarah L. Harris, Digital Design and Computer Architecture, © 2007 by Elsevier Inc.Exercise SolutionsC H A P T E R ...

weixin_39851408的博客 1785

从模糊需求到精确蓝图:行为完整设计规范与AI辅助实践

在软件工程领域,设计规范是连接产品构想与代码实现的桥梁。其核心价值在于将模糊的需求转化为无歧义、可执行的技术指令,从而大幅降低沟通成本与返工风险。从概念上讲,一份优秀的设计规范应具备行为完整性,这意味着它需要明确定义系统的所有可能状态、输入输出以及异常处理流程,使其可直接转化为测试用例。在原理上,这通常通过结构化的用户故事、Given-When-Then格式的验收条件、精确的API契约以及完整的状态迁移图来实现。其技术价值体现在促进测试驱动开发(TDD)、提升团队协作效率以及作为自动化测试的可靠依据。在实际

weixin_34161032的博客 448

三维变换矩阵实战——三维点云的旋转、缩放、镜像、错切、平移、正交投影

旋转矩阵:右边矩阵是点云的原始坐标,左边的是旋转矩阵可视化:绕x轴旋转90度。

weixin_43850909的博客 8227

Python RESTful API设计规范与性能优化实战

RESTful API作为现代Web开发的核心技术,通过资源导向和状态无关性实现系统解耦。其设计核心在于URI规范化和HTTP方法语义化,例如使用名词复数表示资源集合,通过GET/POST/PUT/DELETE等方法明确操作意图。在Python技术栈中,FastAPI凭借异步支持和Pydantic验证成为API开发首选,相比传统框架性能提升显著。实际开发需关注JWT认证、分页优化、异常处理等生产级问题,同时结合OpenAPI文档和自动化测试保障质量。通过缓存策略、监控指标和分布式追踪,可构建高性能、易维护的

weixin_33716941的博客 281

ABAQUS应用15——Abaqus软件中边界条件与力学中自由度的关系

核心关系:Abaqus通过约束自由度实现边界条件,自由度类型由单元决定。正确设置步骤:确定模型类型(实体/梁/壳)。识别节点的自由度(平动或转动)。根据实际约束施加对应的自由度限制。验证:通过检查变形模式、反力分布等确认边界条件合理性。正确理解自由度与边界条件的关系,是确保有限元模型准确模拟实际物理行为的关键。

George的博客 1541

关于UMI设备采集数据的模型训练方法

模仿学习如专家模型、VLA模型,ACT、DP、openpi等算法模型训练时,都是使用的机器人的绝对位姿或关节角;而UMI记录的轨迹是相对于UMI起始点的,可以理解为是相对于起点的绝对增量,对应到机器人中就是相对于末端TCP的增量。在用模型进行训练时,当然可以,但这样进行模型训练的话达不到跨本体的能力,因为模型本身还是学习的基于机器人base坐标系的绝对位姿关系,倘若用这种方式进行处理,则UMI可以理解为是一个遥操的方法,本质还是记录的机器人的state。在看了和。

boss-dog 420

Composio CLI 命令设计规范:输出流契约、交互策略与退出码的完整工程指南

本篇指南基于 Composio 仓库中 `.agents/skills/cli-command/references/design.md` 编写,系统讲解 `@composio/cli` 命令面的设计准则:stdout/stderr 双流契约、`ui.output()` 的机器输出边界、TTY 感知的交互策略、环境变量配置体系与退出码语义。读完本文,你将掌握在 Composio 中新增或审查 CL

gitblog_00737的博客 459

【Docker】常见容器问题解决#OCI runtime create failed: container_linux.go:349: starting container process

ERROR: for nginx Cannot start service nginx: OCI runtime create failed: container_linux.go:349: starting container process caused "process_linux.go:449: container init caused \"rootfs_linux.go:58: mounting \\\"/data/docker-compose/n

liu_chen_yang的博客 5526

从模糊到精确:行为完整性设计规范驱动高效开发与AI协作

在软件工程中,清晰、无歧义的设计规范是确保项目成功、降低沟通成本的关键。传统设计文档常因模糊性、不完整性和不可测试性,导致开发阶段出现理解偏差和返工。行为完整性(Behaviorally Complete)设计理念,强调从输入、处理、输出、状态和约束五个维度,精确、穷举地定义系统在各种条件下的行为,使规范本身成为可被直接执行和验证的“契约”。这一方法不仅提升了人机协作效率,更顺应了AI辅助开发(如Claude Code)和“技能”(Skill)化开发范式的趋势。通过结合OpenAPI等结构化描述语言,行为完

weixin_33858336的博客 491

手把手教你在飞牛 NAS 上部署自有图床,含Python调用接口

📸 想在飞牛 NAS 上部署图床?这篇教程超适合小白!从安装到使用,步骤清晰~

XiaoqiangClub的博客 2344

39、信号流图:解决线性代数方程组的图论方法

本文介绍了信号流图理论在求解线性代数方程组中的应用,重点阐述了Coates方法和Mason方法的原理、步骤及对比分析。通过图论视角,将矩阵运算转化为对有向图结构的分析,利用1-因子、1-阶连接、前向路径和反馈回路等概念,推导出方程组解的拓扑公式。文章结合具体实例演示两种方法的计算过程,并总结其在电路分析、控制系统和通信系统等领域的拓展应用,展示了信号流图理论的直观性与有效性。

pear55的博客 87

全域电商生态综合服务平台 —— 数据库设计规范(完整版)

approval_status` VARCHAR(20) NOT NULL DEFAULT 'draft' COMMENT '审批状态,关联字典 approval_status。取值:draft-草稿,pending-审批中,approved-已通过,rejected-已驳回,recalled-已撤回',布尔字段 is_{状态} 或 {业务}_flag VARCHAR(10) NOT NULL DEFAULT 'false' 关联字典 yes_no,true-是,false-否。

zgscwxd的博客 227

动态规划之【树形DP】第3课:树形DP应用案例实践2

动态规划之【树形DP】第3课:树形DP应用案例实践2

王老师青少年编程 759

RESTful API设计规范与最佳实践指南

RESTful API是现代软件开发中前后端分离架构的核心通信协议,其设计质量直接影响系统健壮性和开发效率。本文从HTTP协议规范出发,详解GET/POST/PUT/DELETE等方法的正确使用场景,剖析状态码语义与常见误区。针对工程实践中的高频问题,提出响应数据结构扁平化、错误处理标准化、文档代码一体化等解决方案。通过电商系统、物联网等典型场景案例,展示如何设计高可用、易扩展的API接口。特别强调Swagger契约测试和自动化监控在保障接口质量中的关键作用,为开发团队提供从设计到部署的全流程规范指南。

weixin_34216196的博客 422

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

小马宝莉大合照:基于图像识别的团队协作文档自动化方案

计算机视觉技术通过图像处理和模式识别,能够将视觉元素转化为结构化数据。其核心原理是利用OpenCV等库进行颜色聚类、轮廓检测和空间关系分析,实现从像素到语义的映射。在软件工程领域,这种技术价值在于降低文档维护成本,通过可视化方式保持架构文档与代码的实时同步。典型的应用场景包括微服务架构可视化、数据库关系映射和API文档生成。本文介绍的小马宝莉大合照项目,正是基于图像元素与系统组件的智能映射,解决了团队协作中的知识断层和文档自动化难题,为工程实践提供了创新的解决方案。

weixin_34049948的博客 397

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

RESTful API设计规范:构建高可靠服务契约的7个核心实践

RESTful API 是分布式系统间协作的基础协议,其本质是定义清晰、可预测、可演进的服务契约。遵循资源建模、HTTP 方法语义、标准化响应、版本化演进等原则,能显著降低前后端协作成本与线上故障率。本文围绕路径设计、HTTP方法约束、错误码体系、版本管理、安全默认配置及自动化落地机制六大维度,深入解析如何将 RESTful 规范从文档转化为工程生产力。特别强调资源语义地图构建与规范即代码(Specification as Code)实践,助力团队实现接口可发现、可缓存、可测试、可治理,真正让API成为系统

weixin_34341229的博客 149

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

从代码到交付:如何为复杂项目撰写高质量技术教程与文档

在软件工程实践中,项目交付不仅是功能实现,更是将个人智慧转化为团队资产的关键环节。其核心原理在于通过标准化、自动化和文档化,解决环境依赖、架构黑盒和知识孤岛等典型问题,从而偿还“技术债”。这一过程的技术价值在于提升项目的可维护性、可扩展性和团队协作效率。应用场景广泛覆盖从独立开发到大型团队协作的各类项目,特别是微服务、分布式系统等复杂架构。本文以构建一个“大型空间站”级别的复杂项目为背景,系统性地拆解了从环境容器化、架构可视化到撰写深度教程的完整流程,并融入了**Docker Compose**和**Sag

weixin_33709364的博客 413

ECC api-design 技能详解:生产级 REST API 的设计规范、分页与版本化实践

本篇基于 ECC 仓库中的 `api-design` 技能文档([SKILL.md](https://link.gitcode.com/i/8e8794c1da467f7465e76fa543ebe3c7))展开,完整覆盖资源命名、HTTP 方法与状态码语义、响应信封、分页、过滤排序、鉴权、限流、版本化等生产级 REST API 设计要点,并结合仓库中的模块清单与关联技能(`backend-pat

gitblog_00554的博客 853

go-zero微服务框架终极指南:10分钟构建高可用API服务

还在为微服务开发中的重复劳动而烦恼吗?go-zero框架的代码生成工具goctl能让你在10分钟内快速构建高性能API服务。本文将为你揭示go-zero如何通过极简的API定义和智能代码生成,将开发效率提升10倍,同时保障系统的高可用性和稳定性。 go-zero是一个云原生Go微服务框架,集成了丰富的工程实践,通过弹性设计确保高并发服务的稳定性。框架内置的goctl工具可以根据API定义文件一键

gitblog_00806的博客 828

Nacos 可观测性钩子(Observability Hooks)设计规范详解:从指标注册表到 Trace、健康检查与诊断 API

本指南以 [foundation-observability-hooks-spec.md](https://link.gitcode.com/i/6d5d5cb3cf71f318535d431850e3c4bb) 为骨架,系统讲解 Nacos 基础可观测性模型的设计原则与落地实现:如何通过 `NacosMeterRegistryCenter` 组织指标注册表、如何借助 `TraceEvent` 与

gitblog_00664的博客 487

ROS自定义消息和服务完整实践指南

在机器人操作系统(ROS)中,消息(Message)和服务(Service)是实现节点间通信的基础抽象,其本质是基于IDL接口定义语言的跨语言数据契约。理解.msg与.srv文件的语法规范、编译时代码生成机制(如genpy/gencpp)、以及catkin构建系统对message_generation和message_runtime的依赖管理,是保障分布式节点可靠协作的前提。这类机制支撑了异步发布/订阅(如传感器数据流)与同步请求/响应(如状态查询、任务触发)两类核心通信模式,广泛应用于导航、感知、控制等R

weixin_30875157的博客 464
上一篇: 2、user-service 企业级代码目录结构规范
下一篇: 2、order-service 企业级代码目录结构规范
龙茶清欢
博客等级 码龄7年 3720粉丝 375原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

龙茶清欢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值