自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(160)
  • 资源 (1)
  • 收藏
  • 关注

原创 DNS详解

DNS 是一个域名系统,它主要用于将人类容易记忆的域名转换成ip地址。默认情况下,设备会自动从网络供应商获取DNS服务器地址,并使用DNS服务器对域名进行解析。此外,你也可以手动设置DNS服务器,具体操作系统的操作步骤可以进行网络查询。

2024-08-26 23:49:35 339

原创 nagle算法作用

当一条新的tcp数据需要发送时,如果之前发送数据包还没有被确认(即控制位为ACK的报文段),则新的tcp数据不会立即发送,而是存储在发送数据缓冲区中,直到满足以下条件才会被发送:之前发送的数据包都已经被确认,缓冲区数据量达到了最大分组大小

2024-08-01 13:21:43 324

原创 TCP半关闭过程

tcp半关闭是指在一端发送完数据后,关闭发送通道,而保持接收通道继续接收数据。客户端(也可以是服务端发起)发送 [FIN,ACK] 报文段,其中Seq=x,Ack=y服务端返回ACK报文段,其中Seq=y,Ack=x+1服务端返回数据报文段(可能会有多个)客户端发送ACK报文段,其中Seq=y,ACK=x+n服务端返回[FIN,ACK]报文段,其中Seq=y,ACK=x+1客户端发送ACK报文段,其中Seq=y,ACK=x+1

2024-07-31 16:06:41 276

原创 普通校验和

校验和是一种用于验证数据完整性的方法,通常包含普通校验和和复杂校验和。这里主要说明普通校验和。首先计算每个数据的和,如果超过16位,取高16位与低16位相加,最后取反。计算每个数据的和(包含之前计算的校验和),如果超过16位,取高16位与低16位相加,如果结果全为1,因为以16位为例,所以结果为 ```0xFFFF```时则说明数据传输没有出错。**IPv4 的校验和计算方法是将头部一系列16位数字相加**,然后使用简单校验和得出,但头部中包含了TTL属性,因此每次TTL减1都要重新计算校验和。

2024-06-21 16:05:27 449

原创 vite获取所有环境变量(env)

默认情况下,vite只获取以VITE_为前缀的环境变量。为了防止意外地将一些环境变量泄漏到客户端,只有以 VITE_ 为前缀的变量才会暴露给经过 vite 处理的代码,使用loadEnv读取所有环境变量。

2024-06-10 02:43:04 1005

原创 JavaScript 打印教程(第二部分)设置编码

本篇教程讲述了在使用 JavaScript 进行打印时如何设置正确的文本编码,避免出现乱码问题。通过使用 iconv-lite 进行字符编码转换,确保打印内容的正确显示。同时,强调了了解并使用适合您打印机的指令集的重要性。适用于需要通过蓝牙连接打印机进行文本打印的开发者。

2024-03-27 16:06:17 587

原创 JavaScript 打印教程(第一部分)

本篇教程介绍了如何使用JavaScript为不同类型的打印机生成和发送打印命令。在开始之前,强调了了解打印机支持的指令集的重要性,并提供了获取这些指令集文档的链接。文章分为三个主要部分:生成指令:以 tspl 指令集为例,展示了如何根据打印机文档手动创建打印指令字符串。生成缓冲数据:解释了如何将字符串指令转换成UTF-16代码单元,然后进一步转换为打印机能理解的缓冲区数据。执行指令:最后,讨论了如何通过蓝牙API将缓冲区数据发送到打印机进行打印,并提醒了在打印出错时如何检查打印机是否支持特定的指令集

2024-03-25 11:53:49 790

原创 探索HTTP/2

多路复用、流优先级和流量控制。HTTP/2 的帧结构、设置帧以及 WINDOW_UPDATE、PRIORITY 和 SETTINGS 等帧类型,HTTP/2 优化数据流和服务器通信,确保更快、更高效的 Web 体验。

2024-03-06 17:37:38 973

原创 uniapp cli开发和HBuilderX开发

cli开发和HBuilderX开发的区别,cli开发和HBuilderX开发的区别主要在于开发方式不同,HBuilderX开发是可视化的,而cli开发是命令行的。他们之间可以相互转换,比如你可以用HBuilderX开发,然后用cli打包,也可以用cli开发,然后用HBuilderX打包。

2023-12-20 18:35:26 766

原创 使用libaom处理av1编码教程

AV1(AOMedia Video 1)是一种开源视频编码格式。它由开放媒体联盟 (AOM) 开发,用于在通过互联网传输视频时提供高效的数据压缩。av1高效的视频压缩,可以提高传输效率。测试mp4视频,压缩率接近50%。

2023-12-14 21:41:16 881

原创 vue3 setup router的使用教程

