嗨,欢迎回来,那么各位相信经过我之前所演示的这样一个简单的测试例子之后呢,不明有一些疑问啊,我们为什么要用这些工具呢?为什么要用这个叫做 testing library 的 工具呢?官方有没有提供给我们一些 用来测试 react 的 应用的一些工具和方法?今天呢,我们来看一下呃,官方的说明。我们直接来到 react 的 官方文档,来到 它的搜索栏,我们搜索一下 test, 刚好第一个结果就是 rendering components in tests, 也就是在测试中去渲染我们的组建,那么可以看到它这里给出来的这样一个解决方案呢,是利用 rev 内部的一个函数啊,这里有一个叫做 random 的 函数,但是这个 random 函数前面呢,还需要链接一些调用方法,比如这里它会利用到我们的 create dom client 还要调用这个 create route, 并且在 route 之前我们还要构建一个 container 对 象啊, 为了实现我们这样一个组建的渲染的话呢,我们还必须要在前面写上这么多东西啊,虽然是 利用 rect 自己自带的这样一些内部函数来实现的,但是呢,总的来说看起来好像也非常的麻烦,并且呢, 它在下面进行这个匹配的时候呢,下面这个 matcher, 它全部用的是 to b 对 吧,非常的单调,没有我们使用的第三方工具库中的这个 matcher 这么 啊丰富啊,当然这其实都不是我们使用这个第三方工具库的一个最重要的原因啊,最主要的是呢,在 react 官方文档的下面,其实能够找到这样一个地方, pitfall, 也就是呃,警告或者说易错点的这个部分呢,它有说这样一句话, you can use a library like react testing library to reduce the boilerplate code。 你可以选择使用类似 react testing library 这样的库来减少我们的模板代码,也就是说 react 官方他自己也知道这种写法的话呢,其实非常的费时费力啊,为了减少这样一些重复的代码的话,他推荐我们使用一个叫做 react testing library 的 东西。那我们点过去看一看,这个东西是什么呢?啊?这个东西其实就是我们现在在用的这个叫做 testing library react 的 这样一个库啊,相信现在各位知道为什么我们要用这个库了吧,这其实也算是变相的由 react 官方给我们推荐的这样一款 啊测试工具库。但是呢,各位需要明确一点啊,在这个 testing library 这个工具的官网,在这个 getting started introduction 它的介绍下面这个地方能够找到 what this library is not? 这个库不是什么, 它不是一个 a testing runner, 它不是一个测试运行器,或者说一个测试框架,并且它也不是专门针对于某一个前端框架的一个测试工具。所以呢,我们想要使用这样一个测试工具的话,我们还是需要配合我们的 vtest 来实现测试整个测试流程,并且呢,因为它是和任何前端框架都能够进行适配的,所以呢,我也非常推荐各位学习使用这样一个第三方库。可以看到在左边的 frameworks 这里,它不仅仅支持我们的 react, 它还支持 view, angular 渲染 等等这样一些还算是比较知名的库的话呢,他基本上都适配了的。所以呢,各位学习这样其中一种写法,其实你之后再去迁移到另外一个框架的时候呢, 你的整体写法和代码风格不会产生,基本不会产生什么变动,只是把这个库的名字改了一下。比如 今天我们学习的是 react 相关的部分,那我们安装的就是 testing library react。 那 么明天你假设要把同样的测试代码迁移到 view 中,该怎么做呢?哎,在 view 这里的 introduction 可以 看到, 它只是把这个安装的库的名字从 testing library react 变为 test library view 就 这么简单。当然这上面是 view 二的,我们要安装的肯定是针对 view 三的,所以呢,我非常推荐各位使用这样一款第三方的工具库,当然了, 仅限于我们当前这个阶段,后面的话,我们会学习 vtest 的 进阶功能来替代这个库。只是目前的话呢,我想先让各位先熟悉一下这款工具库,因为它的使用呢,确实非常的广泛。最后呢,简单说明一下,我的课程中所有如果出现到的一些 视力代码的话呢,我都会放在视频的简介或者评论置顶,各位如果有需要的话,可以留意一下视频的简介或者评论置顶。那么以上就是本期视频的所有内容,希望你能关注或订阅我的频道,感谢你的观看,我们下期视频再见!
粉丝1196获赞5181

b d t 是 data drive and test 的简写及数据驱动测试。数据驱动测试是指利用不同的测试数据对同一个测试场景进行测试的过程。 数据驱动测试必须要利用自动化测试进行,否则测试效率和可直性性都非常低。因此你也可以把 ddt 理解为是自动化测试的一种方法而已, 比如测试某个多余种翻译引擎的正确率和效率,那么就可以准备多组不同的对照文案数据,用 ddt 的方式进行测试。 数据驱动测试一般在单元测试和接口测试层面使用的非常多,同时往往会结合一些测试设计方法来使得测试数据更有效和更有针对性,比如 边界值和等价类等方法。数据驱动测试有三点要特别注意, 一、他的本质和目的是要将测试数据和测试行为完全分离,使得同一个场景能在不同条件下被高效的测试。 二、真正的 ddt 要做到数据的改变,能自动出发测试的执行,最终引起测试结果的改变。 三、也是最重要的就是一定要充分分析真实的用户使用场景,不要觉得是自动化执行就掉入穷尽测试的大坑,用一堆无用的测试数据进行了无意义的测试。

