- 博客(204)
- 收藏
- 关注
原创 Java高级必备技能——面向对象设计(OOD)的五大原则(SOLID)
里式替换原则不是“代码让子类能编译通过”,而是“子类在语义上必须是父类的完全替代品”。它的本质是要求我们建立正确的抽象模型,而不是为了复用代码而强行进行继承。一个类应该有且仅有一个引起它变化的原因。软件实体(类、模块、函数等)应该对扩展开放,对修改关闭。客户端不应该被迫依赖于它不使用的方法。高层模块不应依赖低层模块,二者都应依赖抽象;抽象不应依赖细节,细节应依赖抽象。最后,我用一张逻辑依赖链单一职责(S)打造干净的父类 →接口隔离(I)确保父类接口精炼 →里式替换(L)保证子类能完美替代父类 →。
2026-07-07 00:05:14
147
原创 Docker第4天:Docker实例:安装Ubuntu、CentOS、Nginx学习整理
Docker官方镜像大幅降低环境搭建成本,Ubuntu、CentOS用于快速拉起Linux测试环境,Nginx用于一键部署Web服务。整套流程遵循「搜索镜像→拉取→创建容器→进入/访问服务」标准步骤,掌握文中通用命令后,Redis、MySQL、Java等其余官方镜像均可套用相同操作逻辑,是Docker入门最基础的实操能力。
2026-07-02 21:25:21
167
原创 Docker第3天:Dockerfile、Compose、Swarm、Machine学习整理
学习完镜像、容器基础操作后,日常开发与集群部署离不开三套核心工具:Dockerfile自定义镜像、Docker Compose单机多服务编排、Docker Swarm多主机集群。Dockerfile是纯文本构建文件,通过一系列指令定义镜像分层结构,替代手动提交容器的低效方式,是标准化打包的核心手段。Dockerfile:基础层,所有自定义镜像必须使用,适用于任何容器场景;Docker Compose:单机多服务,本地开发、测试环境;Docker Swarm:多主机小型集群,轻量生产环境;
2026-06-25 23:28:44
334
原创 嵌入式测试学习第 43 天:变频冰箱主板嵌入式FCT整机测试
FCT工装探针板接口定义硬件组成:工控主机、多路程控交直流电源、DAQ数据采集卡、继电器模拟负载矩阵、NTC信号模拟源、光敏显示检测模块、串口日志采集模块、声光报警;核心功能:模拟全部NTC温度传感器任意阻值,给主板ADC输入标准温度信号;模拟门磁开关、按键矩阵输入电平;采集压缩机变频通讯报文、继电器输出电压/电流;摄像头+光敏采集数码管、LED显示是否完整点亮、无缺段;全程抓取UART调试串口日志,自动识别ERROR故障码、通讯失败告警;
2026-06-25 23:03:24
473
原创 嵌入式测试学习第 42 天:智能音箱嵌入式测试拆解
作用:隔绝外界环境噪声,全自动测试扬声器频响、总谐波失真THD、声压级;搭配仿真嘴模拟人声,测试4麦阵列拾音、AEC回声消除、远场唤醒性能;核心判定指标:频响20Hz~20kHz±3dB,THD≤1.5%,3米远场唤醒率≥95%,24小时误唤醒≤0.5次。消声室声学全指标、4麦阵列AEC回声消除远场语音、WiFi+BLE 2.4G共存干扰、市电宽电压电源可靠性;四大高频故障根源(智能音箱量产最高发):① 音频Codec I2C时序低温偏移,无声、播放失真;
2026-06-24 22:35:37
371
原创 Docker第2天:容器、镜像、网络、仓库
验证HelloWorld、容器全生命周期管理、镜像增删构建、端口映射与容器互联、Docker Hub镜像仓库全套实操内容。启动容器并修改内部环境(如apt更新、安装软件);exit退出容器;commit提交生成新镜像docker commit -m "系统更新" -a "作者名" 容器ID 自定义镜像名:v2-m提交备注,-a标注作者。创建自定义bridge网络两个容器挂载同一网络进入容器ping对方容器名可直接连通,无需IP后台服务进入容器优先使用,不要用attach,避免误退出停服务。
2026-06-24 22:31:21
341
原创 Docker第1天:安装+加速配置整理
Docker 底层依赖 Linux 内核 Namespace、Cgroups 实现容器隔离,Windows、macOS 系统本身不具备原生 Linux 运行环境,因此本地开发需要借助 Docker Desktop 内置虚拟化层间接运行容器;而 Ubuntu、Debian、CentOS 这类 Linux 发行版自带 Linux 内核,可直接安装原生 Docker Engine 服务用于线上服务器部署。
2026-06-23 23:17:35
424
原创 嵌入式测试学习第 41 天:AR智能眼镜嵌入式测试拆解
作用:全自动检测光波导FOV视场角、画面畸变、亮度均匀性、MTF清晰度、色域、MTP成像延迟;模拟户外强光/室内暗光多光照环境成像测试;核心判定指标:畸变≤1.5%、亮度均匀度≥80%、运动延迟≤20ms(防眩晕标准)。光波导光学成像延迟测试、6DoF SLAM多传感器同步、高算力热管理降频、WiFi+BLE同频共存干扰;四大高频故障根源(AR量产最高发):① IMU与SLAM相机时序不同步,导致空间追踪漂移、画面飘移;② 满载渲染算力过高,发热超标触发GPU降频,投屏卡顿;
2026-06-23 22:47:55
468
原创 Docker:入门前了解
在微服务、云原生、CI/CD 持续交付全面普及的当下,Docker 已经成为后端开发、运维、DevOps 工程师的必备核心技能。Docker 和虚拟机到底有什么区别?镜像、容器、仓库、Dockerfile 到底是什么关系?Docker 架构是怎么运行的?为什么它更轻、更快?日常开发、上线、自动化部署到底怎么用 Docker?本文整合菜鸟教程全套 Docker 基础内容,结构化梳理并补充实战理解,一篇文章吃透 Docker 完整基础体系,适合入门学习、面试复习。
2026-06-22 23:48:13
200
原创 嵌入式测试第 40 天:智能手表/手环嵌入式测试拆解
可伸缩治具屏蔽仪小型穿戴专用屏蔽仪超低功耗分层测试、多传感器健康算法精度、BLE蓝牙长连接稳定性、磁吸充断电存储容错;四大高频故障根源(穿戴设备最高发):① 磁吸充电中途断电损坏Flash,运动数据丢失;② 长时间心率采集线程阻塞触发看门狗随机重启;③ 内存泄漏导致静置漏电,续航大幅缩水;④ 2.4G WiFi同频干扰,蓝牙同步频繁断连;日志排障核心关键字对应故障::蓝牙弱信号/干扰断连:长期运行内存泄漏、功耗超标:低温触控失灵、抬手不亮屏:传感器采集长任务阻塞。
2026-06-22 22:46:40
622
原创 Go学习第11天:包管理 + VSCode开发
Go Modules是Go1.11引入、Go1.16默认启用的官方依赖管理方案,彻底替代老旧GOPATH模式,解决依赖版本冲突、项目路径限制、构建不可复现等痛点。项目根目录必备文件,记录模块名称、Go最低版本、所有依赖、替换/排除规则。// 模块路径(导入包时使用,一般填仓库地址)// 当前项目要求Go最低版本go 1.22// 依赖列表:包路径 + 语义化版本v主.次.补丁require (golang.org/x/text v0.13.0 // indirect 代表间接依赖。
2026-06-19 00:11:05
176
原创 嵌入式测试学习第 39 天:蓝牙耳机嵌入式测试拆解
充电盒翻盖寿命试验机模拟用户反复开合充电仓,可设置0180°开合角度、550次/分钟,循环最高100万次;测试后检查翻盖铰链、充电弹片接触、开盖自动开机逻辑是否失效。微跌落试验机300mm高度自由跌落,模拟口袋滑落、桌面掉落,双工位同时测试,跌落1000次后复测蓝牙连接、充电、音频功能,无断连、无杂音、无充电失效为合格。一拖四蓝牙老化测试仪7寸触控屏,4通道同时连接耳机,自动循环播放音乐、通话、切换设备、断连重连,连续72小时无人值守老化,自动记录RSSI信号、电流、断连次数、异常日志。
2026-06-19 00:01:01
384
原创 Go学习第10天:类型断言 + 组合替代继承 + 主流IDE开发工具
老开发遗留方案,需要手动安装gocode、MinGW调试工具,配置繁琐,新手直接放弃,优先VSCode。外层结构体定义同名方法,会优先执行自身方法,内嵌方法被遮蔽;匿名嵌入结构体后,外层结构体自动拥有内嵌的全部方法,自然实现对应接口,完成多态。支持Windows/Mac/Linux,内置编译、运行、调试按钮,无需配置终端;,内层所有字段、方法自动提升到外层,可直接调用,模拟继承效果。缺点:插件少,UI老旧,生态远不如VSCode/GoLand。内嵌结构体拥有字段名,访问必须通过字段名,不会自动提升方法。
2026-06-17 23:58:08
270
原创 嵌入式测试学习第 38 天:智能小家电嵌入式测试
USB转TTL串口模块:抓取主控完整运行日志,定位死机、重启、数据异常SSCOM串口工具:115200波特率,保存全量日志、检索ERROR/Reset报错关键字直流功率分析仪:测试待机功耗、加热满载功耗,核对能效国标多通道温度巡检仪:同步采集腔体、加热管、NTC传感器实时温度,验证温控算法根因:写入EEPROM无缓存保护,中途断电存储分区损坏;优化:采用双备份分区,写入完成后标记有效数据。强安全规范(防干烧、开门断电)、低功耗、WiFi IoT、OTA远程升级、频繁断电存储容错。
2026-06-17 23:54:45
421
原创 Go学习第9天:并发编程 + 文件操作 + 正则表达式
本文整理三大实用模块,每个章节包含,适配 VSCode + Go Modules 开发环境,兼顾基础使用与实战场景。
2026-06-16 22:20:48
308
原创 嵌入式测试学习第 37 天:异常场景测试:断电、拔插、干扰、非法指令
异常场景测试属于嵌入式可靠性鲁棒性核心测试项,模拟现场真实恶劣突发工况,验证软硬件容错、自恢复、故障隔离能力,提前规避现场变砖、卡死、通信永久失效、数据丢失等批量售后问题。全文分为四大模块:断电测试、接口反复拔插测试、电磁/射频干扰测试、非法指令容错测试,每部分配套工业实拍可显示设备图、测试目的、工具、完整流程、合格标准、真实故障日志案例、典型bug根因。断电测试核心风险:文件系统损坏、OTA变砖、配置丢失、欠压随机重启;插拔测试核心风险:接口弹片疲劳、短路烧芯片、总线挂死死机;干扰测试核心风险。
2026-06-16 22:12:43
379
原创 嵌入式测试学习第 36 天:串口日志分析、通过日志定位简单问题
刚上电正常,几小时后卡顿,最后死机重启。Watchdog Reset 是什么?看门狗超时复位,主线程卡死、没喂狗。日志突然中断无报错?SPI/I2C总线挂死,静默死机。串口乱码先查什么?波特率 → GND接线 → 数据位/校验位。Hard Fault 原因?野指针、数组越界、栈溢出。
2026-06-14 22:28:53
353
原创 Go学习第8天:接口 + 泛型 + 错误处理
type 接口名 interface {方法名1(参数列表) 返回值列表方法名2(参数列表) 返回值列表// ... 多个方法示例// 定义 Shape 接口,约定两个行为:求面积、周长// 自定义数字约束// 通用加法函数通过结构体实现 error 接口// 自定义除法错误Dividend int // 被除数Divisor int // 除数// 实现 error 接口。
2026-06-14 21:45:01
323
原创 Go学习第7天:Map集合 + 递归函数 + 类型转换
延续前文学习体系,本文讲解三大核心知识点,每部分包含,代码可直接在 VSCode + Go Modules 环境运行。
2026-06-13 22:21:09
284
原创 嵌入式测试学习第35 天:蓝牙、WiFi嵌入式设备测试基础概念
低功耗、连接稳定、兼容性。发射功率、接收灵敏度、RSSI、功耗电流。断连、丢包、功耗超标、扫描不到。
2026-06-13 22:03:49
407
原创 嵌入式测试学习第 34 天:常见bug类型:死机、重启、数据错乱、通信丢包
存进去的数据读出来不对、显示乱码、传感器数据跳变、Flash 读出乱码。:字节序错误、缓冲区溢出、未初始化、Flash 擦写错误、时序不匹配。:设备电源灯亮,但程序不动、按键无反应、串口停止打印、屏幕定格。:发送 100 个包,只收到 90 个;数据断断续续、时通时断。:硬件复位触发、看门狗复位、电源掉电、BOD(电压监测)复位。:缓冲区满、中断优先级不对、时序错误、干扰、硬件接触不良。:程序跑飞、死循环、总线挂死、硬件异常(晶振/电源)。:设备突然自动重启、循环启动、日志反复从头开始。
2026-06-12 22:58:57
212
1
原创 Go 学习第6天:结构体 + 切片 + range遍历
使用type 结构体名 struct {字段名1 字段类型1字段名2 字段类型2...age intvar u User = {"李四", 25}// 定义结构体指针,指向 u// 指针访问字段:Go 语法糖,直接使用 .// 通过指针修改原结构体p.age = 26fmt.Println(u) // {李四 26}
2026-06-12 22:53:49
305
原创 嵌入式测试学习第33 天:压力测试、反复开关机、反复插拔接口测试
压力测试:测长期稳定性、极限负载、散热、资源管理,偏向软硬件综合可靠性;反复开关机:测电源、引导程序、文件系统、Flash容错,是设备“生存底线”测试;反复插拔接口:测机械结构、电气接触、接口防护,偏向硬件结构与物理可靠性。
2026-06-11 22:57:16
492
原创 Go学习第5天:变量作用域 + 数组 + 指针
模块核心要点变量作用域代码块划分作用域;局部优先遮蔽全局;局部变量必须使用;for 循环变量区分:=和赋值数组长度固定、长度属于类型;值类型(传参拷贝);索引从 0 开始,越界报错;...自动推断长度指针取地址、解引用;默认nil,解引用前必判空;用于函数修改原始变量;无指针运算。
2026-06-11 22:29:39
346
原创 嵌入式测试第 32 天:升级测试:固件OTA升级、断点续传、回滚测试
固件升级是嵌入式设备生命周期管理的核心功能,OTA空中升级凭借无需拆机、远程运维的优势,广泛应用于物联网模块、工控终端、智能硬件、车载设备等产品。OTA实现版本迭代,断点续传保障复杂网络下的传输可靠性,版本回滚作为故障兜底方案。测试过程中,不仅要验证正向流程,更要重点模拟断电、断网、固件损坏、低压等极端场景,结合串口日志、分区状态、功能回归多维度判断。该模块是嵌入式测试、IoT设备测试的高频考点与核心工作内容,熟练掌握流程与故障定位方法,可有效规避产品量产与运维风险。
2026-06-10 22:32:15
1034
原创 Go学习第4天:条件、循环语句+函数
无限循环忘记加break,程序卡死;for-range遍历中文字符串时,索引为字节位置,建议使用rune;嵌套循环中break仅跳出当前层,多层退出必须使用标签;循环条件书写错误(如i < 5写成i <= 5),导致循环次数异常。// 无返回值func 函数名(参数列表) {函数体// 单个返回值func 函数名(参数列表) 返回值类型 {函数体return 返回数据// 多个返回值func 函数名(参数列表) (返回值1类型, 返回值2类型) {函数体。
2026-06-10 22:04:53
313
原创 Go学习第3天:变量+常量+运算符
const (b // 1d = "ha" // 自定义值,iota+1 → 2f = 100 // 自定义值,iota+1 → 4。
2026-06-09 23:33:06
260
原创 嵌入式测试学习第 31 天:兼容性测试:版本兼容、外设兼容、硬件版本兼容
嵌入式兼容性测试是保障产品跨版本升级、多外设适配、硬件迭代量产的核心测试环节,核心目标是验证软件/硬件在不同固件版本、不同外设型号、不同硬件PCB版本下的功能一致性、通信稳定性与数据可靠性,避免升级变砖、外设失灵、批量返工等量产风险。版本兼容(固件/软件兼容):新旧固件版本、APP与设备、协议版本之间的互适配,确保升级/降级后功能正常、数据不丢失;外设兼容(接口/设备兼容):主控板与不同品牌/型号/批次外设(传感器、显示屏、存储、通信模块)的适配,保证接口通信稳定、功能一致;
2026-06-09 23:26:31
636
原创 Go学习第2天:程序结构+基础语法+数据类型
一个完整可运行Go程序由包声明、导包、函数、变量、语句表达式、注释6部分构成,可执行程序必须包含与main()入口函数。说明是程序执行入口,程序运行自动优先执行main;存在init()函数时,init在main之前自动执行。示例// 初始化函数,优先于main执行fmt.Println("init优先执行")// 程序主入口fmt.Println("main函数执行")踩坑:可执行程序缺少main函数,go run编译失败;main不允许设置入参和返回值。
2026-06-08 23:17:14
384
原创 嵌入式测试学习第 30 天:功耗测试、待机电流、工作电流测试
嵌入式设备(尤其电池供电的IoT、可穿戴、工业终端)的功耗、待机电流、工作电流是决定电池续航、系统稳定性与产品合规性的核心指标。功耗测试核心是精准测量设备在静态待机、动态工作、峰值负载下的电流/功率值,排查漏电、异常耗电、电源设计缺陷,确保产品满足低功耗规格(如待机μA级、工作mA级)。嵌入式功耗测试核心是精准区分待机与工作状态、捕捉静态μA级与动态mA级电流、结合场景验证稳定性。待机电流决定电池闲置寿命,工作电流决定运行续航,峰值电流影响系统稳定性。万用表测静态、示波器测动态、功耗分析仪做全场景验证。
2026-06-08 20:23:41
367
原创 嵌入式测试学习第 29 天:嵌入式稳定性测试:长时间挂机、老化测试
嵌入式稳定性挂机、老化测试是硬件量产前核心验证项目,核心目的是加速暴露元器件虚焊、内存泄漏、电源不稳、散热不良、程序逻辑漏洞等早期隐性故障,通过长时间满载运行+环境应力模拟,筛选劣质样机,保证设备批量出厂后满足工业、车载、物联网设备长期不间断服役需求,工业级产品常规挂机7×24h(168h),车规产品老化可达500~1000h。下文结合实景测试图片,从测试分类、环境搭建、实操流程、监控方案、故障识别、验收标准全维度讲解。
2026-06-05 19:41:48
670
原创 嵌入式测试学习第 28 天:网络调试助手使用、TCP服务端客户端实操
NetAssist(俗称网络调试助手)是国内嵌入式行业通用绿色免安装调试软件,由铭心网络开发,诞生二十余年,是硬件测试工程师标配工具,解压后单exe文件直接运行,兼容WinXP~Win11全系统,32/64位系统通用,核心用于TCP/UDP报文收发、嵌入式网口通信调试、上位机联调、设备协议校验、故障报文抓取排查。日常测试落地场景嵌入式设备上电主动上报温湿度、开关量数据,电脑模拟服务器接收数据;调试设备内置TCP服务,电脑下发控制指令启停继电器、读取设备参数;
2026-06-04 23:53:40
775
原创 Go学习第1天:入门
把当前文件夹变成一个【Go 项目】,让 Go 能管理你的代码、依赖包、版本。没有它,Go 不知道这是一个项目,就不能正常编译、运行、导包。统一官网下载地址:https://go.dev/dl/,国内加速:https://golang.google.cn/dl/不用切换系统,本机一键编译其它系统可执行文件,通过。如果没有执行上面2的初始化操作这里执行。升级:直接下载新版msi覆盖安装。(系统源版本偏低,不推荐开发)添加到系统PATH环境变量。输出版本号即安装成功。,双击安装,默认路径。
2026-06-04 22:46:47
193
原创 AI学习——Docker 打包与部署
Docker = 把你的代码 + 环境 + 依赖全部打包成一个“压缩包”(镜像)在哪都能跑不用装 Python、不用装库服务器/本地/云端完全一致答辩、部署、展示零环境问题。
2026-06-03 22:33:03
186
原创 嵌入式测试学习第 27 天:网络基础:IP、子网掩码、TCP/UDP基础
IPv4是局域网设备唯一通信编号,点分十进制4段数字,每段0~255,嵌入式设备(ESP8266、W5500)入网必须配置IP,常用局域网网段。配图说明:TP-LINK路由器后台LAN设置页,可手动修改局域网网关IP(默认)、子网掩码,DHCP自动分配IP,嵌入式设备出厂调试常参照此配置网段。IP/掩码/网关配置→接线供电→路由器DHCP开启;UDP测试:重点测丢包率;TCP测试:重点测连接稳定性、断线重连;W5500/ESP8266调试优先开串口,查看IP获取日志(参考ESP8266串口截图)
2026-06-03 22:30:06
581
原创 AI学习——FastAPI 接口封装
FastAPI = 最快、最简单把 Python 代码变成 API 的工具1分钟写接口自动生成可视化文档支持 POST/GET适合把Agent、RAG、总结工具做成接口供外部调用把 网页总结Agent 封装成 API → 别人发 URL → 你返回结构化笔记外部传入urlAPI 内部调用 Agent返回结构化笔记支持所有前端/后端/小程序调用。
2026-06-02 21:56:54
370
原创 嵌入式测试学习第 26 天:SPI通信协议基础、主从模式、速度特点
SPI(Serial Peripheral Interface,串行外设接口),高速同步全双工串行总线,摩托罗拉推出,嵌入式板间高速通信首选协议。全双工收发、无设备地址、靠独立片选选中从机、传输速率远高于I2C;适用场景:W25Q串行Flash、SPI液晶屏、ADC模数芯片、TF卡、射频模块、FPGA外设;通信距离:板内短距离(1米以内),长线易受干扰。图片特征:标注Master(主机)、Slave(从机),4根信号线两两对接,清晰区分MOSI/MISO/SCLK/CS走向。SCLK(串行时钟)
2026-06-02 20:54:27
468
原创 AI学习——Gradio快速界面
✅ 上传 TXT/PDF/MD 文档。✅ 自动分块 + 存入向量库。✅ 基于 RAG 检索回答。✅ 聊天式问答(带记忆)
2026-06-01 21:52:38
379
原创 嵌入式测试学习第 25 天:I2C通信协议基础、拓扑、读写逻辑
I2C(Inter-Integrated Circuit,集成电路总线),半双工同步串行通信总线,由飞利浦公司推出,是嵌入式设备最常用的近距离板内通信协议。仅两根信号线 + 公共地,布线简单、硬件成本低;通信距离:板内短距离通信(几十厘米内),不适合长线缆;典型应用:温湿度传感器、OLED屏、EEPROM、RTC时钟、加速度传感器等外设。一主多从:单条总线最多可挂载127个从设备(7位地址);线序极简:两根信号线即可完成多设备通信;地址寻址:靠设备地址区分目标从机,无需额外片选线;
2026-06-01 21:09:44
642
原创 嵌入式测试学习第 24 天:串口通信详细流程、收发数据原理
高电平(3.3V)逻辑1:高电平逻辑0:低电平接线铁律:TX↔RX、RX↔TX、GND必连参数铁律:波特率/数据位/停止位/校验位完全一致波形规律:空闲高 → 起始低 → 8位数据 → 停止高排查顺序:接线 → 驱动 → 串口 → 参数 → 波形 → 固件。
2026-05-31 23:19:36
455
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