米家智能家居Python控制终极指南:3步实现全屋自动化编程
米家智能家居Python控制终极指南3步实现全屋自动化编程【免费下载链接】mijia-api米家API使用Python控制米家设备项目地址: https://gitcode.com/gh_mirrors/mi/mijia-api米家APImijiaAPI是一个功能强大的Python库专为开发者提供控制小米智能家居设备的完整解决方案。无论您是Python开发者、智能家居爱好者还是自动化系统集成者这个开源项目都能帮助您快速构建专业的智能家居控制应用实现真正的全屋自动化编程。 传统APP限制 vs Python编程控制的优势传统控制方式的痛点分析使用小米米家APP进行设备控制虽然方便但在实际应用中存在诸多限制批量操作困难- 无法同时对多个设备执行复杂操作自动化逻辑单一- 只能实现简单的定时和场景联动数据收集不足- 缺乏设备使用数据的长期记录和分析集成能力有限- 难以与其他智能系统无缝对接自定义程度低- 无法根据特定需求定制控制逻辑Python编程控制的解决方案米家API通过Python编程接口完美解决了上述痛点# 示例批量控制多个设备 from mijiaAPI import mijiaAPI api mijiaAPI() api.login() # 同时控制客厅所有灯光设备 living_room_lights [客厅主灯, 电视背景灯, 落地灯] for light_name in living_room_lights: device mijiaDevice(api, dev_namelight_name) device.on True # 一键开启所有灯光 device.brightness 70 # 统一设置亮度 核心功能模块化展示认证与连接模块米家API认证流程示意图 - 简洁的二维码扫描认证系统认证是使用米家API的第一步系统提供了多种灵活的认证方式# 标准认证流程 api mijiaAPI() # 自动使用默认认证文件路径 api.login() # 扫码登录认证数据自动保存 # 自定义认证文件路径 import os from pathlib import Path # 项目内认证存储 project_auth Path(__file__).parent / .mijia_auth / config.json api mijiaAPI(str(project_auth)) # 环境变量配置 env_auth os.getenv(MIJIA_AUTH_PATH, ~/.config/mijia-api/auth.json) api mijiaAPI(env_auth)设备发现与管理模块米家API提供了完整的设备发现和管理功能# 获取家庭和设备信息 homes api.get_homes_list() print(f发现 {len(homes)} 个家庭) # 获取所有设备排除共享设备 all_devices api.get_devices_list() for device in all_devices: print(f 设备名称: {device[name]}) print(f 型号: {device[model]}) print(f 设备ID: {device[did]}) # 获取特定家庭设备 if homes: home_id homes[0][id] home_devices api.get_devices_list(home_idhome_id) # 获取共享设备 shared_devices api.get_shared_devices_list()设备控制模块设备控制是米家API的核心功能支持属性式操作# 初始化设备对象 lamp mijiaDevice(api, dev_name智能台灯) # 属性式操作 - 直观易用 lamp.on True # 开启设备 lamp.brightness 75 # 设置亮度75% lamp.color_temperature 4500 # 设置4500K色温 # 状态查询 current_status { power: lamp.on, brightness: lamp.brightness, color_temp: lamp.color_temperature } print(f设备状态: {current_status}) 实际应用场景深度解析家庭自动化场景实现基于时间和环境条件的自动化控制import time from datetime import datetime class HomeAutomation: def __init__(self, api): self.api api self.api.login() def morning_routine(self): 早晨自动化场景 # 6:30 AM - 缓慢调亮卧室灯光 bedroom_light mijiaDevice(self.api, dev_name卧室主灯) for brightness in range(10, 70, 5): bedroom_light.brightness brightness time.sleep(0.5) # 打开窗帘和空调 curtain mijiaDevice(self.api, dev_name电动窗帘) curtain.set(open, True) air_conditioner mijiaDevice(self.api, dev_name空调) air_conditioner.set(power, True) air_conditioner.set(temperature, 24) def evening_routine(self): 晚上自动化场景 # 10:00 PM - 关闭所有非必要设备 devices self.api.get_devices_list() for device_info in devices: device mijiaDevice(self.api, diddevice_info[did]) if device_info[name] not in [路由器, 安防摄像头]: device.on False # 开启夜灯模式 night_light mijiaDevice(self.api, dev_name夜灯) night_light.on True night_light.brightness 20能耗监控与优化系统class EnergyMonitor: def __init__(self, api): self.api api def get_monthly_consumption(self, device_did, months6): 获取设备月度能耗数据 end_time int(time.time()) start_time int(time.time() - months*30*24*3600) consumption_data self.api.get_statistics({ did: device_did, key: 7.1, # 能耗属性 data_type: stat_month_v3, limit: months, time_start: start_time, time_end: end_time, }) total sum(item[value] for item in consumption_data) average total / len(consumption_data) if consumption_data else 0 return { total_kwh: total, average_kwh: average, data_points: consumption_data } def optimize_energy_usage(self): 智能能耗优化 devices self.api.get_devices_list() for device_info in devices: # 分析高能耗设备 monthly_data self.get_monthly_consumption(device_info[did]) if monthly_data[average_kwh] 50: # 高能耗阈值 print(f⚠️ 高能耗设备: {device_info[name]}) print(f 月均能耗: {monthly_data[average_kwh]:.2f} kWh) # 建议优化措施 self.suggest_optimizations(device_info[name])安防监控与报警系统class SecuritySystem: def __init__(self, api): self.api api self.alert_devices [] def setup_security_mode(self): 设置安防模式 # 获取所有传感器设备 sensors self.get_sensors() for sensor in sensors: if sensor[type] motion: self.setup_motion_alerts(sensor) elif sensor[type] door_window: self.setup_door_alerts(sensor) def get_sensors(self): 获取所有传感器设备 devices self.api.get_devices_list() sensors [] for device in devices: if any(keyword in device[model].lower() for keyword in [sensor, detector]): sensors.append({ name: device[name], did: device[did], type: self.detect_sensor_type(device[model]) }) return sensors def send_alert(self, sensor_name, alert_type): 发送安防警报 # 通过小爱音箱播放警报 wifispeaker mijiaDevice(self.api, dev_name客厅小爱) alert_message f注意{sensor_name}检测到{alert_type}异常 wifispeaker.run_action(play_text, {text: alert_message}) # 闪烁灯光提醒 self.flash_lights()⚙️ 性能调优与扩展指南批量操作性能优化对于需要控制多个设备的场景批量操作能显著提升性能class BatchController: def __init__(self, api, max_workers10): self.api api self.max_workers max_workers def batch_get_properties(self, device_list, property_name): 批量获取设备属性 properties [] for device_info in device_list: properties.append({ did: device_info[did], siid: 2, # 服务ID piid: 2 # 属性ID }) return self.api.get_devices_prop(properties) def batch_set_properties(self, device_list, property_name, value): 批量设置设备属性 operations [] for device_info in device_list: operations.append({ did: device_info[did], siid: 2, piid: 2, value: value }) return self.api.set_devices_prop(operations)错误处理与重试机制import time from mijiaAPI import ( DeviceNotFoundError, DeviceGetError, DeviceSetError, APIError ) class RobustDeviceController: def __init__(self, api, max_retries3, retry_delay1): self.api api self.max_retries max_retries self.retry_delay retry_delay def safe_device_operation(self, operation_func, *args, **kwargs): 安全的设备操作包装器 for attempt in range(self.max_retries): try: return operation_func(*args, **kwargs) except (DeviceGetError, DeviceSetError, APIError) as e: if attempt self.max_retries - 1: raise print(f操作失败{self.retry_delay}秒后重试...) time.sleep(self.retry_delay) def get_device_with_retry(self, dev_name): 带重试的设备获取 return self.safe_device_operation( mijiaDevice, self.api, dev_namedev_name )自定义设备扩展from mijiaAPI import mijiaDevice class CustomSmartLamp(mijiaDevice): 自定义智能台灯类 def __init__(self, api, dev_nameNone, didNone, sleep_time0.5): super().__init__(api, dev_name, did, sleep_time) def sunrise_mode(self, duration300): 日出模式缓慢调亮灯光 steps duration // 5 # 每5秒调整一次 for i in range(steps): brightness int((i / steps) * 100) self.brightness brightness time.sleep(5) def reading_mode(self): 阅读模式适合阅读的灯光设置 self.on True self.brightness 80 self.color_temperature 4000 # 中性白光 def night_mode(self): 夜间模式柔和的夜灯 self.on True self.brightness 10 self.color_temperature 2700 # 暖黄光 def get_energy_usage(self): 获取能耗统计 return self.api.get_statistics({ did: self.did, key: 7.1, data_type: stat_day_v3, limit: 7 # 最近7天 }) 数据收集与分析系统设备使用数据收集import json from datetime import datetime, timedelta class DeviceDataCollector: def __init__(self, api, storage_pathdevice_data.json): self.api api self.storage_path storage_path def collect_daily_data(self): 收集每日设备使用数据 devices self.api.get_devices_list() daily_data { date: datetime.now().strftime(%Y-%m-%d), devices: [] } for device_info in devices: device mijiaDevice(self.api, diddevice_info[did]) device_data { name: device_info[name], model: device_info[model], status: device.get(on, False), timestamp: datetime.now().isoformat() } # 收集特定设备的额外数据 if light in device_info[model].lower(): device_data.update({ brightness: device.get(brightness, 0), color_temp: device.get(color_temperature, 0) }) daily_data[devices].append(device_data) self.save_data(daily_data) return daily_data def save_data(self, data): 保存数据到文件 try: with open(self.storage_path, r) as f: existing_data json.load(f) except (FileNotFoundError, json.JSONDecodeError): existing_data [] existing_data.append(data) with open(self.storage_path, w) as f: json.dump(existing_data, f, indent2) def analyze_usage_patterns(self, days30): 分析设备使用模式 with open(self.storage_path, r) as f: all_data json.load(f) # 分析最近N天的数据 recent_data all_data[-days:] if len(all_data) days else all_data analysis_results {} for device_type in [light, sensor, switch]: device_data [ d for d in recent_data if any(device_type in device[model].lower() for device in d[devices]) ] if device_data: analysis_results[device_type] { total_usage_hours: self.calculate_usage_hours(device_data), peak_usage_time: self.find_peak_usage(device_data), average_daily_usage: self.calculate_average_daily(device_data) } return analysis_results 命令行工具高效使用快速设备控制命令米家API提供了强大的命令行工具无需编写Python代码即可完成常见操作# 列出所有设备 mijiaAPI --list_devices # 查询设备属性 mijiaAPI get --dev_name 卧室台灯 --prop_name brightness # 设置设备属性 mijiaAPI set --dev_name 卧室台灯 --prop_name on --value True # 批量操作示例 mijiaAPI set --dev_name 客厅灯,餐厅灯,走廊灯 --prop_name brightness --value 50 # 语音控制集成 mijiaAPI --run 打开客厅所有灯光 mijiaAPI --run 播放轻音乐 --wifispeaker_name 客厅小爱 mijiaAPI --run 关闭所有灯 --quiet # 静默执行自动化脚本创建# automation_script.py #!/usr/bin/env python3 自动化脚本示例根据时间自动调节家居环境 import sys import time from datetime import datetime from mijiaAPI import mijiaAPI, mijiaDevice def main(): api mijiaAPI() # 检查当前时间 current_hour datetime.now().hour if 6 current_hour 9: # 早晨模式 setup_morning_mode(api) elif 18 current_hour 22: # 晚上模式 setup_evening_mode(api) elif current_hour 22 or current_hour 6: # 夜间模式 setup_night_mode(api) def setup_morning_mode(api): 设置早晨家居模式 print( 启动早晨模式) # 缓慢开启卧室灯光 bedroom_light mijiaDevice(api, dev_name卧室主灯) for brightness in range(10, 80, 5): bedroom_light.brightness brightness time.sleep(1) # 打开窗帘 curtain mijiaDevice(api, dev_name电动窗帘) curtain.set(open, True) # 启动咖啡机如果有 try: coffee_maker mijiaDevice(api, dev_name咖啡机) coffee_maker.on True except Exception: pass # 设备不存在则跳过 def setup_evening_mode(api): 设置晚上家居模式 print( 启动晚上模式) # 调暗灯光开启氛围灯 main_lights [客厅主灯, 餐厅灯] for light_name in main_lights: try: light mijiaDevice(api, dev_namelight_name) light.brightness 40 light.color_temperature 3000 except Exception: continue # 开启电视和音响 try: tv mijiaDevice(api, dev_name电视) tv.on True except Exception: pass def setup_night_mode(api): 设置夜间模式 print( 启动夜间模式) # 关闭所有主要灯光 all_devices api.get_devices_list() for device_info in all_devices: if light in device_info[model].lower(): try: light mijiaDevice(api, diddevice_info[did]) light.on False except Exception: continue # 开启夜灯 try: night_light mijiaDevice(api, dev_name夜灯) night_light.on True night_light.brightness 5 except Exception: pass if __name__ __main__: main()️ 安全与最佳实践认证数据安全存储import json import os from pathlib import Path from cryptography.fernet import Fernet class SecureAuthManager: 安全的认证数据管理器 def __init__(self, key_pathsecret.key, auth_pathauth.enc): self.key_path key_path self.auth_path auth_path self.cipher self._get_cipher() def _get_cipher(self): 获取加密器 if not os.path.exists(self.key_path): key Fernet.generate_key() with open(self.key_path, wb) as f: f.write(key) else: with open(self.key_path, rb) as f: key f.read() return Fernet(key) def save_auth_data(self, auth_data): 加密保存认证数据 encrypted_data self.cipher.encrypt( json.dumps(auth_data).encode() ) with open(self.auth_path, wb) as f: f.write(encrypted_data) def load_auth_data(self): 解密加载认证数据 if not os.path.exists(self.auth_path): return None with open(self.auth_path, rb) as f: encrypted_data f.read() decrypted_data self.cipher.decrypt(encrypted_data) return json.loads(decrypted_data.decode())网络请求优化import requests import time from functools import lru_cache class OptimizedAPIClient: 优化的API客户端 def __init__(self, base_url, timeout10, retries3): self.base_url base_url self.timeout timeout self.retries retries self.session requests.Session() # 配置会话 self.session.headers.update({ User-Agent: MijiaAPI/1.0, Accept: application/json }) lru_cache(maxsize100) def get_device_info_cached(self, device_id): 缓存设备信息请求 return self._make_request(f/devices/{device_id}) def _make_request(self, endpoint, methodGET, dataNone): 带重试的请求方法 url f{self.base_url}{endpoint} for attempt in range(self.retries): try: if method GET: response self.session.get(url, timeoutself.timeout) else: response self.session.post( url, jsondata, timeoutself.timeout ) response.raise_for_status() return response.json() except requests.exceptions.RequestException as e: if attempt self.retries - 1: raise time.sleep(2 ** attempt) # 指数退避 def batch_request(self, requests_list): 批量请求优化 results [] for req in requests_list: try: result self._make_request(**req) results.append(result) except Exception as e: results.append({error: str(e)}) return results 社区生态与未来展望项目架构与模块解析米家API采用模块化设计便于扩展和维护核心API模块mijiaAPI/apis.py - 提供基础API接口设备控制模块mijiaAPI/devices.py - 设备类封装和高级控制错误处理模块mijiaAPI/errors.py - 异常类型定义和处理工具函数模块mijiaAPI/miutils.py - 通用工具函数示例代码demos/ - 丰富的使用示例常见问题解决方案Q: 登录失败或二维码不显示A: 确保网络连接正常尝试使用api.login(forceTrue)强制重新登录Q: 设备控制无响应A: 检查设备是否在线确认设备名称是否正确查看网络连接状态Q: 如何提高控制响应速度A: 减少不必要的API调用使用批量操作适当调整设备的sleep_time参数Q: 如何处理设备离线情况A: 实现重试机制和错误处理使用try-except捕获DeviceNotFoundError扩展开发建议插件系统开发- 创建可插拔的设备控制插件Web界面集成- 开发基于Flask或FastAPI的Web控制面板移动端应用- 使用Kivy或BeeWare开发跨平台移动应用语音助手集成- 集成更多语音助手平台数据分析平台- 构建设备使用数据分析平台社区贡献指南米家API作为开源项目欢迎社区贡献问题反馈- 在项目仓库提交详细的Issue报告代码贡献- 提交Pull Request改进功能或修复bug文档完善- 帮助改进文档和示例代码用例分享- 分享您的智能家居自动化方案通过Python控制米家设备您将获得前所未有的灵活性和控制力。无论是简单的定时开关还是复杂的场景联动米家API都能为您提供强大的技术支持。开始您的智能家居编程之旅打造真正个性化的智能生活体验【免费下载链接】mijia-api米家API使用Python控制米家设备项目地址: https://gitcode.com/gh_mirrors/mi/mijia-api创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

