自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 人脸识别【python-基于OpenCV】

LBPH(LocalBinaryPatternHistogram)将检测到的人脸分为小单元,并将其与模型中的对应单元进行比较,对每个区域的匹配值产生一个直方图。由于这种方法的灵活性,LBPH是唯一允许模型样本人脸和检测到的人脸在形状、大小上可以不同的人脸识别算法。调整后的区域中调用predict()函数,该函数返回两个元素的数组:第一个元素是所识别个体的标签,第二个是置信度评分。可能有时不想保留所有的识别结果,则需要进一步处理,因此可用自己的算法来估算识别的置信度评分。

2025-01-18 22:42:08 5665 6

原创 Redis ——发布订阅

发布订阅:基于哈希表与链表结构实现map结构key值保存用户订阅的兴趣事件,而value保存发布者对象信息,以链表的形式连接对同一事件感兴趣的对象,当消息队列中出现关于订阅事件的发布信息时,Redis可以快速的将该信息按照以key值对应的value链表为订阅的转发顺序;

2024-10-31 22:03:19 611

原创 项目组件:(Json\Muduo)

json 采用完全独立于编程语言的文本格式存储、表示数据:可以跨编程语言进行json在网络上的数据通信传输,以开发语言的方式序列化json、由接受主机可识别的语言反序列化json,json 可以序列化STL容器:直接将C++ STL 中的容器格式下的数据,直接存储为json格式对象进行序列化传输、反序列化接受为STL容器格式下的数据对象

2024-10-28 15:13:42 1020

原创 Redis发布订阅

subscribe +s :订阅序号为s的信息后阻塞监听状态,仅接收订阅的信息publish +s :发布关于序号s的信息,发布成功后订阅方即可接收。

2024-10-27 23:10:25 976

原创 集群聊天服务器——逻辑梳理

在多台服务器部署,基于Tcp 协议搭建的C/S 通信,使用了Nginx Tcp负载均衡,保持长连接状态,并且引入Redis 的发布订阅功能实现跨服务器间通信

2024-10-27 19:27:16 1131

原创 回顾复习1:

打开文件后,就可以在文件中添加或修改Core文件相关的设置行。这条命令用于在当前终端会话中将Core文件大小限制设置为无限制。这样程序崩溃时就能够生成完整的Core文件。,提供更详细的信息来帮助分析崩溃原因。来查看特定栈帧的详细信息。是生成的Core文件的名字。,可以打印出程序崩溃时的调用。:除了函数调用栈的信息外,是可执行程序的名字,

2024-10-25 22:28:56 632

原创 基础巩固:

一次综合问题简单总结

2024-10-25 22:22:33 358

原创 素数与最大公约数GCD:

首先得到范围内的所有素数集合,由输入的数对得到其中最小的值,在素数数组中查找大于等于最小值的素数,由该素数判断是否可以整除每组数对中至少一个的数据,全部满足则输出该素数,不满足则素数减小一个继续判断,直到到达结束判断的条件输出-1;由输入数据的最大值最小得到素数的范围,求得该范围上所有素数后,由原输入的整数,整除最小素数所得到的为最大公约数。

2024-08-20 11:34:11 180

原创 Zookeeper 基于 Mprpc 分布式服务的应用:

Zookeeper提供一个多层级的节点命名空间(节点称为znode)。与文件系统不同的是,这些节点都可以设置关联的数据,而文件系统中只有文件节点可以存放数据而目录节点不行。Zookeeper为了保证高吞吐和低延迟,在内存中维护了这个树状的目录结构,这种特性使得Zookeeper不能用于存放大量的数据,每个节点的存放数据上限为1M

2024-08-03 23:35:03 661

原创 项目日志:

通过日志可以避免直接在屏幕打印错误信息,当信息过多时无法精准定位我们可以将日志的信息进行类型划分,正常的消息信息写入INFO,错误的运行问题写入ERROR由此帮助我们在程序运行错误、项目代码优化调整时提供参照依据,帮助我们保存运行记录

2024-08-03 11:37:56 348

原创 复杂类型分析:

查看语句中的优先级: 常见的 ()高于 [ ] ,[ ] 高于 *[ ] 优先级高:说明是数组,分析数组长度(中括号里的数字)、数组类型(指向的类型)* 指针的优先级高: 说明是指针,分析指针指向类型(): 说明是函数,分析函数参数类型、返回值类型

2024-07-31 16:58:22 770

原创 编程练习:

编程练习:(二叉树最近公共祖先、链表排序、阶乘0的个数、最长无重复子序列长)

2024-07-25 11:32:37 344

原创 回溯算法(相关解题):