setup中没有this,所以我们需要引入vue-router的实例,然后通过实例来操作路由。操作和之前有一些差异,所以这里记录一下。

2023-12-06 11:32:04 793

原创 nginx服务器配置http/2

在http中添加server配置,配置Nginx开启HTTP2,设置ssl证书,Common Name,这里填写的是你的域名,如:www.baidu.com。如果你没有ssl证书,需要先创建一个ssl证书,如果你已经有了ssl证书,可以跳过这一步。这里创建的ssl证书是自签名的,浏览器会提示不安全,如果你想要安全的证书,可以去购买证书。因为我们使用的自定义证书,所以浏览器会提示不安全,作为测试,我们可以忽略这个提示

2023-11-16 17:20:50 475

原创 vue 高阶组件;高阶组件

高阶组件是一个函数,传给它一个组件,它返回一个新的组件。高阶组件的作用是用于组件之间代码的复用,它不会修改原组件,只是通过包裹的方式来增强组件的功能。比如:表单验证、表单提交、表单重置、表单数据回显等等。

2023-11-12 21:42:11 950

原创 [Vue Router warn]: <router-view> can no longer be used directly inside <transition> or <keep-alive>

[Vue Router warn]: can no longer be used directly inside or .之所以出现该警告,可能是由于router新版本的原因。则表示需要缓存,否则不缓存。可以获取到路由元信息中的。

2023-10-11 16:57:12 2386

原创 nodejs .env

node新版本20.6.0起已经开始正式支持.env配置环境变量的文件。在开发过程中,我们经常需要在不同的环境中切换,比如开发环境、测试环境、生产环境等。而这些环境的配置文件往往是不同的,比如数据库的连接地址、端口号等。如果我们每次切换环境都需要手动修改配置文件,那么就会非常麻烦。这时候,我们就可以使用.env来管理环境变量。

2023-09-19 16:11:16 822

原创 最小二乘法的实现与线性回归的应用

简单线性回归中,您有一个因变量y和一个自变量X。ymxby=mx+bymxb其中xxx: 自变量yyy: 因变量mmm: 斜率bbb: 截距最小二乘法是回归分析中用于估计线性回归模型参数的标准方法。它可以最小化误差的平方和,从而找到数据的最佳拟合直线。在这里,误差是实际值和预测值之间的差异。实际值是观察到的值,而预测值是模型的估计值。在这里,我们将使用最小二乘法来估计线性回归模型的参数。

2023-09-13 13:15:32 785

原创 训练简单的线性模型,预测电影评分和票房收入

xDataName和yDataName是两个变量,分别代表电影评分和票房收入。我们可以看到,这两个变量之间的关系是线性的.这是一个简单的线性模型,用于预测电影的评分和票房收入。不过却是一个很好的入门案例,可以让你了解如何来解决一个回归问题。这里我们将数据集分割成训练集和测试集,其中训练集占 80%,测试集占 20%。数据集包含了 10000 条电影的信息,包括评分、票房收入。这里我们使用均方误差来评估模型的好坏,均方误差越小,说明模型越好。分别是线性模型的斜率和截距,

2023-09-01 14:50:43 1079

原创 typescript using 教程

管理一些资源,如文件、网络连接或内存。这些资源在使用完毕后通常需要进行清理,以避免资源泄漏或其他问题。using的优点:简洁性:使用using可以避免try/catch/finally的使用,使代码更加简洁。自动清理:using可以自动调用资源的dispose方法,避免资源泄漏。错误处理:如果作用域内发生错误(抛出异常等),using 声明还将确保资源被正确清理。可读性和维护性:using可以使代码更加简洁,更加容易阅读和维护。灵活性:using可以用于同步和异步代码。

2023-08-30 20:03:47 338

原创 前端js,uniapp使用printease连接打印机打印,打印命令生成

打印文本,打印条码,打印二维码,打印图片,设置编码;接下来我们将使用printease实现前端js,uniapp打印。此外,连接打印机的方式有很多种,这里并不会涉及到,该库只是提供了一种打印机指令的生成方式,你可以将生成的指令发送到打印机,打印机会执行一次印刷过程。这个教程是关于tspl指令的,如果你使用的其他指令,可以提出,我们会尽快更新。

2023-08-10 16:13:08 2489 3

原创 微信小程序开发设置获取权限管理,摄像头权限,位置权限,用户信息权限等

在小程序开发的时候,我们总会遇到很多权限问题,比如摄像头权限,位置权限,用户信息权限等,如果不加以判断,很难给用户一个好的体验。1:获取用户的授权设置2:打开小程序的授权设置3:主动拉起授权页4:权限表。有一天,小明来参观一个拍照微信小程序。他很感兴趣,看着精美的页面,忍不住点击了拍照按钮。然而,他太兴奋了,以至于点击了错误的授权选项。他选择了“拒绝❌”选项。接下来无论点击多少次,拍照功能都无法打开。年事已高、不懂手机权限设置的小明陷入了痛苦之中。所以,正确的处理权限是个比较重要的事情。