业务可观测性:用户行为链路追踪与忠诚度指标监控

业务可观测性:用户行为链路追踪与忠诚度指标监控

业务可观测性:用户行为链路追踪与忠诚度指标监控 一、DAU 跌了 15%,但没人知道为什么 一个 SaaS 产品的日活跃用户从 12 万降到了 10.2 万。运维说系统没故障,开发说最近没上线。产品团队花了两天分析,才发现是因为注册流程的第…

2026/9/24 5:16:26 阅读更多 →
Slug认证系统实现:Auth.js v5在Next.js 14中的最佳实践

Slug认证系统实现:Auth.js v5在Next.js 14中的最佳实践

Slug认证系统实现:Auth.js v5在Next.js 14中的最佳实践 【免费下载链接】slug 🌱 An open-source URL shortener built with T3 Stack. 项目地址: https://gitcode.com/gh_mirrors/slug/slug Slug是一个基于T3 Stack构建的开源URL缩短器&#xff…

2026/9/21 9:25:04 阅读更多 →
Vineyard视频卡片预览功能:PreviewCardView与VideoCardView交互设计

Vineyard视频卡片预览功能:PreviewCardView与VideoCardView交互设计

Vineyard视频卡片预览功能:PreviewCardView与VideoCardView交互设计 【免费下载链接】Vineyard Vine client for Android TV 项目地址: https://gitcode.com/gh_mirrors/vi/Vineyard Vineyard作为一款Android TV平台的Vine客户端,其核心交互体验围…

