自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 python机器学习入门------------------鸢尾花分类

k近邻算法中k的含义是,我们可以考虑训练集中与新数据点最近的任意k个邻居(比如说,距离最近的3个或5个邻居),而不是只考虑最近的那一个。将测试数据集作为参数传入已经构建好的模型中,将经过处理后得到的模型预测目标数据集与测试目标数据集作比对得到测试精度,从而评估模型的可靠性。绘制散点矩阵,以便于让2个以上的数据的特征可视化,散点矩阵对角线上的图是每个特征的直方图(也就是单一特征的柱状图)下载mglearn项目,并将mglearn文件夹复制到对应的Anaconda3安装目录的子目录下。

2023-04-30 00:08:14 796 1

原创 51单片机(80951系列)引脚功能说明

全双工异步通信通信数据线。全双工:就是两个单片机之间串行数据可以同时双向传输异步通信:就是收发双方使用各自的时钟控制数据收发过程,不需要同步时钟信号串行口通信:将一个字节的8位数据低位在前,高位在后一位一位地串行接收或发送RXD(P3.0):数据接收引脚TXD(P3.1):数据发送引脚来实现SCON:串行口控制寄存器,字节地址(98H),可位寻址PCON:电源控制寄存器(87H),不可位寻址。

2023-04-20 14:08:06 13041

原创 51单片机(8051系列)外部时钟

内部时钟方式:必须在XTAL1和XTAL2引脚两端跨接石英晶体振荡器和两个微调电容构成振荡电路。外部时钟方式:要求XTAL1接地,XTAL2脚接外部时钟。如按键控制灯泡的按键连接的就是OUT类型引脚。1、XTAL1和XTAL2引脚。灯泡对应连接的是IN引脚。

2023-04-17 19:15:59 2649 1

原创 51单片机(8051系列)最小系统图--内部时钟

有源晶振通常的用法:一脚悬空,二脚接地,三脚接输出,四脚接电压。有源晶振不需要CPU的内部振荡器,连接方式相对简单(主要是做好电源滤波,通常使用一个电容和电感构成的PI型滤波网络,输出端用一个小阻值的电阻过滤信号即可),不需要复杂的配置电路。相对于无源晶体,有源晶振的缺陷是其信号电平是固定的,需要选择好合适输出电平,灵活性较差,而且价格高。有源晶振记住输出接输入,VCC接电源,GND接地,E/NC悬空即可。添加LED灯的方式直接像之前一样搜索LED即可选择想要的LED灯。修改对应的参数:如晶振。

2023-04-17 12:24:39 3029

原创 pythoncharm中添加opencv

窗口键+R输入cmd进入命令终端。

2023-04-04 00:03:53 184

原创 MYSQL(四)DQL-----对表中数据进行查询

习题 1.查询年龄为20~22的女性员工SELECT * FROM 表名 WHRER age BETWEEN 20 AND 22 AND gender = '女';习题2。查询性别为男,并且年龄为25,26姓名为三个字的员工SELECT * FROM 表名 WHERE age IN(25,26) AND name = LIKE ‘—’ AND gender =‘男’;习题3。统计员工表中,年龄小于69岁的,男性员工和女性员工的数量。

2022-10-27 16:20:45 650

原创 linux下GDB的使用

• gdb [参数] Filename• -help:列出所有参数,并作简单说明。s file:读出文件(file)的所有符号• -core-c 这里的core是程序非法执行后core dump产生的文件-d 加入一个源文件的搜索路径。默认搜索路径是环境变量中PATH所定义的路径• -quiet-q 使用该参数不显示gdb的介绍和版权信息。

2022-10-26 21:26:53 1781

原创 linux服务器开发问题(tcp粘包)

a. 成功执行时,返回接收到的字节数。另一端已关闭则返回0。b. 失败返回-1,errno被设为以下的某个值EAGAIN:套接字已标记为非阻塞,而接收操作被阻塞或者接收超时EBADF:sock不是有效的描述词ECONNREFUSE:远程主机阻绝网络连接EFAULT:内存空间访问出错EINTR:操作被信号中断EINVAL:参数无效ENOMEM:内存不足ENOTCONN:与面向连接关联的套接字尚未被连接上ENOTSOCK:sock索引的不是套接字c. 当返回值是0时,为正常关闭连接;在使用非阻

2022-10-24 10:58:31 1216

原创 linux服务器开发(mmap函数ummp函数)