hello, 大家好,今天教大家用 n 八 n 自动上传商品到 shopify, 我 来给大家演示一下,现在呢, shopify 里最新的商品是 sku, 是 test 零零四的商品,那我们来上传一个新的,我们来点击运行工作流,然后填写一下表格, 进货价格 s k u, 我 们写零零五,然后提交。提交之后呢,我们可以看到工作流在运行,稍等个几秒钟啊,它就显示上传完成,然后我们去 shopify 的 后台看一下。那在 shopify 的 后台呢,大家可以看到这个商品已经成功的上传了, ai 自动帮我们写出了英文的标题以及英文的描述,还有上传的图片, 以及计算出来了实际的销售的价格。那大家可以看到啊,上传一个商品也就几秒钟的时间,通过 ai 呢,我们可以把整个工作流都自动化,从而极大的提高效率和节省成本。今天呢,我就手把手的教大家搭建整个流程,我本人不会编程,所以呢,你也不需要任何的编程经验就可以搭建这个系统, 那我也把这个系统打包发给大家,有需要的朋友可以用视频下方的链接去下载,完全免费。好,那我们来实际的开始搭建我们的整个流程呢,是先需要准备好商品的相关信息, 包括商品的图片,商品的中文名称,中文描述以及进货价格等等。然后呢,我们将这些信息发给 ai, 让 ai 帮我们写商品的英文标题和产品描述,然后再直接上传到 shopify 上,那作为工作流的起始点,我们需要有一个触发器,把商品的相关信息发给工作流。 首先呢,我们可以点击这个加号,也可以点击键盘的 tab 键,然后我们选择 onform submission, 这个意思呢,就是我们创建了一个表单, 我们可以在这个表单上传商品的相关信息。大家可以看到啊,这地方有两个链接,分别是测试环境和生产环境的链接,也就是大家以后每次只需要打开这个链接就可以完成商品的上传,而不需要打开 n 八 n 的 工作流。 那在 authentication 这个地方呢,我们可以加一个密码登录,否则其他任何人都可以用这个链接上传商品,那这肯定是你不希望的。那在 authentication 这地方,我们可以选择 basic auth, 然后创建新的凭证,比如说我写 username test, 密码是一二三,然后我来保存。 接下来呢,我们来填写实际的表格。在 form title 的 地方呢,我们可以写产品上传,描述呢,我们可以先留白就行。接下来呢,我们来添加表格的元素,首先呢,肯定是产品的图片,元素的类型呢,我们来选择文件, 那因为我们肯定是需要上传多张商品图片的,所以呢,我们把 multiple files 这个地方打开,这样呢工作流就可以接受多张图片的上传。然后呢,在可接受的文件格式的地方,我们留空, 这个意思呢,就是我们接受全部的格式,当然了你也可以限制只接受 jpg 或者 png 这些格式。接下来呢,我们来设置产品标题和产品描述, 产品标题呢,我们选择 text 就 可以。产品描述的地方呢,我们可以选择 text area, 也就是多行文本,那这样的话呢,我们在描述的地方可以多填写一些内容,那有了产品的中文标题和中文描述之后呢,我们可以让 ai 去写英文的信息。那接下来我们来填写商品的价格,这地方我们来选择数字 以及商品的 sku。 好, 那在表格填写完了之后呢,我来给大家演示一下。好,现在他让我输入用户名密码, 他就登录进去了,填写一下相关的信息, 我们提交。 在运行之后呢,我们可以看到在右侧有一个 output, 也就是输出的窗口,这部分数据呢,就是我们刚才输入到表格里边的内容, 比如说产品的标题,产品描述,商品价格 s k u 等等。那大家可以看到啊,这个地方有四个表现形式, json 格式呢,是 n 八 n 里最常见的一种使用格式, n 八 n 工作流之间的信息传递呢,都是通过 json 格式传输的,那 table 呢,就像 excel 表格一样,你可以一目了然地看出表头以及相关的数据。而 schema 呢,它的好处呢,是可以在这儿直接很一目了然地看到各个数据的属性。最后呢,我们有一个 binary bannery 的 意思呢,就是二进置数据,我们点击 bill 可以 看到就是我们刚才上传的产品图片。那二进置数据具体是什么意思呢?我们接下来会讲到。那有了这些信息之后呢,工作流需要做这么几件事情, 首先呢,它需要把图片和 sku 上传到 shoppingfly 的 后台。其次呢,它需要结合中文标题和中文描述去写英文的标题和描述。接下来呢就是基于商品的进货价格去计算最终的商品售价, 我们先来处理最终售价的计算,因为这一步呢,涉及到一些计算公式,我们拿一个最简单的公式计算,就是商品的进货价格加上物流的处理费,加上商品重量,乘以物流的公斤费除以一千, 再乘以你的利率,就是你的商品人民币售价,那再除以汇率,就可以换成成各种不同的外汇,比如说美元或者英镑或者欧元。那也就是说呢,为了计算商品的售价,我们需要全部的这些因素。进货价格呢,我们刚才在表格里已经填写过了,而其他的要素,比如物流费用,汇率等, 这些呢,我们肯定不希望每上传一个产品都手动填写一次,那这些变量在 n 八里怎么设置呢?这就需要用到一个很有用的接点,叫做 edit fuse, 我 们也可以叫它 set, 那 这个接点的意义在于呢,你可以用它来增加,减少或者修改任何你想要的数据。我来给大家演示一下,比如说处理费,我们来设置一个变量,叫做 handling fee, 那 格式呢,是数字, 假设处理费是每单二十八元,我们来填写进去。那接下来呢,对于其他的变量,我们来依次填入。 好,那在这里呢,我们就假设处理费是二十八元,物流的公斤费用是一百元,商品的重量是四百克,汇率呢是七点二,然后我们的利率是百分之五十,我们来运行一下,大家可以看到啊,这些变量已经出现在了输出的部分,但是问题是 我们之前表格里填写的内容消失了,比如说商品的标题,商品的价格以及 sku 都没有出现在输出的这个地方, 那我们应该怎么办呢?我们需要点击这个 include other input fuse 这个按钮。这个按钮的意思呢,就是不管我们在 set 接点做了什么设置,它都会把上游的数据原封不动地传进来,继续给下游使用。 那我们来运行一下,大家就可以看到,现在的输出数据不仅包括了我们在 set 节点里设置的一些变量,还包括了最初 我们在表格里输入的数据。好,那有了这些数据之后呢,我们的准备工作就差不多了。接下来我们让 ai 帮助我们写英文的标题和描述,我们来对接 open ai 的 节点, 我们来选择 message or model。 首先呢,我们需要创建一个 open ai 的 凭证,我们只需要去 open ai 的 官网去创建一个新的 api key, 然后我们把 api key 输入在这个地方就可以。接下来呢,我们来选择模型。在这里啊,我建议大家选择 gpt 四点一 mini, 因为这是我在测试了很多 gpt 的 不同版本之后,发现性价比最高的模型。它的成本呢也非常非常的低,每百万输入 token 的 费用是零点八美金, 而每百万输出的 token 是 三点二美金。然后我们来给他一个提示词,也就是我们要告诉 ai 它需要做什么。那在提示词里呢,大家可以看到,我加上了中文标题和中文描述,我们可以通过引入变量, 也就是我们可以通过直接拖拽左边的变量来完成。那这样呢,不管未来我们在表格里填写什么样的中文标题和中文描述都会在输出里被引用出来,那接下来呢,大家可以看到这地方有两个按钮,第一个按钮是 simplify output, 第二个按钮是 output content as json。 那 前者的作用呢?我来给大家先演示一下。我们先来运行一下,大家可以看到啊,我在运行了 open ai 之后呢,它给我们的输出非常非常的简单,只有产品的标题以及产品的描述以及 sku, 那 当然了,这些就是我们需要的, 那如果我把这个按钮关掉,会出现什么呢?我们来试一下,大家可以看到现在输出的数据多了很多,那这些数据主要是什么呢? 这些数据啊,其实是 open ai 在 给我们返回生成的内容的时候,通常会带有一些系统的信息,比如输入的 token 是 多少,输出的 token 是 多少,以及你总共使用的 token 是 多少。那这些数据呢,其实对我们的工作流是没有用的,所以如果你希望你的数据更加的简洁,那你就可以把这个按钮保持打开的状态。 但是呢,我通常会选择关闭,因为我希望了解每生成一个标题和描述所消耗的总共的 token 有 多少。这样呢,我可以清晰的计算每一笔的费用。那比如我们拿这个例子来计算一下,刚才我们说了 g t 四点一的输入成本是零点八,而输出成本是三点二,那我们来计算一下, 也就说呢,我们生成一千个产品的标题和描述所需要的成本连一美金都不到。那接下来这个 output content as jason 是 什么意思呢?它的作用啊,是可以规范大模型输出的格式,那如果我们不打开它呢?大家可以看到 现在 ai 在 输出的时候,会把 title 和 description 都放在了一起,那如果我们打开这个按钮,我们再来运行一下,大家就可以看到大模型在输出的时候呢,就会把 title 和 description 都作为一个单独的字段给我们分开了,那这个好处是什么呢?这个好处就是我们可以在下游的节点 像左边输入的数据一样,可以随意地拖拽,这样就更加的方便。所以呢, output content as jason 呢,它就是会把结果生成一种更整齐的适合机器读取的格式, 可以极大的方便后续节点的处理。那接下来呢,我们来计算一下商品的销售价格,我们用刚才计算售价的公式,我们再加入一个 set 节点,我们在这个地方呢选择销售的价格格式,选择数字,然后我们用公式来计算一下,首先呢我们需要进会的价格,然后加上处理费用, 再加上商品的重量乘以物流的公斤费用,再除以一千, 然后呢我们再乘以我们的利率, 一加上零点五,我们再除以我们的汇率, 就可以计算出来商品的实际售价了。那大家可以看到啊,我们计算出来售价呢,小数点后有非常非常多的数字,那我们肯定是不能直接用它的,我们可以怎么做呢?我们可以设置成十八点九九,那我们怎么设置呢?我们可以用 math 点, floor 这些功能,这样呢,大家可以看到它把小数点之后的数字全部删除了,然后我们在这再加上 零点九九,就完成了最终的售价的计算。同样的,我们在这也打开 include other inputs, 我 们来运行一下。好,那我们现在已经有了商品的标题,商品的描述, sku 以及商品实际的售价。 但是呢,大家有没有发现啊,图片怎么没了?这是因为啊,大模型的节点,它默认只输出它自己的回复,也就是 ai 生成的文本, 他会把上一步的图片给剥离开。那这个怎么办呢?其实也很好解决,因为在安邦里,我们可以设置多个分支线路 并行的处理任务,那我们可以在大模型前的节点去拉出来一条新的线路,去专门处理图片。那关于图片处理呢,我需要先给大家介绍两个概念,大家才能更好的理解如何处理图片。我们平时肉眼看到的图片可能是这样的,这样的, 但是对于机器,它看到的都是二进置的数据,都是零一零零零,类似于这种数据,这叫做二进置数据。那正常来说呢,二进置数据也没有问题,但是问题在于 n 八 n 的 工作流,它基本上都是以 json 的 格式,而 json 格式呢,它不支持二进置数据的直接传输, 所以我们必须把它改成可以传输的格式。那这里呢,我们就需要用到 extract from file 这个节点, 然后我们选择 move file to base 六十四 string, 也就是将文件转化成 base 六十四格式。那大家可以看我这个直观的例子,我这有一张图片,只有一乘一的像素,那这个呢,是这个图片的二阶式数据, 这个数据是无法在 json 格式里传输的,而这个是它对应的 base 六十四数据,它是可以在 json 里传输的, 那我们在这里不具体讲二进置数据是如何转换成 base 六十四的,大家只需要记住 base 六十四是 json 格式可以传输的数据就可以了。也就说呢,我们在通过表单上传图片后,图片本身是以二进置数据存储的, 然后我们把二进置数据转换成 base 六十四格式,这样就可以在整个工作流里传输这些图片了。那我们来测试一下,大家可以看到啊,右侧生成数据里呢,就是 base 六十四格式的数据。 但是呢,现在有一个问题,正常的电商图片肯定有很多张,不可能只有一张,那我们这回来多上传几张试一下。假设呢,我们在这地方有三张图片,我们来运行一下,大家可以看到啊, extract from file 这个节点,它没有任何的输出,这是为什么呢? 因为在 input library 这个地方,我们需要输入图片的名字,那我们在这个地方呢,只能输入一个名字,但是在 input 里却有三张图片,所以呢,我们需要做的是把 input 的 数据拆分成三份, 这样呢, extract from file 这个节点就可以针对每一个图片进行格式转换了,那我们用到的节点呢,叫做 split out, 在 这个地方我们来填起 battery, 然后 include all other fuse 就 可以了,然后我们来运行,这样呢,大家就可以看到,我们从原来的三个图片,在一个数据里 转换成了三个图片,在三个不同的数据里。好,那接下来我们再来运行一下 extract from file 这个节点,这次呢,我们在 input battery field 这个地方加上这个表达式,它就会对每个图片都单独的处理一次。我们来运行一下, 我们可以看到在这个地方,我们对三个图片分别进行了三次的背四六十四转换。那刚才呢,我们通过 split out 将三张图片拆分成了三份,并且用 extract from file 将它们都转化成了背时六十四的格式。 那现在呢,我们需要把它们再组合回去,形成一个数据,我们需要用到的节点是 aggregate, 那 在 aggregate 里呢,我们来选择 all item data, 然后我们来选择运行。 这样呢,大家就可以看到我们从原来的三个 item 变成了一个 item。 好, 那我们现在需要的数据呢,都已经齐全了,我们通过 ai 大 模型获得了产品的标题和描述,同时呢,我们通过下边的支线 获得了已经处理过的产品图片。现在呢,我们需要将这两个分支去合并起来,我们用墨指接点 分别把它们连进来。那默指节点呢,就是把之前各个线路的数据结合起来。默指呢,有几种不同的格式,常用的就是 a p p 和 combine。 a p p 呢,就是不管你有几组数据,它都会给你叠起来,比如说线路一是两组数据,线路二是三组数据,那么 a p p 就 会产生五组数据。但是这里呢,因为我们要做的是把产品标题描述这些和图片结合起来,形成五组数据。但是这里呢,因为我们要做的是把产品标题描述这些和图片结合起来,形成五组数据。但是这里呢,因为我们要做的是把产品标题、描述这些和图片结合起来,形成五组数据。但是这里呢,因为我们要做的是把产品描述这些和图片结合起来, 所以我们需要用 combine 来进行,我们选择 combine by position, 然后直接点击运行, 那大家就可以看到我们需要的全部信息,包括 title, 包括 description, 包括产品的销售价格,以及处理过的产品图片, 都包含在了一个 item 里。那现在呢,我们拥有了全部的信息,我们就需要把它们上传给 shellify, 那 n 八 n 里自带有一个 shellify 的 节点,但是呢,在这个节点里,我们可以看到我们没有办法直接去输入 sku 和商品的价格。那这呢就说明我们不能用 n 八 n 官方的 shellify 节点, 因为这个节点功能不够强大。那这个时候呢,我们需要去使用 http 节点 去对接 shopify 的 a p i 来上传这些信息。 h t t p 的 请求简单来说呢,其实就是向一个服务商索要信息,比如你问 shopify 订单一二三四五是什么情况, 他就会把订单的详细信息回复给你,也就说你向他询问相关信息的过程就是 h t t p 请求。 htp 请求。这个节点呢,是整个 nbn 里最重要的节点之一,正是因为它的存在,才会给我们带来更多的可能性。因为大家平时的需求场景不同, nbn 的 官方节点不可能包含所有的需求,但是 http 节点的存在可以让我们去向任何提供 api 服务的厂商去获取我们想要的信息, 那这样自动化的奖励就是无穷的好,那 shopify 呢?目前主要在用的 api 接口,要求用 post, 所以呢,我们在这个地方选择 post, 而 url 呢,就是 shopify 的 网址,大家可以直接用这个链接,你只需要把 your store 这个地方换成你自己的店铺就可以了。那 shopify 的 凭证呢?我已经设置过了,如果你是第一次设置,可以参考 n 八 n 的 官方文档, 里边讲解的也非常详细。所以呢,我们就忽略它直接往下走。在这个地方呢,我们来点击 send body, 然后选择 json 以及 using json, 再在表达式里贴上这些代码。那这些代码的作用呢?就是把所有的这些信息都传给 shopify, 我 们可以从右边的预览看到全部的信息都已经在里边了,然后我们来点击运行, 我们可以看到它已经运行成功了。然后我们回到 shopify, 就 可以看到刚才我们上传的商品。那我们来对应一下,它的 title 叫 cozy, giraffe, plush, sleepers 是 一样的,然后它的描述是 step into comfort and trump with, 这些也都是一样的。好,那对于整个商品上传流程的自动化呢?目前的版本还是有很多可以优化的,比如说产品有多个颜色和大小的处理方式,或者是否有可能让工作流自动读取 excel 表格上的数据 来自动上传信息,而不需要我们每次都手动地填写表格等等。那这些呢,我也会不断地点个赞,点个关注。好,那希望今天的视频呢,对大家有所帮助, 希望能够帮助更为电商老板节省一定的时间和费用。那今天的视频到此结束,我们下期再见,拜拜。

