自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 stm32硬件实现与w25qxx通信

使用的型号为stm32f103c8t6与w25q64。

2025-01-31 09:41:14 1564

原创 如何对后端传来的数据进行JSON序列化

显然是不支持直接显示后端接收到的请求的,如此我们就需要对请求接收到的数据进行序列化,转变成为我们能看懂的东西。这样就会和原先达到相同的效果,但是以更加灵活的方式来实现,调用的方法还是与第二种方法是相同的。print('------------联系人数据----------');print('------------联系人数据----------');//模型类 这里直接拷贝文档的代码了,想了解更多可以去阅读官方文档(文档很清晰!//发送请求类 这里使用的是dio来进行发请求 就简易的实现发送get请求。

2025-01-09 09:18:38 1010

原创 axios的基本使用

url: 'http://localhost:3000/posts' //地址是json-server的地址。url: 'http://localhost:3000/posts/3',// /3表示要修改id为3的内容。url: 'http://localhost:3000/posts/3',// /3表示要删除id为3的内容。baseURL: 'https://api.bilibili.com', //演示这里的api就随便写了。url:'/wapm/api/sdk/collect'//发送请求。

2025-01-09 09:18:07 813

原创 数电-触发器

在图1-1中,若\overline{R_D}=0,\overline{S_D}=1,由于\overline{R_D}=0,先与后非,无论什么和0相与都是0再非得1,所以可得\overline{Q}=1,再通过\overline{Q}=1和\overline{S_D}=1进行与非运算,得Q=0,得下图,此时触发器被置0。若\overline{R_D}=0,\overline{S_D}=0,无论怎么样Q和\overline{Q}的值都是1,输出的既非0状态,也非1状态。通常用输出端Q的状态来表示触发器的状态。

2025-01-09 09:16:58 455

原创 数电-门电路

共价键中的两个电子被紧紧束缚在共价键中,称为束缚电子,常温下束缚电子很难脱离共价键成为自由电子,因此本征半导体中的自由电子很少,导电能力很弱。在硅和锗晶体中,原子按四角形系统组成晶体点阵,每个原子都处在正四面体的中心,而四个其他原子位于四面体的顶点,每个原子与其相邻的原子之间形成。因此本征半导体的导电能力越强,温度使影响半导体性能的一个重要的外部因素,这是半导体的一大特点—现代电子学中,用的最多的半导体是硅和锗,最外层电子(价电子)都是4个。),使一些价电子获得足够的能量而脱离共价键的束缚,成为。

2025-01-09 09:16:11 270

原创 数电-数字逻辑概论

对任一逻辑函数式Y,将式子中的所有的”\cdot“换成“+”,“+”换成”\cdot“,“0”换成“1”,“1”换成“0”,原变量换成反变量,则得到原逻辑函数的反函数\bar{Y},并不改变运算顺序。(A+B)(A+C)=AA+AC+AB+BC=A(1+C)+AB+BC\quad 注:1+C=1\\ =A+AB+BC\\ =A(1+B)+BC=A+BC。例:Y_1=A(B+C)+CD,取反得:\bar{Y_1}=(\bar{A}+\bar{B}\bar{C})(\bar{C}+\bar{D})

2025-01-09 09:15:34 801

原创 数据存储相关

/因为没有符号位所以默认补充0,则整形提升后补码:0000000 00000000 00000000 11111111,则原码化为十进制为255。//整形提升后补码:11111111 11111111 11111111 11111111,则原码化为十进制为-1。浮点数则最高的1位是符号位s,接着11位是指数E,剩下的52位位有效数字M。(-1)^S表示符号位,当S=0,V为正数,当S=1,V为负数。即为无符号数,即bit的第一位为有效位,不做符号位。的浮点数,最高的1位是符号位s,接着8位是指数E(

2025-01-09 09:14:15 915

原创 数据结构-查找

为了保持AVL树的平衡性,插入和删除操作需要频繁地调整树的拓扑结构,代价较大,所以引入了红黑树。一棵红黑树,如图2-16,是满足如下红黑性质的二叉排序树(左子树结点值\leqslant 根结点值 \leqslant 右子树结点值):每个结点是红色或黑色。根结点是黑色的。叶结点(虚构的外部结点、NULL结点)都是黑色的。不存在两个相邻的红结点(即红结点的父结点和孩子结点均是黑色的)。对每个结点,从该结点到任意一个叶结点的简单路径上,所含黑结点的数量相同。

