自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 自动化测试---pytest

pytest详解

2026-03-14 19:43:51 388 3

原创 GUI自动化测试---pywinauto

pywinauto详解

2026-03-13 16:48:23 386

原创 Linux网络---多路转接

多路转接

2026-03-09 16:50:26 703 5

原创 Linux网络---Epoll-Reactor模式

【代码】Linux网络---Epoll-Reactor模式。

2026-03-09 16:42:49 67

原创 Linux网络---Epoll_LT模式

Epoll-LT模式

2026-03-06 18:12:49 63 1

原创 Linux网络---poll的使用

一个简单的poll实现的服务器

2026-03-05 19:14:44 232 3

原创 Linux网络---Select的使用

提示:FD_ISSET是判断文件描述符是否在就绪队列中,只有真的有新连接到来的时候,select才会把listensockfd加入rfds中,FD_ISSET才会返回true。如果我们将新的fd托管给了select,但是按照目前的代码逻辑,我们进入新的循环rfds会被情况啊,那我怎么知道我原本要关心的fd是哪个并将他添加到rfds呢?因为没有调用accept,用户连接放在缓冲区中,一直没有处理,循环一直有一个用户连接数据,所以会刷屏。我们只是获取了新连接,但是fd是否就绪,我们不知道!

2026-03-05 17:00:58 372

原创 Linux网络---非阻塞IO

阻塞vs非阻塞阻塞和非阻塞关注的是程序在等待调用结果时的状态。①阻塞调用时指调用结果返回之前,当前线程会被挂起,调用线程只有在得到结果之后才会返回。②非阻塞调用指在不能立刻得到结果之前,该调用不会阻塞当前线程。

2026-03-04 19:07:20 318 3

原创 Linux网络---数据链路层

这中间要经过湖南、湖北、河南、河北,比如说你现在到了河南、下一个目的地是河北,河南就是源MAC地址,河北就是目的MAC地址,同样的你在湖南,要到湖北,湖南就是源MAC地址,湖北就是目的MAC地址。IP地址是你的开始出发位置和最终要到达的位置,而MAC地址是你在前往最终终点过程中的所在位置和下一步要去的位置,以到达终点。最理想的情况下, MSS的值正好是在IP不会被分⽚处理的最⼤⻓度(这个⻓度仍然是受制于数据链路层的MTU).最⼤值1500称为以太⽹的最⼤传输单元(MTU),不同的⽹络类型有不同的MTU;

2026-02-20 13:44:30 782

原创 Linux网络---网络层

网络层

2026-02-01 22:06:59 2557 12

原创 位运算---LC371两整数之和

LC371

2026-02-01 16:14:38 417

原创 位运算---LC268丢失的数字

创建一个[0,n]的tmp数组,先将原数组中的数字全部异或在一起,然后再将tmp中的数字全部异或在一起,然后让两次异或的结果相互异或,最后就只剩下一个丢失的数字了。哈希表:创建一个长度位n+1的数组,这个数组下标就是[0,n],然后遍历原数组,遍历到哪个数就在哈希表的对应下标的值加一,然后再遍历哈希表,哈希表中的值为0的下标就是丢失的数字。暴力解法:数组是缺失[0,n]中的一个数,所以我们先将数组按顺序排好,然后遍历一遍数组就能找到缺失的那个数字了。用总和减去数组中的和,剩下的就是丢掉的数字。

2026-01-26 22:46:17 526

原创 算法---常见位运算总结

③将nums分为两组,不同位为1的和不同位为0的,再进行异或,这样就肯定能将返回值分为两组,从而得到返回值。-n:先取反再加一,本质是将最右侧的1,左侧区域的区域全部取反。n-1: 本质是将最右侧的1右边的区域(包含1)全部变成相反。②找出异或值最右侧的1,这个位置就是两个返回值的第一个二进制不同位。思路:①相同的数异或后为0,将全部数异或后得到只出现1次的数的异或值。2.给一个数n,确定他的二进制表示中的第x位是0还是1。3.将一个数n的二进制表示的第x位修改成1。⑤| : 或,有1就是1。

2026-01-26 22:02:46 395

原创 Linux网络---TCP原理

深度讲解TCP原理

2026-01-23 22:43:38 842 11

原创 Linux网络---UDP原理