大家好,我是小松,这个视频我们学习一下怎么去做 mental test 之后会绘制一张蝴蝶图,就是这个样式,我不清楚它是不是叫蝴蝶图啊?我看网上都是这么叫的。 那么这个样式就是两个部分,一个就是热图,还有一个就是添加了这个连线,我们这边用的数据是 做的一个免疫分析的,呃,就是用免疫分析的结果来做的,这边乐土是二十二种免疫细胞的一个结果, 然后这边点的话,这些,呃,五个点是基因,我们这边就是乐土是免疫细胞之间的相关性,然后连线的话表示的是基因跟这些免疫细胞之间的相关性。比如我们这个,呃, t a c c one 这个基因,它跟这个这个 pla sma 这个细胞它的相关性可以通过这个颜色来看, 它的相关性通。呃,相关性 r 就是 manot, 它的 r 的 大小可以通过这个粗细,比如这边它这个这个粗,就这个的话,它应该是比这个会粗一点, 然后他这个应该就是我们在这边找这个大小,他应该是零点二到零点四,或者说你零点四到零点八这样子,他的一个相关性大小,然后 p y 六,我们就通过他的颜色来看,比如还是这个,我们这个颜色是 是这个橙色的,那就说明它的 p y 六, p y 六它是小于等于零点零一的,如果你是绿色,就说明你这个 p y 六,它是零点零一到零点零五之间,那你是灰色的话,就说明这个 p y 六它是大于等于零点零五,那就说明不显著, 这是连线部分。然后这个乐图部分就很好去看,直接通过这个信号,一个信号就代表 p 小 于零点零五,两个就代表 p 小 于零点零一,三个的话就是小于零点零零一,就这样的颜色,这边颜色乐图的颜色就代表它的, 呃, psn 库就是 psn 的 相关性大小,这边通过这个颜色去判断。好,那接下来我们怎么去呃,看一下怎么去做这个 mental test。 我 们打开代码,在这里我们需要先先安装一下这四个包, gg pro two, 这个不需要讲,大家都应该是有装过的,就我们前面讲的这些视频都是用 gg pro two 去绘图的, 然后后面这这个做数据,呃,数据,呃,分析的时候会经常用到,主要是这两个可能大家没有安装过,需要安装一下。我们这边首先导入这个包, 这是金,我们用的是这五个金,这五个金, 然后看一下这就是用到的基因,跟我们热度里面,呃,就刚才那个图,蝴蝶图里面用的是一样的,我们这边用的结果就是 seven short 的 一个分析结果, 我们看一下这是这个结果,因为我们分析的话有一些它会出现有一些免疫细胞,它会出现的情况就是在每一个样本里面,它的 这个相对的这个含量,他都是零,这种是零的,你做相关性分析,或者说你去复制热度的话,就他就会出现一些错误,或者说你没有显示这种像这些列,这种权威零的列我们就会过滤掉, 就是通过这个去计算,我们就是留,只保留这些不等于零的,我们现在是二十二列, 我们筛选完之后就只有十九列,这是我们最最终用的数据,就这十九列,因为 type soul 的 它是用二十二种免疫细胞去,就是会计算,通过表达矩阵去估算它这二十二种免疫细胞的相对含量, 也就是一个百分比。这个那我们下个视频就讲一下怎么去做 type soul 的 免疫理论分析,分析 这是这个,然后这是我们绘制乐图时候的一个矩阵,这边就是我们的基因基因的表达数据,我们最终是用这五个基因,但是一般我们的表达矩阵都是在一个完整的, 就有一个完整的表达矩阵里面,它里面有两三万个基因,那我们最终是筛选出这五个基因来做, 我们看一下,这就是我们最终筛选的基因,这五个它的有一个格式,就是韩式,韩式基因哦,韩式样本,然后列,每一列就是一个基因,它的一个表达量, 因为我们这边进行了转制,我们正常的话,正常它是每一列就是一个样本,这边进行了转制,然后我们判断一下它的这个样本的顺序是不是一致,如果是一致你就直接往下运行,如果不一致你就要调整这个样本顺序,就是这两个, 因为你这个样本顺序如果不一致,那你算的这个相关性肯定是会出错的,因为你对应的这个免疫细胞啊,跟它这个,跟它这个基因表达点对应的不是一个样本,你算的话就就会出错,所以我们需要调整这个顺序,我们就会先进行判断,如果是 q 就 不需要调整, 那我们接下来去做 mental test, 这边就是通过这个函数,你安装了这个包就可以直接用这个函数了,这是我们的这个基因这个表达矩阵,然后这个就是 免疫,免疫经论的结果。这边用的方法就是这个 mental 这边这个就是一,这个等于一,这个等于二,就说明他这个就说明是在这里, 哦,不对,是这个等于一,就说明他是第一列,等于二就说明他是第二列,然后就这样的,因为我们是五个,就这样去写,然后后面就是进行一个呃,就是 cut, 就是 去区分,然后去标记这个粗细或者说颜色, 我们看。呃,刚才的这个结果,这边你看我们这边这个粗细就是小于零点二,还有就是零点二到零点四,零点四到零点六,这边我们就是通过这个 cut, 通过这个去进行一个区分,那你也可以去根据自己的定义,你有,你有可能你想改成零到零点二五、零点二五到零点五,都可以在这边去修改。 呃,这个就是我们标标记这个 p value, p value 的 一个范围,我们弄的是三个,这个也可以去修改,然后最终我们就会导出这个结果,我们看一下运行完这个之后的结果。 啊,这个导出的话,那我这边就不运行了,我们看下这个结果 就是这样的,他们之间的 r 就是 相关性大小,然后 p 就是 他对应的 p 百六,然后 r d 就是 跟这个 p d 就是 我们用来标记的,就是你这个 r 是 这个负的,那我们这边就是小于零点二, 然后他的 p, 你 看零点六九,说明他是大于等于零点零五,就是这样的一个结果,这个表格 我们会把这个结果会去导出,之后我们去热图,因为热图这里我们不能光看这个, 这个大致的情况,你需要有具体的数据,我们绘图的话,你是没有导出数据,我们导出了两部分数据,一个就是我们刚才说的这个 mental 它的结果,还有一个就是我们相关性,一个热图里面的相关性矩阵,就是这个 免疫细胞之间相关性这个结果我们也需要去导出,它导出的话有两个部分,一个就是相关性的大小,比如这个颜色对应大小,比如你大概是这个颜色,你可能对应零点四左右, 然后你这个信号,三个信号,我们知道三个信号它是小于零点零零一,那你具体是多少,我们也需要去有一个这个结果,所以我们会在这里进行计算, 然后 x 就是 一个结果,我们可以看一下 x 里面它有 r, 对 应的这个 r, 我 们也可以看一下, 这点不出来。好,那我们这边是有导出,导出到一个 t s t, 我 们可以在这边看,这就是它的 r 相关性,然后还有它的 p, 它总共就两个,一个是 r, 一个是 b, 我 们把这两个分别导出 hitmap core, 还有就是 hitmap p value, 这个我们去导出,这样就把所有的计算的结果都导出来了, 也就是我们图片里这里的所有的结果两个部分,一个是热图的结果,一个是这个 mental test 的 这部分的结果导出了,然后我们后面就去做格式化, 好,这就是格式化之后的结果,然后我们这边也会导出, 我们看一下,这跟我们在刚才在呃 ppt 里面看到的是一样的,就是这样一个结果。因为我们做格式化的话,你不能光有这个图片,我们还需要有具体的数据, 因为我们在文章里面写,那你不能,不可能写你这个,比如我们这边第一个你不能写它的颜色啊,它的相关性,你在这边去看,你在文章里写它相关性大概是,呃,零点四五,你不能这样去写, 或者说你大概是零点五五,是吧?你肯定是要给具体的数据,具体的数据那就是我们计算出来的是多少,那就是多少。 还有这个对应的这个 p 百六,你不很就是给他这个一个,说他是小于零点零零一这样的,呃,有很多也是这样写,但是你肯定是有据的,数据是更好的 图片,只是说我们可以通过图片更方便的去看,看到哪一些它的相关性比较大,或者说哪一些去哪一些它的这个 p 百六,它是小于零点零五的,就是这样的。 所以正常来讲我们都是有图,那就要有这个图对应的结果,不能光有图片。好,那我们最后就是在这里保存这个图片,我们图片跟结果都保存出来了,那我们讲一下画图的这个代码, 这边 low lower 就是 说他们是下三角,就是这样的一个三角形,那你如果是 upper, 那 就是上三角,我们可以改一下,看一下, 就是这样,一开始是下面,然后这,现在这个就是上面,就这样的一个区别, 然后这个,呃,就这个说明就是这个对角是不是,是不是画出来?我们 force 就是 对角,因为它对角的话就是 对角的话是自己跟自己的相关系,我们就没有画出来。比如你自己跟自己这边相关系,那肯定就是一了,这边就没有画出来,因为画的意义并不大。 好,这边是怎么去标记我们,我们这边 size 就是 这个信号的大小,它是 零点,呃,它是三点五,这是我们信号的大小,这是 only mark, 就是 我们是不是只标记信号,我们是 two, 就是 说明你只标记信号,如果是 false, 它会标记信号。还有具体的相关性数值,我们可以看一下 f, 那画出来就会这样的,这是它具体的数字,你可以在这边展示。 好,这边这个是,呃显著性,它的一个域值一,呃,一般我们都是设置零点零五。颜色,这是这个字体的颜色,我们这边用的是黑色的,然后后面就没什么了,这边是我们绘制乐图,它用的颜色, 还有这个就是 size 跟 color, 我 们 size 就是 这个线的粗细, 后面就是 guess, 就是 我们的图例,它的一个顺序。 alt 等于一,就是你是在最上面显示的图例,这是图例的顺序。其他的主题这些就没什么了,主题,主题啊,看你怎么去用这些样式字体啊,或者说字体大小。 好,那这个这就这个视频我们就学习了怎么去绘图纸,呃,怎么去做图纸,然后去绘制这个蝴蝶图, 下个视,呃,因为我们这里用的是免疫净论的一个结果,我们说下个视频就会讲一下怎么去做 cyber 的 免疫净论分析。