2025-01-09 09:13:30 977

原创 数据结构-串

上方的暴力匹配算法中有许多重复的趟数会导致花不必要的时间来跑已经知道的结果,KMP算法就是用于解决这个问题,在KMP算法中,会采用一个。// KMP算法 若主串S中存在与串T值相同的字串,则返回它在S中第一次出现的位置,否则为0。// 定位操作 若主串S中存在与串T值相同的字串,则返回它在S中第一次出现的位置,否则为0。// 若T的指针j扫描到最后一个元素说明都匹配上就返回第一个匹配上的地址。//按串长分配存储区,ch指向串的首地址。//若S>T 返回大于0的数 若S

2025-01-07 09:35:47 852

原创 数据结构-排序

快速排序的基本思想是基于分治法:在待排序表L[1\dots n]中任取一个元素pivot作为枢轴(或称基准,通常取首元素),通过一趟排序将待排序表划分为独立的两部分L[1\dots k-1]和L[k+1\dots n],使得L[1\dots k-1]中的所有元素小于pivot,L[k+1\dots n]中的所有元素大于或等于pivot,则pivot放在了其最终位置L(k)上,这个过程称为一次划分。若想将图1-2进行排序,设第一趟的,d_1=n/2=4(n为表长,0不算做元素,为暂存单元)。

2025-01-07 09:35:18 816

原创 数据结构-树与二叉树

树的定义:树是一种递归定义的数据结构,它包含一个根结点和若干个子树。当树的结点数为0时,称为空树;当树的结点数大于0时,除了一个特定的根结点外,其余的结点被分成m个互不相交的有限集合T1, T2,…, Tm,其中每个集合本身又是一棵树,并且称为根结点的子树。非空树的特性有且仅有一个根节点。没有后继的结点称为“叶子结点”(或终端结点)。有后继的结点称为“分支结点”(或非终端结点)。除了根结点外,任何一个结点都有且仅有一个前驱结点。每个结点可以有0个或多个后继结点。

2025-01-07 09:34:02 980

原创 数据结构-顺序表的相关算法实现

