AI团队协作神器:用Git和IM让后端开发效率飙升10倍

news2026/4/29 3:41:42
文章探讨了如何利用Git作为信息中枢结合IM实时通知实现多个AI Agent智能助手像人类团队一样高效协作解决传统后端开发中信息孤岛、需求传递慢、接口不同步、跨服务依赖等问题。通过构建共享知识库、Agent业务层和IM通知层的三层架构实现需求自动通知、接口变更自动同步和进度透明化管理显著提升多业务线后端开发的协作效率预计可提升57%。文章还介绍了具体的实现细节、完整工作流程、IM通知的扩展玩法以及方案优势并提供快速开始搭建步骤。让AI不再单打独斗而是像人类团队一样协作效率提升10倍一、背景我们遇到的痛点1.1 场景还原想象一下这个场景前端团队负责 UniApp 用户界面中转团队负责 API 网关和协议转换后端团队负责业务逻辑和数据存储每个团队都有自己的 AI Agent智能助手但问题来了小明前端开发者提了个需求小明AI帮我做个用户登录页面前端Agent好的已生成登录页面代码小明还需要后端接口前端Agent抱歉我无法直接联系后端Agent...小明那我自己去群里喊后端同学吧→ 等待响应...→ 需求文档整理...→ 反复沟通确认...→ 三天后终于联调这效率太低了1.2 更复杂的场景多业务线后端实际生产环境往往更复杂后端不是单一团队而是多业务线问题变得更复杂前端要调多个后端一个页面需要同时对接用户服务、订单服务、支付服务后端之间也有依赖订单服务需要调用用户服务查询用户信息接口变更影响面广用户服务改了字段订单服务和前端都要跟着改跨团队协作难5个团队来回沟通信息极易丢失小红前端开发的真实困境小红AI帮我做订单确认页面前端Agent好的需要调用哪些接口小红需要用户信息、订单详情、支付方式前端Agent收到需要向3个后端服务提需求 - 用户服务获取用户信息接口 - 订单服务创建订单接口 - 支付服务获取支付方式接口小红那你去提需求啊前端Agent我无法直接联系其他Agent需要您人工协调...小红(╯°□°)╯︵ ┻━┻1.3 核心痛点痛点影响信息孤岛N个AI Agent互不相通各自为战需求传递慢人工中转、文档整理、反复确认接口不同步前端不知道哪个后端改了接口跨服务依赖后端A改了字段后端B和前端都要改进度不透明5个团队进度不一无法统一管理知识难沉淀需求、接口、变更散落在各处1.4 我们的目标让N个AI Agent像人类团队一样协作前端Agent提需求 → 自动通知N个后端Agent后端Agent完成接口 → 自动通知依赖方前端其他后端接口变更 → 自动通知所有相关方所有过程自动记录 → 随时可查可追溯关键IM实时通知不再错过消息Git共享层 · Agent业务层 · IM通知层二、解决方案共享知识库 Git同步 IM通知2.1 整体架构2.2 核心思想三层架构Git共享层作为信息存储和中转保证数据一致性Agent业务层各团队Agent读写Git实现业务协作IM通知层关键事件触发IM通知保证及时性为什么用Git做信息中枢优势说明版本控制所有变更都有记录可追溯冲突处理多人同时修改时能自动合并离线可用本地有完整副本不依赖网络成熟稳定无需自建服务基础设施完善免费公共仓库免费成本为02.3 知识库结构支持多业务线shared-knowledge/├── teams/ # 团队配置│ └── config.json # 团队列表、IM配置├── requirements/ # 需求文档│ └── REQ-20260321-001_用户登录.md├── tasks/ # 任务看板│ ├── pending/ # 待处理按团队分子目录│ │ ├── backend-user/ # 用户服务团队任务│ │ ├── backend-order/ # 订单服务团队任务│ │ └── backend-pay/ # 支付服务团队任务│ ├── in-progress/ # 进行中│ └── completed/ # 已完成├── api-contracts/ # 接口契约│ ├── user-service/ # 用户服务接口│ │ └── API-001_获取用户信息.md│ ├── order-service/ # 订单服务接口│ └── pay-service/ # 支付服务接口├── dependencies/ # 服务依赖图│ └── deps.json # 服务间依赖关系├── bugs/ # Bug追踪└── changelog/ # 变更日志三、实现细节代码如何工作3.1 团队配置支持多业务线{teams:[{name:frontend,display:前端团队,im:{type:feishu,webhook:https://open.feishu.cn/open-apis/bot/v2/hook/xxx-frontend}},{name:gateway,display:API网关团队,im:{type:dingtalk,webhook:https://oapi.dingtalk.com/robot/send?access_tokenxxx-gateway}},{name:backend-user,display:用户服务团队,im:{type:wechat,webhook:https://qyapi.weixin.qq.com/cgi-bin/webhook/send?keyxxx-user},dependencies:[]// 无依赖},{name:backend-order,display:订单服务团队,im:{type:feishu,webhook:https://open.feishu.cn/open-apis/bot/v2/hook/xxx-order},dependencies:[backend-user]// 依赖用户服务},{name:backend-pay,display:支付服务团队,im:{type:feishu,webhook:https://open.feishu.cn/open-apis/bot/v2/hook/xxx-pay},dependencies:[backend-order,backend-user]}]}3.2 IM消息通知实现# notification.py - IM消息通知模块import requestsimport jsonfrom datetime import datetimeclassIMNotifier:IM消息通知器支持飞书、钉钉、企微def__init__(self, team_config): self.config team_configdefsend(self, title, content, msg_typeinfo):发送消息 im_type self.config.get(type) webhook self.config.get(webhook)if im_type feishu:return self._send_feishu(webhook, title, content, msg_type)elif im_type dingtalk:return self._send_dingtalk(webhook, title, content, msg_type)elif im_type wechat:return self._send_wechat(webhook, title, content, msg_type)def_send_feishu(self, webhook, title, content, msg_type):发送飞书消息卡片格式 colors {info: blue,success: green, warning: orange,error: red } payload {msg_type: interactive,card: {header: {title: {tag: plain_text,content: f AI协作通知 | {title} },template: colors.get(msg_type, blue) },elements: [ {tag: div,text: {tag: lark_md,content: content } }, {tag: note,elements: [ {tag: plain_text,content: f⏰ {datetime.now().strftime(%Y-%m-%d %H:%M)} } ] } ] } } resp requests.post(webhook, jsonpayload, timeout10)return resp.json()def_send_dingtalk(self, webhook, title, content, msg_type):发送钉钉消息Markdown格式 colors {info: #409EFF,success: #67C23A,warning: #E6A23C, error: #F56C6C } payload {msgtype: markdown,markdown: {title: title,text: f## AI协作通知 | {title}{content}---⏰ {datetime.now().strftime(%Y-%m-%d %H:%M)} } } resp requests.post(webhook, jsonpayload, timeout10)return resp.json()def_send_wechat(self, webhook, title, content, msg_type):发送企微消息Markdown格式 payload {msgtype: markdown,markdown: {content: f** AI协作通知 | {title}**{content}---⏰ {datetime.now().strftime(%Y-%m-%d %H:%M)} } } resp requests.post(webhook, jsonpayload, timeout10)return resp.json()3.3 Agent核心实现带IM通知# knowledge_sync.py - 核心Agent类import jsonfrom notification import IMNotifierclassKnowledgeAgent:支持多业务线和IM通知的Agentdef__init__(self, team_name, repo_pathNone): self.team team_name self.sync KnowledgeSync(repo_path)# 加载团队配置 self.team_config self._load_team_config()# 初始化IM通知器 im_config self.team_config.get(im) self.notifier IMNotifier(im_config) if im_config elseNonedef_load_team_config(self):加载团队配置 config self.sync.read_file(teams/config.json) teams json.loads(config)[teams]for team in teams:if team[name] self.team:return teamreturn {}def_get_team_im_config(self, team_name):获取其他团队的IM配置 config self.sync.read_file(teams/config.json) teams json.loads(config)[teams]for team in teams:if team[name] team_name:return team.get(im)returnNonedef_notify_team(self, team_name, title, content, msg_typeinfo):通知指定团队 im_config self._get_team_im_config(team_name)if im_config: notifier IMNotifier(im_config) notifier.send(title, content, msg_type)defcreate_task(self, title, content, target_team, related_reqNone): 创建任务并通知目标团队 例如前端创建任务给用户服务、订单服务、支付服务 task_id self._generate_id(TASK)# 写入Git doc f# {title}## 任务信息- 任务ID: {task_id}- 目标团队: {target_team}- 创建团队: {self.team}- 创建时间: {datetime.now().strftime(%Y-%m-%d %H:%M)}## 任务描述{content}## 关联需求- {related_req or无}## 状态- [x] 待处理- [ ] 进行中- [ ] 已完成 self.sync.write_file(ftasks/pending/{target_team}/{task_id}.md, doc, commit_msgftask: {self.team} 创建任务 {task_id} - {target_team} )# 发送IM通知给目标团队 team_display self._get_team_display(target_team) self._notify_team( target_team, title新任务通知, contentf** 您有一个新任务****任务**: {title}**ID**: {task_id}**来自**: {self._get_team_display(self.team)}{content[:200]}... [查看详情](https://gitee.com/your-org/shared-knowledge/blob/main/tasks/pending/{target_team}/{task_id}.md), msg_typeinfo )return task_iddefcomplete_task(self, task_id, notes): 完成任务并通知相关方 例如订单服务完成任务通知前端和依赖它的支付服务 # 读取任务信息 task_content self._find_task(task_id)# 移动文件到completed self._move_task_to_completed(task_id)# 获取依赖本服务的其他服务 dependent_teams self._get_dependent_teams(self.team)# 通知创建方任务来源 creator self._extract_creator(task_content)if creator and creator ! self.team: self._notify_team( creator, title任务已完成, contentf**✅ 任务已完成****任务ID**: {task_id}**完成团队**: {self._get_team_display(self.team)}**完成说明**: {notes} 可以开始对接了, msg_typesuccess )# 通知依赖方其他服务for team in dependent_teams: self._notify_team( team, title依赖服务已更新, contentf** 依赖服务已更新****服务**: {self._get_team_display(self.team)}**任务ID**: {task_id}**更新内容**: {notes}请检查是否需要同步更新, msg_typewarning )defcreate_api_contract(self, api_name, method, path, request_body, response_body, service_nameNone): 创建接口文档并通知依赖方 例如用户服务创建新接口通知订单服务和前端 service service_name or self.team api_id self._generate_api_id(service)# 写入接口文档 doc f# {api_name}## 基本信息- 接口ID: {api_id}- 服务: {service}- 路径: {method}{path}- 更新团队: {self.team}- 更新时间: {datetime.now().strftime(%Y-%m-%d %H:%M)}## 请求参数json{json.dumps(request_body, indent2, ensure_asciiFalse)}响应参数{json.dumps(response_body, indent2, ensure_asciiFalse)}“” self.sync.write_file( fapi-contracts/{service}/{api_id}.md, doc, commit_msgfapi: {self.team} 创建接口 {api_id} )# 获取依赖此服务的团队 dependent_teams self._get_dependent_teams(service) # 通知所有依赖方 for team in dependent_teams: self._notify_team( team, title新接口发布, contentf** 新接口已发布**服务: {self._get_team_display(service)}接口: {method} {path}ID: {api_id} 查看文档 “”, msg_type“info” )return api_id plaintext ### 3.4 服务依赖管理pythondef _get_dependent_teams(self, service_name): 获取依赖此服务的其他服务 config self.sync.read_file(teams/config.json) teams json.loads(config)[teams] dependents [] for team in teams: deps team.get(dependencies, []) if service_name in deps: dependents.append(team[name]) return dependentsdef _get_service_dependencies(self, service_name): 获取此服务依赖的其他服务 config self.sync.read_file(teams/config.json) teams json.loads(config)[teams] for team in teams: if team[name] service_name: return team.get(dependencies, []) return []四、完整工作流程多业务线场景场景订单确认页面涉及5个团队需求前端开发订单确认页面需要同时对接用户服务、订单服务、支付服务前端Agent ──┬──▶ 用户服务Agent获取用户信息 ├──▶ 订单服务Agent创建订单 └──▶ 支付服务Agent获取支付方式订单服务Agent ──▶ 依赖用户服务调用用户接口支付服务Agent ──▶ 依赖订单服务 用户服务Step 1前端Agent批量创建任务frontend KnowledgeAgent(frontend)# 创建需求req_id frontend.create_requirement( title订单确认页面, content需要展示商品信息、收货地址、支付方式..., priority高)# REQ-20260321-001 已创建# 批量创建任务给3个后端服务tasks []# 任务1用户服务tasks.append(frontend.create_task( title获取用户默认地址接口, contentGET /api/v1/user/address/default 返回用户默认收货地址, target_teambackend-user, related_reqreq_id))# 任务2订单服务 tasks.append(frontend.create_task( title订单预览接口, contentPOST /api/v1/order/preview 根据购物车商品计算订单金额, target_teambackend-order, related_reqreq_id))# 任务3支付服务tasks.append(frontend.create_task( title获取支付方式接口, contentGET /api/v1/pay/methods 返回支持的支付方式列表, target_teambackend-pay, related_reqreq_id))print(f已创建 {len(tasks)} 个任务已自动通知各团队)此时IM通知飞书群用户服务团队:━━━━━━━━━━━━━━━━━━━━ AI协作通知 | 新任务通知 您有一个新任务任务: 获取用户默认地址接口ID: TASK-20260321-001来自: 前端团队需要接口GET /api/v1/user/address/default ... 查看详情 [链接]━━━━━━━━━━━━━━━━━━━━飞书群订单服务团队:━━━━━━━━━━━━━━━━━━━━ AI协作通知 | 新任务通知 您有一个新任务任务: 订单预览接口ID: TASK-20260321-002...━━━━━━━━━━━━━━━━━━━━飞书群支付服务团队:━━━━━━━━━━━━━━━━━━━━ AI协作通知 | 新任务通知 您有一个新任务任务: 获取支付方式接口ID: TASK-20260321-003...━━━━━━━━━━━━━━━━━━━━Step 2各后端服务并行开发# 用户服务团队user_service KnowledgeAgent(backend-user)tasks user_service.get_my_tasks()# 发现 TASK-20260321-001user_service.start_task(TASK-20260321-001)# ... 开发中 ...# 创建接口文档user_service.create_api_contract( api_name获取用户默认地址, methodGET, path/api/v1/user/address/default, service_namebackend-user, request_body{}, response_body{id: 1, name: 张三, phone: 13800138000, address: 北京市...})user_service.complete_task(TASK-20260321-001, 接口文档API-001)# 订单服务团队同时开发order_service KnowledgeAgent(backend-order)tasks order_service.get_my_tasks()# 发现 TASK-20260321-002order_service.start_task(TASK-20260321-002)# ... 开发中需要调用用户服务接口 ...# 订单服务创建接口文档order_service.create_api_contract( api_name订单预览, methodPOST, path/api/v1/order/preview, service_namebackend-order, request_body{cart_items: [...]}, response_body{total: 199.00, items: [...]})order_service.complete_task(TASK-20260321-002, 接口文档API-002)# 支付服务团队同时开发pay_service KnowledgeAgent(backend-pay)tasks pay_service.get_my_tasks()# 发现 TASK-20260321-003pay_service.start_task(TASK-20260321-003)# ... 开发中依赖订单服务和用户服务 ...pay_service.complete_task(TASK-20260321-003, 接口文档API-003)当用户服务完成时IM通知飞书群前端团队:━━━━━━━━━━━━━━━━━━━━ AI协作通知 | 任务已完成✅ 任务已完成任务ID: TASK-20260321-001完成团队: 用户服务团队完成说明: 接口文档API-001 可以开始对接了━━━━━━━━━━━━━━━━━━━━飞书群订单服务团队:━━━━━━━━━━━━━━━━━━━━ AI协作通知 | 依赖服务已更新 依赖服务已更新服务: 用户服务团队任务ID: TASK-20260321-001更新内容: 接口文档API-001请检查是否需要同步更新━━━━━━━━━━━━━━━━━━━━飞书群支付服务团队:━━━━━━━━━━━━━━━━━━━━ AI协作通知 | 依赖服务已更新 依赖服务已更新服务: 用户服务团队任务ID: TASK-20260321-001...━━━━━━━━━━━━━━━━━━━━Step 3中转Agent协调可选gateway KnowledgeAgent(gateway)# 监控到3个后端服务都已完成gateway.create_task( title订单确认页面对接, content后端3个服务均已完成- 用户服务API-001 获取用户默认地址- 订单服务API-002 订单预览- 支付服务API-003 获取支付方式请前端进行对接开发。, target_teamfrontend)Step 4前端Agent对接开发# 前端收到通知查看接口文档apis frontend.list_api_contracts()# 找到3个接口# - backend-user/API-001# - backend-order/API-002# - backend-pay/API-003# 开始开发frontend.start_task(TASK-20260321-004)# ... 对接3个接口 ...# 完成frontend.complete_task(TASK-20260321-004, 订单确认页面开发完成)最终IM通知飞书群全员群:━━━━━━━━━━━━━━━━━━━━ AI协作通知 | 需求已完成 需求已完成需求: 订单确认页面 (REQ-20260321-001)涉及团队✅ 前端团队✅ 用户服务团队 ✅ 订单服务团队✅ 支付服务团队✅ 中转团队开发周期3天并行开发传统方式预估7天串行沟通效率提升57% ━━━━━━━━━━━━━━━━━━━━五、IM通知的扩展玩法5.1 定时任务每日站会报告# daily_standup.pyfrom knowledge_sync import KnowledgeAgentdefgenerate_daily_report():生成每日站会报告# 读取昨日变更 changelog read_changelog()# 统计各团队进展 stats {completed: len(changelog[completed]),new_tasks: len(changelog[new_tasks]),api_changes: len(changelog[api_changes]) } report f **昨日协作报告**✅ 已完成任务: {stats[completed]} 新增任务: {stats[new_tasks]} 接口变更: {stats[api_changes]}**各团队进展**for team in teams: completed [t for t in changelog[completed] if t[team] team] report f- {team}: 完成 {len(completed)} 个任务\n report **今日待处理** pending get_all_pending_tasks()for task in pending[:5]: # 只显示前5个 report f- [{task[target]}] {task[title]}\n# 发送到全员群 notifier IMNotifier(全员群_webhook) notifier.send(每日站会报告, report, info)# 设置定时任务schedule.every().day.at(09:00).do(generate_daily_report)5.2 接口变更自动通知defon_api_changed(service, api_id, changes):接口变更时自动通知依赖方# 获取依赖此服务的所有团队 dependents get_dependent_teams(service)for team in dependents: notifier IMNotifier(get_team_webhook(team)) notifier.send( title⚠️ 接口变更提醒, contentf**接口发生变更****服务**: {service}**接口ID**: {api_id}**变更内容**:{changes}请检查是否需要同步更新您的代码, msg_typewarning )5.3 冲突预警defcheck_potential_conflicts():检查潜在冲突并预警# 检查多个团队是否同时修改同一接口 recent_changes get_recent_changes(hours1) conflicts detect_conflicts(recent_changes)if conflicts:for conflict in conflicts:# 通知相关团队for team in conflict[teams]: notifier IMNotifier(get_team_webhook(team)) notifier.send( title 潜在冲突预警, contentf**检测到潜在冲突****接口**: {conflict[api]}**涉及团队**: {, .join(conflict[teams])}**建议**: 请先协调再修改查看详情: [链接], msg_typeerror )六、方案优势6.1 相比传统方案维度人工协作本方案需求传递1-3天实时同步 IM秒级通知接口同步联调时才发现问题文档先行变更自动通知进度透明反复询问实时看板 日报推送跨服务依赖容易遗漏依赖图自动通知知识沉淀散落在聊天记录结构化的Git历史扩展性需要人工介入Agent自动处理6.2 多业务线场景的优势场景传统方式本方案1前端 → N后端逐个沟通容易遗漏批量创建任务自动通知后端A → 后端B依赖口头约定经常出错依赖声明变更自动通知接口变更影响面联调时才发现依赖分析自动通知相关方新人接入需要熟悉所有对接人看任务列表和接口文档即可6.3 IM通知的价值七、快速开始7.1 5分钟搭建步骤# 1. 克隆知识库模板git clone https://gitee.com/your-org/shared-knowledge.git# 2. 配置团队信息cp teams/config.example.json teams/config.json# 编辑 config.json填入各团队的IM webhook# 3. 复制工具到各Agent项目cp knowledge_sync.py notification.py /your-project/# 4. 设置环境变量export KNOWLEDGE_PATH/path/to/shared-knowledgeexport TEAM_NAMEfrontend # 或 backend-user/backend-order等# 5. 开始使用python -c from knowledge_sync import KnowledgeAgentagent KnowledgeAgent(frontend)agent.create_task(测试任务, 内容, target_teambackend-user)7.2 配置飞书机器人# 1. 在飞书群设置 → 添加机器人 → 自定义机器人# 2. 复制 webhook 地址# 3. 填入 teams/config.json{name: backend-user,display: 用户服务团队,im: {type: feishu,webhook: https://open.feishu.cn/open-apis/bot/v2/hook/xxxxx }}7.3 配置服务依赖{name:backend-order,display:订单服务团队,dependencies:[backend-user],// 依赖用户服务im:{type:feishu,webhook:https://open.feishu.cn/open-apis/bot/v2/hook/xxxxx}}八、总结与展望核心创新点Git作为信息中枢无需自建服务成熟可靠支持多业务线N个后端服务并行协作服务依赖管理自动通知依赖方避免遗漏IM实时通知飞书/钉钉/企微全支持秒级送达Markdown文档人类可读Agent可解析适用场景多团队AI Agent协作前端网关N个后端微服务架构服务间依赖复杂需要统一管理远程团队跨地域异步协作跨时区团队24小时不间断IM消息留痕需要完整协作记录审计、复盘、知识沉淀未来展望阶段功能价值当前Git同步 IM通知基础协作能力近期智能冲突检测提前预警减少返工中期Web可视化看板全局视图一目了然远期LLM智能协调Agent自主协商优先级说真的这两年看着身边一个个搞Java、C、前端、数据、架构的开始卷大模型挺唏嘘的。大家最开始都是写接口、搞Spring Boot、连数据库、配Redis稳稳当当过日子。结果GPT、DeepSeek火了之后整条线上的人都开始有点慌了大家都在想“我是不是要学大模型不然这饭碗还能保多久”我先给出最直接的答案一定要把现有的技术和大模型结合起来而不是抛弃你们现有技术掌握AI能力的Java工程师比纯Java岗要吃香的多。即使现在裁员、降薪、团队解散的比比皆是……但后续的趋势一定是AI应用落地大模型方向才是实现职业升级、提升薪资待遇的绝佳机遇这绝非空谈。数据说话2025年的最后一个月脉脉高聘发布了《2025年度人才迁徙报告》披露了2025年前10个月的招聘市场现状。AI领域的人才需求呈现出极为迫切的“井喷”态势2025年前10个月新发AI岗位量同比增长543%9月单月同比增幅超11倍。同时在薪资方面AI领域也显著领先。其中月薪排名前20的高薪岗位平均月薪均超过6万元而这些席位大部分被AI研发岗占据。与此相对应市场为AI人才支付了显著的溢价算法工程师中专攻AIGC方向的岗位平均薪资较普通算法工程师高出近18%产品经理岗位中AI方向的产品经理薪资也领先约20%。当你意识到“技术AI”是个人突围的最佳路径时整个就业市场的数据也印证了同一个事实AI大模型正成为高薪机会的最大源头。最后我在一线科技企业深耕十二载见证过太多因技术卡位而跃迁的案例。那些率先拥抱 AI 的同事早已在效率与薪资上形成代际优势我意识到有很多经验和知识值得分享给大家也可以通过我们的能力和经验解答大家在大模型的学习中的很多困惑。我整理出这套 AI 大模型突围资料包【允许白嫖】✅从入门到精通的全套视频教程✅AI大模型学习路线图0基础到项目实战仅需90天✅大模型书籍与技术文档PDF✅各大厂大模型面试题目详解✅640套AI大模型报告合集✅大模型入门实战训练这份完整版的大模型 AI 学习和面试资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】①从入门到精通的全套视频教程包含提示词工程、RAG、Agent等技术点② AI大模型学习路线图0基础到项目实战仅需90天全过程AI大模型学习路线③学习电子书籍和技术文档市面上的大模型书籍确实太多了这些是我精选出来的④各大厂大模型面试题目详解⑤640套AI大模型报告合集⑥大模型入门实战训练获取方式有需要的小伙伴可以保存图片到wx扫描二v码免费领取【保证100%免费】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2564399.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;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…