2026/9/22 19:10:55 阅读更多 →

最新新闻

家用电梯品牌怎么选?从驱动系统到安装维保的全维度解析

家用电梯品牌怎么选?从驱动系统到安装维保的全维度解析

我做了这么多年家用电梯相关的工作,最常被问到的一句话就是“家用电梯哪个品牌好”。说实话,这个问题每次听到我都得先愣一下,因为答案远没有一句“某某品牌不错”那么简单。家用电梯不是普通家电,它更像是给房子做的半定制机电系…

2026/9/24 22:22:22 阅读更多 →
巡检超自动化平台的核心能力矩阵

巡检超自动化平台的核心能力矩阵

一个真正的巡检超自动化平台,不应该只是“把人工巡检搬到电脑上”,而是从采集、分析、决策到处置的全链路智能升级。 以下六大核心能力,构成了巡检超自动化平台的完整能力矩阵。一、全栈纳管能力——万物可检,不留死角“支持SSH/S…

2026/9/24 22:22:22 阅读更多 →
Spring Boot与Vue.js健康管理信息系统设计实现与部署实践

Spring Boot与Vue.js健康管理信息系统设计实现与部署实践

我做了三年Java后端,最近帮一个学弟把他的毕业设计从零到一完整搭了一遍,题目是“基于Spring Boot与Vue.js的健康管理信息系统设计与实现”——说白了就是一个偏“养生”主题的全栈Web系统。这个题目在计算机毕业设计里属于典型的前后端分离项目&#xf…