大家好,今天给大家演示一下我们宏科 contacts 软件的一个基本操作流程。首先双击打开软件 进行总线分析之前我们需要创建工程,工程管理主要分为创建工程、导入工程上传文件三个部分。点击创建工程 浏览工作路径。 工程创建成功之后,可以在左下角的工程状态看到我们所创建工程的一个目录地址。 我们还可以导入之前创建过的工程, 比如我们 test 里面一点 hdb, 这是我之前创建的一个工程。 上传文件,这里我们可以管理我们对应的 dbc 文件或者 blblf 文件。 我们上传两个 dbc 文件进行等分儿的的收发测试。 文件列表这里会展示出来我们上传的 d、 p、 c 文件和 b、 r、 p、 l、 f 文件, 在这里可以进行删除管理,不再演示。下面进入看通信。首先是硬件配置 厂商选择,这里我们默认选择宏客批看后续我们还会支持更多的厂商,比如卡巴萨、 victor 等。 通道选择,我电脑实际上是连连接了两个单通道的 看卡支持看 f、 d, 选择 boss。 一、 配置文件自定义如果我们提供的 d、 p、 c 文件中 信息比较完整,也可以从 dbc 文件中加载总线类型,看波特率等信息到配置区域, 这里我们使用自定义进行演示。时钟频率八十赫兹。总线类型我们选择看 f d, 看波特率五百 k 裁样点七十五。看 f d 波特率两兆,裁样点八十。 我们还可以点击裁样点参数按钮,进行更加详细的裁样点参数配置, 同样的看 f、 d 参考点也支持更加详细的参考点参数配置这里不再进行演示, 配置完成之后,点击添加通道,就将 boss 一 的配置详情添加到下面的表单中。点击连接断开可以进入进行管理, 我们添加两个通道进行通信,分别连接 硬件配置配置上方的操作, 首先刷新硬件是指在我们软件运行过程中,如果你新加入了新的看卡,或者说进行了看卡的插拔,我们可以点击刷新按钮,重新扫描硬件与通道,进行一个硬件通道的选择。 重置总线,我们现在可以观察到 bus 一 和 bus 二两个的总线状态是 ok 的, 如果出现了总线错误,我们可以选中选中对应的通道,点击重置总线, 重置操作将清除总线的错误状态,重新初次化总线参数,但是不会断开总线连接。 以上是所有的硬件配置内容, 下面进入接收和发送,首先发送数据,我们选择 bus 一 通道进行数据的发送, 发送分为添加原始豹纹和添加数据库豹纹两个选择。首先点击添加原始豹纹,点击之后会生成一个随机的 id 信息,默认发送周期是一百毫秒, 消息类型为看真 d r c 长度为八,豹纹数据默认填充为零。点击发送接收数据,我们点击开始接收, 可以看到数据进正在进行正常的收发操作。 关于我们添加的原始豹纹,我们可以修改发送周期消息 id, 消息类型 dlc 长度豹纹数据。比如我们修改为发送周期为五十毫秒, 消息 id 修改为七七,消息帧类型修改为看 f d 帧, d f c 长度十二、 豹纹数据我们可以在豹纹数据单元格中进行修改,也可以在下方的数据字节中进行更加详细的修改。 可以看到上方正在进行接收的就是我们的刚才修改完毕的七七,看 f d 帧, 我们可以停止删除监控列表, ok, 这是添加原始豹纹, 另外还有一个添加数据库豹纹,首先点击添加数据库豹纹,会弹出对应的选择数据库豹纹对话框, 这两个 d p c 文件是我们刚才在工程管理中所创建的所上传的 d p c 文件。 选择豹纹信号或者说豹纹都可以进行一个豹纹数据的豹纹的一个添加,选中三零 c, 可以 看到相比于原始豹纹,下方多了一个 dbc 信号 的子页面,在这里我们可以看到豹纹 id 以及该报文下的信号名名称,然后信号值,最大值,最小值单位以及功能。可以看到三零 c 所属的这个下方的信号是代表背光亮度设置的一个信号,我们修改为 level 十,可以看到上方的报文数据发生的变化,我们点击发送 添加数据库豹纹,对于已添加的豹纹,它会有一个已添加的提示,我们也可以选择多个豹纹,按住 ctrl 键鼠标点击 即可选择多个豹纹,同时添加到发送列表。 看到三一八下方所属的这个信号是属于灯的状态,我们修改为 o n, 点击发送。 二零一下所属的这个信号属于车速,修改为一二零点击发送。为了便于演示,我们就先发送这三条豹纹数据。 关于接收数据, 首先上方清空列表就是会展示最新的一个报文状态,我们这里不再清空。然后目前所进行展示的一个状态是 固定顺序的一个显示,就是只更新的接收时间和接收数量,报文的位置并没有发生变化,我们可以点击固定顺序进行切换,切换为时间顺序, 这里可以,我们可以看到时间顺序显示就是最新的豹纹会滚针到最下方进行展示,我们可以拖动接收数据和发送数据中间的分格线,调整两块区域的大小, 为了便于观察,我们切换为固定顺序。 过滤器过滤配置,这里支持过滤通道、过滤模式、消息 id 三三种过滤模式的配置。我们首先过滤通道为八十二本地过滤就是软件层面的过滤,硬件过滤就是关于到看卡底层的一个设置,最近本地过滤的一个演示, 消息 id 支持范围进行 id 输入,比如说我们只想要看二零一 和三一八报文,点击启动过滤 啊,停止过滤, ok, 我 们没有设置好,等我们一下 可以看到目前所展示的就是二零一和三一八报文。 然后其实我们的三零 c 也在发送,但是这里软件层面并没有把它展示出来,我们停止过滤,可以看到三零 c 报文又重新展示出来了,只是软件层面没有显示实际的看看正在接收。 以上就是接收和发送的所有操作, 下面进入报文录制,首先点击开始录制,这里会让我们选择一个录制文件所保存的一个地址,呃,不对位置我们选中, 选中之后这边录制就进行了一个开始了, 录制这边也支持固定顺序和时间顺序的一个切换, 我们录制大概十秒钟。 ok, 我 们点击结束录制,回到我们刚才保存的文件,可以看到它针于针对于八十一和八十二两个通道,分别录制了两个 pdf 文件, 文件大小是 十三 k, 文件大小为十三 k, 可以 看到因为进行收发是同样的数据, 这就是豹文录制的所有内容。下面进入豹文回放。进行豹文回放之前,我们需要在工程管理上传文件,这里上传我们刚才录制的文件, fast 一 ok, fast 二对应的录制文件 回放模式分为在线回放和离线回放,在线离线回放的话不需要回放通道,我们显示模式也展示为固定显示,点击开始回放, 下方就进行了一个回放列表,展示了当前 bl 文件中正在录制的文件回放进度,会提示这个回放的进度。还有多少条报文没有回放,点击结束回放。 一线回放不需要选择通道,在线回放的话就需要我们进行一个通道的选择,由于我们这边正在进行收发操作,所以说在线回放就不进行演示了,大家可以自行进行探索, 这就是报文回放的所有内容。下面我们进入信号取现,信号取现,支持实时数据的信号取现,同时也支持回放数据的一个取现 选择,实时数据选择 d、 b、 c 文件为 g 三开头的。刚才我们在接收和发送中所选择的报文都是从 g 三开头的 d、 b、 c 文件中加载进来的, 选中对应的信号之后,我们可以双击添加到图标中。 ok, 点击开始播放,由于它们的值相差比较大,我们可以点击适应按钮进行一个坐标轴的适应,可以看到我们的,呃,红色代表的是 灯光亮度的一个级别,然后一的话对应的一个灯的状态,然后一百二对应的话是车速。这是一个单坐标轴的显示,在一个坐标系内,我们还可以点击多标坐标轴进行一个切换, 可以看到它们现在是共用时间轴,而重轴是各自的一个值的范围大小。 我们还可以右键信号进行一个信号颜色的一个更改,比如我们更改为绿色,可以看到对应的豹纹曲线和坐标轴颜色都进行了一个对应的修改。 我们可以还可以右键移除信号,我们再添加回来,这添加默认的是它有一个固定的顺序颜色,我们可以修改为绿色。 还可以点击信号详情,可以看到 这个信号所对应的功能描述为车速单位,然后最大值,最小值,信号长度,其首位字节序、比特、音值等信息都可以点击关闭。 嗯,如果在这个信号中选择我们,嗯,一时间豹纹信号比较多,无法找到,我们也可以进行搜索,搜索 s c t 的, 它会 s w, s m 就是 对应的,可以进行一个精确的搜索,这里我就不进行演示了,大家知道有这个功能就可以。 ok, 我 们也在接收里修改车速,观察一下曲线的变化,修改车速为八十, 回到信号曲线,可以看到曲线已经变化为八十了,证明我们整个逻辑是通的,是在进行一个实时数据的一个曲线绘制。 以上就是所有的信号曲线内容, 下面是看数据库,看数据库这里支持一个更加强细的 d、 b、 c 信息的一个查看,比如我们刚才是上传了两个 d、 b、 c 文件,然后展开,我们可以看到一个关于这个 d、 b、 c 文件的一个详情, 比如我们刚才提到这个 d、 b、 c 文件中如果完整的话,它会设置看比特率和看 f d 比特率,这里是没有进行设置的。看总线类型,这里是规定了 对应的报文信号及节点信息,这里都进行了一个详细的展示。 ok, 这里是看数据库的一个内容, 以泰网 u d s 诊断 do i p 诊断内容我们正在开发过程中,后续如果开发完成之后,我们会进行再次的录制视频演示。 接下来是关于关于这里我们分为三个部分,驱动检查、许可证管理和用户手册。首先驱动检查, 在我们双击运行软件的时候,会首次检查我们电脑所安装的一个驱动程序,可以看到我电脑上是关于 p 看的。 呃, pick 的 一个驱动程序,这边是装了一个四个 usb 的, 虚拟的和 pci 的 和 lan 的 四个驱动程序已经安装完成了, 我们可以点击刷新驱动状态,进行一个重新的一个检测。嗯,如果说您的电脑上没有安装对应的驱动,可以去官网下载,也可以点击安装驱动。 去宏科 date 目录下选中 p, 看 usb, 点 i n f 文件进行一个驱动的安装,这需要是管理员权限。点击驱动完成安装完成。 许可证管理,我们在软件试用期间,我们的软件是进行免费开放的,所以许可证管理这里是有效的。用户首设,我们打开用户首设 会用我们默认电脑的 pdf 阅读器,打开这里会展示更加详细的软件操作。 ok, 以上就是关于我们宏科 contacts 软件的所有演示操作,谢谢大家。

