- 博客(139)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 【计算机网络】HTTP协议详解&实战抓包分析教程
HTTP(Hypertext Transfer Protocol)即超文本传输协议,是互联网上应用最为广泛的一种网络协议,主要用于从WWW服务器传输超文本到本地浏览器的传输协议。它是基于客户端-服务器模型的,目的是允许浏览器(或其他HTTP客户端)从Web服务器请求资源,并且服务器能够将这些资源传回给客户端。无状态:HTTP协议是无状态的,这意味着每个请求都是独立的,服务器不保留关于客户的任何信息(如 cookies 可以用来维护会话状态)。
2024-05-15 13:07:27
1911
30
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 【计算机网络】TCP协议超详细讲解
TCP协议广泛应用于可靠性要求较高的应用场景,如网页浏览、文件传输、电子邮件等。它提供了可靠的数据传输和流控制机制,能够确保数据的完整性和有序性。然而,由于TCP协议在传输过程中引入了较多的控制信息,因此相比于UDP协议,TCP的传输速度较慢。
2023-08-08 13:31:29
7908
40
原创 一篇文章讲清楚什么是ARP协议
在说ARP协议之前,我们先来了解IP地址和MAC地址的作用.IP 地址是网络中用于标识主机或网络设备的逻辑地址。用于在网络中进行路由选择和数据的分组转发。MAC 地址是网络设备的物理地址,具有唯一性,通常被固化在设备的网络接口卡(NIC)中。在局域网中用于标识具体的网络设备。就如同每个人的身份证号一样,MAC 地址确保了网络中的设备能够被唯一识别。以寄快递为例,IP地址就是收件人,而收货地址就是MAC计算机每发送一包数据,都需要填写源MAC,目标MAC,源IP和目标IP.
2024-08-11 16:30:41
1146
原创 JMeter高效管理测试数据-参数化
在JMeter中,参数化是一种常用的技术,用于使测试场景更加灵活和动态。通过参数化,你可以让JMeter在每次请求中使用不同的值,这在模拟真实用户行为或测试不同输入条件时特别有用。参数化测试就是将测试数据组织起来,使用不同的测试数据调用相同的测试方法参数化可以通过多种方式实现,包括使用变量、函数助手、CSV数据文件设置、用户定义的变量和环境变量等。定义变量使用CSV数据文件设置要求:使用用户定义的变量配置被测系统的协议,域名和端口首先还是在测试计划下面新键线程组,然后在线程组下面新建结果树。
2024-08-11 00:22:57
662
原创 TypeScript简介以及开发环境的搭建
说到TypeScript,就不得不说一下JavaScript了。TypeScript是一种静态类型语言,在编译阶段会进行严格的类型检查。// 编译错误,因为参数'b'的类型应该是 number 而不是 string通过类型注解声明变量、函数参数和返回值的类型,这有助于在开发过程中尽早发现类型不匹配的错误,提高代码的可靠性和可维护性。而JavaScript是一种动态类型语言,变量的类型在运行时确定。// 在运行时才会发现类型错误,返回 "12"
2024-08-07 17:03:08
394
原创 使用JMeter实现自动判定运行结果
在JMeter中实现自动判定运行结果,通常涉及到设置断言(assertions)和监听器(listeners),以及可能的后处理器(post-processors)。这些组件可以帮助你验证响应数据是否符合预期,从而自动判断测试的结果。本篇文章主要介绍断言。断言:让程序自动判断预期结果和实际结果是否一致响应断言JSON断言。
2024-07-21 10:51:54
324
原创 JMeter介绍、安装配置以及快速入门
Apache JMeter是一款开源的压力测试工具,主要用于测试静态和动态资源(如静态文件、服务器、数据库、FTP服务器等)的性能。它最初是为测试Web应用而设计的,但后来扩展到其他测试领域,包括WebSocket、SOAP/RESTful Web服务、FTP、JDBC、LDAP、SMTP、JMS、TCP以及几乎任何可以使用Java实现的协议。负载测试:可以模拟大量用户同时访问系统,从而测试系统的响应时间和稳定性。功能测试:可以通过发送请求并检查返回的结果来验证应用程序的功能。断言和监听器。
2024-07-20 12:20:37
1013
原创 【Linux】Windows环境下配置虚拟机静态IP
使用vim编辑/etc/sysconfig/network-scripts/ifcfg-ens33文件,填入如下内容。DHCP:动态获取IP地址,即每闪重启设备后都会获取一次,可能导致IP地址频繁变更。当前我们虚拟机的Linux操作系统,其IP地址是通过DHCP服务获取的。修改完点击应用即可,此时可能不会立即生效,需要点击按钮关闭再打开即可。前置工作做完了,接下来在Linux中配置静态的IP。综上所述,我们需要静态IP地址,不要让IP变化。方法1: 修改配置文件的方式。接下来是图形化界面修改方式。
2024-07-10 23:47:21
374
1
原创 【Linux】IP地址与主机名
域名解析是将人类可读的域名转换为计算机网络使用的IP地址的过程。DNS是一个分布式数据库系统,用于存储和检索域名与IP地址之间的映射。IPv4版本的地址格式是:a.b.c.d,其中abcd表示0~255的数字,如192.168.88.101就是一个标准的IP地址。IP地址实在是难以记忆,有没有什么办法可以通过主机名或替代的字符地址去代替数字化的P地址呢?每一台电脑除了对外联络地址(IP地址)以外,也可以有一个名字,称之为主机名。实际上,我们一直都是通过字符化的地址去访问服务器,很少指定P地址。
2024-07-10 22:30:19
834
原创 MyBatis逆向工程和MyBatisX插件的使用
MyBatis 的逆向工程是一种自动化生成持久层代码和映射文件的工具,它可以根据数据库表结构和设置的参数生成对应的实体类、Mapper.xml 文件、Mapper 接口等代码文件,简化了开发者手动生成的过程。无论是哪种方式,逆向工程一般需要指定一些配置参数,例如数据库连接 URL、用户名、密码、要生成的表名、生成的文件路径等等。MyBatisX 是一个 MyBatis 的代码生成插件,可以通过简单的配置和操作快速生成 MyBatis Mapper、pojo 类和 Mapper.xml 文件。
2024-06-18 22:20:10
1062
3
原创 【前端速通系列|第一篇】ES6核心语法
ES6 是 ECMAScript 2015 的缩写,是 ECMAScript 语言标准的第6个版本。ECMAScript 是 JavaScript 语言的国际标准化组织制定的规范,规定了语言的基本语法、类型、对象、属性以及方法等内容。ES6 于2015年6月正式发布,引入了许多重要的新特性和语法改进,旨在使 JavaScript 更适合构建复杂和大规模的应用程序。
2024-06-14 10:54:41
1376
17
原创 【微信小程序】事件传参的两种方式
事件传参:在触发事件时,将一些数据作为参数传递给事件处理函数的过程,就是事件传参在微信小程序中,我们经常会在组件上添加一些自定义数据,然后在事件处理函数中获取这些自定义数据,从而完成业务逻辑的开发.小程序进行事件传参的时候,除了使用data-*属性传递参数外,还可以 使用 mark 标记传递参数mark 是一种自定义属性,可以在组件上添加,用于来识别具体触发事件的 target 节点。同时 mark 还可以用于承载一些自定义数据然后通过事件对象进行获取自定义数据,在组件上使用mark:自定义属性。
2024-06-10 17:27:52
1529
2
原创 【设计模式】简单工厂模式
简单工厂模式(Simple Factory Pattern)是软件开发中常用的一种设计模式,属于创建型模式的一种。这种模式旨在提供一个创建对象的接口,但允许客户端决定哪个类实例化,将实例化的工作延迟到工厂类中完成。简单工厂并不属于《设计模式:可复用面向对象软件的基础》一书中的23种经典设计模式之一,但不代表这个设计模式不值得学习.
2024-06-09 22:59:44
613
原创 【微信小程序】事件分类以及阻止事件冒泡
当一个组件上的事件被触发后,不仅当前组件会接收到这个事件,其父级组件也会按顺序接收到这个事件,直到事件被消耗或到达最外层。在微信小程序中,事件分为冒泡事件和非冒泡事件两大类,它们的区别在于事件是否能从原始触发组件开始,向父级组件传播(即“冒泡”)。:非冒泡事件触发时,仅当前组件会接收到该事件,不会向上传播到父组件。这类事件在触发后立即停止,不会影响到其他层级的组件。⭐使用 bind 绑定的事件,会触发事件冒泡,如果想阻止事件冒泡,可以使用 catch 来绑定事件。要想阻止事件冒泡也很简单,
2024-06-09 14:26:11
1127
原创 【微信小程序】事件绑定和事件对象
小程序中绑定事件与在网页开发中绑定事件几乎一致,只不过在小程序不能通过on的方式绑定事件,也没有click等事件,小程序中绑定事件使用bind方法,click事件也需要使用tap事件来进行代替bind:事件名bind事件名事件处理函数需要写到.js文件中,在 .js 文件中需要调用小程序提供的 Page 方法来注册小程序的页面,我们可以直接在 Page 方法中创建事件处理函数。
2024-06-04 22:19:30
1536
原创 【Redis7】Redis持久化机制之RDB
Redis持久化机制中的RDB(Redis Database)是一种将Redis在某个时间点的数据以快照形式保存到磁盘上的方法。原理:RDB通过创建一个包含Redis数据库所有键值对的快照文件(通常以.rdb作为文件后缀)来实现持久化。这个过程将内存中的数据以二进制格式转储到磁盘上,形成一个紧凑的文件,便于备份和迁移。三种触发方式配置触发,手动触发和后台触发手动触发:通过执行SAVE命令可以立即执行一次快照生成,但需要注意,该命令会阻塞Redis服务器,直到RDB文件创建完毕,
2024-05-19 13:29:57
1635
21
原创 【Redis7】10大数据类型之Bitfield类型
Bitfield(位域)命令可以将一个 Redis 字符串看作是一个由二进制位组成的数组, 并对这个数组中任意偏移进行访问。BITFIELD 命令的作用在于它能够将很多小的整数储存到一个长度较大的位图中,又或者将一个非常庞大的键分割为多个较小的键来进行储存,从而非常高效地使用内存,使得 Redis 能够得到更多不同的应用 --特别是在实时分析领域:BITFIELD 能够以指定的方式对计算溢出进行控制的能力,使得它可以被应用于这一领域。Bitfield功能就是: 位域修改+溢出控制。
2024-05-14 15:29:04
965
2
原创 【Redis7】10大数据类型之Stream类型
Redis Stream 是在Redis 5.0版本中引入的一种新的数据结构,它主要用于实时数据处理场景,如消息队列、日志记录和实时数据分析等。Stream的设计灵感部分来源于消息队列系统,如Kafka,但它提供了更直接集成到Redis生态系统中的能力。简单来说:Stream就是消息中间件+阻塞队列Redis Stream 类型本身设计时就充分考虑了生产者消费者模型的需求。它不仅包含了这一模型,还对其进行了优化和扩展,以便更好地适应现代分布式系统中的消息传递场景。生产者。
2024-05-13 11:51:34
1129
13
原创 【Redis7】10大数据类型之GEO类型
GEO数据类型非常适合需要处理地图、定位服务或者任何与地理位置相关的应用程序,比如餐饮外卖服务的门店定位、出行应用中的路线规划等场景。Redis的GEO(地理空间)数据类型是一种特殊的数据结构,用于存储地理位置信息并执行地理位置相关的操作。由于这里的数据比很少,示例效果不太好.大家明白熟悉命令就行.感兴趣的话,可以自己去添加一些数据.:将地理位置的坐标转化为一个唯一的字符串编码(GeoHash),这有助于快速索引和查询。:查询指定位置周围的地点,基于给定的最大距离(半径)。
2024-05-11 16:08:33
600
1
原创 【Redis7】10大数据类型之HyperLogLog类型
HyperLogLog是基于概率的数据结构,能够以极高的效率和极小的内存占用(固定12KB)来近似计算。个不同元素的基数,特别适合处理大规模数据集的统计计数,如网站独立访客(UV)计数等场景。类型,因为 HyperLogLog 只会根据输入元素来计算基数,而不会储存输入元素本身.Redis的HyperLogLog是一种高级数据结构,专门用于基数估算。
2024-05-10 20:36:43
278
2
原创 【Redis7】10大数据类型之Bitmap类型
Redis的Bitmap类型并不是一个独立的数据类型,而是对String类型的一种巧妙使用,允许开发者以位级别操作字符串中的数据。and操作: user1和user2对应位都是1的情况下才为1,否则为0。如果我们要找出只在某一天在线,而不在另一天在线的用户,可以使用XOR操作。,分别代表了两天内用户的在线状态,其中1表示在线,0表示离线。:获取该Bitmap所占用的字节数,而不是比特位中1的个数。
2024-05-09 15:38:47
917
原创 【Redis7】10大数据类型之Zset类型
Redis的Zset(Sorted Set,有序集合)是一种特殊的数据结构,它结合了集合(Set)和排序功能。在Zset中,每个成员(member)都关联一个唯一的分数(score),这个分数用于对集合中的成员进行排序。因此,Zset中的元素不仅像Set那样不允许重复,还能够根据score的值进行排序。:从键名列表中的第一个非空排序集中弹出一个或多个元素,它们是成员分数对。:用于获取有序集合中某个成员的分数(score)值。:返回Zset中score值在给定范围内的成员数量。:返回Zset中成员的数量。
2024-05-08 16:04:59
1129
原创 【Redis7】10大数据类型之Set类型
Redis的Set类型是一个无序的不重复字符串集合。:判断成员是否在集合内。:随机返回集合中的一个或多个成员,但不移除。:随机移除并返回集合中的一个或多个成员。:将一个集合中的成员移动到另一个集合中。:从集合中移除一个或多个成员。:返回集合中的所有成员。:返回集合中元素的数量。:返回给定集合的交集。:返回给定集合的并集。
2024-05-06 11:19:09
589
3
原创 【Redis7】10大数据类型之Hash类型
Redis中的Hash类型是一种高效的数据结构,用于存储键值对的集合。这种类型特别适用于表示对象,因为它允许你将对象的多个属性(fields)作为单独的条目存储在同一个键(key)之下。:设置field对应的值。:获取该key下所有field及其对应的值。:只有当field不存在时才设置其值。:获取该key下所有field的值。:返回该key下field的数量。这种形式的. 类似于Java中的。字段的值进行浮点数的原子性递增。:获取指定field的值。)的. 而Hash类型的。字段的值增加指定的整数值。
2024-05-05 22:47:19
440
2
原创 【Redis7】10大数据类型之List类型
List(列表)类型用于存储一系列有序的字符串元素。每个列表项都是一个字符串,列表本身是按照插入顺序排序的,这意味着你可以保留元素的插入顺序.双向链表:Redis内部使用双向链表实现List,这使得在列表的头部或尾部插入和弹出元素都非常高效,时间复杂度为O(1)。有序性:列表中的元素保持插入时的顺序,可以按照索引位置访问元素。元素重复:列表允许存储重复的元素。长度限制:理论上,一个列表可以包含最多2^32 - 1个元素(大约4294967295个)。多种操作。
2024-05-04 10:51:36
778
原创 【Redis7】10大类型之String类型
Redis的String类型是其最基本的数据类型,它允许以键值对(key-value)的形式存储数据,其中key始终是字符串类型,而value则可以是任何二进制安全的数据,这意味着它可以存储任何形式的字符串数据,包括文本、图片、序列化对象等,最大可达512MB。
2024-05-02 13:55:03
872
2
原创 解决Redis的键值前出现类似\xAC\xED\x00\x05t\x00*这样的字符序列
StringRedisTemplate 虽然继承自 RedisTemplate,但在实际应用中,它通常被限制为处理 String 类型的 key 和 value,因此在只需要处理字符串数据时更为方便和高效。RedisTemplate 是一个泛型类,允许你操作任何类型(包括但不限于字符串)的键值对,因此它更加灵活,能够适应更复杂的数据存储需求。如果你的应用主要处理字符串类型的数据,使用 StringRedisTemplate 可能会更合适,因为它提供了更好的性能和易读性。虽说不影响使用,但是听影响观感的。
2024-05-01 19:44:14
1159
1
原创 【Redis7】key相关命令
Redis 是一个基于键值对(key-value)的数据结构存储系统,在学习Redis数据类型之前,先来了解一下key相关的命令吧。
2024-05-01 07:00:00
230
原创 【Redis】Redis7安装、配置、卸载&&使用可视化工具连接Redis
不建议在这里直接修改,建议先拷贝一份,在拷贝的文件中改,万一修改错误,也只是拷贝的文件有问题,还能恢复成默认的配置文件。⭐小技巧: redis配置文件中的内容是很多的,如果一行一行找有些麻烦,可以在正常模式下输入。接下来修改Redis的配置,回到opt/redis-7.0.15这个目录下。使用xftp将下载好的Redis安装包传到Linux的/opt目录下。gcc是linux下的一个编译程序,是C程序的编译工具。因为是连接虚拟机上的Redis,我们需要先关闭防火墙。
2024-04-28 07:00:00
2016
原创 VMware创建Linux虚拟机&&Xshell连接虚拟机
选择GNOME桌面,点击完成.也可以选最小安装,不过后续操作只能用命令行来进行.打开Xshell,新建连接,将主机名改成刚才查看的虚拟机ip.点击连接。鼠标点进去,选择Install CentOS7并回车,然后等待安装。进入VMware,点击创建虚拟机,然后跟着我的截图走就可以了.然后输入root和密码即可,此时就是root用户了。安装完成后,会出现这个界面,选择中文 ,简体中文。虚拟机名称随便起,位置最好改一下,不要放在C盘。首先把启动好的Linux虚拟机关机,重新开启。选择root用户,记住用户名。
2024-04-27 11:27:19
619
原创 【数据结构与算法】二分查找
二分查找,又称折半查找,是一种在有序数据集合(通常为数组)中高效查找特定元素的算法。它充分利用了数据的有序特性,通过不断缩小搜索范围,快速定位目标值⭐注意前提条件:有序数据集合初始化:确定数据集的左右边界,通常是数组的起始索引(左边界)和终止索引(右边界)。计算中间位置:取左右边界的中间索引,通常通过取整除()得到。比较中间元素:将中间位置的元素与目标值进行比较:相等:找到目标值,返回中间位置作为其在数组中的索引。小于目标值:若数据集为升序排列,说明目标值可能位于中间位置的右侧。
2024-04-26 14:32:14
284
3
原创 【Linux】文件权限类命令
在Linux中,文件权限是构建多用户操作系统的基础元素,它确保了每个用户只能在其权限范围内操作文件. 1-3位确定属主(该文件的所有者),拥有该文件的权限。4-6位确定属组(所有者的所属组),拥有该文件的权限。,所有者拥有全部的权限,所属组和其它用户都没有写权限。7-9位确定其它用户拥有该文件的权限。
2024-04-25 08:00:00
1915
原创 【Linux】用户管理命令
在设置密码时,密码不会显示出来,这个正常现象. 在第一次输完密码按下回车后,还是提示无效密码,是因为我设置的密码比较简单,但是我使用的是root用户,所以即使提示我是无效密码,在输入一次也可以成功。因为编译这个文件,已经超过了它原有的权限,所以会给你提示一段话,并且需要输入密码才能够访问,如果不想每次都输入密码,就需要在刚才修改配置文件的基础上,在加上一段话。Linux通常用于服务器,一个Linux服务器一般会有多个开发人员进行使用,这个时候就需要给不同的开发人员分配不同的用户,以便于权限的划分.
2024-04-21 14:55:08
347
原创 【Linux】开关机命令和服务管理类命令
一般Linux是不会经常进行关机的,关机的正确流程是: sync->shutdown->reboot->poweroff。
2024-04-20 12:04:22
311
原创 【Linux】帮助类命令
在Linux系统中,help命令用于提供关于Shell内置命令的简要帮助信息。help命令通常用于查看系统中可用的内置命令的列表以及它们的用法和选项。用于查看系统手册页(manual pages)。它用于查阅关于特定命令、函数、工具或文件格式的详细信息。然后系统会显示ls命令的手册页,其中包含有关该命令的详细信息,包括用法、选项、参数说明等。命令只能提供有关Shell内置命令的帮助信息,对于外部命令(例如。,后跟您要查看的命令或主题的名称。可以查看命令的帮助信息,命令,只需在终端中输入。
2024-04-20 11:50:47
207
原创 【SpringCloud】Consul中数据持久化配置并注册为Windows服务
命令来启动Consul服务,而且不能关掉命令行.另外一点就是在Consul中设置的数据,每次重启之后就没了. 就很烦.因此为大家带来解决上述问题的方法。上述配置完成之后,后续在consul中配置的数据就会保存到mydata文件夹,即便重启也会有数据。Consul用起来两个比较麻烦的地方: 一是每次都需要执行打开命令行执行。首先要在官网下载Consul安装包的解压目录下新建两个东西。运行consul_start.bat。的要更换成自己对应的路径。在任务管理器中也能查看到。出现以下效果即为成功。
2024-03-21 16:30:38
656
2
原创 一篇文章带你掌握MongoDB
MongoDB是一种NoSQL数据库,采用了文档数据库模型。它以BSON(Binary JSON)格式存储数据,支持动态模式和灵活的查询语言。文档存储:MongoDB以文档(Document)的形式存储数据,每个文档是一个自包含的数据单元,类似于关系型数据库的行。动态模式:MongoDB不需要预定义的表结构,可以根据需要动态添加字段,更加灵活。分布式存储:MongoDB支持分片和副本集等方式进行水平扩展和高可用性部署。
2023-11-30 21:04:04
2022
31
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人