用回溯法解决的问题的所有选项可以形象地用树状结构表示。在某一步有n个可能的选项,那么该步骤可以看成是树状结构中的一个节点,每个选项看成树中节点连接线,经过这些连接线到达该节点的n个子节点。树的叶节点对应着终结状态。如果在叶节点的状态满足题目的约束条件,那么我们找到了一个可行的解决方案。如果在叶节点的状态不满足约束条件,那么只好回溯到它的上一个节点再尝试其他的选项。如果上一个节点所有可能的选项都已经试过,并且不能到达满足约束条件的终结状态,则再次回溯到上一个节点。

2024-07-24 11:54:48 610

原创 PB (protobuf)学习以及项目应用梳理:

protobuf不支持rpc通信功能,只支持对于rpc方法的描述,通过这个描述它就可以去做rpc请求的携带的参数的序列化和反序列化,login的(LoginRequest)传输调用的方法名及参数,returns就是表示:这个rpc方法login(LoginResponse)执行以后返回的protobuf打包的类型。

2024-07-21 07:15:00 1311

原创 单机、集群、分布式服务器比较:

分布式服务器:一个工程拆分了很多模块,每一个模块独立部署运行在一个服务器主机上,所有服务器协同工作共同提供服务,每一台服务器称作分布式的一个节点,根据节点的并发要求,对一个节点可以再做节点模块集群部署

2024-07-19 12:30:10 843

原创 加密传输及相关安全验证:

只有私钥的持有者才能生成与数据相匹配的签名,因此,接收方可以通过公钥解密签名并验证数据的完整性,确认数据在传输过程中未被篡改,并且确实是由声称的发送者发送的。收到数字证书后,用户首先用证书指定的哈希算法计算证书信息的摘要,通过CA 公钥解密证书的签名获取数字摘要,比对两个数字摘要是否一致,一致后表示该证书信息完整,该用户的公钥可信:获取证书所有者的。数字签名用于验证数据的完整性和来源,因为私钥是唯一的,只有私钥的持有者才能生成与数据相匹配的签名。

2024-07-18 23:39:00 756

原创 集群服务器如何解决跨服务器通信?大量并发通信问题?

基于Nginx 的tcp 负载均衡将用户高并发请求分发给集群服务器,以redis的发布-订阅机制作为集群服务器的消息中间件、用hiredis做客户端编程,解耦服务器之间的通信。

2024-07-17 13:05:52 1175

原创 C++:关联容器及综合运用:

pair是一个模板类,使用时需要引用文件#include //通用工具pair可将两个value处理为一个元素。C++标准库内多处用到了这个结构。尤其容器 map、unordered_map和unordered_multimap就是使用pair来管理其内部元素(key_value),任何函数如果需返回两个 value,也需要用到pair,例如minmax()最大最小值。

2024-05-20 11:34:42 1043

原创 C++:Function,Bind,Lambda:

Function (函数模板:实现函数对象的函数类型的保存):可以使用Function 实现对函数的封装为function对象,并且灵活调用;解决了函数对象lambda表达式、bind绑定器只能限制在当前语句使用的局限;

2024-05-16 18:39:50 554

原创 海量数据求Top k:

重点!采用哈希映射方式将大文件数据写入小文件,这一步骤可以保证AB文件中的重复元素均处于a、b相同下标的小文件中,只需遍历每个下标相同的小文件:(哈希map遍历完a后,遍历b时若查找到对一个key大于0的value值),则可知该元素是在AB中重复

2024-05-13 09:45:00 1859

原创 单调栈:(C++)

在题目的要求中,存在先进后出(即在前面的数据需要遍历到后面的某一数据时才能确定计算值)单调栈在一部分解题场景中避免了暴力解法的高时间复杂度问题,但是在做题过程中视情况而定,有些题目的最优解不一定使用单调栈,需要灵活解题,多思考一下或许有更加简便的算法和逻辑。

2024-05-10 21:55:03 1497

原创 插入排序和希尔排序:

希尔排序是对直接插入排序的优化(由其越有顺序越快的特点!)

2024-03-27 16:09:55 445

原创 堆排序详解:

首先从最大下标所在的子树开始排大根堆,让后从后往前依次处理子树成为大根堆,(第一次完全乱序的情况下处理大根堆是需要多次调整的,但是之后的调整在第一次大根堆基础上,更为便利)

2024-03-27 16:08:17 988

原创 快速排序与选择排序:

快速排序的特性:时间复杂度:O(nlogn)空间复杂度:O(logn)特点: 越有序越慢—时间复杂度,完全有序退化成选择排序;O(n*n)不具稳定性

2024-03-27 16:04:33 234

原创 C++:部分题目