p r test 框架面试最常考的五个功能,同时我会给出代码示意。一、 fixture fixture 是 p r test 的 支柱功能,用于测试用力,提供可靠的环境数据和资源。我们可以通过 add p r test 点 fixture 来装饰其定义, 执行用力。运行前后的准备与清理工作,实现测试的模块化与高度复用。二、参数化 add p r test 点 mark 点 parameters, 这个呢,可以允许你使用多组数据运行同一个测试函数。我们来实现数据驱动的核心,可以极大地 提升对多种输入边界条件、异常场景的测试覆盖率,同时呢,还能保持代码的简洁。三、标记 p i t s。 点 mark, 可以 给所有用力打上标签,比如 smoke slow, 我 们可以通过执行 p i t s 杠 m smoke 来执行冒烟用力。 p i t s 杠 m not slow, 我 们可以执行浮了慢速的所有用力,我们还可以通过 p i t s 点 mark 点 skip 来跳过用力。四、异常断言 p i t s 点 rise, 我 们可以按代码 预期是否抛出了特定异常,比如 p r test 点 rise exception, 我 们可以去进行上下文的管理,抛出的异常放在位子语句中,如果代码块没有抛出异常,或者抛出异常类型与 exception 不 同,那么测试就会失败。五、分布测试我们可以利用 p r test, 杠 x 四个插件来测试多个 cpu 或者机器上进行测试。 p r test 杠 n 凹凸,我们可以使用所有 cpu 核心或者杠 n。 四、指定四个进程来执行,分发到多个 work 进程,同时执行用力。