参数1:要映射到的内存区域的起始地址,通常都是用NULL(NULL即为0)。NULL表示由内核来指定该内存地址参数2:要映射的内存区域的大小参数3:期望的内存保护标志,不能与文件的打开模式冲突。是以下的某个值,可以通过or运算(‘|’)合理地组合在一起参数4:指定映射对象的类型,映射选项和映射页是否可以共享。它的值可以是一个或者多个以下位的组合体参数5:文件描述符(由open函数返回)参数6:表示被映射对象(即文件)从哪里开始对映,通常都是用0。

2022-10-22 18:16:08 377

原创 linux服务器开发(c语言下文件操作)

inux下的大部分文件/目录处理函数都需包含头文件:#include ,少部分需包含或

2022-10-22 17:26:18 167

原创 chmod的用法,及几个权限的宏

语法:chmod [who] [+ | - | =] [mode] 文件名。

2022-10-22 17:08:57 404

原创 linux服务器开发(获取文件属性信息)stat()函数

/文件的设备编号//节点//文件的类型和存取的权限//连到该文件的硬连接数目,刚建立的文件值为1//用户ID//组ID//(设备类型)若此文件为设备文件,则为其设备编号//文件字节数(文件大小)//块大小(文件系统的I/O 缓冲区大小)//块数//最后一次访问时间//指最近修改文件内容的时间//指最近改动Inoed的时间};

2022-10-22 16:09:31 372

原创 linux系统创建连接文件

软链接,如果被链接文件的文件名或路径发送改变,软连接失效。

2022-10-22 15:32:55 517

原创 c语言常见函数<sting.h>字符串处理函数

PS: size_t 是 long long 类型。

2022-10-22 13:37:39 740

原创 Linux服务器开发(LE和LT模式介绍)

之前关于介绍了EPOLLONESHOT:《inux服务器开发epoll的使用(EPOLLONESHOT的作用及如何使用)长连接短连接,粘包问题》;设置EPOLLONESHOT的目的是为了防止同时使用套接字connfd,每次重新使用connfd使用EPOLL_CTL_MOD将其重新加入epoll队列中才能被epoll_wait();检测到;回顾一下为什么使用EPOLLONESHOT;简单点来讲就是:同一时间不应该有多个工作线程使用同一个connfd,否则会产生网络错误;

2022-10-21 16:00:32 1177

原创 linux服务器开发epoll的使用(EPOLLONESHOT的作用及如何使用)长连接短连接,粘包问题

而如果close(connfd),可以使用EPOLL_CTL_MOD再次添加该事件到内核事件表中,即再次建立短连接,具体重启短连接,与短连接的方法在服务器端的worker函数中已经详细介绍;对于listen_sockfd我们应该让它一直处于epoll事件队列,而对于connfd我们应该让其处于不使用就关闭,要使用就开启的状态;也就是我们通常说的listen_sockfd应该处于长连接,而connfd处于短连接;作用:避免竞争文件描述符(这里是网络编程,那就是避免竞争套接字);

2022-10-20 21:08:19 997

原创 linux服务器开发(客户端崩溃,防止服务器进程终止)signal(SIGPIPE, SIG_IGN);

CLOSED表示初始状态。LISTEN这个也是非常容易理解的一个状态,表示服务器端的某个SOCKET处于监听状态,可以接受连接了。SYN_RCVD这个状态表示接受到了SYN报文,在正常情况下,这个状态是服务器端的SOCKET在建立TCP连接时的三次握手会话过程中的一个中间状态,很短暂,基本上用netstat你是很难看到这种状态的,除非你特意写了一个客户端测试程序,故意将三次TCP握手过程中最后一个ACK报文不予发送。因此这种状态时,当收到客户端的ACK报文后,它会进入到ESTABLISHED状态。SY

2022-10-20 13:18:14 266

原创 linux服务器开发(定时器函数)alarm和slepp

参数:系统睡眠时间返回值:剩余睡眠时间作用:让进程(线程是轻量级的进程,也算进程)进入睡眠状态;

2022-10-20 13:17:18 699

原创 linux服务器开发(I/O多路复用技术)epoll的使用

其中data用来存放套接字;其中events能够是下面几个宏的集合:EPOLLIN :表示相应的文件描写叙述符能够读(包含对端SOCKET正常关闭);EPOLLOUT:表示相应的文件描写叙述符能够写。EPOLLPRI:表示相应的文件描写叙述符有紧急的数据可读(这里应该表示有带外数据到来);EPOLLERR:表示相应的文件描写叙述符错误发生;EPOLLET: 将EPOLL设为边缘触发(Edge Triggered)模式。这是相对于水平触发(Level Triggered)来说的。