2023-07-27 23:58:04 4865

原创 常用排序,快速排序,归并排序算法讲解

如果右边界小于基准值,则调换左边界和右边界的值,接着左边界i++,随后右边界j++(如果循环未结束)。排序有很多种算法,常听的十大排序有:冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序、希尔排序、计数排序、基数排序、桶排序。思路:将一个大列表分成两个较小的子列表,然后分别对两个子列表进行排序,最后将两个已排序的子列表合并为一个完整的排序列表。:快速排序平均时间复杂度为O(n log n),最坏情况下为O(n²),不太稳定,但。这里只介绍两个常用的算法。

2023-07-11 02:47:57 326

原创 TypeScript 5.1发布,新功能更新

typecript 总是通过 JSX.Element 来判断 JSX 的类型,而React 的未来版本可能会对返回 Promises 的组件提供有限的支持。如果不是很理解,你可以把它当成一种约定:“我为了适应你,我们共同创建一个新的约定。这里设置了一个别名 fun,当时使用它的时候,我们必须显示返回一个。但是,您应该设置注释,否则您可能会向他人表达错误的解释。,以供用户指定返回的具体的异步组件类型。这里的更新功能主要是针对于。目录下的.d.ts文件。

2023-06-11 03:25:49 1794 2

原创 Anaconda教程,Python版本控制

python版本控制有很多种,两种常用的版本控制方式是Pyenv和Anaconda。Pyenv: 是一个强大的Python版本管理工具,它允许你在同一台机器上安装和管理多个Python版本Anaconda: 是一个用于科学计算的Python发行版,它包含了一套强大的包管理和环境管理系统。主要是开发Python应用,Pyenv可能是一个好的选择,如果你的工作主要涉及到数据科学、机器学习或者大数据处理,那么Anaconda可能更适合你

2023-06-09 18:26:27 820 1

原创 数据库关系操作集合

传统集合运算包括 **联合(UNION),差集(EXCEPT 或 MINUS 或 LEFT JOIN&&IS NULL),交集(INTERSECT或INNER JOIN),笛卡尔积(JOIN)**。专门集合运算包括 **选择(SELECT),投影(PROJECTION),连接(JOIN),除(DIVISION)**。

2023-06-04 02:52:38 889

原创 css 实现边框渐变(完美兼容)

首先创建一个父级盒子元素,给其设置渐变。

2023-06-02 19:58:44 918

原创 使用yolov5实现图像识别

非常简单yolov5训练图片识别,都可以去实现的人工智能。如果你不想进行从头训练模型,可以下载这个已经训练好的模型进行上一步的测试模型进行预测。分类模型下载提取码:vvd6。

2023-06-01 20:53:43 5360 12

原创 使用yolov5实现图片分类

非常简单yolov5训练图片分类,都可以去实现的人工智能。如果你不想进行从头训练模型,可以下载这个已经训练好的模型进行上一步的测试模型进行预测。分类模型下载提取码:jycq。

2023-05-26 02:02:28 2696 10

原创 vue3 defineOptions教程

是在单文件组件 (SFC) 中使用组合式 API 的编译时语法糖。此外某些场景缓存页面数据,可能需要设置组件名称 name。,而不用再使用两个 script 标签。但是,这里存在一个问题,当我们想使用。这里使用了两个 script 标签。的更新,让我们可以更方便的使用。时钩子函数时,会报错,因为。函数之后执行的,所以会报错。会将所有的代码都放在。

2023-05-23 17:05:05 9828

原创 javascript 实现文件下载,不跳转页面

这个函数的作用是根据传入的url和fileType,下载对应的文件。其中,fileType的类型有:pdf、word、excel、ppt、txt、png、jpg、gif、bmp、tiff、svg。如果传入的url为空,抛出错误;如果传入的fileType为空,抛出错误。使用该函数实现了在浏览器端。如果有错误,欢迎指正。进行下载文件的功能。

2023-05-23 12:31:48 1218

原创 网络的基本理解

网络的基本理解,局域网,因特网,IP地址,端口,路由器,域名,DNS,服务器,代理服务器,角色:张三、李四、王五。

2023-05-18 13:06:06 218

原创 vue3.3最新发布defineProps,generic,defineEmits,defineSlots教程

以下内容是目前vue3.3版本部分发布内容的比较详细的使用方法,defineProps的改进,通用类型 generic,defineEmits 的改进,defineSlots 的使用.defineProps,generic,defineEmits,defineSlots教程.