呃,用潘森的 oppo 思维来做一些滑块的实皮的一个。 呃,这是一个,一个登录,登录,他们需要一些滑块的一个访问做一个匹配。呃,他滑块有吹损图,有一个完整图,还有一个破损图,嗯,在一个处理,在,这是处理结果的一个。 呃,这个图的一个路径。呃,需要用到的。嗯,模块要 有一个,这是一个潘达斯。在这个,这是所谓的 offercev 啊,这是一个 个做一个登录的一个火花识别的一个一个过程。他应用到的一个 oppo 四维,他有一个,他有一个。呃,嗯,灰,灰度图,啊?对,他有一个灰度图,有一个空口,空口子, 这是一个笔袋验证结果的一个图纸,一个图,现在已经验证通过了。

这像不像你在测试时随意填写的测试数据?随想随填,毫无章法。 作为一名专业的测试人员,我们的测试数据必须足够真实,所以今天我将分享三种获取无限接近真实数据的经验,希望对你有用。记得一键三连哦!方式一, mock arrow 一个在线生成数据集网站, 支持生成一千多条数据,生成自定义格式的模拟数据,支持 csv、 json、 sql、 excel 等。方式二, generate data 同样是一个在线生成数据集网站,分三步生成数据, 第一步选择数据类型,第二步选择数据格式,最后点击生成数据格式包含 json、 csv、 sql、 xml 等, 支持在线查看和导出附件。方式三, fakeer fakeer 是 一个流行的 python 第三方库,专门用于生成伪数据 mock data。 这些数据模拟真实世界中的信息,如姓名、地址、电话号码等。 它广泛应用于数据测试、数据填充、数据库促使换合、隐私保护等场景,但是要求使用者需要有一定的 python 基 础。好了,记得一键三连!

大家好,我们从网络上买的一些优盘价格非常便宜,但是呢容量呢却非常大, 比如说花几块钱就买了一个六十四 g 或者一百二十八 g 的优盘,但是往里面存储数据的时候,可能只存储了几 g 就显示容量不足或者出现错误。其实这些优盘是进行扩容的,它的实际容量呢,没有这么多。 今天我们介绍一款软件 my desk text, 它是由数码之家开发的一款优盘扩容检测工具, 他可以通过快速扩容测试来识别假冒的优盘,检测优盘的真实容量。 软件非常小,只有八十二 k, 双击后出现界面 有三个选项,一个是快速扩容测试,一个是数据完整性效应,第三个是读写速度测试。我们使用第一个快速扩容测试就能够检测当前优盘的实际容量, 插入需要测试的 u 盘选择开始测试, 看一下下面的报告,当前设备是金士顿,容量是三八幺零招币,文件系统格式化的是 f a t。 三二 提示正在进行快速的扩容测试,整个过程呢,我们不需要人为去干预, 测试结束后显示测试通过,我们的优盘呢,不是一个扩容的优盘, 下面的数据完整性效应以及读写速度测试可以测试优盘的性能,有需要的朋友呢,可以自行测试。