2022-10-19 17:53:32 422

原创 linux服务器开发(管道创建) socketpair()

第2个参数:可以被指定为SOCK_DGRAM或SOCK_STREAM。SOCK_STREAM相当于创建一个双向管道。每个socket都可以用来读取和写入,并且这两个socket之间每个方向上的数据道是分开的。参数1:必须指定为PF_UNIX或AF_UNIX。功能:创建一对无名,相互连接的套接字。返回值:成功返回0,失败返回非0。第三个参数指定创建的2个套接字。

2022-10-19 16:55:44 195

原创 linux服务器开发(基本网络编程)

第一个参数:套接字第二个参数:协议层SOL_SOCKET、IPPROTO_IP、IPPROTO_TCP第三个参数:需设置的选项如:SOL_SOCKETSO_BROADCAST   允许发送广播数据    intSO_DEBUG     允许调试         intSO_DONTROUTE   不查找路由       intSO_ERROR     获得套接字错误     intSO_KEEPALIVE   保持连接        int。

2022-10-18 17:47:14 1156

原创 linux服务器开发(线程创建及信号量部分)pthread_xxx();sem_xxx();

pthread_t 存放线程标识的变量;功能:用来存放pthread_create()过去的线程标识符;

2022-10-18 12:10:04 274

原创 Linux服务器开发(线程控制)pthread_mutex_xxx(),和pthread_cond_xxx()实现线程同步功能

实际上对于锁的初始化可以使用(动态初始化)pthread_mutex_init(&锁名,NULL);也可以使用其他方式:(静态初始化)pthread_mutex_t 锁名=PTHREAD_MUTEX_INITIALIZER;其中PTHREAD_MUTEX_INITALIZER是一个结构体变量的宏定义;第一个参数:定义的条件变量的地址第二个参数:定义的条件变量的属性,NULL为默认缺省类型返回值:成功返回0,失败返回非0功能:初始化条件变量条件变量和互斥锁一样,

2022-10-16 20:52:49 359

原创 linux服务器开发(网络编程部分)atoi()函数,,atol()函数

函数原型返回值 int类型参数类型:const 字符型指针作用,将字符型数据转化为整型数据。

2022-10-16 15:20:36 146

原创 linux服务器开发(日志部分)snprintf()

buf:接收数据的缓冲区;size:接收数据的大小;format:如%d%s等,指定输出数据的格式…: 输出到缓冲区中的数据返回值:失败返回负数,返回输入数据的总字节数。

2022-10-16 15:08:54 477

原创 linux服务器开发笔记(日志部分)strrchr()及strchr()

它表示在字符串 s 中查找字符 c,返回字符 c 第一次在字符串 s 中出现的位置,如果未找到字符 c,则返回 NULL。也就是说,strchr 函数在字符串 s 中从前到后(或者称为从左到右)查找字符 c,找到字符 c 第一次出现的位置就返回,返回值指向这个位置,如果找不到字符 c 就返回 NULL。与 strchr 函数一样,它同样表示在字符串 s 中查找字符 c,返回字符 c 第一次在字符串 s 中出现的位置,如果未找到字符 c,则返回 NULL。

2022-10-16 13:16:34 561

原创 linux服务器本地时间获取(日志部分)time(NULL),localtime()

值得注意的是年份的初始时间是以1900年为基准的,因此如果我们获取到的时间如1900年,结构体中的tm_year实际上是0年;然后调用localtime(&t)将秒数进行转化,并返回处理好数据的结构体的指针;我们通过time(NULL)获取当前日期的秒数并且将该秒数赋值给t。然后通过返回的指针访问结构中的变量从而获取对应的时间日期;time_t 实际上是一个long类型。

2022-10-16 12:25:16 453

原创 MYSQL(三)DML对表中数据操作

1)给指定指端添加数据2)给全部字段添加数据3)批量添加数据插入数据时,指定的字段顺序和值是一一对应的的字符串和日期数据应该包含在引号中注意是单引号插入的数据大小,应该在字段规定范围内。

2022-10-15 17:41:45 340

原创 MYSQL(二) SQL通用语法及分类及DDL(对数据库和表操作)的使用

1)SQL语句可以单行或多行书写,以分号结尾。2)SQL语句可以使用空格/缩进来增强语句的可读性3)MYSQL数据库的SQL不区分大小写,关键字建议使用大写4)注释:单行注释:–注释内容 或#注释内容(MYSQL特有)/*注释内容*/

2022-10-15 16:05:39 344

