- 博客(378)
- 资源 (2889)
- 收藏
- 关注
原创 Python YOLOv5 7.0 基于深度学习的口罩检测识别系统
大约11200张佩戴口罩和未佩戴口罩的人脸图片,其中带口罩的占60%~70%。标注的标签有VOC和YOLO两种格式,分别存储在xml和txt文件中。根据YOLOv5源码一步一步进行训练、检测的流程说明,包括基本参数的修改说明,部分代码的注释等。可以把数据集的图片和标注,按照训练集、验证集、测试集设定的比例进行随机分割。根据标注,在数据集的图片上画出框框,这个可以用来验证数据集是否标注正确。可以把VOC格式的标注转换成YOLO格式的。可以把YOLO格式的标注转换成VOC格式的。40页左右的相关设计报告。
2024-06-08 17:16:17 689 1
原创 GD32 支持IAP的bootloader开发,使用串口通过Ymodem协议传输固件(附代码)
关于IAP的原理和Ymodem协议,本文不做任何论述,本文只论述bootloader如何使用串口通过Ymodem协议接收升级程序并进行IAP升级,以及bootloader和主程序两个工程的配置注意事项。实验板子主芯片:GD32F103C8T6。
2024-01-07 23:44:16 1805
原创 海天注塑机数据采集_弘讯串口控制器数据采集
本方式适用于弘讯控制器使用串口通信的TECH系列、AK系列,比如Tech1、Tech2、AK628、AK668等。
2023-09-16 15:06:38 1227
转载 CNC数控机床数据采集,CNC数据采集
1,采用SDK开发包采集,比如三菱、发那科、海德汉、大卫、华中数控、凯恩帝、沙迪克、牧野电火花、台湾宝元、上海来钠克、精雕等等。2,OPC UA/DA,比如西门子、力士乐。3,直接采集PLC,比如西门子。4,协议采集,比如西门子、三菱、发那科、海德汉、广数、新代、兄弟、马扎克smart/smooth/640/matrix。5,IO采集,当某个型号无法用上述方法采集时,可以考虑IO采集,IO采集的数据有限,通常是产量、运转次数、运行时间这类型的生产数据。可联系扣扣17082750。
2023-09-16 14:55:01 1683
原创 【硬件+代码】STM32F103_FreeRTOS_扫地机器人_带支持IAP的Bootloader
使用STM32F103芯片,FreeRTOS系统开发的扫地机器人项目,支持多种外设和功能,比如电机、按键、LED、ADC(电池温度检测、边刷电流检测和放电电流IBAT)、电池管理、陀螺仪、掉落检测、悬空传感器、碰撞传感器、超声波距离传感器、垃圾盒检测、捕获输入等。Bootloader支持IAP功能,可方便升级固件。一个学习STM32不可多得的项目,通过该项目可以熟悉STM32各种片内资源的使用。
2023-04-02 12:36:00 2561
原创 【毕业设计】Python_基于DFM模型AHP算法的学生消费行为分析
(1)分析学生的消费行为和食堂的运营状况,为食堂运营提供建议。(2)根据学生的整体校园消费行为,选择合适的特征,构建模型,分析每一类学生群体的消费特点。(3)构建学生消费细分模型,为学校判定学生的经济状况提供参考意见。
2023-01-29 21:31:19 1133 2
原创 【毕业设计】Python_学生校园消费行为
分析学生的消费行为和食堂的运营状况,为食堂运营提供建议。构建学生消费细分模型,为学校判定学生的经济状况提供参考意见。
2023-01-01 19:49:49 1715
原创 Python_机器学习_股市情感分析
那段时间市场的疯狂,让人深刻地明白:某些时候,股票市场这个抽象、复杂的系统,反映的不再是价值与供需,而仅仅是人的贪婪与恐惧。这份代码是股市情感分析项目的一部分,这个项目的本意是利用互联网提取投资者情绪,为投资决策的制定提供参考。在经过情感分析、指标构建这两个流程之后,我们可以得到一些有趣的结果,例如看涨情绪与股市走势的关系。情绪与股市关系的研究由来已久,情绪是市场的一个重要影响因素已成为共识。情感分类模型也是文本分类模型,常用的包括机器学习模型与深度学习模型。上证指数数据:直接从新浪抓取下来的。
2022-12-31 14:24:49 612 1
原创 基于Python实现酒店中文评论的情感分析
为了方便之后的操作,需要把正向和负向评论分别规整到对应的一个txt文件中,即正向语料的集合文档(命名为2000_pos.txt)和负向语料的集合文档(命名为2000_neg.txt)。由于去停用词的步骤是在句子分词后执行的,因此通常与分词操作在同一个代码段中进行,即在句子分词操作完成后直接调用去停用词的函数,并得到去停用词后的结果,再写入结果文件中。由于特征词向量的抽取是基于已经训练好的词向量模型,而wiki中文语料是公认的大型中文语料,本项目拟从wiki中文语料生成的词向量中抽取本文语料的特征词向量。
2022-12-28 23:51:44 680
转载 海德汉(HEIDENHAIN)CNC数据采集(可免授权)
海德汉 常见的系统一般有530、640系统,采集一般有两种方法:(1)购买海德汉官方的SDK,HeidenhainDNC COM Component,安装之后有相应的demo,支持的语言有C#、C/C++。此方法还需要购买机台授权,购买之后会给一个授权密码,在机台输入即可。用这个方法的优点是开发周期短,缺点是费用比较高(需购买SDK以及进行机台授权)。
2022-10-23 12:52:34 1837
转载 马扎克(Mazak)Smart、Smooth系列 CNC数据采集(可免授权)
该方法不局限于CPU架构(x86、ARM、MIPS等等),不局限操作系统(Windows、Linux、FreeRTOS、RT-Thread、μC/OS、裸机等等均可),不局限编程语言(Java、Python、C/C++、C#、Go等等均可)。重要的数据都能读取出来,包含状态,工件计数,坐标,速度,倍率,告警,刀具,刀补等。PS:Smart和Smooth的协议是不同的,,不过官方的库做了一层封装,所以在调用dll和使用MTConnect时,可以使用同一套代码,但是在使用协议方式时就会有些区别。
2022-10-23 12:43:53 1586
转载 发那科 / 法兰克(Fanuc)CNC数据采集
前面介绍过,发那科CNC数据采集一般有两种方法:(1)通过FOCAS 1/2 开发包进行二次开发采集数据(仅适用于windows系统)(2)通过纯TCP协议方法。该方法不局限于CPU架构(x86、ARM、MIPS等等),不局限操作系统(Windows、Linux、FreeRTOS、RT-Thread、μC/OS、裸机等等均可),不局限编程语言(Java、Python、C/C++、C#、Go等等均可)。下面对两种方法都进行相应介绍。
2022-10-23 12:10:27 5035 1
转载 三菱(MITSUBISHI)CNC数据采集
前面介绍过,三菱CNC数据采集一般有两种方法:(1)通过官方A2 API(也叫EZSocket)进行数据采集,需要安装A2驱动包(仅适用于windows系统)(2)通过纯TCP协议方法。该方法不局限于CPU架构(x86、ARM、MIPS等等),不局限操作系统(Windows、Linux、FreeRTOS、RT-Thread、μC/OS、裸机等等均可),不局限编程语言(Java、Python、C/C++、C#、Go等等均可)。下面对两种方法都进行相应介绍。
2022-10-23 12:08:56 3740 3
转载 日立(Hitachi)喷码机数据采集
日立喷码机可采集的内容挺丰富,比如设备状态,告警状态,印字次数,配方列表,正在使用的配方名(在喷码机里叫做Message,国内常叫配方),配方编号等等。通信板卡可以扩展出modbus通信,在这里吐槽一下代理商,买了板卡只给了安装示意图,没给授权文件,搞了一天一直连不上喷码机,咨询代理商才知道还需要把授权文件发过来并安装才行。通信板卡是通过modbus协议通信的,直接通过modbus读寄存器,发现很多信息无法获取,官方SDK封装了一个中间层,看不到实际是怎样读写寄存器的。3,使用第三方代码测试。
2022-10-22 17:45:31 718
原创 如何在 Azure Cosmos DB 中使用缓存
因此,虽然您可以从数据库中检索单个实体,但在吞吐量和减少 R/U 方面更经济的方法是从数据库中检索项目集合并在缓存层应用操作。此外,在此环境中不可能使用独立缓存,因此您需要在应用程序和 Cosmos DB 数据库之间使用像 NCache 这样的分布式缓存。因此,应用程序服务器的数量并不重要,因为您可以在应用程序和数据库之间拥有足够的缓存服务器,这与关系数据库不同,关系数据库是任何可扩展性的主要瓶颈。为此,NCache 允许将集合缓存为单个缓存项,并缓存集合的各个元素,每个元素都针对其自己指定的缓存键。
2023-12-09 23:10:36 763
原创 Java 克隆:复制构造函数与克隆
在我们的例子中,如果我们希望每个 Person 对象的 id 都是唯一的,那么如果使用 Object.clone(),我们将得到重复的对象,因为 Object.clone() 不会调用构造函数,并且最终的 id 字段不能修改自 Person.clone()。super.clone() 将调用它的 super.clone(),并且链将继续,直到调用到达 Object 类的 clone() 方法,该方法将创建一个字段到我们对象的字段 mem 副本并将其返回。我们应该使用克隆来复制数组,因为这通常是最快的方法。
2023-12-09 22:53:28 354
原创 使用 Apache Kafka 进行实时流处理
Kafka 集群是一个分布式系统,它将数据分布在许多机器上,以实现容错和线性扩展。传统队列在服务器上按顺序保留记录,如果多个消费者从队列中消费,服务器将按照记录的存储顺序分发记录。然而,虽然服务器按顺序分发记录,但记录是异步传递给消费者的,因此它们可能会乱序到达不同的消费者。Kafka 的核心是不起眼的、不可变的提交日志,您可以从那里订阅它,并将数据发布到任意数量的系统或实时应用程序。在 Kafka 中,流处理器是从输入主题获取连续数据流、对此输入执行某些处理并生成输出主题的连续数据流的任何东西。
2023-12-05 23:59:13 685
原创 RNN、Seq2Seq、Transformers:NLP 中常用的神经架构简介
如果我们谈论一个单词,自注意力可以表示它与句子中的哪些其他单词有很强的关系。RNN 背后的核心思想是,它将相同的权重矩阵应用于每个输入,并生成一系列隐藏状态(我们有输入就有多少个隐藏状态),这些隐藏状态携带来自先前时间步骤的信息。为了建立输入的顺序,Transformers 向每个嵌入添加另一个向量(这称为位置编码),这有助于它们识别序列中每个输入的位置以及它们之间的距离。另一个固有的缺点在于顺序处理的本质:由于一次处理一个输入的部分(除非有 H1,否则我们无法计算 H2),因此网络的计算总体上非常慢。
2023-12-05 23:54:54 248
原创 掌握计算机视觉开发技能的 8 个步骤
对于家庭作业,尝试使用3D 场景重建并构建实时应用程序来估计相机姿势,以便在给定 2D 图像及其 3D 纹理模型的情况下跟踪具有六个自由度的纹理对象。在学习课程的同时,请再次观看“计算机视觉的古老秘密”的第 8 集,并阅读 Szeliski 书中的第 10.5 和 8.4 节。对于家庭作业,您可以获取自己的数据,例如从不同角度拍摄的家具照片,并从平面相册中在 OpenCV 中制作 3D 对象。您可以首先观看 Joseph Redmon 创作的这个精彩的 Youtube 系列,名为“计算机视觉的古老秘密”。
2023-12-02 23:38:25 162
原创 MuleSoft 中的细粒度与粗粒度 API
通过细粒度 API,每个 API 都可以独立于所有其他 API 实现而实现,前提是 API 实现之间的应用程序接口(以 API 规范的形式)已达成一致。与更大且更少的 API 和 API 实现相比,它们还会导致应用程序网络中可见更多与 API 相关的资产以及越来越复杂的交互(API 调用)。延迟:每个额外的 API 调用至少会增加少量延迟,因此较小的 API 会导致较高的总体延迟,通常必须通过缓存等来缓解。重要的是要记住,这两种方法的整体功能保持不变,但最终使用细粒度 API 方法会获得更多的端点。
2023-12-02 23:35:30 152
原创 如何使用简单的分支策略来保护您的 Git 项目
理想的 git 工作流程模型的选择取决于贡献者的数量、存储库和分支的权限级别层次结构,以及所选的架构模型是集中式还是分散式?工作的协作被分配给拥有存储库的特定部分的各个副官,并且仅合并来自某些开发人员的工作。这是验证、审查和解决冲突的地方。发布分支应该有一个非线性且混乱的提交历史记录,这样可以更容易地列出整个项目的提交历史记录,并分析项目是如何开发的、哪些提交是由谁创建的以及进行了哪些更改。您可能已经知道一些 git 概念和命令,但我的想法是利用您的思维过程,从您已经了解的 Git 中做出更好的选择。
2023-11-30 23:38:45 542
原创 微服务设计模式
事件存储发布的事件的典型用途是在应用程序中的操作更改实体时维护实体的物化视图,以及与外部系统集成。您经历的前三种设计模式是分解 Greenfield 应用程序,但您所做的 80% 的工作是处理 Brownfield 应用程序,这些应用程序是大型的整体应用程序(遗留代码库)。随着时间的推移,新重构的应用程序会“扼杀”或取代原始应用程序,直到最后,您可以关闭单体应用程序。大多数人认为这是微服务的反模式,但对于棕地应用程序来说,这是将应用程序分解为更小的逻辑部分的良好开端。被调用的微服务可以是微服务链。
2023-11-30 23:35:50 350
原创 IntelliJ 中的自定义代码检查
现在,我可以使用 PMD 来创建它们,但我不确定是否需要重新实现此类检查才能与 IntelliJ 检查插件一起使用(但它们肯定需要一个插件作为 PMD 和 IntelliJ 之间的适配器) ),并且由于这个结构搜索和替换工具不是一个有详细记录的功能,所以我感受到了挑战,并且我有一个电话来尝试它。我所在的一个小团队正在开发一个供内部使用的基于 Java 的测试自动化框架,但它在我们的团队中得到了广泛的使用——不仅是测试自动化工程师,还包括后端和前端开发人员,因此,我们不可避免地会遇到一些常见的错误和误用。
2023-11-27 23:13:06 222
原创 什么是NoOps
如前所述,即使在今天,遗留系统仍在使用,主要与云计算和更现代的解决方案结合使用。推动 NoOps 运动的想法是合理的,但 NoOps 本身也并非没有挑战。首先,NoOps 基于这样的假设:自动化可以处理一切,完全消除对人类操作员的需要。由于容器化微服务和云计算的使用,服务器维护不再是一项艰巨的任务。是的,您可以定义性能指标并自动执行大部分数据收集任务,但这并不意味着您可以从自动化分析中获得相同级别的见解。以消除专门的应用程序管理团队为主要目标,NoOps 旨在自动化与开发和运行解决方案相关的所有维护任务。
2023-11-27 23:07:05 209
原创 数据分片在分布式 SQL 数据库中的工作原理
在基于地理(也称为位置感知)的分片中,数据根据用户指定的列进行分区,该列将范围分片映射到特定区域以及这些区域中的节点。如果没有正确的分片键选择,数据可能会在分片之间分布不均匀,并且与其他数据相比,特定数据可能会被更多地查询,从而在分片中产生潜在的系统瓶颈,从而导致工作负载较重。如果分片变得太大或托管频繁访问的行,则将分片分成多个分片,然后在所有可用节点上重新平衡它们,从而获得更好的性能。最后,手动分片会使操作流程变得复杂。然而,基于范围的分片需要用户先验选择分片键,而选择不当的分片键可能会导致数据库热点。
2023-11-25 23:22:13 507
原创 使用 Kafka 和 Cassandra 构建实时异常检测实验
因此,我们证明了 Lambda 架构是必要的,也是最好的方法。在 Instaclustr,我们最近创建了一个纯粹的实验性异常检测应用程序(我们不销售异常检测),利用开源 Apache Kafka 和 Apache Cassandra 作为其数据层技术,然后从可扩展性、性能和性能方面分析了该架构的有效性。对于我们的异常检测实验,我们将 Kafka、Cassandra 和我们的应用程序组合在Lambda 架构中,其中 Kafka 和流管道充当“速度层”,Cassandra 充当“批处理”和“服务”层。
2023-11-25 23:03:05 710
原创 Linux 与大型机 z/OS
在不了解使用服务的企业的具体情况的情况下,很难说哪个选项最好。Linux 与 z/OS 的优缺点并不是非黑即白的,只有在考虑到希望实施大型机技术的企业的特定需求时才能权衡。相反,如上所述,z/OS 是由 IBM 专门开发的,旨在提供与较旧的大型机应用程序和硬件的向后兼容性。如果您使用的是较旧的技术,并且预计需要对这些系统提供持续支持,那么 z/OS 是更好的选择。虽然 IBM 实际上是大型机硬件(通常称为 Big Iron)的事实上的制造商,但其机器上运行的操作系统 (OS) 不一定是他们自己的。
2023-11-22 23:59:11 473 1
原创 为什么要构建垂直切片
然后,我们看到了如何使用复杂的用例创建垂直切片,帮助探索这些风险的解决方案,并作为开发团队的参考点。我们探索了创建垂直切片的最佳实践,并研究了所涉及的挑战。有几个技术风险需要解决,例如决定使用什么框架、识别架构的各层、弄清楚与其他系统的通信等等。通常,这涉及解决上面列出的所有风险——选择正确的框架、将其组织成层、正确处理通信、进行良好的测试以及遵循 CI/CD 流程。确保在垂直切片的开发过程中具有对代码执行静态分析的工具。垂直切片涉及选择系统的一个或多个复杂或有风险的用例,并首先实施它们。
2023-11-20 23:59:46 140
原创 提高视频性能的 5 种方法
您可以轻松地将内容上传到 YouTube、Vimeo 和 Dailymotion 等视频共享网站,并将这些视频嵌入您的网页。自托管可为您提供更直接的流量、视频播放器中的更多品牌和设计选项,以及更少的访客干扰(例如 YouTube 推荐)。专用服务器选项是最昂贵的,但它比更便宜的共享或 VPS 托管计划保证更好的视频性能。当远离您网站服务器的人尝试浏览您的网站并下载媒体文件时,由于信息传播的距离较远,速度会变慢。这些服务可以对您的直播进行动态调整,以使尽可能多的观众可以观看您的网络研讨会。
2023-11-19 23:56:55 756
原创 队列和微服务的异步通信
您让 Microservice1 调用 Microservice2,而 Microservice2 又调用 Microservice3。因此,Microservice1 可以通过 HTTP 向其发送数据请求,并返回包含所请求数据的响应。在这种情况下,异步通信提供了更好的选择。当服务器恢复时,它会继续处理队列中存在的消息,并将它们保存到数据库中。最棒的是,只要我们修复错误并重新处理消息,发起错误请求的服务的用户甚至不需要知道它们。如果处理需要实时,即如果对某个请求的响应时间存在严格限制,则不能使用异步通信。
2023-11-19 23:46:39 467
原创 RSocket 与 gRPC 基准测试
对于 gRPC,我们将仅使用 protobuf,因为它已被证明是 gRPC 性能最佳的编码器。当我们使用 HTTP/2 协议时,服务器很难向客户端发出反向请求,更不用说使用相同的套接字连接来做到这一点了。基本上,RSocket 是为应用程序通信而设计的,HTTP/2 仍然是为处理 Web 流量而设计的。应用程序是进行对话的对等体。RSocket 不仅是多路复用的,而且发送者和接收者可以在保留相同套接字连接的同时切换角色。从设计和组件来看,我们知道苹果之间的比较应该是 RSocket 与 HTTP/2。
2023-11-18 23:55:18 282
原创 Guava RateLimiter的限流机制详解
令牌桶算法的工作原理就像一个存储固定数量令牌的桶,令牌以固定的速率添加到其中。当桶中存储的令牌超过最大数量后,新的令牌将被丢弃或拒绝。入站请求的速率不受限制,但当入站请求的累计数量超过桶的最大容量时,新的入站请求将被拒绝。例如,如果我们需要限制一个方法同时调用的并发数小于100,我们可以通过Semaphore. 如果我们想将一个方法在一段时间内被调用的平均次数限制在 100 以内,我们需要使用RateLimiter.例如,在限时抢购的情况下,限流可以保护您自己的系统和下游系统不被巨大的流量淹没。
2023-11-18 23:53:19 214
原创 什么是持续部署
这对您的团队和业务都不利。虽然在生产过程中没有发生任何问题,但您的工作是监视部署的新代码的性能,以确保其继续按预期方式运行。如果在此过程中没有适当的检查,错误的代码可能会部署到生产中并真正搞砸您的产品,这就是为什么许多使用此方法的团队只发布小的更改。这也意味着,为了使持续部署成功,您需要确保拥有强大的测试框架,并确信当代码通过测试时,它确实准备好立即部署,而无需任何人查看。持续交付创建可以随时发布到生产环境的软件,这意味着软件被编写、测试并推送到类似生产的环境中,以确保它在真实的生产环境中正确运行。
2023-11-17 23:59:24 839
原创 利用“关键的不确定性”快速应对未来的挑战
(10 分钟)作为额外步骤,鼓励小组确定哪些策略是稳健的(能够在多个象限中取得成功的策略),哪些是对冲策略(特定于一种情况并在该情况发生时防止灾难发生的策略)。通过让 Scrum 团队思考他们可能面临的最关键和最不确定的现实来增强他们的自组织能力。(3 分钟)给每个小组一个大的活动挂图,并要求他们创建一个具有两个轴(X 和 Y)的网格,每个轴上要表示的因子有两个极值 < - →。(5 分钟)邀请参与者组成小组,并通过以下问题列出他们面临的不确定性:“在您的环境中,哪些因素无法预测或控制他们的方向?
2023-11-17 23:56:41 115
原创 在 Kubernetes 上运行 Elasticsearch
Kubernetes 服务使得其他部署中的 Pod 可以访问我们的 Pod,例如,我们的博客软件可以通过各自的服务与数据库和电子邮件服务器进行通信,当然假设它们在 Kubernetes 上运行。如果未部署它们,数据节点也将充当协调节点,这是我们通常希望在适当大小的集群上避免的事情。Kubernetes 是一种容器编排技术,这只是一种奇特的说法,它可以帮助您管理和运行打包的应用程序。部署是 Kubernetes 的一个概念,用于管理 Pod 及其属性,例如要运行的 Pod 的副本数量。
2023-11-15 23:53:06 400
原创 使用人工智能自动测试 Flutter 应用程序
Flutter集成测试在单独的进程中运行,可以在真实设备上运行,也可以在模拟器或仿真器上运行。您可以进行其他测试配置,例如提供测试凭据,但在此阶段,我们的 Flutter 应用程序不需要任何测试用户凭据。小部件测试断言被测小部件的状态。我们将在后面的博客文章中详细介绍每种测试方法,但在本教程中,我们将使用 Bitbar AI Testbot来测试 Flutter 应用程序,而无需任何测试配置。在接下来的步骤中,我们可以上传刚刚从 Flutter 应用程序创建的 APK,并选择运行 AI 测试的设备。
2023-11-15 23:48:34 601
原创 如何正确规划 JVM 性能调优
JVM 调优主要涉及优化垃圾收集器以获得更好的收集性能,从而使运行在虚拟机上的应用程序能够在使用更少的内存和体验更低的延迟的同时获得更大的吞吐量。请注意,更少的内存/更低的延迟并不一定意味着更少/更低的内存/延迟,性能就越好。在某些情况下,为了满足特定的指标,之前的参数可能需要多次调整,需要重新测试之前的所有步骤。另外,在调优开始之前,我们需要有明确的性能优化目标,了解当前的性能瓶颈。如果考虑性能开销,请尽可能将永久代的初始大小和最大大小设置为相同的值,因为只有FullGC可以实现永久代的大小调整。
2023-11-14 23:55:02 435
原创 网站测试中的测试验证和验证
验证测试很重要,因为验证测试期间遗漏的缺陷可能会在验证测试期间被发现为错误。测试验证的目的是查明网站是否执行预期的所有功能,从而满足最终用户或利益相关者的需求。然而,验证涉及代码的执行以及单元测试和测试用例的执行,以查明代码是否完美地满足最终用户的要求。验证测试的目的是在开发开始之前确认计划的Web应用程序是否满足客户的规范,而验证测试的目的是在开发完成后检查成品是否满足要求。验证测试在开发和验证测试完成后进行。所有流行的强制性测试程序,如单元测试、系统测试、验收和集成测试等都属于验证测试的范畴。
2023-11-13 23:51:12 455
原创 Java 单元测试最佳实践:如何充分利用测试自动化
如果应用程序代码是孤独的,那么测试很简单,但对于被测试的社交代码,您可以构建“孤独”或“社交”测试。但由于模拟是在测试中创建和配置的,因此它是独立的,我们可以更好地控制依赖项的行为。不幸的是,很多时候,开发人员要么根本不编写单元测试,要么不编写足够的测试,要么不维护它们。区别在于,通常,单元测试是为了验证单个可测试单元的行为,而集成测试是验证多个组件一起或整个应用程序的行为。因此,请考虑我以下关于如何编写干净、可维护、自动化测试的最佳实践建议,这些测试可以让您以最少的时间和精力享受单元测试的所有好处。
2023-11-13 23:46:41 507
原创 创建符合 Web 可访问性标准的 HTML 布局
nav>这有助于定义网页的清晰层次结构并区分主要(主要:, , )和次要(不太重要:- , )内容。以下示例说明了如何将 HTML 语义元素 ( 、、、) 与 ARIA 角色属性(“banner”、“navigation”、“main”、“contentinfo”)相结合,以便残障人士更轻松地使用屏幕阅读器进行网站导航。例如,使用元素代替HTML 中的或。
2023-11-09 23:54:14 402
Matlab GA遗传算法求解车间调度
2024-10-23
STM32F030数字电源BUCK学习板PCB 原理图 源码
2024-10-16
Python YOLOv5 7.0 带UI界面的基于深度学习的口罩检测识别系统,带数据集和设计报告,标注有xml和txt
2024-06-08
【YOLO数据集】11200张佩戴口罩和未佩戴口罩的人脸图片 VOC和YOLO格式,TXT和XML
2024-06-08
Matlab Simulink 太阳能电解水制氢系统的数学模型
2024-05-30
示波器使用教程 使用手册 使用方法泰克、普源精电、安捷伦、安泰等品牌示波器 数字存储示波器、混合信号示波器、混合域示波器
2024-04-20
Python实现基于LSTM神经网络的时间序列预测源码+全部数据 航线乘客、洗发水销量、空气质量、股票指数预测实例
2024-04-19
西门子1200PLC 自动贴标机 三轴伺服控制 包括PLC程序和触摸屏程序 机械手,分度盘,电磁阀,伺服电机,步进电机,拍照系统
2024-04-19
西门子1200PLC 六部十层电梯程序案例,西门子触摸屏程序,WINCC RT Advanced界面
2024-04-19
西门子PLC自动流程写法 SCL CASE流程写法 LAD Compare流程写法 LAD SHL流程写法
2024-04-07
西门子1200PLC生产线生产案例 西门子项目模板 包括PLC程序和触摸屏程序 全站式电池生产线 电池包膜机
2024-04-07
STM32 bootloader 支持IAP升级程序 SD卡升级
2024-02-09
12V5A60W反激开关电源设计资料 原理图 PCB mathcad参数计算
2024-02-07
电源系列MOSFET IGBT应用入门与精通MOSFET并联技术应用电路分析等技术资料180个合集
2024-02-06
基于51单片机的数字万年历/电子时钟设计 包括代码、原理图、仿真、PCB、设计报告 主芯片AT89C52
2024-02-06
STM32仿真的温湿度采集控制系统 带proteus仿真、设计报告、演示视频 STM32103R6 LCD1602 DHT11
2024-02-05
物联网智能家居软硬件系统源码 Spring Boot、MySQL、Redis、Vue、Android、Arduino
2024-01-28
GD32F330 支持IAP的bootloader开发,自定义串口协议,带上位机源码和测试主程序
2024-01-08
GD32 支持IAP的bootloader开发,使用串口通过Ymodem协议传输固件 移植简单
2024-01-07
Matlab Simulink 新能源汽车MCU控制策略+设计文档 基于MBD开发的纯电动汽车主驱电机控制模型
2023-12-30
峰岹FU68xx FOC正弦波方案 代码 原理图 PCB文件
2023-12-20
峰岹FU68xx FOC正弦波方案 代码 原理图 PCB文件,有滑板车 电动车 三轮车 风机 冰箱 空调 电钻 水泵 吸尘器等
2023-12-07
Matlab 新能源汽车Simulink模型+纯电模型+混动模型+燃料电池模型+仿真
2023-12-03
Python 微博情感分析与文本分类系统实现 带分析报告
2023-10-12
三菱CNC-三菱数控系统-数据采集-驱动-A2驱动,附c# demo源码
2023-09-12
matlab-元胞自动机的重结晶过程中晶粒生长的仿真
2023-06-04
labview-机动车号牌识别-图片校正-车牌位置定位-车牌位置ROI-ROI掩码-字符识别
2023-04-02
labview-ipv6-包括tcp server、tcp client和udp server、udp client
2023-04-02
matlab-燃料电池能量管理策略,采用模糊控制、粒子群优化 使得电动车能量在锂离子电池和超级电
2023-03-07
MATLAB/Simulink模型,关于电动汽车动力电池荷电状态(State of Charge,SOC)估计
2023-03-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人