2026/9/24 22:22:22 阅读更多 →
文献检索实战指南:布尔运算、数据库选型与检索式构建

文献检索实战指南:布尔运算、数据库选型与检索式构建

把题目整段粘进搜索框,回车,然后对着几万条结果发呆——这是我见过最多人查文献的方式,也是效率最低的方式。查文献看着是"搜一下"的事,实际上是设计一套查询方案的过程:主题怎么拆,关键词怎么扩…

2026/9/24 22:22:22 阅读更多 →
GPT-6 Sol 与 Claude Opus 5.5 同日发布:价格与额度重置

GPT-6 Sol 与 Claude Opus 5.5 同日发布:价格与额度重置

9 月 22 日,AI 圈像约好了似的:GPT-6 Sol 和 Claude Opus 5.5 同一天发布 这次让我最想立刻开测的,是价格和额度 GPT-6 Sol 的 API 标准价降到每百万输入 token $2、输出 token $10,对比 GPT-5.6 Sol 的 $4/$20&…

2026/9/24 22:22:22 阅读更多 →
汽车电子PCBA包工包料代工厂怎么选?2026年选型避坑指南

汽车电子PCBA包工包料代工厂怎么选?2026年选型避坑指南

汽车电子PCBA包工包料代工这个行当,水比大多数人想象的要深。我在这条供应链上摸爬滚打了十来年,见过太多项目因为选错代工厂,从"小批量试产"一路拖成"无限期搁置",也见过不少采购负责人被"低价包工包料…

2026/9/24 22:21:21 阅读更多 →

日新闻

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为…

2026/9/24 0:00:19 阅读更多 →
单细胞注释实战:基于Scanpy的标记基因与参考映射流程解析

单细胞注释实战:基于Scanpy的标记基因与参考映射流程解析

简介:一份基于单细胞RNA测序数据的细胞类型注释算法研究Python毕业设计源码,针对计算机相关专业正在做毕设或需要项目实战的学习者,可用于课程设计与期末大作业。项目代码完整、经导师指导评审通过,可直接运行,覆盖数据…

2026/9/24 0:00:19 阅读更多 →
C#源生成器实战:用增量生成器替代反射,告别AOT崩溃

C#源生成器实战:用增量生成器替代反射,告别AOT崩溃

第一次在项目里被反射卡住,是在一个老旧的WinForms模块里:几十个类依赖PropertyChanged通知,运行时反射读属性、发通知,每次启动慢半拍不说,一上.NET Native/AOT裁剪模式几乎全面崩盘。后来我把这段逻辑全部改成C#源生…

2026/9/24 0:00:19 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/24 14:34:13 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/24 9:10:42 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/24 14:33:56 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/24 12:50:34 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/24 14:33:48 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/24 12:49:17 阅读更多 →