2023-05-18 10:30:00 3050 3

原创 javascript Worker 教程

一般遇到计算量大,占用内存的高的场景,应该考虑使用 javascript Worker ,它让javascript从单线程变为了多线程。它的最大优点是,通过多线程避免了因为大量的计算导致页面卡顿。我们看下下面这个例子。当你打开这个文件的时候,页面会卡死,用户无法输入任何内容,导致用户体验非常不好。使用Worker虽然很好,但依旧需要考虑它的兼容性。页面执行,可以发现页面没有卡顿了,即使计算量很大。首先我们需要判断浏览器是否支持 Worker。

2023-05-12 20:29:36 701

原创 使用node做一个简单对话机器人

这个问答机器人足够的简单,想实现复杂的功能需要应用到人工智能模型。创建一个txt文件用来存储预定的问答。

2023-05-10 16:02:11 298

原创 typescript Awaited<Type>教程用法

Awaited就是模仿这种行为,递归解包获取其中的类型。但这样真的好吗,很多请求或者异步操作返回值可能都是不固定,当然,除非你定死它返回的必须是string类型。首先看一下官方的说明:这种类型旨在模拟函数await中的操作async,或 s.then()上的方法——特别是它们递归解包Promise的方式。在 Awaited 还没出来之前,一般使用这种方法获取异步操作返回值的类型。ts4.5发布了Awaited,但是很多人不明白Awaited的用法。,如果是则取出其中的类型,如果不是,则直接返回。

2023-05-01 19:14:42 3101 4

原创 docker简单教程(三)常用操作

如果忘记了具体参数,可以先参考上一小节的构建过程,后面会详细介绍。可以查看所有容器,然后找到与之对应的id。如果忘记了,可以参照上一小节的内容。更多的镜像文件可以访问。

2023-04-22 14:17:28 512 1

原创 docker简单教程(二)启动服务,实现简单的网站

这篇我们将介绍启动服务,实现一个简单的网站。首先,创建一个html文件,就像如下:这里的文件名不需要填写后缀,为了方便测试,要把该文件放在与index.html文件的同级目录。接下来填写如下下内容:此时我们的目录看起来就像下面这样:文件都创建完成之后,我们需要让docker构建下载需要的依赖以及执行必要的操作。执行如下命令:稍等片刻,等待构建完成。(这里的 helloworld 代表的是我们容器镜像的名称,你可以按照自己的想法去命名它)在构建完成之后,让我们启动我们的容器:同样,这里的hellow

2023-04-22 13:05:52 583

原创 docker简单教程(一)安装

接下来开始学习docker,你应该喜欢她,她解决了繁琐的环境搭建过程,让我们专注于业务,而不是一大堆无意义的配置、配置、配置。Windows安装和mac安装都很简单,直接去官网下载安装程序,点击安装,我们这里重点介绍linux的安装。

2023-04-22 11:57:40 649

原创 Typescript中interface和type的区别

你应该首选interface进行使用(官方建议),如果遇到无法解决的情况,Typescript 会给你一个提示,是否需要另一种声明。另外,爱好应该是第一位的,如果你喜欢type的工作方式,我建议你选择type。在说区别之前,我们先来看下一部分写的区别,或者准确的说,这不是区别,而是写法的不同。这一步的主要作用是让初学者更容易分辨喜欢的方式。

2023-03-12 22:15:04 599

原创 ECharts教程(详细)

非常全面的ECharts教程,目前线条/节点颜色、线条粗细、线条样式、线条阴影、线条平滑、线条节点大小、线条节点阴影、线条节点边框、线条节点边框阴影、工具提醒、工具提醒样式、工具自定义提醒、工具提醒背景、工具提醒边框、工具提醒阴影、工具提醒文字样式、工具箱、工具箱图标、工具箱标题、工具箱功能、类别显示、类别显示位置、类别显示图标、类别显示图标大小、类别显示图标间距、类别显示、类别显示位置、类别显示图标、类别显示图标大小、类别显示图标间距、类别显示图标文字大小、类别显示图标文字颜色、轴方向等多达四十个快捷键使

2023-03-01 21:41:51 11151 1

原创 字符编码和Emoji,理解编码,utf-8,utf-16,utf-32

charCodeAt codePointAt(UTF-16 码元)获取unicode 码值,String.fromCharCode() String.fromCodePoint() (UTF-16 码元)转换unicode码值。UTF-8编码长度是可变,UTF-16编码长度是可变,UTF-32编码,字节序分为 大端表示(big endian) 和 小端表示(little endian)。

2023-02-08 02:48:25 1461

51单片机三件套.rar

ch340驱动下载,PZISP自动下载软件,keil单片机开发工具(绿色版)。已经打包好了,有需要的就拿走吧。

2019-10-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除