封装:将所需的数据成员,以及对数据的操作方法(成员函数),绑定在一起成为类(类型),定义该类型的对象时,成员被自动隐藏在对象内部。通过封装可以限定对数据的直接访问,限定类的成员函数访问和操作,类的对象、友元类/友元函数访问类的成员。

2024-03-20 18:11:17 1048

原创 数据结构:哈希表

根据要存储的数据记录的关键字值计算出应该存储的位置基本思想:记录的存储位置与关键字之间存在对应关系Loc(i)=H(keyi)-----等号右边就称之为hash函数.等号左边就是对应的存储位置;

2024-03-13 21:36:14 732 1

原创 TCP:三次握手四次挥手及相关问题:

详细介绍三次握手、四次挥手其原理和过程中出现的问题,并具体分析原因

2024-03-13 16:51:24 1064

原创 内存分区与具体介绍:

一个由C/C++编译的程序占用的内存分为以下几个部分 :堆区、栈区、全局区(静态区)、文字常量区、代码区五部分,此外硬盘还包含虚拟内存、备用内存

2024-03-08 21:22:46 553

原创 大小端学习整理:

大小端是针对非单数字节数据的存取,主机字节序列分为:大端字节序列或小端字节序列。

2024-03-08 15:12:05 392

原创 C:动态内存相关知识点整理:

局部变量储存在 栈空间,vs2022 内分配 (1024*1024)=1m 大小,超过此大小程序崩溃,若想创建大数据,则推荐动态申请内存,动态内存储存在堆空间,分配较大内存,适用于定义大容量(1G左右)

2024-03-08 13:04:01 413

原创 C语言:数组、字符串知识点整理:

函数内以此公式计算数组的长度均为错误答案,所以数组在传参时,应增加计算的数组长度值;在X86系统下,指针大小为4。在X64系统下,指针大小为8。

2024-03-08 12:18:20 650

原创 数据结构—KMP 算法:

KMP算法实现寻找主串中子串的位置时,主串指针地址不回退,在比对过程中串仅仅遍历一次,子串的回退可以是与当前主串可重新最多匹配的地址位置。

2024-03-07 17:52:07 1461

原创 C++:类模板学习整理

由于模板不能单独编译。模板必须与特定的模板实例化在一起使用。为此,最简单的方法时将所有模板信息(包括类函数的实现)放在一个头文件中,并在要使用这些模板的文件中包含该头文件。简单理解就是模板类的声明和类函数的实现不能分成多个文件,都写在头文件中。

2024-03-04 10:50:12 476

原创 C++:函数模板整理

找到函数相同的实现思路,区别于函数的参数类型。使用函数模板使得函数可容纳不同类型的参数实现函数功能,而不是当类型不同时便编译大量类型不同的函数,产生大量重复代码和内存占用

2024-03-03 21:58:26 532

原创 串及BF朴素查找算法(学习整理):

从主串的pos 位置与字串的字符进行比较,相等时两个串的指针皆向后移动;不等时:主串倒退到此次开始遍历子串的位置的下一位置,子串指针回到开头,重新开始比较;

2024-03-02 23:43:45 871

原创 C++:纯虚函数及抽象类

在虚函数的声明后加“=0” ,表示当前虚函数无需定义,含有纯虚函数的类为抽象类,抽象类无法创建对象,但可以作为类族统一的对外接口,便于实现动态多态特性

2024-03-01 08:28:03 487

原创 C++:虚析构函数:

在虚函数的定义与要求中,仅允许析构函数设置虚函数(构造函数不允许),且虚析构函数的函数名必须与当前的类名保持一致,无法与基类中虚函数名一致,是虚函数中的特例;

2024-03-01 08:17:22 401

原创 C++:对象的内存模型:

类的存储区域可划分为:公共区域(静态成员、成员函数)、成员数据公共区域(静态成员:所有成员均摊静态成员的大小后约等于没有、成员函数)我们可以计算的为普通数据成员的大小;

2024-02-29 21:12:05 672 2

原创 C++:动态多态(虚函数+继承)

虚函数在基类中声明后,其派生出的派生类均继承了其虚函数的特性,在函数调用基类的引用时,由具体的参数对象,调用对象的虚函数,实现多态性。

2024-02-29 11:36:35 1092

原创 C++:多重继承带来的问题及解决方法

使用多继承经常会出现二义性问题,必须十分小心。上面的例子是简单的,如果继承的层次再多一些,关系更复杂一些,程序员就很容易陷人迷魂阵,程序的编写、调试和维护工作都会变得更加困难

2024-02-27 09:36:37 2832

空空如也

空空如也

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

TA关注的人

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