/通过异或运算后此时b为 00000000 00000000 00000000 00000100 这里的b是和已经异或过的a重新再一次进行异或运算。从顺序表中删除其值在给定值s与t之间(包含s和t,要求s

2025-01-07 09:33:26 666

原创 数据结构-图

图G(Graph)由顶点集V(Vertex)和边集E(Edge)组成,记为G=(V,E),其中V(G)表示图G中顶点的有限非空集:E(G)表示图G中顶点之间的关系(边)集合,如图1-1。线性表可以是空表,树可以是空树,但图不能是空图。图可以没有边,但不能没有顶点。

2025-01-07 09:32:32 861

原创 数据结构-线性表的概念与C语言实现

注:线性表是一个逻辑结构!并不是真正物理意义上的地址相邻,而是在抽象层面的相邻,不要和顺序表搞混!线性表是具有相同数据类型的n个数据元素的有限序列。除了第一个元素意外,每个元素有且仅有一个直接前驱。除最后一个元素外,每个元素有且仅有一个直接后继。$$设有一个线性表 L=(a_1,a_2,...,a_i,a_{i+1},...,a_n)(a_1到a_n皆为int类型)\\此时a_2的直接前驱为a_1,直接后继为a_3,以此类推。$$由此,可以得出以下特点:表中元素的个数有限。

2025-01-07 09:32:01 741

原创 数据结构-栈、队列和数组

栈是只允许在一端进行插入或删除操作的线性表。首先栈式一种线性表,但限定这种线性表只能在某一端进行插入和删除操作,如图所示。栈包括:栈顶(Top)。允许进入插入删除的那一端。栈底(Buttom)。不许与进行插入和删除的一端。空栈。不含任何元素的空表。从图中可以很明显的看到栈的操作特性为后进先出(Last In First Out, LIFO)。当我们运行高级语言程序时编译器执行语句采用的就是栈的形式。栈的数学性质n个不同元素进栈,出栈元素不同排列的个数为:$$$$

2025-01-07 09:31:30 596

原创 计算机网络_数据链路层

就是从一个结点道相邻结点的一段物理线路,而中间没有任何其他的交换结点分布式协调功能DCF ​ 点协调功能PCF地址解析协议ARP ​ 路由信息协议RIP ​ 动态主机配置协议DHCP ​ NetBEUI ​ IPX/SPX ​ Apple TalkVID取值范围0~4095(0~2^12-1) ​ 0和4095都不用来表示VLAN,因此用于表示VLAN的VID的有效取值范围是1~4094。

2025-01-07 09:29:00 866

原创 计算机网络_网络层

网络层向运输层提供怎样的服务(“可靠传输”还是“不可靠传输”) ​ 网络层寻址问题 ​ 路由选择问题分类编址(1981) ​ 划分子网(1985) ​ 无分类编址(1993)$$可指派的网络数量为2^{8-1}-2 = 126(除去最小网络号和最大网络号)\\\\ 可分配的IP数量为2^{24} - 2 =16777214(除去全0网络地址和全1广播地址)$$$$

2025-01-07 09:28:22 577

原创 计算机网络_物理层

物理层考虑是怎样才能在连接各种计算机的传输媒体上传输数据比特流物理层为数据链路层屏蔽了各种传输媒体的差异,使数据链路层只需要考虑如何完成本层的协议和服务。

2025-01-07 09:26:09 416

原创 计算机网络_因特网概述

1969年:从单个网络ARPANET向互联网发展1985年:逐步建成三级结构的因特网1993年:逐步形成了多层次ISP(internet service provider)结构的因特网。

2025-01-07 09:25:23 592

原创 计算机网络_运输层

如何为运行在不同主机上的应用进程提供直接的通信服务使运输层的任务 ​ 它使应用进程看见的就好像是在两个运输层实体之间有一条端到端的逻辑通信信道 ​ 因特网的运输层位应用层提供了两种不同的运输协议,即面向连接的TCP和无连接的UDPMSL使最大报文段寿命,RFC793建议位2分钟。

2025-01-07 09:24:28 540

原创 JS正则表达式的运用

预定义类是某些常见模式的简写方式,具体内容看下表。其中匹配单个字符没/表达式/g的都是从左往右第一个匹配到接下来都不再匹配字符含义匹配除"\n"外的任何单个字符\d匹配所有0~9之间的任意一个数字,相当于[0-9]\D匹配所有0~9以外的字符,相当于[^0-9](这里的^不在//中所以不是边界符的意思)\w匹配任意的字母、数字和下划线,相当于[a-zA-Z0-9]\W匹配除所有字母、数字和下划线以外的字符,相当于[^a-zA-Z0-9]\s。

2025-01-07 09:23:48 699

原创 中缀表达式转后缀表达式并计算

后缀表达式的运算符在操作数后面,在后缀表达式中已考虑了运算符的优先级,没有括号,只有操作数和运算符,更符合CPU的运算与处理。// 若栈顶为 + 或 - 说明优先级低于扫描到的,不能进行出栈操作,而是将扫描到的表达式入栈。// 此时栈非空,并且扫描到的为 + 或 - 则栈中的优先级必定是高于或等于当前运算符。若扫描到运算符,则弹出两个栈顶元素,执行相应运算,运算结果压回栈顶,回到(1)的步骤。// 当扫描到')'则将'('后的包括'('在内的所有操作符都弹出。// 如果栈为空或为'(',则直接加入到栈中。

2025-01-07 09:22:50 895 1

原创 hexo博客绑定域名实现国内访问

经过以上两个步骤可以实现使用科技手段来访问搭建的网页或博客,但此时若不想使用科技手段对Vercel提供的域名在国内访问搭建的博客大概率是会访问失败。(这里的原理结合我所学的知识应该是因为Vercel所生成的默认的域名在国内dns服务器解析失败导致无法找到ip,从而使我们所搭建的网站在国内无法访问)这个问题可以通过购买国内域名就可以实现,购买一些便宜的域名即可(域名购买的步骤不再演示了,便宜的域名6块1年也不是很贵,这里以阿里云的域名为例)。得和Vercel要求填写的对应,每个人的应该是不相同的)

2025-01-07 09:19:27 288

原创 vscode中c\c++跨文件访问函数

通过这段分析就可以明白很显然是在引入外部函数的时候出了问题,但实际上我在上方早已引入了。这个外部结构体正常运行,说明我的头文件内部并没有任何问题,那问题很显然就是在。文件,所以编译器未能找到这函数导致了报错,那解决方法就很简单了,只需要在。,当我注释掉后可以正常的运行。经过一系列的摸索后,发现是在。重新运行,发现完美解决问题!的时候发现运行会报错。文件中他并没有引入我的。

2023-09-08 18:31:12 826 1

原创 如何接收后端传来的数据并进行JSON序列化

显然是不支持直接显示后端接收到的请求的,如此我们就需要对请求接收到的数据进行序列化,转变成为我们能看懂的东西。在传统Web开发领域我们通过ajax请求接收到后端发来的数据时,浏览器都已经帮我们完成了。在上方代码中新建一个模型类来解决难以判断类型的方法。这种形式来读取,就很难判断类型,因此需要更好的方法。经过上面一系列的操作后,就是具体视图层的操作。还有种使用库的方法,过几天再进行介绍!,就是将获取到的数据转为字符串后进行。要是想联系或与我交流,可以来我的。先说结论,主要用的就是。中的三种序列化方式。

2022-11-09 22:59:51 1085

原创 nestjs搭建连接mysql简易后端

本文参考了nestjs官方文档在使用了用nodejs搭建的koa和express框架后发现使用前端的语法也可以搭建一个不错的后端,而现在又逐渐趋势于用typescript来开发,就发现了nestjs可以很好的支持typescript并进行一个工程化的开发。项目创建后,自动在src生成了一下文件:main.tsmain.ts作为项目入口文件,默认监听了3000端口,并将AppModule进行了挂载。根据nestjs自动生成的这些文件就可以大概了解一个nestjs项目应该如何书写。module因为在。

2022-10-15 21:59:34 1332

原创 Flutter中运用Provider

要明白为什么用Provider,在原先修改数据都是通过setState来进行修改,这样导致视图和逻辑无法分层,使后续代码难以维护,所以可以通过Provider来进行更好的维护。想在Flutter中实现MVVC架构的话通过Provider是一个不错的选择,而且在Provider官方文档也有比较清晰的说明,这里主要就是总结我做时候的方案。(本文参考了Flutter的官方文档)

2022-09-29 23:13:58 1411

原创 Flutter实现rsa加密与解密

在想使用rsa加密前,应该首先了解什么是rsa加密。rsa作为目前流行的非对称加密,所需要公钥和私钥两把钥匙才能解开传输的数据。所以要使用rsa加密算法,首先就得要设置公钥和私钥(私钥一般都是放在后端,这里演示就全在前端中演示)。

2022-09-16 23:43:39 7155 2

原创 解决本地接口使用Dio发送请求报SocketException: Connection refused问题

在使用js开发前端发请求时候可以稳定使用127.0.0.1地址,但在flutter中却使用不了的时候还以为可能是接口的请求头问题研究了一段时间,也查看了github上issues上的问题,最终还是通过慢慢摸索研究出来了。

2022-09-13 22:30:35 1795

原创 ECMAScript6与之后的语法

迭代器(iterator)是一种接口,为各种不同的数据结构提供统一的访问机制。它类似于对象,也是键值对的集合。但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。模块化是指将一个大的程序文件,拆分成许多小的文件,然后将小文件组合起来。ES6 允许在大括号里面,直接写入变量和函数,作为对象的属性和方法。它类似于数组,但成员的值都是唯一的,集合实现了。,用来表示独一无二的值,是一种字符串类型。可以看作只是一个语法糖,它的绝大部分功能,

2022-09-08 15:30:05 266

原创 不写一段代码来获取扇贝单词的接口数据

不写一段代码来获取扇贝单词的接口数据

2022-08-19 18:14:02 1229 2

原创 用冒泡排序实现把数组中零移动到数组的末尾

public static void main(String[] args) {用冒泡排序实现把数组中零移动到数组的末尾前言在冒泡排序的基础上实现了不修改其他的位置的移动。正文代码如下所示 public static void main(String[] args) { int[] arr={1,0,0,7,9,0,2,44,1,0,66}; System.out.println("排序前"+arrayToString...

2021-04-23 00:08:10 237 1

空空如也

空空如也

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

TA关注的人

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