一.写在前面 在之前的博客文章《基于乐鑫ESP32-C3的MatterLight实践》中,我们利用乐鑫的硬件和SDK方案实现了简单的Light例程,并对Matter协议进行了简要介绍。在开始本篇文章之前,我还是打算重新聊一聊Matter,顺便谈谈自己对它的理解,这也能说明为何这段时间我一直执着于这个事情。 1.1Matter的诞生背景 其实说到智能家居这个领域,我们应该能联想到很多目前做的不错的品牌,比如国内的华为、绿米Aqara、欧博瑞,海外的APPLE、GoogleNest等等。同时,它们又有着自己的一套生态协议,就像Apple有Homekit、Amazon有alexa、华为有Hilink...

  Ug9WDfRNayPK   2天前   10   0   0

📝 面试求职: 「面试试题小程序」 ,内容涵盖测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…) 📝 职场经验干货: 软件测试工程师简历上如何编写个人信息(一周8个面试) 软件测试工程师简历上如何编写专业技能(一周8个面试) 软件测试工程师简历上如何编写项目经验(一周8个面试) 软件测试工程师简历上如何编写个人荣誉(一周8个面试) 软件测试...

  PeJLrKw4PsPU   2天前   8   0   0

cloudflare优选ip访问内网服务器 前言 众所周知,家庭内网服务器一般只有动态ipv6公网,且外网无法访问内网服务器的80、443端口,通过域名直接访问内网服务器便成了拦在新手入门的一道门槛。此篇文章记录我解决这一问题的过程。 环境说明 需要提前注册好域名,且将域名托管到Cloudflare上。具体教程参考域名DNS服务托管至Cloudflare,就是如此简单操作系统使用Ubuntu。服务器管理面板使用的是1panel,功能和宝塔面板差不多,我个人更喜欢1panel 实操 服务器管理面板1panel 由于下面很多操作都是在1panel面板中操作,所以提前安装好1panel。安装过程不...

  Lyt1yAddsGRV   2天前   15   0   0

Vue.js是一套构建用户界面的渐进式框架。 Vue只关注视图层,采用自底向上增量开发的设计。 Vue的目标是通过尽可能简单的API实现响应的数据绑定和组合的视图组件。 <divid="hello-world"class="demo"> {{message}} </div> <script> constHelloVueApp={ data(){ return{ message:'Helloworld!'}}} Vue.createApp(HelloVueApp).mount('hello-world') </script> 创建Vue项...

  I7JaHrFMuDsU   6天前   29   0   0

Java中的异常处理机制详解 在软件开发中,异常是不可避免的,它们代表了程序运行过程中的意外情况或错误状态。Java中的异常处理机制为我们提供了一种有效的方式来管理和响应这些异常,使得程序更加健壮和可靠。 异常的分类 Java中的异常主要分为两类:Checked异常和Unchecked异常(也称为RuntimeException)。 Checked异常:编译器要求必须处理的异常,例如IOException、SQLException等。 Unchecked异常:编译器不要求强制处理的异常,例如NullPointerException、ArrayIndexOutOfBoundsExceptio...

  TEZNKK3IfmPf   6天前   30   0   0

   ///<summary>    ///参数为null时删除左边的空白字符(包括’\n’,‘\r’,‘\t’,’')    ///</summary>    ///<returns></returns>    ///创建时间:2023-03-28   最后一次修改时间:2023-03-28(已测试)    _StrWPython_lstrip...

  TEZNKK3IfmPf   6天前   34   0   0

push() 语法:数组.push(数据) 作用:将数据追加到数组的末尾 返回值:追加数据后数组最新的长度 pop() 语法:数组.pop() 作用:删除数组最后一个数据 返回值:被删除的数据 unshift() 语法:数组.unshift(数据) 作用:将数据添加到数组的最前 返回值:添加数据后数组最新的长度 shift() 语法:数组.shift() 作用:删除数组最前一个数据 返回值:被删除的数据 reverse() 语法:数组.reverse() 作用:将数组反转 返回值:反转后的数组 splice() 语法:数组.splice(开始索引,多少个,要插入的数据) 开始索引:默认是0 ...

  TEZNKK3IfmPf   6天前   29   0   0

