自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(111)
  • 问答 (1)
  • 收藏
  • 关注

原创 HTTP 细到无法直视

全文概要:1、HTTP概念:2、HTTP协议格式:2.0、文字描述:2.0、结构图说明:2.0、举例说明(图):2.1、首行-请求行(请求方法 ,URL(URI),协议版本\r\n)2.1.1、请求方法:——对请求的描述2.1.2、URL:——网址--同一资源定位符--用于定位网络中某个主机上的某个资源2.1.3、协议版本:0.9 ,1.0 ,1.1 ,2.02.2、首行—响应行:协议版本、响应状态码、状态码描述\r\n2.2.1、协议版本(见2.1.3)2.2.2、响应状态码——直观向客户端反馈处理结果2

2021-06-09 21:03:51 1321 24

原创 tcp 通信 看了必须有点东西

大体预览从tcp的流程——接口——代码编写服务端流程(server)(文字说明):客户端流程(client)(文字说明):接口实现;写一个`tcpsocket.hpp`的类,用于封装tcp接口(代码);调用`tcpsocket.hpp`类,写tcp通信程序服务端`tcp_csrv.cpp`(代码);调用`tcpsocket.hpp`类,写tcp通信程序客户端`tcp_cli.cpp`(代码);本质原因(文字说明):解决方案(文字说明):多线程(文字说明):多进程(文字说明):多线程::调用的`tcpsock

2021-06-05 18:20:48 985 26

原创 红黑树 都可以这么细?面试官还能怎么说.

女:你一点都不注重细节;男:你说我不都细节?? 你看看下面的红黑树讲解,,你说我不够细节??随后男发送下面红黑树代码发给女朋友之后。女:哇,哥哥果然好细;男:细节拉满,关注又是一个细节;我们从一步一步一点一点的去挖这个红黑树,代码+图解红黑树的性质:首先记住它的性质:根节点是黑色的;如果一个节点是红色的,则它的两个孩子结点是黑色的;对于每个结点,从该结点到其所有后代叶结点的简单路径上,均包含相同数目的黑色结点;每个叶子结点都是黑色的(此处的叶子结点指的是空结点);对颜色进.

2021-05-24 19:11:16 2226 50

原创 C++ 继承 详解

文章目录一、什么是继承?1.1、概念1.2、定义1.2.1、继承关系和访问限定符1.2.2、继承基类成员访问方式的变化注意:二、基类和派生类对象赋值转换三、继承中的作用域四、派生类的默认成员函数五、继承与友元六、继承与静态成员七、菱形继承八、继承和组合一、什么是继承?1.1、概念**继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。1.2、定义下面我们看到Person是父类,也称作

2021-05-09 18:01:06 9895 39

原创 不同主机上的传输数据

如果要保证上传的文件内容在服务器端保存之后与原始文件一致,最好同时设置这两个标志,如下所示方式使用: rz -be 此命令执行时,会弹出文件选择对话框,选择好需要上传的文件之后,点确定,就可以开始上传的过程了。如果执行完毕显示“0错误”,文件上传就成功了,其他显示则表示文件上传出现问题了。如果能够确定所传输的文件是文本格式的,使用: sz -a files 如果是二进制文件,使用: sz -be files。用途说明:运行该命令会弹出一个文件选择窗口,从本地选择文件上传到Linux服务器 常用参数。

2022-10-21 16:39:57 255 1

原创 规定小数点保留n位(四舍五入)

今天做笔试题,突然要返回的浮点数要求保留两位,当时就想有什么函数,实在想不到,只知道打印可以采用%.2f的形式,当时直接写了一个函数,将浮点数,转变成字符串的形式,去四舍五入,再转换成浮点数,,,极其无奈。搜了一下博客,学习了一下,有了思路自己总结一个函数,万一以后用到。

2022-08-20 21:56:03 348

原创 monkey 压测

50//执行事务次数50次//对屏幕旋转事件的旋转度数=0,没有执行旋转事务Dropped//丢弃的数据包键=0,指针=0,轨迹球=0,键盘点击=0,屏幕翻转=0//网络统计信息运行时间=71424ms(手机0ms,wifi0ms,未连接71424ms)//Monkeyfinished//monkey测试结束。...

2022-08-01 10:49:06 567

原创 JNI 初级接触

Andoird 中使用了一种不同传统Java JNI 的方式来定义其native 的函数。其中很重要的区别是Andorid 使用了一种Java 和 C 函数的映射表数组,并在其中描述了函数的参数和返回值。这个数组的类型是JNINativeMethod,定义如下:Signature说明:例子:说明:在java中用native语句声明,调用规定格式写成的函数名。CMakeLists.txtmyapplication.cpp:JNIWXPORT:在Jni编程中所有本地语言实现Jni接口的方法前面都有

2022-07-04 10:00:17 235

原创 B-树、B+树、B*树

M叉的B树1.根节点关键字的数量 [1,M-1]2.根节点孩子的数量 [2,M]3.非根节点关键字的数量 [M/2-1,M-1]4.非根节点孩子节点的数量 [M/2,M]5.一个节点中关键字按升序排列,孩子数量比关键字数量多16.所有叶子节点都在同一层,k[i[ k[i+1] 之间孩子中值大小在 k[i] k[i+1]// M叉树:即一个节点最多有M个孩子,M-1个数据域// 为实现简单期间,数据域与孩子与多增加一个(原因参见上文对插入过程的分析)template<class K,

2022-05-03 18:08:32 227

原创 LRU(leastLeast Recently Used)

一、什么是LRU最近最少使用的内存管理算法长期不被使用的数据,在未来被使用的概率也不大,所以当内存达到一定的交换阈值,会将最近最少使用的数据移除。二、使用方法采用哈希表和双向链表结合方式,使得访问数据。插入数据的效率达到O(1)。哈希表: unordered_map<int,list<int,pair<int,int>::iterator>链表: list<pair<int,int>>采用哈希表可以使得查找效率达到O(1) ,哈希表

2022-04-28 21:35:21 913

原创 并查集的理解

定义:并查集是一种树型的数据结构,用于处理一些不相交集合的合并及查询问题(即所谓的合并、查询)。比如:我们可以用并查集来判断一个森林中有几棵树、某个节点是否属于某棵树等。主要构成:并查集主要由一个整型数组pre[ ]和两个函数:查找函数(findIndex)、**合并函(unionNum)**构成。数组 _ufs[ ] 记录了每个点的前驱节点是谁,函数 findIndex(x) 用于查找指定节点 x 属于哪个集合,函数 unionNum(x1,x2) 用于合并两个节点 x1 和 x2 。

2022-04-26 20:32:31 941

原创 位面跳跃学说(..)

今天下午在地上捡到一个回形针折了一下,,然后…我们本身初在一个位面,无法和其他位面进行交流,我们的位面就像一个圆,我们在圆上的位面行动,永远无法走出圆上位面。位面本身有无数个,加入一个铁环,上面有四个位面,上下左右面(将无数位面压缩成为四个面更好理解)当当我们想去到其他位面怎么进行哪,1.巨大的能量将我们直接压缩的其他位面(注:位面并非平行排列,也并非有序排列)。2.当发生位面断点,如图:当一个位面由于能量导致位面断开,就会导致位面出现断点,而位面本身还是需要连接的,所以如图,当位面出现断点在断

2022-04-26 20:06:39 338 1

原创 云存储项目

Cloud_Storage云存储 项目项目介绍:客户端功能介绍:在客户端下生成文件scandir 在文件client_util.hpp 文件第235行中#define 定义可自行修改还生成文件data.conf 在文件 client_util.hpp 文件第236行中#define 定义可自行修改scandir为监控文件,客户端将每隔1s(可设置,在client_util.hpp 314行 修改usleep时间即可) 对文件进行扫描判断有无文件发生变化(利用最后一次修改时间

2022-04-21 11:38:24 336 1

原创 HTTP的头部字段大全

一、常用标准请求头字段    Accept             设置接受的内容类型     Accept-Charset        设置接受的字符编码     Accept-Encoding        设置接受的编码格式     Accept-Datetime        设置接受的版本时间     Accept-Language        设置接受的语言     Authorization        设置HTTP身份验证的凭证     Cache...

2022-04-18 16:28:41 6236

原创 云存储项目 遇到的问题

问题1:对于压缩存储中,压缩文件夹没有自动创建,导致压缩后文件没有存储!原因:std::ofstream open() 打开文件不存在会自动创建文件,但是此时传入的参数为./文件夹名/文件 导致没有创建出文件夹。解决方法:在定义好压缩文件时,判断是否存在文件夹,不存在就对文件夹进行创建,(我自己是调用的是filesystem:bool create_directory(const path& pval) :当目录不存在时创建目录)问题2:在压缩后下载的时候,网页请求不到信息..

2022-04-18 16:28:07 689

原创 断点续传的实现

1.从上次断开位置继续下载HTTP断点续传:实现原理:1.客户端保存当前已下载文件的位置或大小。2.在下次请求时告诉服务端自己请求的是哪一区间的数据。3.服务端根据请求中的范围,从文件指定位置取出区间范围的数据进行响应。关键问题:上次下载文件跟本次断点续传请求文件不一致(上次断开后,文件数据发生改变)一旦上次断开后文件数据发生了改变,就算客户端请求的是区间数据,也为了防止数据不一致重新返回完整的文件数据HTTP实现:1.服务端对客户的请求中加:Accept-Ranges:bytes

2022-04-18 16:22:10 1429 1

原创 Python 运算符

内容摘要:算数运算符:赋值运算符:比较运算符:布尔运算符:算数运算符:赋值运算符:#交换a,b=10,20a,b=b,a比较运算符:布尔运算符:

2022-04-09 14:02:27 684

原创 Python 练习册

使用知识:文件 、异常处理 、列表 、 序列化数据存储 、反序列化代码介绍:简单的宠物管理信息的增删查改,以及将宠物信息存储在文件中,再次打开使数据不会丢失目的:练习学习的知识点#文件读取:把数据读取到全局变量PETS中:#列表存储数据PETS=[]FILE_NAME="PetsInfo.txt"#执行代码,异常处理try: with open(FILE_NAME,"r",encoding="utf-8") as fp: while True: .

2022-04-09 13:41:24 669

原创 python中的包管理器 ----pip 相关操作

什么是 pip ?pip 是 Python 中的标准库管理器。它允许你安装和管理不属于 Python标准库 的其它软件包。pip 是现代化的一种安装包的方式(包管理器)1.安装包:pip install requests2.安装指定版本的包:pip install django == 1.10.63.卸载包:pip uninstall django4.升级包:pip install -U requests5.升级pip:pip install -U pip6.查看当.

2022-04-08 21:15:17 1149

原创 python 异常常见错误

常见异常:异常名称说明AttributeError属性错误,访问一个对象不存在的属性,抛出这个异常ImportError导入包错误IndexError下标错误,一般有列表越界等KeyErrorkey错误,一般访问字典的key不存在的时候NameError变量名不存在NotImplementedError某个方法没有实现的错误StopIteration迭代器已经到最后了IndentationError缩进错误TabError

2022-04-07 19:59:02 538

原创 阿里笔试 3.14 T1

题目描述:小红拿到了一个16进制数,她想知道该数转为二进制以后有多少个1?输入描述:一个字符串,用来表示16进制数。一定是0x开头,从第三个字符开始,每个字符一定是’0’-‘9’或者’a’-‘f’,字符串的长度不超过20000。//输入0x3f//输出6//说明:该16进制的值是63,转化为二进制后有6个1//输入0xeeeeedddddccccc11111//输出45//说明#include<iostream>#include<str.

2022-03-18 14:54:34 456

原创 阿里笔试 3.14 T2

题目描述:拿到一个n行m列的矩阵,矩阵种用1表示人,0表示聚光灯,每个聚光灯可以朝着上、下、左、右四个方向照射(照射的距离是无穷大的),若是一个方向上至少有一个人,那么就获得了1分。输入描述:第一行两个整数n, m接下来m行,每行m个整数用来表示矩阵中的位置是人还是聚光灯输出描述:输出一行,一个整数表示这些灯的分数的总和。//输入2 40 1 0 01 0 1 0//输出9//解释(1, 1)的灯可以获得2分(向右、向下)(1, 3)的灯可以获得2分(向左、.

2022-03-18 11:36:55 995

转载 http状态码

各类别常见状态码:1xx接受的请求正在处理2xx (3种)200 OK:表示从客户端发送给服务器的请求被正常处理并返回;204 No Content:表示客户端发送给客户端的请求得到了成功处理,但在返回的响应报文中不含实体的主体部分(没有资源可以返回)206 Patial Content:表示客户端进行了范围请求,并且服务器成功执行了这部分的GET请求,响应报文中包含由Content-Range指定范围的实体内容。3xx (5种)301 Moved Permanently:永久性重

2022-03-03 15:23:41 94

原创 线程的五种状态

线程从创建、运行到结束总是处于下面五个状态之一:新建状态、就绪状态、运行状态、阻塞状态及死亡状态。1.新建状态(New): 当用new操作符创建一个线程时, 例如new Thread(r),线程还没有开始运行,此时线程处在新建状态。 当一个线程处于新生状态时,程序还没有开始运行线程中的代码 2.就绪状态(Runnable) 一个新创建的线程并不自动开始运行,要执行线程,必须调用线程的start()方法。当线程对象调用start()方法即启动了线程,start()方法创建线程运行的系

2022-03-02 21:31:57 7771

原创 项目Project—点餐系统

项目:项目名称:点餐系统项目描述:使用户可以通过浏览器访问服务器获取菜品信息并点餐;以及可以使管理员通过浏览器访问服务器实现订单以及菜品的管理;市场调研:整合所学知识;校内实训做的项目;给毕设准备的项目;技术调研:线程、socket、http、json、mysql、stl;概要设计:框架的设计–不太严谨的MVC框架model:数据管理模块——管理数据(菜品、订单),外界想要访问数据必须通过这个模块来访问,不能直接访问;view:视图界面模块——浏览器前端界面,用户和管理员的操作都是通过前段界

2021-10-24 11:29:46 1448 1

原创 MySQL 远程连接问题

connect failed: Host '***' is not allowed to connect to this MariaDB serverMySQL连接一连接就出现上面那句话,//1.进入MySQL mysql -uroot -p//2.使用mysql数据库 use mysql;//3.查看user配置 select host,user,password from user;//4.修改配置 update user set host = '%' where user = '

2021-10-20 23:04:55 125

原创 因换系统 scp 无法使用了,已经解决

故事起因:自己在哪瞎玩,把底层文件动了,实在修不好了,刚好这有一套centos7的vim神级别配置,然后就把阿里云系统重置从ali linux换到了centos7,提前把文件保存在了另个云服务器上了,备份的时候用的scp,,,后来换了系统scp就不行了,自己电脑的cmd也不行了,一用就出现上面的情况,弄了一下午,最后才发现,原因;原因:因为服务器的ip发生变更了第一次SSH连接时,会生成一个认证,储存在客户端(也就是用SSH连线其他电脑的那个,自己操作的那个)中的known_hosts,但是如..

2021-10-20 19:48:09 1059

原创 适合新手的云服务器配置、白嫖

腾讯云:腾讯云免费试用1个月,点此链接:如下图【腾讯云】云产品限时秒杀,爆款1核2G云服务器,首年74元,点此链接:如下图【腾讯云】DNSPod解析套餐全面升配降价,更高的套餐配置规格,更优的价格方案,全面提升可用性及响应率,专业版限时99元/年!,点此链接………阿里云:新用户注册,免费试用1个月,点此链接:如下图这里因为我已近领取了,所以显示不符合规则新人大优惠,点此链接:如下图代金券领取,点此链接:如下图...

2021-09-25 13:08:32 378 1

原创 插入.希尔.选择.堆排.冒泡.快排.归并.计数_8排序

文章目录插入排序希尔排序选择排序堆排冒泡排序快排归并排序计数排序总:插入排序//插入排序void insertSort(int* arr, int n){ for (int i = 1; i < n; i++){ int end = i - 1; int data = arr[i]; while (end>=0 && data<arr[end]){ arr[end + 1] = arr[end]; --end; } arr[end+1

2021-09-19 21:20:02 235 1

原创 二叉树_review

二叉树节点的度:一个节点含有的子树的个数称为该节点的度; 如上图:A的为6 比特科技叶节点或终端节点:度为0的节点称为叶节点; 如上图:B、C、H、I…等节点为叶节点非终端节点或分支节点:度不为0的节点; 如上图:D、E、F、G…等节点为分支节点双亲节点或父节点:若一个节点含有子节点,则这个节点称为其子节点的父节点; 如上图:A是B的父节点孩子节点或子节点:一个节点含有的子树的根节点称为该节点的子节点; 如上图:B是A的孩子节点兄弟节点:具有相同父节点的节点互称为兄弟节点; 如上图:B、C是

2021-09-13 20:17:20 315 1

原创 堆(数据结构),这看了,还能忘?_review_面试

如果有一个关键码的集合K = {k0,k1, k2,…,kn-1},把它的所有元素按完全二叉树的顺序存储方式存储在一个一维数组中,并满足:Ki <= K2i+1 且 Ki<= K2i+2 (Ki >= K2i+1 且 Ki >= K2i+2) i = 0,1,2…,则称为小堆(或大堆)。将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。堆的性质:堆中某个节点的值总是不大于或不小于其父节点的值;堆总是一棵完全二叉树。#include<stdl.

2021-09-10 15:19:15 420 5

原创 环形队列—LeetCode 622. 设计循环队列

环形队列环形队列可以使用数组实现,也可以使用链表实现;题:设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普通队列里,一旦一个队列满了,我们就不能插入下一个元素,即使在队列前面仍有空间。但是使用循环队列,我们能使用这些空间去存储新的值。你的实现应该支持如下操作:MyCircularQueue(k): 构造器,设置

2021-09-08 20:02:32 351

原创 队列_带有一个尾结点的单向不循环链表实现

头文件#pragma once#include<stdlib.h>typedef int QDataType;//节点typedef struct QNode{ struct QNode* _next; QDataType _data;}QNode;//队列typedef struct Queue{ QNode* _front; QNode* _rear; int _size;}Queue;//初始化void QueueInit(Queue* q);//创建队

2021-09-07 22:44:35 336 2

原创 LeetCode 20. 有效的括号

给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。有效字符串需满足:1.左括号必须用相同类型的右括号闭合。2.左括号必须以正确的顺序闭合。class Solution {public: bool isValid(string s) { if(s.size()%2==1) return false;//方法一: //每种情况的分析 // std::stack<char.

2021-09-07 22:35:24 168

原创 带头双向循环链表 代码实现 review

#include<stdlib.h>//双向带头循环链表typedef int LDataType;//数据类型typedef struct listNode{ LDataType _data; struct listNode* _prev;//指向上一个节点 struct listNode* _next;//指向下一个节点}listNode;//结构体定义 //双向带头循环链表typedef struct List{ listNode* _head;}List;//

2021-09-06 20:25:41 62

原创 LeetCode 21. 合并两个有序链表

将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullptr) {} * .

2021-09-02 18:49:57 97

原创 单向链表 代码实现

#include<stdio.h>typedef int LDataType;//单链表节点typedef struct listNode{ LDataType _data; struct listNode* _next;}listNode;//头指针typedef struct list{ listNode* _head;}list;//初始化链表void listInit(list* lst){ if (lst == NULL) return; lst-&g

2021-09-02 18:40:39 227

原创 顺序表 代码实现

实现顺序表的头文件seqList.htypedef int SLDataType;typedef struct seqList{ SLDataType* _data;//需要动态开辟的数组 size_t _size;//有效元素个数 size_t _capacity;//元素容量大小}seqList;void initSeqList(seqList* sl);//初始化顺序表void push_back(seqList* sl, SLDataType val);//尾插void che

2021-08-31 20:33:45 258 3

原创 键值约束与扩展属性、ER关系图、三大范式、分组查询、多表联查

键值约束与扩展属性,ER关系图,三大范式,分组查询,多表联查键值约束与扩展属性:键值约束:约束表中指定字段的数据必须符合某种规则;种类:非空约束:NOT NULL —— 约束指定字段数据不能为NULL唯一约束:UNIQUE —— 约束指定字段数据不能出现重复主键约束:primary key —— 数据非空且唯一,一个表中只能有一个主键外键约束:foreign key —— 表中指定字段数据受父表数据约束foreign key (字段名) references 主表(列)默认值:DEFAUL

2021-08-03 15:03:43 404

原创 MySQL基础(认识、安装、基础语法等)

SQL:结构化查询语言数据库分类:关系型数据库:以一种关系模型(二维表格模型)组织数据的数据库分类:oracle、mysql、sql server、mariadb、sqlite(轻便、直接引入头文件).非关系型数据库:不基于sql实现的数据库分类:redis(后期学习)、memcached、mongodbmysql数据库的安装:安装:yum -install -y mariadb配置:查看配置:mysql -uroot;show variables like ‘%char%’;客户端

2021-08-02 16:13:44 1894 7

空空如也

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

TA关注的人

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