原创 MYSQL(一)基本概念

1)关系数据库的概念:关系型数据库(RDBMS)概念:建立在关系模型基础上,由多张连接的二维表组成的数据库。二维表:例子:idnamejobdepy_id1张三院长22李四老师13王麻子学生3id院系1美术2化工3计算机通过表一的depy_id和表二的id相关联2)关系数据库的特点:1】使用表存储数据,表格式统一,便于维护2】使用SQL语言操作,标准统一,使用方便。

2022-10-15 10:37:17 444

原创 TCP/IP详解(三)网络层协议

二 IP数据报上面是IP数据报的格式,普通的IP首部长20个字节,除非含有选项字段。IP首部最长为60个字节,这种限制使得某些选项如路由记录选项在当今已经没有什么用处了。因为IP首部长度字段值最大为15;传输次序为大端(big endian字节序),这种字节序被称为网络字节序。常见的计算机时小端字节序(little endian);如果不是大端字节序的机器,则必须在传输之前将首部换成网络字节序。大端字节序高位放在低地址,低位放在高地址;小端存储是高位放在高地址,低位放在低地址。补充:服务类型(TOS

2022-10-13 16:38:47 833

原创 C语言基础

int v_a;//相当于struct st st_value;//打印struct st所占字节 }这里需要注意的地方时 st_value只不过是在定义结构体的时候同时定义了一个结构体类型的变量而已;

2022-10-12 15:25:16 109

原创 TCP/IP详解(二)数据链路层

TCP/IP协议族中,链路层有三个主要目的1)为IP模块发送和接收IP数据报2)为ARP模块发送ARP请求和接收APR应答3)为RARP发送RARP请求和接收RARP应答TCP/IP支持多种不同的链路层协议,这取决于网络使用的硬件如以太网,令牌环网,FDDI(光纤分布式数据接口)及RS-232串行线路等接下来将详细讨论以太网数据链路层协议,两个串行接口链路层协议(SLIP和PPP)以及大多数实现都包含的环回(loopback)驱动程序。以太网和SLIP是后面大多数情况下用到的数据链路层。

2022-10-10 16:23:39 2342

原创 sqlmap (六) http参数设置

1)目的在访问需要HTTP认证的网站的时候,需要进行用户密码认证,我们直接探测会导致401错误;想要不登陆的情况下探测这个站点可以设置忽略401从而绕过继续探测;2)参数。

2022-10-06 16:33:53 1054

原创 sqlmap HTTP参数设置(五)

1)目的:等待响应的时间超过设置的时间sqlmap将会认为目标无法响应从而跳出执行的过程2)使用方法这样设置超时时间为11s。

2022-10-06 15:50:31 927

原创 sqlmap (四)HTTP参数设置

1)认证方式:–auth-type分别有Basic,Digest,NTLM2)认证信息:–auth-cred语法:username(用户):password(密码)针对一下这种需要用户密码验证建立连接的;

2022-10-06 14:54:41 959

原创 sqlmap (三)HTTP参数设置

cookie::浏览网页后存储在计算机的缓存文件user-agent:用户代理host:主机头referer:引用头PS:关于–level value 的含义;想要检测cookie注入那么value 至少为2以上想要检测 user agent 注入那么value 至少为3以上想要检测 host头注入那么value设置为5想要检测referer注入value设置为3以上。

2022-10-06 13:51:01 662

原创 sqlmap (二)设置HTTP参数

1)原因:sqlmap 会自动在探测过程中使用合适的HTTP请求方法。但是在某些具体情况下,需要强制使用具体的HTTP请求方法,例如PUT请求方法,HTTP PUT请求方法不会自动使用,所以我们需要强制指定2)直接指定:3)隐式转换除了使用–method 方法,也可以使用隐式转换如:–data=使得这一请求被隐式转换为了POST方法。

2022-10-05 15:33:16 1724

原创 TCP/IP详解(一)概述

1)TCP/IP分为5层:物理层,数据链路层,网络层,传输层,应用层2)TCP/IP的应用层对用IOS模型中的应用层,表示层,会话层3)在TCP/IP协议中,每层都有自己对应的协议。

2022-10-03 22:59:12 1356

原创 http协议详解(一)

(1)URL:统一资源定位符。这意味着我们可以通过URL的方式去访问的资源(接口),URL是实现接口访问的第一步。(2).URI::统一资源标识符。是一个抽象的概念,本身没有具体去实现。

2022-10-01 20:42:45 1129

空空如也

空空如也

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

TA关注的人

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