浏览器不出现滚动条: ::webkit-scrollbar{display:none;} css样式中的所属关系表达式: .content{}//点表示类,后面content表示类名.contentdiv{}//类content下的div标签.contentdiv>ul{}//类content下的div标签下的亲儿子ul标签 设置弹性布局: body{display:flex;} 弹性布局折行显示: body{display:flex;flex-wrap:wrap;} 控制弹性盒行间距: body{display:flex;flex...

  TEZNKK3IfmPf   6天前   24   0   0

一、实现用户名、密码、登录按钮、记住用户表单 <template> <LoginBackVue> <divclass="login_box"> <!-显示logo的地方--> <divclass="log"></div> <!-登录的表单--> <el-form> <el-form-item> <el-inputprefix-icon="User"placeholder="请输入用户名"/> </el...

  TEZNKK3IfmPf   6天前   24   0   0

一、JMeter三大重要组件——线程组 1、作用:JMeter主要通过线程组来运行用户脚本 线程数:代表虚拟用户数 2、在取样器错误后要执行的动作: 继续:当取样器出现错误后,继续执行eg:取样器2的错误,并没有影响到取样器3的运行 启动下一进程循环:当线程组中,有循环次数时,循环体中的取样器如果有任何一个报错,那么终止当前循环,进入下一个循环,相当于continue 停止线程:当取样器出现错误后,运行取样器的当前线程停止,其他线程不受影响。 停止测试:当取样器出现错误后,停止全部线程 立即停止测试:当取样器出现错误后,立刻停止全部线程,而不等待线程是否运行结束 3、线程属性 线...

  TEZNKK3IfmPf   6天前   35   0   0

一、css定位场景 1、支持web产品2、支持app端的webview(原生的不支持) 二、css相对定位的优点 1、可维护性强2、语法更加简洁3、解决各种复杂的定位场景 三、css的调试方法 css定位的3要素:$、小括号、字符串(单引号、双引号都支持)进入浏览器console输入:$("css表达式")或者$$("css表达式") 1、表达式中含有字符串:表达式中的引号一定和外面字符串的引号相反 四、css基础语法 类型 表达式 标签 标签名 类 .class属性值 id id属性值 属性 [属性名=’属性值‘] 1、标签定位 支持索引 2、class...

  TEZNKK3IfmPf   6天前   33   0   0

在现代前端开发中,CSS是控制网页外观和布局的核心工具。随着项目的复杂化和样式规则的增加,CSS层叠(cascade)变得更加重要。为了更好地管理和控制样式规则的应用,CSS引入了层叠层(cascadelayers)的概念。 CSS层叠层(cascadelayers)是CSS层叠算法的新机制,允许开发者更精确地控制样式规则的优先级。这些层为不同来源的样式声明提供了分离的上下文,使我们能够在处理多个样式表时,更好地管理它们的优先权。 与传统的优先权规则(如特异性和来源顺序)不同,层叠层为样式规则的应用引入了新的维度。通过层叠层,开发者可以定义哪些层优先于其他层,从而更好地控制样式的层叠顺序。 ...

  TEZNKK3IfmPf   6天前   26   0   0

  什么是HTML页面 HTML叫做超文本标记语言把它拆分一下拆成:超文本:(意味着页面支持文本、声音、图片、视频、表格、链接)标记:(在页面上展示数据就需要标签啦,这些标签就组成了一个个的标记) HTML页面是运行在浏览器上面的 vscode开放工具搭建 点击去下载vscode 去下插件 第一个HTML页面编写 双标签:标签有开始有结束 单标签:只有一个标签 html:html文件根标签head:编写页面相关的属性title:页面的标题body:页面的内容展示信息 相当于是DOM树,所有的标签都是html的子标签,head和body是兄弟标签,head和title是...

  TEZNKK3IfmPf   6天前   20   0   0

        给你一个仅由 大写 英文字符组成的字符串 s 。         你可以对此字符串执行一些操作,在每一步操作中,你可以从 s 中删除 任一个 "AB" 或 "CD" 子字符串。         通过执行操作,删除所有 "...

  TEZNKK3IfmPf   6天前   26   0   0

