- 博客(23)
- 收藏
- 关注
原创 C/S模型-TCP
因此,服务器从accept()返回后立刻调用read(),读socket就像读管道一样,如果没有数据到达就阻塞等待,这时客户端调用write()发送请求给服务器,服务器收到后从read()返回,对客户端的请求进行处理,在此期间客户端调用read()阻塞等待服务器的应答,服务器调用write()将处理结果发回给客户端,再次调用read()阻塞等待下一条请求,客户端收到后从read()返回,发送下一条请求,如此循环下去。注意,任何一方调用close()后,连接的两个传输方向都关闭,不能再发送数据了。
2025-03-19 15:52:42
437
原创 Google C++编码规范指南(含pdf)
**`struct` 与 `class` 的区别**:仅当类仅包含数据成员且无行为时使用 `struct`,其他情况一律使用 `class`(例如:`struct Point { int x, y;- **智能指针**:推荐使用 `std::unique_ptr` 或 `std::shared_ptr` 管理动态内存,避免原始指针直接操作。- **成员声明顺序**:类内成员按 `public`、`protected`、`private` 顺序声明,函数在数据成员之前。
2025-03-19 15:42:00
676
原创 一句话总结一种排序算法,精炼
常见的应该包括冒泡、选择、插入、快速、归并、堆排序、希尔、计数、桶排序和基数排序这些。:选一个基准,将数组分为“小基准”和“大基准”两部分,递归处理子数组。:构建最大堆,每次取堆顶元素(最大值),再调整堆结构,重复直到有序。:两两比较相邻元素,每次循环将最大的元素“冒泡”到末尾。:将元素分到多个有序的桶中,桶内排序后按顺序合并所有桶。:冒泡(相邻交换)、快速(基准分治)。:选择(挑最小)、堆排序(堆顶最大)。:归并(拆了再合)、快速(分基准)。:插入(直接插)、希尔(分组插)。具体细节可见我的另一个文章。
2025-02-11 10:41:43
505
原创 C++命名空间
如果声明区域有相同的名字,局部版本将隐藏命名空间中的名字,不过,可以使用域名解析符使用命名空间中的名称。在实际开发中,较大型的项目会使用大量的全局名字,如类、函数、模板、变量等,很容易出现名字冲突的情况。)不要在头文件中使用using编译指令,如果非要使用,应将它放在所有的#include之后。在同一命名空间内的名字可以直接访问,该命名空间之外的代码则必须明确指出命名空间。命名空间分割了全局空间,每个命名空间是一个作用域,防止名字冲突。)匿名的命名空间,从创建的位置到文件结束有效。)命名空间可以嵌套。
2025-02-02 16:00:54
160
原创 C/C++中整数的书写(不同进制的书写)
注意,C++标准并不支持上面的二进制写法,只是有些编译器自己进行了扩展,才支持二进制数字。换句话说,并不是所有的编译器都支持二进制数字,只有一部分编译器支持,并且跟编译器的版本有关系。十六进制由数字 0~9、字母 A~F 或 a~f(不区分大小写)组成,书写时必须以0x或0X(不区分大小写)开头。八进制由 0~7 八个数字组成,书写时必须以0开头(注意是数字 0,不是字母 o)。整数默认是十进制,一个表示十进制的数字不需要任何特殊的格式。在C++中,不要在十进制数前面加0,会被编译器当成八进制。
2025-02-02 15:54:18
334
原创 C++内存模型(四个区)
是否产生碎片:对于栈来说,进栈和出栈都有着严格的顺序(先进后出),不会产生碎片;而堆频繁的分配和释放,会造成内存空间的不连续,容易产生碎片,太多的碎片会导致性能的下降。)分配效率不同:栈是系统提供的数据结构,计算机在底层提供了对栈的支持,进栈和出栈有专门的指令,效率比较高;)管理方式不同:栈是系统自动管理的,在出作用域时,将自动被释放;堆需手动释放,若程序中不释放,程序结束时由操作系统回收。)增长方向不同:栈向下增长,以降序分配内存地址;存储可执行程序的代码和常量(例如字符常量),此存储区不可修改。
2025-02-01 15:08:24
262
原创 深度学习练手小例子——cifar10数据集分类问题
测试集的loss:210.63251876831055,准确率:0.5252999663352966。测试集的loss:202.65885722637177,准确率:0.5475999712944031。测试集的loss:195.93554836511612,准确率:0.5615000128746033。测试集的loss:184.76930475234985,准确率:0.5831999778747559。测试集的loss:176.2480058670044,准确率:0.6036999821662903。
2025-02-01 15:00:48
1074
1
原创 Linux系统下配置防火墙
常用服务的端口:ssh(22)、HTTP(80、8080)、MySQL(3306)、Oracle(1521)、ftp(21)、)查看防火墙已开通的服务(CentOS缺省开通ssh和dhcpv6-client服务)。)重新加载防火墙配置参数(修改配置后要重新加载防火墙配置或重启防火墙服务)。)查看防火墙服务状态(普通用户可执行),CentOS缺省启用防火墙。)查看防火墙已开通的端口,CentOS缺省不开通任何端口。)查看防火墙支持的服务的列表(普通用户可执行)。)启动、重启、关闭防火墙服务。
2025-01-20 11:07:14
368
原创 vi/vim中的基本命令操作大全
有两种模式,命令模式和编辑模式,在命令模式下,键盘输入是命令,在编辑模式下,键盘输入的才是字符。如"3x"表示删除光标所在位置开始的3个字符。如"3dd"表示删除光标所在位置开始的3行。对光标当前所在的位置的字符进行大小写转换。把当前行的下一行文本拼接到当前行的尾部。显示光标所在位置的行号和文件的总行数。每按一次,删除光标所在位置的一个字符。删除光标所在位置到本单词结尾的字符。将缓冲区里的内容粘贴到光标所在位置。将光标所在位置的一行复制到缓冲区。将光标所在位置的n行复制到缓冲区。
2025-01-20 11:03:38
685
原创 C++的auto关键字
全新的含义,不再用于修饰变量,而是作为一个类型指示符,指示编译器在编译时推导。)初始化的右值可以是具体的数值,也可以是表达式和函数的返回值等。标准对函数返回类型推导规则做了优化,函数的返回值可以用。关键字用于修饰变量(自动存储的局部变量)。在Linux平台下,编译需要加。声明的变量必须在定义时初始化。不能定义类的非静态成员变量。在C语言和C++98中,不能作为函数的形参类型。在C++11中,赋予了。声明的变量的数据类型。变量名 = 初始值;,不必尾随返回类型。
2024-11-30 20:20:03
293
原创 二叉搜索树的创建和四种遍历方法
在二叉搜索树的创建前,需要明白怎么创建单链表,创建链表需要了解指针的用法。下面是创建和打印列表的代码,void build_list()及void prinlist(listNode* head)看懂了怎么创建单链表后,学习二叉搜索树的创建。
2024-11-04 15:27:49
265
原创 WiFi感知领域-论文研读:WiFi-Based Human Pose Image Generation
本文首次探索了将WiFi信号和视觉信息融合在一起的技术,并提出了一种基于WiFi信号生成光学人体姿态图像的解决方案。所提出的方法使用无线设备和相机来收集数据,经过数据预处理,设计了一个深度学习模型来直接预测WiFi信号中的姿势关键点坐标,并利用GAN模型来合成高质量图像。
2024-03-24 12:19:43
1429
1
原创 论文研读(含2G的CSI数据集+导入数据的代码):CSI-Former: Pay More Attention to Pose Estimation with WiFi
论文的研读,包含数据集下载网址,以及提取数据进行训练的代码。
2024-03-23 10:57:11
1709
原创 论文研读:From Point to Space: 3D Moving Human Pose Estimation Using Commodity WiFi
本文构建了包含姿态和位置信息的CSI图像,以便神经网络能够提取与姿态相关但与位置无关的特征,设计了一个神经网络Wi-Mose来从CSI图像中提取特征,并将其转换为关键点坐标。实验结果表明,Wi-Mose在无遮挡和有遮挡场景中分别实现了29.7mm和37.8mm的P-MPJPE,与WiPose相比,准确率分别提高了21%和10%。
2024-03-22 19:29:23
1198
1
原创 用python代码解决经典的鸡兔同笼问题
鸡兔同笼是中国古代数学名题,一般表述为:在一个笼子里关着若干只鸡和兔子,已知它们的总头数和总脚数,问鸡和兔子各有多少只。代码核心思想是,假设全是鸡,那么多出的腿全是兔子的,再除以2就得到兔子的数量,再用头数量减去兔子数量就是鸡的数量。假设笼子里有鸡x只,兔子y只。求解这个二元一次方程组就可以得到鸡和兔子各自的数量。
2024-03-22 16:49:20
1075
1
原创 三种最常用的排序方法及优缺点(冒泡排序、选择排序、插入排序),后续补充了四种排序(快排等)
冒泡排序的基本思想是,通过重复地交换相邻两个元素的位置(如果它们处于错误的顺序),最终使得整个序列变成有序。具体做法是从数组的第一个元素开始,比较相邻的元素,如果前一个比后一个大(升序)就交换这两个元素,经过第一轮遍历后,最大的元素会被“冒”到数组的末尾;然后对剩下的元素再进行同样的操作,如此反复,直到没有任何一对数字需要交换位置。
2024-03-18 10:31:45
990
1
原创 求模型评价指标PCK@a,python代码已实现
正确关键点百分比(Percentage of Correct Keypoint, PCK)是在深度学习领域做人体姿态估计中常用的指标,许多文献都用了PCK作为模型评价指标。
2024-01-25 11:54:13
922
2
原创 用Python实现学生成绩管理系统,附上完整代码
大体功能如下,用Python语言完成的小项目,功能包括录入、查找、删除、修改、排序、显示等,提示内容有特色~可以自己修改。简简单单,完成了入门Python的第一个小小项目,未来可期!
2024-01-12 19:38:39
1000
1
原创 用WiFi CSI信号进行人体感知:对Wi-Mose模型进行复现
最终结果小伙伴可以试一试,如果手里有数据最好可以来训练一下模型,欢迎评论区讨论。本文仅对模型进行了复现,不包括数据导入及模型训练!
2024-01-12 14:59:24
768
1
通信实验课程-移动通信技术的实践研究:从理论到实操的全面解析
2025-03-24
讲述了计算机网络实验的多个方面,包括从基础的网线制作到高级的路由协议配置和网络安全控制等
2025-03-24
通信系统综合实验,使用SystemView仿真软件进行的设计与仿真
2025-03-24
基于C语言的程序设计实验:学生成绩管理、订票系统及五子棋游戏的实现与实践
2025-03-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人