- 博客(1133)
- 资源 (5)
- 收藏
- 关注
原创 C#之windows桌面软件第三课:完整的串口调试助手
接上一节,这节来编写一个完整的串口调试助手!using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Window...
2019-06-14 10:59:31
3315
6
原创 无人机自动悬停的实现方法(大疆无人机为例)
无人机自动悬停的实现方法 自动悬停是指将无人机固定在预设的高度位置与水平位置上,其实也就是一组三维座标。不过,无人机是如何知道自己的位置的呢?其实说起来也很简单,高度一般来说是通过超声波传感器(测量与地面的距离,比较少见)或者是气压计(高度会影响大气压的变化)来测量的,而水平位置的座标则由GPS模块来确定。当然,GP...
2019-05-27 19:03:31
21119
原创 不完全微分PID控制算法用C语言实现!
1.不完全微分PID控制算法框图2.不完全微分PID控制算法公式3.不完全微分PID控制公式用C语言实现微分先行的PID算法实现,包括位置型和增量型两种实现方式。(1)位置型void PIDRegulation(PID *vPID, float processValue){ float thisError; float thisDev; t...
2019-02-01 11:04:21
6189
1
翻译 微分先行PID控制算法用C语言实现!
1.微分先行PID控制算法框图 2.微分先行PID控制算法公式 3.微分先行PID控制公式用C语言实现微分先行的PID算法实现,包括位置型和增量型两种实现方式。(1)位置型void PIDRegulation(PID *vPID, float processValue){ float thisError; float c1,c2,c3,te...
2019-02-01 10:46:15
8535
4
原创 实时摄像头数据传输丢包问题
实时摄像头数据传输丢包问题做一个实时摄像头数据传输的项目,服务器可以向客户端的多个端口发送数据。问题:如果服务器只向一个端口发送数据,客户端只接受一个端口的数据,那么数据传输没问题。但是如果服务器向客户端的多个端口发送数据,而客户端之接收一个端口的数据,这时就会有丢包的现象。是什么原因?如何解决?解决方法:方法一:多线...
2018-09-29 17:10:06
6954
原创 STM8控制4位LED数码管显示数字
用4位LED显示数字#define STB_H GPIOC->ODR |= (uint8_t)(GPIO_PIN_2)#define STB_L GPIOC->ODR &= (uint8_t)(~GPIO_PIN_2)#define DATA_H GPIOE->ODR |=(uint8_t)( GPIO_PIN...
2018-07-27 09:30:13
10787
原创 移远NB-IOT模块的BC28与M26与BC26对比
一:引脚对比在16引脚接一个LED灯,如果模块能上网LED会闪烁。二:主要参数对比三:电压范围对比
2018-07-17 11:38:12
14498
1
原创 NBIOT 移远BC28模块+stm32开发板例程、教程(打通TCP、COAP协议)
为了开发者能够快速入门BC28的开发,加快开发者的项目进度,开发出此款针对BC28的stm32开发板和完善的发送网络数据的示例程序(TCP协议、COAP协议),程序流程逻辑清楚,注释完善,上手就可以玩转开发自己的BC28应用程序。MUC使用STM32L051C8T6型号。这款型号小巧灵活,特别适合用作为产品开发的型号,价格相对偏低同时又可以满足产品开发需求。我们的板子上使用stm32的低功耗串口(...
2018-07-06 17:33:30
24709
2
翻译 STM32F103+语音识别模块HBR640
STM32F103+语音识别识别模块HBR640先来看结果演示:用声音控制烧水壶烧水和关闭链接:https://weibo.com/tv/v/Hbb04FWkY?fid=1034:4326638951797661HBR640实物图HBR640框架结构图:串口工具:上位机串口协议: 官方给的STM32F...
2018-06-03 19:13:13
31342
18
原创 一个完整的DS1302时钟在STM32上的应用实例
一个完整的DS1302时钟在STM32上的应用(代码位置有点乱).整理后的完整代码https://blog.csdn.net/weibo1230123/article/details/80372790一个完整的DS1302时钟在STM32上的应用/*DS1302时钟芯片*/uint8_t read[] = {0x81,0x83,0x85,0x87,0x89,0x8b,0x8d};/...
2018-05-23 14:39:46
6887
5
原创 DS1302时钟芯片在STM32F0中的完整应用代码
DS1302在STM32F0中的应用DS1302在STM32F0中的应用/**********************第一:首先对端口进行配置****************///DS1302时钟端口定义void GPIO_Configuration(void) { GPIO_InitTypeDef GPIO...
2018-05-19 11:27:40
4163
1
原创 用Arduino检测环境中的温湿度
用Arduino检测环境中的温湿度使用的温湿度传感器是 SHT1X 温湿度传感器。其技术规格如下:全部校准,数字输出;接口简单(2-wire),响应速度快;超低功耗,自动休眠;出色的长期稳定性;超小体积(表面贴装);湿度范围 0—100%RH,温度范围-40℃—128.8℃测湿精度±4.5%RH,测温精度±0.5℃(25℃)模块尺寸:32X17mm传感器采用 2-wire 接口,数字输出,所以需要...
2018-04-22 21:06:38
5503
1
原创 Arduino 控制舵机
Arduino 控制舵机#include <Servo.h>Arduino自带的Servo函数及其语句,先来介绍一下舵机函数的几个常用语句吧。1、attach(接口)——设定舵机的接口,只有9或10接口可利用。2、write(角度)——用于设定舵机旋转角度的语句,可设定的角度范围是0°到180°。3、read()——用于读取舵机角度的语句,可理解为读取最后一条write()命令中的值。...
2018-04-22 19:20:30
3351
原创 用树莓派获取天气状况
用树莓派获取天气状况在树莓派上我们可以通过”wether”工具来以命令行的方式获取天气预报信息。首先当然是安装Weather工具,通过命令行 sudo apt-get install weather-util安装结束后便可以通过不通的方式获取天气预报了。最简单的获取天气状况的方法是使用ICAO代码(International Civil Aviation Organization Airport ...
2018-04-11 15:21:55
5998
原创 在 银河麒麟 V10 SP2(Kylin V10 SP2) 系统上部署YApi
在纯内网麒麟 V10 SP2 环境Docker 通过内网 YUM 源或 RPM 安装Docker Compose 通过 RPM 或二进制部署YApi 镜像通过内网 Harbor 或离线导入配置文件与数据持久化到本地只要基础组件(Docker)能装上,YApi 作为容器应用,天然适合内网离线部署。
2026-01-05 17:19:13
888
原创 华为云(Huawei Cloud)ECS(弹性云服务器)的实例规格名称规范
【代码】华为云(Huawei Cloud)ECS(弹性云服务器)的实例规格名称规范。
2026-01-05 15:08:58
237
原创 SpringBoot中Profile 多环境配置(dev/test/prod)详解
SpringBoot多环境配置详解:通过Profile机制(dev/test/prod)实现环境隔离。核心要点包括:1)使用application-{profile}.yml规范命名配置文件;2)通过启动参数、环境变量等方式激活指定Profile(优先级:命令行>系统属性>环境变量>默认配置);3)生产环境推荐通过环境变量注入敏感信息;4)Docker部署时应动态传入Profile参数。最佳实践强调配置分离、敏感信息保护和生产环境安全设置(如关闭ddl-auto)。
2026-01-04 16:02:38
355
原创 AI在研发效能领域的探索和应用(持续更新)
摘要:AI在研发效能领域的发展分为三个阶段:Copilot阶段提供PRD辅助、代码补全等工具支持;Agent阶段升级为需求设计、编程等智能助手;Owner阶段实现AI工程师独立完成需求。当前AI已覆盖研发全流程,从需求文档生成到代码评审、测试用例生成及运维排障,未来将逐步实现更高程度的自动化研发。
2025-12-31 15:25:58
170
原创 如何衡量单元测试质量?
衡量单元测试质量需关注七个维度:断言有效性(精准覆盖核心逻辑、边界和异常场景)、测试覆盖率(语句/分支/路径)、用例设计质量(独立/原子/可复现)、外部依赖隔离(Mock/Stub替代)、可维护性(参数化/可读性)、异常处理测试(预期异常和资源释放)以及执行效率(毫秒级响应)。建议采用自查清单确保各维度达标,如核心模块语句覆盖率≥80%、用例命名规范统一、避免依赖真实外部资源等。高质量单元测试应聚焦业务逻辑验证而非实现细节,在保障代码质量的同时保持低维护成本和高执行效率。
2025-12-31 14:39:26
876
原创 什么是研发效能?如何提升?
研发效能是通过价值流、交付流和反馈流三个层面实现业务价值最大化。提升路径分三步:在线化(全流程数字化协同)、标准化(固化最佳实践)、数字化(数据驱动改进)。核心支撑包括一体化效能平台(覆盖全生命周期)、效能实践体系(敏捷/DevOps等方法论)和智能度量系统(指标监测与优化)。三者形成"平台支撑实践-实践生成数据-数据反哺平台"的闭环,实现持续效能提升。
2025-12-31 11:12:22
148
原创 Java 提供了以下关键字和类来支持异常处理
Java异常处理机制通过try、catch、finally等关键字实现:try包裹可能异常的代码,catch捕获处理异常,finally执行必须运行的代码。throw手动抛出异常,throws声明方法可能抛出的异常。Exception类作为所有异常的父类,提供getMessage()、printStackTrace()等方法获取异常信息。这些机制共同构成了Java强大的异常处理体系。
2025-10-30 17:22:08
217
原创 什么是dirsearch、xray、durpsuite、sqlmap?
你提到的dirsearchxraydurpsuite(可能为笔误,推测是 )和sqlmap均为网络安全领域中常用的工具,主要用于 Web 应用的安全测试、漏洞检测或渗透测试。
2025-09-16 09:11:08
1144
原创 UI 自动化测试中“JS 单击”“Action 单击”和“Click 单击”区别
UI自动化测试中,三种点击方式的区别如下:1.常规Click触发完整事件流,模拟真实用户点击;2.JS单击仅触发click事件,可绕过部分限制但可能影响前端逻辑;3.Action单击通过动作链模拟复杂交互,适合悬停等场景。首选常规Click,特殊场景考虑JS或Action方式。
2025-09-02 09:58:11
1022
原创 UI自动化测试之Selenium元素定位8大方式
Selenium提供8种元素定位方式:1)ID定位 2)Name定位 3)ClassName定位 4)TagName定位 5)CSS选择器 6)XPath 7)LinkText定位 8)PartialLinkText。每种方法都通过find_element()函数实现,需导入By模块指定定位方式。ID定位最精确,LinkText适用于超链接,XPath和CSS选择器更灵活。开发者可根据页面元素特点选择最适合的定位方式编写自动化测试脚本。
2025-09-02 09:22:59
670
原创 根据 TXT 文件内容生成多个文件夹
这是一个Bash脚本,用于根据TXT文件内容批量创建文件夹。主要功能包括:检查输入TXT文件是否存在,创建输出根目录,逐行读取TXT内容(跳过空行)并生成对应文件夹。脚本会显示每个文件夹的创建状态,最后统计处理行数和实际创建的文件夹数量。适用于Linux/WSL环境,Windows路径需转换为/mnt/d/格式。
2025-08-27 14:36:48
551
1
原创 如何去掉前端输入框的前后空格?
摘要: 前端去除输入框前后空格的解决方案包括: 原生JS:通过blur或submit事件监听,使用trim()处理输入值。 React:在onChange(实时)或onBlur(延迟)事件中更新state。 Vue:通过计算属性、v-model.lazy或自定义指令处理。 注意事项: 必须结合服务端验证(前端可被绕过)。 使用safeTrim避免null/undefined报错。 需保留中间空格时仅用trim(),禁止所有空格可用正则替换。 原则:前端优化体验,服务端确保安全。
2025-08-26 17:26:45
1377
原创 如何对springboot mapper 编写单元测试
Spring Boot中对MyBatis Mapper进行单元测试的核心是使用H2内存数据库模拟真实环境。关键步骤包括:配置测试专用的H2数据源和MyBatis依赖;通过schema.sql和data.sql初始化测试数据;编写CRUD测试用例并使用@Transactional实现自动回滚;可通过SqlSessionFactory进行轻量级测试优化速度。注意处理Mapper注入、H2语法兼容性等问题,利用H2控制台和SQL日志进行调试。这种方法能有效验证SQL逻辑,确保数据库交互的正确性。
2025-08-26 17:24:35
1202
原创 如何理解缺陷密度和缺陷逃逸率?
摘要: 缺陷密度(Defect Density)和缺陷逃逸率(Defect Escape Rate)是软件质量评估的核心指标。缺陷密度以单位代码或功能模块的缺陷数量衡量开发质量,计算公式为缺陷总数/软件规模(如KLOC或功能点),数值越高表明代码质量越差。缺陷逃逸率则反映测试有效性,计算为发布后缺陷数/总缺陷数×100%,逃逸率低说明测试覆盖充分。两者区别在于:缺陷密度关注开发阶段的代码质量,而缺陷逃逸率聚焦测试漏检风险。实际应用中需结合成本与场景优化,例如通过自动化测试降低逃逸率,或针对性重构高密度模块。
2025-08-26 14:58:44
1778
原创 AI自动化测试,解决传统自动化测试中脚本维护成本高、用例覆盖不全、缺陷发现滞后等痛点
AI自动化测试通过机器学习、自然语言处理等技术,有效解决了传统测试中脚本维护成本高、用例覆盖不全等痛点。典型应用包括:智能生成测试用例(Testim.io提升金融客户用例效率60%)、UI元素定位(Playwright降低电商脚本维护成本70%)、缺陷预测(IBM AppScan减少银行人工验证时间70%)、视觉测试(Applitools将UI回归测试从4小时缩短至15分钟)以及性能优化(Gatling提升物流平台性能瓶颈发现率50%)。这些案例表明,AI正将自动化测试升级为智能决策系统,显著提升效率和质量
2025-08-20 10:46:57
1636
原创 RabbitMQ处理流程详解
RabbitMQ 是基于 的消息中间件,核心功能是实现应用间的和。其处理数据的流程围绕「生产者 → 交换器 → 队列 → 消费者」的核心路径展开,涉及多个关键组件(如虚拟主机、路由键、绑定等)。
2025-08-19 16:17:44
760
原创 Map接口有哪些方法
Java中的Map接口定义了键值对集合的核心方法,主要包括:1)基本操作(put增删改查、get取值、remove删除、containsKey/Value判断存在);2)批量操作(putAll批量添加、clear清空);3)视图获取(keySet键集合、values值集合、entrySet键值对集合);4)Java8+高级方法(getOrDefault安全取值、putIfAbsent条件插入、replace条件替换、merge/compute函数式操作)。这些方法为HashMap等实现类提供了统一操作规范,
2025-08-19 16:05:43
888
原创 Nginx配置文件包含哪些字段?
Nginx配置文件采用模块化分层结构,核心配置字段按功能分为: 全局配置(main):设置工作进程数、运行用户、日志路径等基础参数。 事件处理(events):定义连接处理模型(如epoll)、并发连接数等。 HTTP核心(http):包含MIME类型、压缩、缓存、虚拟主机(server)、反向代理(upstream)及请求路由(location)。 TCP/UDP代理(stream):用于四层协议代理(如数据库、DNS)。 邮件代理(mail):配置IMAP/POP3/SMTP服务。 关键指令示例: 性能
2025-08-19 15:54:29
896
原创 什么是AKSK?
AKSK是云服务的身份验证凭证对,包含AccessKeyID(公开标识)和SecretAccessKey(机密密钥)。前者用于身份识别,后者用于请求签名验证。工作原理是通过API请求时,SK生成数字签名,云服务验证签名一致性后处理请求。主要用于程序化访问、命令行工具和第三方服务集成。安全提示:SK必须严格保密,避免明文存储,推荐使用密钥管理服务,定期轮换密钥,并过滤日志中的敏感信息。临时凭证更安全。AKSK确保只有合法持有者能访问云资源。
2025-08-19 09:51:33
1178
原创 Spring 框架中,@EnableScheduling和 @Scheduled详解
【摘要】Spring框架中,@EnableScheduling和@Scheduled是实现定时任务的核心注解组合。@EnableScheduling用于全局启用定时任务支持,@Scheduled定义具体任务的执行规则,支持fixedRate(固定频率)、fixedDelay(固定延迟)和cron表达式三种调度方式。使用时需注意线程池配置以避免任务阻塞,推荐通过实现SchedulingConfigurer接口自定义多线程调度器。常见问题包括任务不执行(需检查注解和表达式)、并发执行(需同步控制)及分布式环境下
2025-08-15 17:03:39
1491
原创 Spring Cache常见注解详解
本文详细介绍了Java开发中常用的缓存注解,涵盖SpringCache抽象、JCache标准和部分缓存实现的特定注解。SpringCache核心注解包括:@Cacheable(缓存结果)、@CachePut(强制更新)、@CacheEvict(清除缓存)、@Caching(组合操作)和@CacheConfig(类级配置)。JCache提供了类似功能的注解(如@CacheResult、@CacheRemove)。其他缓存库(如Ehcache)的特定注解正逐渐被SpringCache整合。建议优先使用Sprin
2025-08-15 11:15:59
1155
原创 Windows 系统上安装 Redis
本文介绍了在Windows系统上安装Redis的两种方法:手动解压安装和通过Chocolatey安装。手动安装步骤包括下载解压Redis、修改配置文件、创建数据目录、启动服务并验证,适合开发者灵活配置。Chocolatey方式则更快捷但版本可能较旧。文中详细说明了配置文件redis.windows.conf的关键参数设置,如IP绑定、端口、密码认证和持久化选项,并针对常见问题如端口占用、认证失败等提供了解决方案。建议将Redis安装为系统服务实现开机自启,并给出了完整的验证方法。
2025-08-15 10:45:21
2102
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