hello, 大家好啊,我是凯旋,今天给大家带来一个对串流玩家还有其他的对串流玩家比较有用的一个东西吧,对其他玩家当然也有用啊, 就是一个内网测速的工具。嗯具体它什么作用呢?呃目前我用它来测内网稳不稳定,然后能跑多少兆啊?大概就是这么个功能,如果你对你的路由器没有什么了解的话,就说你不知道你这个马力该开多高, 你可以这样测一下啊,用你的手机连接你的 wifi, 然后电脑,然后啊来架设这个网线,用你的手机访问你的电脑 ip 就 可以测出你手机到路由器再到你电脑这个延迟跟。呃网速啊, 大概能看你能开多少马力,大概就是干这个用的哈。啊我们来说一下用到哪两个东西啊? 首先第一要装一个小皮这个啊, p h p study 啊。呃直接下载就行了啊,网页就是这个网页,到时候我会贴到这个简介里边,大家自己看,然后下载这个八点一版,然后六十四位就下六十四位,三十二位就下三十二位啊,这个看你自己的电脑系统下载完之后 安装,安装完了之后就是这么一个东西, 让我给大家看一下啊,安装完就是这这么一个东西,然后我们直接点击启动, 然后网站点击网站,网站这会有一条这个这个,然后我们点击管理找到根目录 啊,我这是配置好的啊,正常他是呃没有这些东西的啊,正常就一个这个和一个这个啊,这些个都是用到下一个东西啊。呃就是 speed speed test x 这一个开源的软件,开源的一个项目啊, 用到这么一个项目啊。项目地址我会贴到我的简介里边啊,项目的这个作者我也会写到简介里边啊,然后这个我们直接点击这里下载, 当然有,有那个连不上这个 github 的, 可以直接到我网盘下载哈。我网盘这两个软件我都会传到我的网盘,自己下载就可以了啊。呃,我们需要下载这个代码。嗯,把它下载下来,下载下来之后解压, 把它解压一下,解压到你的这个这个里边就行了啊。然后我们双击把这里面所有的软件,所有的文件啊,所有的文件都粘贴到这个根目录里边啊,直接粘贴,然后覆盖。嗯, 这样就完成了。就这么简单啊,很简单。然后,然后要怎么测一下呢?嗯,当然了,你你直接在本地,直直接本地 local host, 他是可以访问的,但是这个测出来是只是能测出来你本地这个电脑的内存的那个速度,是跟网跟网速不沾边的哈,就没有用就不要在本地测啊。呃,需要在你的那个 移动设备啊,就说连 wifi 那 设备,我这个大概看一下,像我这这个平板就是我串流的平板,给大家稍微看一下。 呃,打开网页,然后我们直接输入自己的电脑 ip 就 行了,你电脑的 ip 地址就可以了,什么都不用加啊,我这个就是幺六八点八点幺四四,哎,我们直接访问。好,我们访问到这个界面之后,我们直接点 star。 好的,像延迟抖动,还有这个速率,这都能看出来?我这是百兆的。呃,百兆的宽带就是百兆的光纤转换器,我们这不太一样哈,你就理解为我这是百兆的路由器就行了啊,我这个就只能跑到这个这个速度啊,这是下载,这是上传 啊,不管怎么测都是这个速度,因为这是就是一个百兆的速度啊,如果你是千兆路由器的话,一般来说家用路由器跑个八九百兆是没问题的, 这个你们自己测测看是吧。啊,用这个测出来的还是比较准的,比如说延迟高啊,抖动大呀,啊,就是都能看出来啊,然后还有这个测速记录啊,有这个测速记录可以看到你之前测速的这个记录。当然了,这个呃 呃,不敢说他有多么准哈,就是仅供参考啊,给大家一个方法啊,如果对大家有帮助的话啊,大家给我点个赞。完了之后软件的话我会传到网盘,大家自行下载。好吧,有什么不懂的可以这个。 呃,在简介啊,不在简介,在评论区问我。懂的会给大家回复啊,当然也不一定都懂啊。好的,这期视频就这么简单,我们下期再见,拜拜。

有多少条数据,写多少条,然后在这一个程序里面去设置。首先文件处理,因为它是直式默认式 test 文件,所以呢首先要把文件 考到这个格式,考到这里,这是 test 记事本的一个格式,这个系统只是能处理这一个这一个格式的文件,然后把它考到这里,考到这里,这里来个文件处理 type 文件处理,文件处理完以后呢,它会产生一个打开文件,它产生一个带 b n n 后缀的一个文件,这就是我们要写的数据,这个是文件处理。第二步设备管理的一个参数调整, 在这里调整什么芯片,在这里选原始码,这两个不动有其他什么正码反码的话,那个是另外去调整的。然后这里有个写卡的参数,写卡的参数呢,就是根据你现在 现在写文本,把文本的内容考在这里来,然后这里是号段,这是第四段,里面是什么格式,这里有网址啊, 网址加那个 id 号啊这些所有因为这个是我们选用的是数据库制段,所以呢我们选的是这里面的是统一的一个制段。 第三号段是 i q x 系列的,第四号段就是我们常规性的一个除了 i x, i q x 后面的之后的之外的这些芯片类型全部选在这一个段落。这一个号段里面 设置完以后,这里有一个芯片的间距跟他的传感器的一个距离,就是跟实际的这个操作要相对应, 跟这边的电源,这里是读写器,这个是读写器,这个是电源,电源跟读写器跟芯片的位置要调到匹配的一个位置,跟这里的间距要对应的上, 他才能顺利能走的通。这一个间距的调整呢,就是这一个标签,一个间距的调整,上面是一个跳距的调整呢,是这一个芯片到位到这一边的一个距离,但是在实际的距离那里可能会调大一个加加多两个 n 左右, 这是一个跳距,本身他芯片这一个是二十五距离,对不对?然后我们呢把这一个传感器的距离调小两万左右大概,但是还是要实际的操作为准哈。这个如果是走的不准的话,就要相对的要调整一下,我们走一下这一个, 这一个呢相对于来说这一个参数已经调整完了,调整完以后用文件处理一个调。呃,调整参数已经调完以后呢,我们要到这里来,这个是二十五的一个标签,把它放到这里来调整,对,对准它的一个位置, 这一个是电源,这个是读写器,读写是在这后面的看到吗?嗯,读写器,然后呢还有一个跟他的石标实际的位置一般是放在这里,然后城市这个也等这个 光出现的话,就相对于来说他是在空白的位置,不在芯片的位置。然后我们来走一下,集合启动一下, 你可以拍一下这里,如果是他每一个位置他的跳在同一个位置,说明是他的距离是调整的。嗯,如果是有偏差的话,他会他他到这一个头就不会是同一个位置了。 然后我们来试一下他不是走了吗?对不对?嗯,走了一段呢,你要去同时要去看一下有没有写对他的数据,用 n f c 的 一个 手机带 nfc 手机拿去看一下他有没有写对文本,对不对?嗯,是吧?说明他就会写进去了,把文本写进去了,这就是整个调机的一个过程跟写数据的一个过程。