UDP传输协议原理分析

2026-01-17 19:20:09 1824 8

原创 [测开项目]问卷系统测试---自动化测试

1.公用文件Utils.py。

2025-12-26 15:47:51 147

原创 [测开项目]问卷系统测试---测试用例

Microsoft Edge版本143.0.3650.80(70位)PC端Windows系统。Microsoft Edge版本143.0.3650.80(64位)PC端Windows系统。Microsoft Edge版本143.0.3650.80(65位)PC端Windows系统。Microsoft Edge版本143.0.3650.80(70位)PC端Windows系统。Microsoft Edge版本143.0.3650.80(70位)PC端Windows系统。

2025-12-26 15:46:57 743

原创 测试开发---性能测试概念篇

为了发现系统性能问题或获取系统性能相关指标而进行的测试。

2025-12-06 17:00:18 880 4

原创 测试开发---测试分类

本文系统介绍了软件测试的多种分类方法。按照测试目标可分为界面、功能、性能、可靠性、安全性和易用性测试;按执行方式分为静态和动态测试;按测试方法分为白盒、黑盒和灰盒测试;按测试阶段分为单元、集成、系统、冒烟、回归和验收测试;按实施方式分为手工和自动化测试;按组织方式分为α测试和β测试。每种分类方法都详细说明了测试目的、内容和实施要点,为软件测试工作提供了全面的理论指导。

2025-12-02 20:36:53 1322 5

原创 [项目]基于正倒排索引的Boost搜索引擎---服务和前端模块

cpp-httplib是一个用C++11编写的HTTP/HTTPS客户端和服务器库,该库设计简洁、易于集成,用于快速开发轻量级的HTTP服务或客户端应用。

2025-11-30 14:17:35 747

原创 [项目]基于正倒排索引的Boost搜索引擎---编写搜索引擎模块 Searcher

前置内容索引模块。

2025-11-24 20:31:15 1144 5

原创 [项目]基于正倒排索引的Boost搜索引擎---编写建立索引的模块Index

正排索引以文档 ID 为键,存储每个文档的完整信息(标题、内容、URL、文档 ID),支持通过 ID 快速获取文档详情;倒排索引以分词后的单词为键,关联包含该单词的所有文档记录(InvertList),每条记录包含文档 ID 和权重(标题词频 ×10 + 内容词频 ×1,突出标题关键词重要性);构建索引时,先读取格式化文档并分割字段生成正排记录,再通过中文分词(JiebaUtil)对标题和内容分词、统计词频,最终生成倒排索引;

2025-11-23 15:49:24 869 11

原创 [项目]基于正倒排索引的Boost搜索引擎---编写数据去标签与数据清洗的模块Parse

解释:input存储boost库中的全部html文件raw_html存储去标签处理后的文件parser.cc:用来将input/html中的内容进行去标签,最中保存到raw_html中Util.hpp:工具文件,公用的工具写在这里边。

2025-11-19 17:31:28 990 3

原创 [项目]基于正倒排索引的Boost搜索引擎(一)---预备知识

1.项目的相关背景2.搜索引擎的相关宏观原理3.搜索引擎技术栈和项目环境4.正排索引vs倒排索引-搜索引擎具体原理5.编写数据去标签与数据清洗的模块Parser6.编写建立索引的模块Index7.编写搜索引擎模块Searcher8.编写http_server模块9.编写前端模块。

2025-11-18 15:27:58 736 4

原创 MySQL---C/C++链接

功能:插入中文后再select会出现乱码,是因为建立链接的默认字符集不同,该函数能建立字符集。参数解释:host参数用于指定MySQL服务器的主机地址。unix_socket 设置为nullptr。MYSQL_RES:类型名,将select查出来的数据组织好。用法:row保存一行数据,先读取一行,然后再按列打印。功能:查询结果不会自动释放,必须使用该函数主动释放。port连接端口号,默认3306。client_flag设置为0。返回值:失败返回null。功能:连接mysql。

2025-11-16 15:00:55 1071 3

原创 深入浅出:Socket封装的艺术,告别原生Socket的繁琐

Socket封装

2025-11-07 10:41:45 925 3

原创 Linux---序列化与反序列化