2024年的网络安全检查又开始了,对于使用基于Linux的国产电脑,我们可以编写一个脚本来收集系统的有关信息。其中主机名也是我们要收集的信息之一。 1.hostname命令的功能、格式和选项说明我们可以使用命令hostname --help来查看hostname命令的帮助信息。  [purpleendurer@bash]hostname--help Usage:hostname[-b]{hostname|-Ffile}sethostname(fromfile) hostname[-a|-A|-d|-f|-i|-I|-s|-y]displayformattedname h...

  TEZNKK3IfmPf   6天前   36   0   0

;Name:     CPUMODE.ASM;Function: Report current CPU working mode;Version : 0.1b;Author  : Purple Endurer;Develop Environment : Microsoft (R) Programmer's WorkBench version 2.1.49;...

  TEZNKK3IfmPf   6天前   29   0   0

案例背景 依旧是工作需要,文员工作就是这样,写各种报告,周报月报季报半年报。报告需要数据,数据在excel里面,每天都是复制粘贴....贼重复和枯燥,主要还费时间费神。 能自动化的尽量用代码去简化吧。比如我每次周报写在excel里面,然后又要复制到word里面去,还要排版什么的很麻烦。 流程都是固定的,所以代码来封装。下面来看看我这个案例。 明确要求 数据肯定是放在excel里面的,先填好,然后按照模板文字套,表里面很多sheet大概是这样:    汇总1和汇总2就是我们填入每周的数据,然后写到后面具体的每周的周报里面去。每周的周报文字都是有模板的。 例如我的文字模板...

  TEZNKK3IfmPf   6天前   142   0   0

具体实现截图     技术栈 后端框架SpringBoot SpringBoot内置了Tomcat、Jetty和Undertow等服务器,这意味着你可以直接使用它们而不需要额外的安装和配置。SpringBoot的一个主要优点是它的自动配置功能。它可以根据你的项目中的依赖关系自动配置应用程序。这使得配置应用程序变得非常容易,因为你不需要手动配置每个依赖项。SpringBoot也提供了大量的开箱即用的功能和插件,如SpringData、SpringSecurity和SpringCloud等。这些功能使得开发者可以更快速地构建应用程序,并且可以更容易地扩展和集成其他技...

  TEZNKK3IfmPf   6天前   28   0   0

具体实现截图 技术栈 后端框架SpringBoot SpringBoot内置了Tomcat、Jetty和Undertow等服务器,这意味着你可以直接使用它们而不需要额外的安装和配置。SpringBoot的一个主要优点是它的自动配置功能。它可以根据你的项目中的依赖关系自动配置应用程序。这使得配置应用程序变得非常容易,因为你不需要手动配置每个依赖项。SpringBoot也提供了大量的开箱即用的功能和插件,如SpringData、SpringSecurity和SpringCloud等。这些功能使得开发者可以更快速地构建应用程序,并且可以更容易地扩展和集成其他技术。它是一个非常流行的框架,...

  TEZNKK3IfmPf   6天前   21   0   0

补充了下载地址 单位需要定期开展公办电脑系统安全检查,需要收集填写公办电脑系统信息,于是在之前用MASM32编程由WMI获取BIOS、主板、硬盘、CPU、网卡的信息(源代码+exe)基础上进行了完善和拓展,形成了这个Windows系统软件、硬件、网络信息收集程序,可用于收集单位里办公电脑的软件(Windows操作系统版本、系统补丁安装情况、杀毒软件、防火墙软件、反间谍软件等)、硬件(CPU、内存m容量、硬盘容量和序列号等)、网络配置信息(网卡品牌及MAC、IP地址、DNS和DHCP设置,网关及MAC、重要网络端口开放情况等)。 文件说明符:D\MASM32\works\sysinfo\sys...

  TEZNKK3IfmPf   6天前   19   0   0
推荐作者 更多

2023-11-08

2023-11-12

2023-11-21

2023-11-01

2023-11-02

2023-11-02

2023-11-02

2023-11-02

2023-11-01

2023-11-02