朋友们大家好,我是我爱 c 编程,今天我们介绍基于 fpga 的 十六 qam 加帧同步系统 verilog 开发,包含 test bench, 高斯信号雾码统计,可设置 s n r。 首先我们打开工程,打开之后可以看到有这一些文件,分别是十六 q a m 调制高斯白噪声信号模型,十六 q a m 解调,然后在十六 q a m 解调里面, 我们加入了真同步模块,然后这是误码统计模块。我们先看一下 testbench, 在 testbench 里面这里有一个参数, s n r, 可以 设置 snr, 用于控制信号产生的噪声大小。然后我们将接收端解调之后的信号保存下来,保存的数据通过 matlab 显示其新作图。 下面我们对该程序进行仿真演示,首先设置 snr 等于二十 db, 然后点击行为仿真, 然后我们将这个仿真时间设置为三千,点击运行,这里稍微等待一下,这个是仿真进度条,我们稍微耐心等待一下, 点这个方框看全局波形。然后我们首先看这两个信号,这两个信号是十六 q a m 映射,然后加入针头信息, 将这个设置为四十,然后坐标范围 hold 模式, 我们放大看一下,这一段就是我们加入的导频,这一段是十六 q a m 映射数据, 这个是针头部分,这是数据部分,然后再看通过高斯白噪声之后的数据, 然后我们再看接收端,接收端这个是十六 q a m 解调数据, 我们将这个范围设大一点, 我们放大看一下, 解调之后,数据的包络和发射端基本一致, 然后通过低通滤波得到十六 q a m 解调数据, 它和发射端的是一样的,然后我们对这个数据进行针同步,通过提取针的相关峰, 这个 pick 就是 相关峰。我们看一下相关峰, 可以看到在针头结束的位置会产生一个,这使能表示我检测到针了,然后根据这个针头信息,我们提取针数据。 这里我把这个位置换一下,这两个是导频以及数据部分, 然后将数据部分和原始的发射数据 msg 进行对比统计。雾码,在二十 d b 的 时候,雾码率是零。为了更直观地看十六 q a m 的 解调效果,我们打开本 matelab 查看十六 q a m 的 星座图, 二十 db 的 星座点是非常清晰的,所以没有雾码。然后我们再看一个有少量雾码的情况,比如说改为十二 db, 改完之后我们点这个圈圈重新仿真, 然后点这个,可以看到十二 db 的 时候,这里噪声明显变大,然后它的雾码是一千多,错误二十一个, 大概在百分之二左右。然后同样运行 matlab, 十二 db 的 星座点较为模糊。 以上就是十六 q a m 调制解调针同步的演示过程,演示完毕。

给大家看一看,我这个是用谷歌的 anti gravity 编写的一个四端的链条系统,进销存系统。我们先看一看这个项目的目录结构,这个后端是在 backend 目录下, 然后前端也就是后台管理是在 front 目录下,是用 view 编写的啊。后端这个 backend 是 用 spring boot 三编写的。 然后我们还有一个端,就是它的移动端是在优利 app 和 web 进销层这个目录下,这个后面会将进行微信小程序和 app 的 一些开发。 其实这个后端开发的话,其实 spring boot 三最主要是处理好控制层、实体层、仓库层以及服务层这个代码的编写,其实这个都可以交给 anti gravity 来写,增删改查,这基本的一些业务逻辑 他都是可以实现的。这个数据库的文件配置是在 apple 开省点压的文件下,然后我们最终是要发布成一个胖包,打包成一个价包, 发布到远程服务器上。其实前端也就是后台管理这一块,最主要的就是我们要注意这个环境变量的设置,开发环境以及生产环境变量的设置。然后我们这个移动端是在这个 目录下,这个移动端其实也是注意好,就是接口以及环境变量的设置。 我们先来启动后端, 后端现在已经启动了啊,在八零八零端口,紧接着我们来启动后台管理端 npm dev。 好的,我们来打开 localhost 五幺七三端口。 好的,后台管理灯已经启动完毕了哈,我们看一下它有商品的分类,商品管理、供应商管理、要货单位管理、进货管理、 销货管理和库存管理,基本上功能还是比较齐全的,我们来看一下商品管理,商品管理里面有商品的增删改查哈,可以录入商品的图片, 整个系统功能还是比较全的。药后管理这一块的话,其实有药后单位的增删改查。供应商管理这块有供应商的增删改查,然后我们的库存可以根据 进货和销货之间的差自动生成的,还有库存的预警设置,还有商品的统计都是有这个功能,功能还是比较全的。下面我们运行到微信小程序端, 现在正在编辑,我们看看我们移动端的微信小程序能不能打开 哦,微信小程序端也是可以的哈,商品的分类和我们这个后台管理端都是一样的, 商品管理也是带这个商品的图片的上传的。 ok, 我 们来看一看 app 端能不能运行。 好的,正在编辑 哦。 app 单也是可以的哈,我们看一看这个商品的管理,嗯,图片都是可以的哈,都是可以编辑的。对,都是可以上传的,没问题的,记得点赞关注哦。

朋友们大家好,我是我爱 c 编程,今天我们介绍基于 f、 p、 g、 a 的 四 s 加帧同步系统 verlog 开发,包含 test bench 高斯信道物码统计,可设置 s、 n、 r。 首先我们打开工程,打开之后看到有这些文件,这个是四 s 调制模块,然后这个是信道模块, 这个是四 x 解调模块,然后四 x 解调模块里面我们增加了针同步模块,然后这里的针结构, 首先针头部分是采用三十一位的 p n 序列,然后数据部分采用的是四 x 调制后的数据,然后这个是雾码检测,然后这是 testbench, 我 们点击行为仿真, 将这个时间设置为一百七十,点击运行。 下面对这些波形的含义做一个简单的介绍。首先这个是 s、 n、 r, 我 们默认的 s n r 设置的是二十 db, 这个是发射的帧数据, 我们做这么一个设置可以看到帧数据结构,放大看一下,前面这一段是帧调制数据,我们采用无符号实帧制, 四 s 数据的值是零到三这么一个范围,所以说可以看到这些随机数是这样的。然后再看一下四 s 调制以及通过信号之后的变化, 这个是四 s 调制数据,然后这个是四 s 调制数据,通过高斯白超声信号 可以看到有噪声干扰,这个变量是解调端通过解调低通滤波得到的信号包络 可以看到大致恢复出原始的数据,然后对这个数据进行一个针同步判决。首先是针头检测,针头检测是通过 p n 维码匹配得到一个相关峰值, 根据这个相关风得到一个定时点提取针头以及数据, 最后是雾马统计, 大概这么一针,然后后面是第二针、第三针, 然后在 testbench 里面,这里有个参数 s、 n、 r, 我 们可以修改成其他参数,比如改为十、 d、 b, 我们演示一下,然后这里点这个圈圈重新进行仿真, 然后点这三角形, 可以看到我们这里测试了九百四十九个数据,有二十四个雾码, 大概是这么一个演示过程,演示完毕。

week day 函数 test 函数应用看到众多的日期,你还在通过日历去看这个日期的星期吗?在 ctrl 中我们可以通过函数来快速解决,比如首先第一个我们想要看一下这个日期,它是 星期几呢?那么在这里我们可以通过微可 d 来函数来进行,首先第一个参数呢就是我们的日期,第二个参数就是从一到十七,这些数字呢可以代表我们想要接我们的星期返回几个,比如说我们说一,那么一代表的是我们的星期日,而七代表的是我们的星期六。如 如果说我们输入数字二呢,他代表的是一是星期一,而七呢是我们的星期日,那么比如说我们现在输入二,接下来点击回车,那么我们就可以看到这个日期他其实是星期六,那么现在这个日期呢是用数字来进行代替的, 那么可不可以返回我们的汉字星期六呢?那么在这里我们可以通过 x 函数来进行输入 x 函数,首先第一个参数呢就是我们的日期,而第二个参数就是我们想以怎样的形式来进行展示,我们想 以星期的形式来进行展示,那么在这里我们就输入四个 a, 点击回车,将数据往下放,此时我们就可以看到是不是所有的日期都用我们的汉字来进行展示了,那么可不可以用英文来进行展示呢?那么在这里我们可以通过 tes 的函数来进行,首先第一个参数呢就是我们的日期, 第二个参数呢就是我们可以通过我们大写的四个大写的地点击回车,那么在这里他就将我们的 用英文状态来进行展示了,那么快速将我们的日期转化成数字,转化成汉字,以及转化成英文,通过函数来进行转化,你学会了吗? talking about you。