序列化是 “数据出门的转换器”,将内存数据转为可存储 / 传输的格式;反序列化是 “数据进门的还原器”,将外部数据转回内存可操作的形式。二者共同支撑了数据在内存、存储、网络之间的无缝流转,是现代软件系统(尤其是分布式、前后端分离架构)的基础技术完。

2025-11-04 18:11:56 516 4

原创 Linux---线程封装

【代码】Linux---线程封装。

2025-10-15 20:53:19 386

原创 Linux---线程概念

①执行流看到的资源,本质是:在合法的情况下,你拥有多少虚拟地址,虚拟地址就是资源的代表②虚拟地址空间mm_struct+vm_area_struct本质:进行资源的统计数据和整合数据③资源划分:本质是地址空间的划分④资源共享:本质是虚拟地址的共享⑤页表是一张虚拟到物理的地图。

2025-10-12 18:48:10 590

原创 Linux---进程信号

①物理:闹钟,红绿灯,上课铃声,狼烟,电话铃声,敲门声......②什么叫信号:终端人正在做的事情,是一种事件的异步通知机制③技术层面:信号是一种给进程发送的,用来进行事件异步通知的机制④异步:两件事情同步进行互不干扰,信号的产生,先对于进程的运行,是异步的!

2025-10-07 15:51:14 915

原创 C++---位图

位图(Bitmap)是一种高效的数据结构,主要用于(通常是整数),其核心原理是通过来表示数据的状态,具有空间效率极高的特点。10假设要表示范围为0~N的整数集合,位图需要的空间仅为N/8字节(或N/32个 32 位整数)。

2025-10-06 19:22:07 1166

原创 Linux---文件系统

①文件=内容+属性②被打开的文件再内存中③没有被打开的文件在磁盘中④如何找到磁盘中的文件:目录⑤文件系统的工作:帮助我们找到磁盘上的文件。

2025-09-22 21:55:14 911 1

原创 Linux---gdb和cgdb

注意:有一些变量不应该被修改,但是你怀疑他修改导致了问题,你可以watch他,如果发生了变化,他会通知你。⑫c(continue):直接运行到下一个断点处,断点对代码进行块级别划分,以块为单位进行快速定位区域。①watch+变量:查看变量是否变化,发生变化会显示出来,不变化不显示,删除和断点一样,d+断点号。②r:无断点直接将程序跑完,有断点运行到断点处(相当于vs中的F5)⑩disable+断点号:禁用断点,断点会变黄,起标记作用。③b+行号+if+条件语句:在循环中,直接进入条件所在的行。

2025-08-28 19:36:14 333 1

原创 C++---C++11

function的实例对象可以包装存储其他的可以调用对象,包括函数指针、仿函数、lambda、bind等表达式,存储的可调用对象被称为function的目标。若function不含目标,则称它为空。调用空function会抛异常。

2025-08-17 18:09:29 652

原创 Linux---make和makefile

make是一条命令,makefile是一个文件。

2025-08-01 21:34:16 453

原创 Linux---编辑器vim

①命令模式控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入插入模式或者进去底行模式②插入模式可进行文本输入,按Esc回到命令行模式③底行模式文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。

2025-08-01 11:35:37 568

原创 C++---多态

①必须是基类的指针或者引用调用虚函数②被调用的函数必须是虚函数,并且完成了虚函数的重写。

2025-07-10 16:25:57 267

原创 C++---继承

父类(基类/超类)被继承的类,提供基础的属性和方法。子类(派生类)继承父类的类,可以:直接使用父类的非私有成员(属性和方法)。新增自己的属性和方法。重写(Override)父类的方法以改变其行为。

2025-07-08 17:48:26 868

原创 C++---vector模拟实现

迭代器失效:给tmp开空间,然后将start中的数据移入tmp,delete start,size是由指针相减返回的,start=tmp,导致start指向的空间改变,但是finish还在原来的位置,最后导致size不再是原来的size,所以在删除start之前要保存old_size;如果空间已经满了,就要先保存pos于start的相对位置,因为开空间的话,start改变,pos的位置就失效了,开空间后要更新pos。在类外部使用模板,保证模拟实现的vector是通用的。9、删除任意位置数据。

2025-05-23 22:14:21 378

原创 C++---string类

string类基本功能

2025-05-17 16:11:13 1178

空空如也

空空如也

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

TA关注的人

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