- 博客(21)
- 收藏
- 关注
原创 软件测试(平铺版本)
黑盒测试专注于软件的功能性,不考虑内部代码实现。测试人员通过输入和输出来验证软件功能是否符合预期。应用场景:黑盒测试用例主要关注软件的功能性,不考虑内部实现。测试用例通常基于需求文档或用户故事来编写。白盒测试关注软件的内部结构和实现,测试人员需要了解代码逻辑,重点在于代码路径、循环和条件。应用场景:白盒测试用例关注软件的内部实现,测试代码逻辑、分支和路径。通常基于代码结构编写。
2024-10-09 22:49:33 1088
原创 c#实际开发长到的知识
好了这个了解完毕之后,我们就可以看一下cs这么写的,可以看见有两个IP那么一个是公有的,一个是私有的,但是这个公用的IP其实只是一个傀儡不具有任何值,因为我们获取这个公有IP的值的时候实际上获取到的是这个私有的值,同样的改变这个公有的IP的值也是,因此假设我们需要在cs后台用到IP的属性也是用私有滴,而不是用共有的,为什么?你自己看看呗,你可以看见这个被binding的命令十分简洁,是因为用了罗工封装过的命令方法,如果有c#原有的要写很多才可以实现这种定义命令的效果,因此这个库实在是太好用啦!
2024-07-29 14:14:24 1683
原创 网络组成原理的知识
这个token 我不保存, 当小F把这个token 给我发过来的时候,我再用同样的HMAC-SHA256 算法和同样的密钥,对数据再计算一次签名, 和token 中的签名做个比较, 如果相同, 我就知道小F已经登录过了,并且可以直接取到小F的user id , 如果不相同, 数据部分肯定被人篡改过, 我就告诉发送者: 对不起,没有认证。当然, 如果一个人的token 被别人偷走了, 那我也没办法, 我也会认为小偷就是合法用户, 这其实和一个人的session id 被别人偷走是一样的。
2024-07-13 11:05:53 220
原创 关于vue的学习
dom:HTML中的每个元素都是DOM的一部分,通过DOM,你可以访问、修改和操作HTML文档的结构和内容。生命周期钩子:Vue.js的生命周期钩子指的是Vue实例从创建到销毁过程中的一系列特定阶段,每个阶段都会触发相应的钩子函数。这些钩子函数允许开发者在特定的时间点执行自定义的逻辑,例如初始化数据、绑定事件、操作DOM等。Vue实例的生命周期可以分为以下几个主要阶段:创建阶段(Creation):挂载阶段(Mounting):更新阶段(Updating):销毁阶段(Destruction): 挂载
2024-07-09 19:57:55 817
原创 关于index.vue的解析
是一个 Vue.js 单文件组件(Single File Component,简称 SFC)。在 Vue.js 项目中,单文件组件是一种特殊的文件格式,它将组件的模板、脚本和样式封装在一个。Vue.js 是一个流行的前端框架,它提供了丰富的生命周期钩子,允许开发者在组件的不同阶段插入自定义逻辑。这种文件格式使得组件的结构更加清晰,便于管理和维护。
2024-07-05 17:27:08 855
原创 复习关于Java的基础语法
我个人感觉继承和抽象是结合在一起的,假设我有很多个图形,都需要有画这个方法,那么我完全可以定义一个抽象类中的抽象方法,这样我无论是什么图像我都可以继承这个抽象类,实现里面的抽象方法,从而实现了代码的复用率,而继承是面向对象编程的一个重要特性,它允许一个类(子类)继承另一个类(父类)的属性和方法。放衣服(方法)-->加洗衣粉(方法)--> 加水(方法)--> 漂洗(方法)--> 清洗(方法)--> 甩干(方法)”人“ 加入属性和方法:放衣服(方法)、加洗衣粉(方法)、加水(方法)
2024-07-05 14:39:36 308
原创 添加新页面操作
现在终于到显示页面部分了,这里按照罗工的方法,先想一下前端要显示的数据,然后先吧js的脚本把data数据先传递好,再写前端的部分,但是我觉得先写前端再看一下后端会更好一些,因此让我们来先写一下前端的部分,再根据前端的部分,再让js给我们调用方法返回数据;接着在menu.js下把我们需要添加的页面先注册到导航栏,这样当我们点击对应的控件按钮的同时才会跳转的相应的界面,这里我们新增两个页面嘛,所以只需要注册两个页面,然后基础模块的父类导航,只需要在后端的导航栏渲染那里注册一下就可以了,不需要在这里添加;
2024-07-02 17:03:14 554
原创 关于工业的一些杂七杂八的知识
串口作为一种基本的通信接口,在多个领域都有其应用。尽管现代计算机和设备越来越多地使用USB和其他高速接口,但串口仍然在特定的应用场景中发挥着重要作用,特别是在工业自动化、嵌入式系统和一些特定的设备连接中。可以这样理解。在实际应用中,一个PLC(可编程逻辑控制器)通常可以支持多种通信接口和连接方式,包括总线连接和串口连接。选择哪种连接方式取决于具体的应用需求、系统设计以及所连接设备的兼容性。总线连接 vs 串口连接1. 总线连接:- 优势:通常提供更高的数据传输速率和更好的扩展性。
2024-06-14 09:50:56 930
原创 WPF中vmmv的设计模式
这里的细节就是,这里的控件一共有四个,三个文本框,一个按钮,那个save按钮暂时不管,这里我给这三个按钮分别命名tb1,tb2,tb3;那么用这个框架也是同样道理,分层之后,架构清楚,假设老员工跑路路了,新来的员工也容易读懂。首先选择选项,第二选择键盘,第三步搜索一下你想要替换的快捷键信息,我这里选择的是取消注释的快捷键,原本是CTRL +K,CTRL+C,找到后直接把这个快捷移除,替换你自己想要的快捷键属性,我这里替换成了CTRL+ENTER,再点分配,最后按一下确认就可以愉快的使用你自定义的快捷键了。
2024-06-13 16:27:18 1000
原创 关于codesys和c#入门
Codesys是一种广泛使用的工业自动化编程软件,它允许工程师使用类似于高级编程语言的结构(如IEC 61131-3标准定义的语言,包括梯形图、结构化文本、功能块图等)来编程PLC。当您使用Codesys对PLC进行编程时,实际上是在配置和定义PLC的控制逻辑,这通常被称为“下位机开发”。下位机开发主要关注于现场设备的直接控制和数据采集。而C#用于上位机开发,即开发与PLC通信的应用程序,提供监控、数据处理和用户交互功能。因此,当使用C#来开发与PLC交互的应用程序时,这通常被称为“上位机开发”。
2024-05-21 15:34:50 1893
原创 关于对图像预处理问题
几何变换模块将图像进行水平、垂直、水平垂直方向的镜像变换,且可配合一定角度在镜像变换后再按照一定角度旋转图像。形态学处理模块主要用来从图像中提取出对描绘区域形状有意义的图像分量,使后续的识别工作能够抓住目标对象最为本质的形状特征,如边界和连通区域等。图像增强模块可对退化的图像特征,如边缘、轮廓、对比度等进行预处理,以改善图像的视觉效果,突出图像的整体或局部特征。图像组合将形态学处理、图像二值化、图像滤波、图像增强和阴影校正这5种图像处理模块任意组合,对图像进行预处理并输出处理后的图像。
2024-05-21 14:59:00 209
原创 从相机连接到通讯到创建全局触发
下面讲一下服务端客户端和端口号,首先服务端和客户端,其实这两者的差别不是很大,服务端可以同时服务很多台客户端,也就是说服务端可以和多台客户端连接,而客户端只连接一个服务端,我这里遇见的情况大多数是一对一的情况,所以谁做服务器并不重要,假设需要面对一对多的情况就需要考虑谁作为服务端,并且这里的细节就是作为服务端的主机并不需要知道客户端的ip其实你想一下就知道了,服务端作顾名思义作为一名服务员,他并不需要知道哪个顾客的要来,而客户端就不一样了,他需要知道服务员所在的地址,服务员服务的桌子。
2024-05-21 13:49:01 288
原创 关于modbus和plc
可以将Modbus协议比作现实生活中的翻译官角色。在这个比喻中,Modbus协议充当了一个中介,它帮助不同语言(即不同制造商的设备和系统)之间进行沟通。
2024-05-14 15:34:28 844 1
原创 海康视觉关于n点标定的问题(看完绝对领悟,其他up讲的太抽象了!)
我们在图片中可以选择各种匹配得出你想要的这个点的像素坐标,然后我们将机器手挪到相应的位置看一下这个像素坐标相当于机械手的物理坐标是什么,通过这样的九次操作我们就可以人为的拿到九个像素坐标和九个物理坐标。将他们与之对应,从而生成标定文件,那么有了这个标定文件你想要其他像素坐标的物理坐标只需要把像素坐标输入进去,再引入我们之前已经标定好的文件,执行一下就可以得出这些点的像素坐标了!,像素坐标是表示一张图片中一个像素的位置,其中包括x和y的坐标。官方文档给出的接受非常抽象。
2024-05-09 09:36:34 957 1
原创 海康VisionMaster软件两个应用案例
假设我们用的是方案二,很好你识别一张图片当然没问题,但是图片多了,要识别的字符角度不一样,位置不一样,那你方案二的roi的区域是固定不变的。所以我们就需要粗定位来实现,通过不同的定位工具来定位出我们想要识别的区域,这样无论这些角度怎么变或者位置怎么变都会被定位工具定位到,那么定位工具本身具有的识别模板可不管你怎么变只要你符合他的特征他就给你框出来。那么这就实现了我们要找的字符的精准定位的roi范围,那么我在选择字符训练的roi范围时有两种方法。第一个我自己想的就是通过继承快速匹配的roi范围。
2024-05-08 11:51:28 2697
原创 关于海康master视觉
可以根据模板匹配结果中的匹配点和匹配框角度建立位置偏移的基准,然后再根据特征匹配结果中的运行点和基准点的相对位置偏移实现ROI检测框的坐标旋转偏移,也就是让ROI区域能够跟上图像角度和像素的变化。接下来就是快速匹配,通过快速匹配自带的工具可以快速把你圈住的特征识别模型,且在整个ri范围内查找符合这个特征的个数等等,可以看它返回的参数。可以看见我的顶点检测的roi区域是非常小一块,同时我们需要变化我们的roi区域,因此通过位置修正的方法和group的循环实现对roi的不断切换。
2024-05-07 16:10:20 520
原创 MySQL(面试)
说到事物就离不开锁,锁有很多,先来笼统说一下关于锁的问题,假设我们有有一个数据库,我们对他进行事物操作的时候,有时候不一定只有一个事物在发生,举个例子,假设a给b转帐,同时c给a转账,同时b又给a转账,这里有上个事物都会对数据库中a的数据进行调取还改变,所以当多个事物多个事务并发访问同一数据时,为了避免冲突的,而诞生了锁这种机制。悲观锁通常使用排他锁(Exclusive Lock)来实现,也就是说,在一个事务中获取了排他锁的数据,其他事务无法同时获取该数据的锁。排他锁会阻塞其他事务的共享锁和排他锁。
2024-04-18 22:16:27 265
原创 软件测试(面试)
我们常见的异常类是exception这个异常,和运行时异常。,我们会对数据库进行三次操作,实际上在现实中也非常常见,就是对一个账号进行取钱,在这个场景下我们会发生事物回滚,当账户金额小于取款金额时,回退,当对另外账号存钱不成功时,回退,这学数据库操作被绑定为一个事物,当其中一个数据操作不成功时,则全部回退到原来的状态。,首选选择自定义异常继承运行时异常,接下来开启事物,在我们觉得可能出现异常的地方添加try catch模块,当有异常出现时抛出,自定义异常,那么事物便无法提交,并且回退到原始状态。
2024-04-18 19:15:12 218 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人