- 博客(78)
- 收藏
- 关注
原创 Operating System Not Found解决方案
在左上角菜单栏中找到目标系统邮件打开上图中的设置,在设备中找到CD/DVD(SATA)选项,一般出现operating system就是连接那里使用了使用物理驱动器,需要选择使用ISO镜像,然后点击浏览,找到你的目标ISO镜像文件的绝对路径。找到之后,在设备状态中将已连接和启动时两个选项都勾上问题就可以迎刃而解。
2023-06-02 02:38:58
7365
5
原创 WB_BF项目问题说明以及探究
我就现在WB_BF项目群里面提到的“根据测试脚本运行日志来看,bf运行了约31小时后又开始出现了api调用返回nginx的错误信息。之后,bf客户端也无法打开。”问题做一下说明,今天早上我在机器上复现了这一问题。针对于api调用会返回nginx的错误信息以及bf客户端无法打开的情况。
2023-05-08 19:47:43
775
原创 计算机视觉入门 - MacOS搭建Python的OpenCV环境并在VScode上使用的详细步骤(完整版)
安装完成之后,正常情况下,VScode应该是可以自动识别出你刚刚安装的opencv的,我们来写一个程序测试一下刚才安装的opencv库,有可能你没有学习过opencv,这里我会对这些语句以及一些函数的功能做相关的解释。如图检测到我的opencv版本为4.60,且下面的glog等依赖包均已安装完成,如果你输入完命令之后下面的这些插件有一些叉号,你可以使用这条命令对依赖包进行独立的安装;img是我定义的一个类型值,cv.imread就是调用opencv里面的函数,后面的是我要读取的图像路径。
2023-03-29 00:33:15
5488
4
原创 无线网络渗透测试系列学习(三) - [信息收集] 网络扫描基础和对三种协议(ICMP/TCP/UDP)的简单学习
在上一篇文章中我们对一些常见的端口进行了了解,并对在Windows下的VMware虚拟中如何搭建Metasploit 2靶机的过程进行了讲述,从这篇文章开始我们开始着重对无线网络渗透测试之前的信息收集部分进行介绍和学习。在网络技术中,通过对单个IP地址的扫描,我们可以对网络的端口开放情况有一个基本的了解;
2023-03-28 23:23:02
857
原创 解决VScode报错:“检测到 #include 错误,请更新 includePath”的详细步骤(完整版)
昨天重装了一下系统,早上搞代码的时候出现了个问题,VScode对我在程序中引入的头文件无法识别并且报错,在网上搜了一下资料,在这里记录一下解决此问题的步骤,以便后期回顾。
2023-03-25 09:47:05
50487
19
原创 无线网络渗透测试系列学习(二) - 在VMware中搭建Metasploit靶机的详细步骤以及端口的简单了解
这篇文章主要介绍了在VMware中搭建Metasploit 2靶机的过程,和对计算机网络中端口概念的简单了解,罗列常用端口,以便后期回顾,下一篇文章将会讲述网络扫描的基础技术。
2023-03-10 17:40:07
2946
1
原创 Linux系列学习(三) - 进程和库文件
库文件时计算机上的一类文件,提供给使用者一些开箱即用的变量。函数或类,库文件分为静态库和动态库,静态库和动态库的区别体现在程序的链接阶段。一般来说,Windows的静态库文件扩展名时.lib,动态库文件扩展名时dll(Dynamic-Link Librarires),举一个例子:我们在早期的Windows版本中玩单机游戏时,有时我们会遇到一些比较麻烦的问题,例如在启动游戏时操作系统提示你现在缺少了某个dll文件。
2023-03-05 18:16:10
844
原创 基于Ubuntu的Brainframe视觉AI分析平台搭建的详细步骤
近期面试了一个做图像识别的人工智能公司,公司让熟悉旗下开发的Brainframe框架,经过一段时间的了解和学习,这个框架可以加载官网上各种各样的算法胶囊从而实现人脸识别,躯干识别以及车辆识别诸多识别功能。但这个框架要运行在Linux的Ubuntu发行版本上且安装过程稍微有一些繁琐,在这里写一下按照官方文档在Ubuntu下搭建Brainframe视觉分析框架的步骤,以便后期的回顾。
2023-03-02 17:30:04
1755
1
原创 无线网络渗透测试系列学习(一) - 在Windows系统下使用虚拟机安装Kali Linux操作系统
近期因为我的毕业论文的缘故,入了渗透测试的坑,在此记录一下学习过程,以便后期回顾,这篇文章作为无线网络渗透测试的开始篇,将会讲述如何在Windows操作系统下使用虚拟机安装渗透测试系统(也就是Linux的另一个发行版本 Kali Linux)以及在安装完成之后的简单配置。此发行版本因为内嵌了众多用来渗透网络的工具,例如wireshark等,因此也被人们广泛评价为渗透神器,废话不多说,让我们开始吧。修改完成之后,我们在键盘上输入Esc键,之后输入“:”然后再输入wq,保存之后进行退出。
2023-02-21 15:35:57
1170
原创 Windows安装VMware虚拟机+配置Ubuntu的详细步骤以及解决配置过程中报错的问题(完整版)
在学习计算机的过程中,Linux操作系统都是我们绕不开的一环,因为我们习惯了在Windows操作系统上面写文章,处理工程文件,刚开始对Linux操作系统是不了解的,我们可以通过在Windows系统上安装VMware虚拟机从而达到在Windows操作系统上使用Linux操作系统的目的,这篇文章会讲述在Windows电脑上如何安装VMware虚拟机并在虚拟机上配置Linux操作系统(发行版本为Ubuntu)的详细步骤,以供大家参考。
2023-02-17 18:51:14
4540
1
原创 MacOS配置Python开发环境和Pycharm的详细步骤(完整版)
与Unix的进化分支Linux的众多发行版本或MacOS都有自己的软件包管理工具(例如Ubuntu的apt软件包管理工具,MacOS的Homebrew)一样,Python也有自己的软件包管理工具,名叫pip。网上对于pip的定义为:pip是一个现代的,通用的 Python 包管理工具。提供了对 Python 包的查找、下载、安装、卸载的功能。
2023-02-06 11:07:02
42543
7
原创 软件质量保证与软件测试复习文档
软件没有实现产品的说明书所描述的功能软件实现了产品说明书描述不应有的功能软件执行了产品说明书没讲的操作软件没有实现说明书没讲但应该实现的功能从软件测试员的角度看,软件难以理解、不易使用、运行缓慢或者最终认为用户不对。既有底层测试,又有高度测试,底层单元测试,高层系统测试将开发阶段清楚的表现出来,便于控制开发的过程,当所有阶段结束时,软件开发就结束了。容易让人误解为测试是在开发完成之后的一个阶段。
2023-01-08 14:54:00
371
原创 毕业论文开题报告 - 基于Linux的无线网络渗透测试研究
在我们的生活中涌入了WLAN技术,现今,各大高校,单位,商场,酒店,基本上已经实现了WIFI的全覆盖,但是WIFI网络在使我们的生活变得越来越方便的同时,问题也就接踵而至,钓鱼WIFI、用户资料泄漏等新的名词也在不断的出现,WIFI全称Wireless Fidelity 是一种允许设备接入无线局域网的技术,是目前阶段应用最为广泛的一种网络技术,但同时因为它的开放性使得WIFI也存在很多安全问题。[16]吕俊霖. 基于VirtualBox的网络渗透测试平台的设计与实现[D].华南农业大学,2016.
2023-01-03 10:46:39
2704
1
原创 软件体系结构复习文档
软件体系结构是大三下学期我们学的一门专业课,这门课学院给我们安排的是一名女老师上的,课没给我留下多深的印象,女老师倒是给我留下了深刻的印象,温柔,漂亮、高挑。上完每节课老师都把ppt和资料发到我们的QQ群里面,期末的时候老师甚至自己把以前发过的ppt里面的重点给我们汇总到一个ppt上,硬生生是把我们这些不好好听课的从死亡线上拉了回来。
2022-12-11 23:37:39
533
原创 数据结构系列学习(九) - 循环队列(Circular_Queue)
循环队列是一种经典的抽象数据类型,实现循环队列之前我们首先要清楚循环队列和普通队列之间的区别以及循环队列的原理,循环队列相较于普通的队列能较大的提高空间的利用率,但是循环队列也有一个非常明显的缺点,就是循环队列是无法扩容的,所以当我们要使用循环队列的时候必须要对数据量有一个较为精准的估算,这样才能发挥出循环队列的优势所在。
2022-11-19 13:48:04
1304
原创 数据结构系列学习(八) - 链式队列(Chain_Queue)
在之前的文章中,我们对链栈进行了了解和学习,并使用代码对链栈的功能函数进行了实现,并在测试中成功的执行了这些操作。这篇文章中,我们将对另外一种抽象数据类型——队列进行了解和学习,并对队列的其中一种表现形式——链式队列进行实现。
2022-11-14 00:21:11
895
原创 数据结构系列学习(七) - 链栈(Chain_Stack)
链栈,即栈的链式存储结构,链栈是一种数据存储结构,可以通过单链表的方式来实现,使用链式栈的优点在于它能够克服用数组实现的顺序栈空间利用率不高的特点,但是需要为每个栈元素分配额外的指针空间用来存放指针域。这篇文章我们将对栈的另外一种表达形式——链栈(Chain_Stack)进行了解学习并使用代码对它进行实现。所以我们依照栈的特性,我们就将这个吞吐的口设定在单链表的头节点和第一个有效节点之间,其实也就是我们之前实现过的单链表中的头插和头删功能。初始化函数(Init_Stack);入栈函数(Push);
2022-11-12 23:02:41
2131
原创 数据结构系列学习(六) - 顺序栈(Stack)
顺序栈相对来说比较简单,其实也就是阉割版的顺序表,因为栈这种数据结构秉承的原则就是先进后出,所以我们对入栈操作就是顺序表中的尾插操作,我们的出栈操作就是顺序表中的尾删操作。只需要将顺序表中的结构体定义进行修改,然后对其他函数做相应的小改动即可,总体难度偏低。
2022-11-11 17:52:09
2113
原创 数据结构系列学习(五) - 双向链表(Double_Linked_List)
在我们之前学习的单链表或者单向循环链表中,链表中的每一个节点保存的都是它的后继节点的地址,而我们今天将要介绍和学习的双向链表却不一样,双向链表中的节点既能保存它的后继节点的地址,也能保存它的前驱节点的地址。在严蔚敏的《数据结构(C语言版)》中是这样说的,链式存储结构中只有一个指示直接后继的指针域,由此,从某个节点出发只能顺指针往后寻查其他节点。双向链表和单链表不同,双向链表每一个节点既保存后继节点的地址,又保存前驱节点的地址。按位置删函数(Delete_pos);头删函数(Delete_head);
2022-11-09 22:28:05
2439
原创 数据结构系列学习(四) - 单向循环链表(Circular Linked List)
数据结构学习目录:数据结构系列学习(一) - An Introduction to Data Structure数据结构系列学习(二) - 顺序表(Contiguous_List) 数据结构系列学习(三) - 单链表(Linked_List)在上一篇文章中我们学习并使用C语言对不带头节点的单链表进行了实现,在这篇文章中我们将对另一种的链式存储结构——循环链表中的单向循环链表进行学习并使用代码实现。作为链式存储的另一种存储结构——循环链表,我们首先应该明确的是,单向循环链表和普通的单链表有什么区别?我们用两张
2022-11-07 23:05:37
3371
原创 数据结构系列学习(三) - 单链表(Linked_List)
在之前我们系统的学习了数据结构中基础的概念、时间复杂度,并且用代码实现了顺序表(Contiguous_List),在对顺序表的学习和实现的文章总结中,我们提到了顺序表的优势在于可以直接访问顺序表中任意一个元素,但是劣势在于如果再头部或者中间位置进行插入或者删除操作,移动元素所产生时空开销较大。
2022-11-02 12:34:47
2491
1
原创 Linux系列学习(二) - Vim编辑器的介绍及使用、文件编译的过程、Makefile工具、Gdb调试器
我们知道无论是在Windows、MacOS、Linux哪一个系统中,文件都是一个基于外存的概念,文件通常存储在磁盘或者U盘中,在Windows系统中,文件一般由两部分构成——文件名和文件类型。在Linux中,文件又被分为不同的文件属性,他们分别为:r(read)读取:对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目 录的权限。w(write)写入:对文件而言,具有新增、修改文件内容的权限;对目录来说,具有删除、移动目录内文件的权限。
2022-10-28 16:59:46
4186
原创 数据结构系列学习(二) - 顺序表(Contiguous_List)
在计算机内部存储一张线性表(线性结构的数表),最为方便简单的就是用一组连续的地址的内存单元来存储整张线性表。这种存储结构称为顺序存储结构。这种存储结构下的线性表就称为顺序表。一张顺序表包括这几个特征:有一个唯一的表名来标识该顺序表;内存单元连续存储,也就是说一张顺序表必须要占据一块连续的内存空间;数据顺序存放,元素之间有先后关系;定义一张顺序表也就是在内存中开辟一段连续的存储空间,同时我们定义的顺序表也应该实现增删查改这四个功能。
2022-10-23 19:43:45
4099
原创 MacOS配置OpenMP多线程并行程序开发环境步骤(完整版)
近期入了并行程序开发的坑,今天心血来潮在图书馆借了几本关于并行程序开发的书并且了解到了OpenMP,最终还是决定对这一个知识领域进军,由于我是苹果电脑,网上的教程大多数要么是基于Windows端上的并行程序开发环境搭建,要么是基于MacOS端上Xcode的OpenMP开发环境搭建。由于我自己习惯了Clion的编译环境,所以打算综合网上的文章,写一篇关于如何在苹果电脑上Clion进行OpenMP环境搭建的教程,里面还是有部分详细的知识没有透彻理解,后续我会持续跟进。
2022-10-20 21:38:54
4468
1
原创 算法 - 递归实现汉诺塔(The Tower of Hanoi)
今天接触到了一个非常有意思的游戏,名字叫做汉诺塔(Tower of Hanoi),小时候没有玩过这个益智游戏,所以今天利用代码把这个益智游戏实现一下。(Tower of Hanoi),又称,是一个源于古老传说的。创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。
2022-10-19 13:54:55
3758
原创 Linux系列学习 (一) - Linux的系统安装(MacOS)、文件系统、基本命令
前面介绍了5种Linux系统的不同版本,因为在我大三下学期对Linux进行学习与在学校机房进行实验时我使用的是CentOS,我对CentOS相对比较熟悉,在这里我选择CentOS版本的Linux系统进行安装。这是Linux的第一节课,旨在了解Linux系统和成功安装CentOS版本的Linux系统,了解Linux的文件系统,简单学习和使用一些基本的命令,需要清楚的是,Linux的学习是至关重要的,Linux具有相对较高的安全性,也是企业级开发不可缺少的一环。
2022-10-17 14:18:41
3308
1
原创 十月美剧精听总结 - 权力的游戏「Game of Throne」 & 黑袍纠察队「The boys」& 老无所依「No Country for the old men」
今年大四,从大二开始频繁的接触美剧,其中包含了属魔幻主义题材的《冰与火之歌》,现代题材的《黑袍纠察队》,刚好最近又偶尔看到了由乔什·布洛林、汤米·李·琼斯主演的电影《老无所依》,因为最近在备考雅思,顺带用这些美剧和电影里面的片段来练练听力,并尽量用键盘在电脑上完整的将一些我认为比较有意思的对话片段复刻出来,可以当作一个口语听力的训练,其中英音美音参杂,这里不做细化。
2022-10-16 20:04:15
2626
2
原创 数据结构系列学习(一) - An Introduction to Data Structure
数据是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。数据不仅仅包括整形、实型等数值类型,还包括字符及声音、图像、视频等非数值类型。数据元素是组成数据、有一定意义的基本单位,在计算机中通常作为整体处理,也被称为记录。一个数据元素可以由若干个数据项组成,数据项也是数据不可分割的最小单位。数据对象是性质相同的数据元素的集合,是数据的子集。什么是数据结构?数据结构(data structure)是相互之间存在一种或多种特定关系的数据元素的集合。
2022-10-13 17:28:03
1645
原创 C语言 - 删除数组中的指定元素(Delete)
如果此时数组里面填充的元素分别是1,2,3,4,5,6,7,8,8,9,那么当i下标向前迁移一位后,重新指向8就再次进入循环,输出结果就为1,2,3,4,5,6,7,9,0,0,i下标向前迁移一位的作用就是对原先位置的元素重新进行是否符合条件的判断。这个程序其实代码不难写,主要在过程的剖析和理解上,其实删除这种操作在程序中理论是不能实现的(暂时),我们就可以通过覆盖的方式来达到删除的目的。
2022-10-03 22:50:54
41876
1
原创 MacOS配置Clion的Qt环境的详细步骤(完整版)
Qt是一门前端语言,因为在学习C语言的过程中写过五子棋和ATM机项目,我们整个班大部分的学生使用的都是Windows系统的电脑,而且在项目的核心代码完成之后通常需要我们使用一个基于Visual Studio里面的图形库EasyX来进行项目的图形化界面(GUI)的设计。中已经详细介绍了关于Clion的C/C++语言编程环境搭建、homebrew插件的安装、通过homebrew来安装gcc编译器、以及如何解决安装过程中的终端报错问题。至此,我们已经完成了在MacOS基于Clion编译器Qt环境的搭建。
2022-09-29 12:29:18
6011
6
原创 算法 - 初识动态规划(Dynamic Programming)
此时分析过程我们已经基本清楚,现在把分析出来的规律写成方程:注:OPT(i - 2)和ar[i]中的两个i不一样!前者表示的是第几个元素,后者表示的是数组中元素的下标。
2022-09-24 11:46:19
1206
原创 MacOS 配置Clion的C/C++环境的详细步骤及mac终端报错问题解决(完整版)
今天在电脑上成功配置了Clion的C/C++编译环境,在这里写一下详细步骤,以便解决以后的重新配置问题。
2022-09-21 19:12:47
23112
20
原创 算法 - 计数排序(Counting_Sort)
在开始写计数排序的代码之前,我们先对计数排序的定义、算法思想、排序过程做一个简单的了解和梳理。计数排序(Counting_Sort)是一个非基于比较形式的排序算法,它也是一种以牺牲空间换取时间的过程。计数排序利用数组的有序性将元素依次存储进对应下标的数组空间中,然后再依次输出。计数排序(Counting_Sort)是一种非基于比较形式的算法,在之前所实现过的冒泡排序、选择排序、插入排序等排序算法都是基于比较的算法,而计数排序则是利用了数组天然的有序性对数据进行归类划分,然后再对临时数组空间进行遍历并输出。
2022-09-17 18:30:59
1602
原创 C语言 - 四种方法解决杨辉三角问题(数学规律、一维数组、二维数组、递归)
杨辉三角是一个经典的数学问题,也是我在学习C语言过程中结合条件判断语句和循环语句的一个经典题目,在之前系统的学习二维数组时曾经使用二维数组对这个程序进行过编写,但经过思考我发现这个题目有多种不同的方法,这篇文章会对解决杨辉三角问题的几种不同方法进行总结,并讨论哪一种方法的效率最高,空间占用最小。
2022-09-09 12:04:32
8979
2
原创 C语言-多层for循环详解
在之前写过的程序里,循环这个东西的使用频率非常高,无论我们是实现基础C语言题目,例如打印一维数组、杨辉三角、打印九九乘法表还是实现种类繁多且适用场景不同的排序算法,例如,冒泡排序,选择排序,插入排序,希尔排序,这些程序都像一个树状的结构,我们先要梳理清楚程序的原理,然后再将原理转化为机器语言,这些程序的主干部分就是循环,然后再在循环里分出枝干并进行功能的完善,最终完成整个程序。在这篇文章里,我将对for循环进行详细的分析。
2022-09-05 17:30:55
9482
3
原创 C++ - 8月31日 - 两种方法解决约瑟夫环问题(数组、递归)
约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3,...n分别表示)围坐在一张圆桌周围,从编号为k的人开始报数,数到m的那个人出圈,他的下一个人又从1开始报数,数到m的那个人又出圈;按照这个规律一直重复下去,知道剩余最后一个胜利者。..................
2022-08-30 22:28:00
6944
2
原创 算法 - 并行排序算法之双调排序(Bitonic_Sort)
并行计算是一个相对比较庞大的知识体系,他被应用在很多的地方,例如硬件和计算机结构的设计上,这里我只是把并行计算当作对学习双调排序的前提进行了解,不会用太多的笔墨。并行计算是相对于串行计算来讲的,在知乎上看见了一个特别通俗易懂的例子:我们上小学每次考完试的时候可能会遇到的两种情况:情况一:老师说,来,这次考试的所有卷子我批改完了,班长拿下去给每个人一发吧。情况二:老师说,来,这次考试的所有卷子我批改完了,第一排每个人都过来我给你们一叠卷子你们给咱班娃一发。........................
2022-08-29 12:56:23
6187
1
原创 数据结构- 顺序表的实现
在计算机内部存储一张线性表(线性结构的数表),最为方便简单的就是用一组连续的地址的内存单元来存储整张线性表。这种存储结构称为顺序存储结构。这种存储结构下的线性表就称为顺序表。一张顺序表包括这几个特征:有一个唯一的表名来标识该顺序表;内存单元连续存储,也就是说一张顺序表必须要占据一块连续的内存空间;数据顺序存放,元素之间有先后关系;定义一张顺序表也就是在内存中开辟一段连续的存储空间,同时我们定义的顺序表也应该实现增删查改这四个功能。......
2022-08-29 11:48:40
945
原创 算法 - 鸡尾酒排序(CocktailShaker_sort)
鸡尾酒排序就是双向冒泡排序,也叫搅拌排序、涟漪排序。我们知道冒泡排序本质上是利用下标对序列中不符合前小后大的两个元素进行交换并循环此过程直到将序列中所有的元素排序完成,在整个排序的过程中,冒泡排序的每一次过程都是从下标为0的第一个元素开始进行排序操作,那么如果我们像折半查找那样定义左边界和右边界,每次排序都在左边界和右边界中轮流进行,结束每次的排序过程后左边界和右边界均缩进一位,直到整个序列排序完成,这样是不是就比单向的冒泡排序的效率提高了很多。......
2022-08-22 20:13:42
1951
2
原创 C语言-8月5日-结构体和变量
但是结构体却是不一样的,虽然结构也是一些值的集合,这些值都称为结构的成员,一个结构里面的成员可能有着不一样的数据类型,例如我们要创建一个学生信息的结构体,里面的成员就包括学生的姓名,年龄,身高,性别,考试成绩。与数组不同,结构体中的每个成员都有自己的名字,结构体中的成员也是通过名字进行访问的。之前接触到的数据类型大多都是基本数据类型,例如int类型、double类型,而结构体是一种自定义数据类型,他可以根据我们的需要来让我们自己设计,一个结构体中可以包含多种数据类型。..................
2022-08-18 23:10:51
995
循环队列(Circular-Queue)
2022-11-28
链栈(Chain-Stack)
2022-11-28
顺序栈(Sq-Stack)
2022-11-28
双向链表(Double-Linked-List)
2022-11-28
单向循环链表(Circular-Linked-list)
2022-11-28
单链表(Linked-List)
2022-11-28
数据结构 - 顺序表(Contiguous-List)
2022-10-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人