- 博客(78)
- 收藏
- 关注
原创 云备份服务端——配置信息及获取配置信息类模块
云备份——配置信息及获取配置信息类模块,使用文件配置加载一些程序的运行关键信息,如ip,端口等,可以让程序的运行更加灵活
2023-09-02 16:25:45
200
原创 云备份——第三方库使用介绍(下)
httplib库,一个C++11单文件头的跨平台HTTP/HTTPS库。安装起来非常容易。只需包含httplib.h在你的代码中即可。
2023-08-31 22:31:49
335
原创 云备份——项目介绍
自动将本地计算机上指定文件夹中需要备份的文件上传备份到服务器中。并且能够随时通过浏览器进行查看并且下载,其中下载过程支持断点续传功能,而服务器也会对上传文件进行热点管理,将非热点文件进行压缩存储,节省磁盘空间。
2023-08-30 12:00:18
248
原创 Linux——进程信号(下)
首先,在我们进程信号中,实行执行信号的处理动作称为递达 ;而信号从产生到递达的过程叫做未决。而在上面两个过程中,我们可以选择阻塞某个信号,被阻塞的信号会一直处于未决的状态无法递达,直到信号阻塞被解决,信号才会被执行。注意,这里的阻塞和忽略是两码事,阻塞行为是在未决和递达直接,而忽略是递达的一种处理方式。
2023-07-07 03:02:40
2771
12
原创 Linux——进程信号(上)
信号在我们的日常生活中并不少见,如红绿灯, 当我们看到红灯时会知道需要停下来并且会停下来;当闹钟响起时,我们会起床;当快递员和我打电话说快递到楼下时,我们会下去拿快递等等。这些都是典型的信号,因此我们可以得到第一条结论信号其实就是信息加上处理动作。而在这些信号中我们还发现一个特征,就是即使还没有收到信号,我们也都明白这些信号的含义 ,也就是知道怎么处理信号,例如即使红绿灯红灯没亮,我们也知道红灯需要停下来等待。而在进程中也是这样,
2023-07-04 16:34:34
358
15
原创 Linux进程间通信——管道(下)
命名管道其实就是一个特殊的文件,称为命名管道是因为在创建时需要加上名字,其中的内容是内存级别的专门用来进程间通信的,也就是说并不会保存到磁盘上面。mkfifo [管道名字]如上图所示,左右两边是同一台机器同一个路径下,我们首先在左边创建了匿名管道,然后我们就成功创造出fifo的特殊文件,然后我们用echo将内容重定向到命名管道中,然后左边cat进行读取,成功读取,echo和cat两个进程成功通信1.创建成功返回0,失败返回其他2.path为所创建的目录以及管道的名字,如./fifo。
2023-06-28 21:05:37
338
13
原创 Linux进程间通信——管道(上)
首先进程间通信指的是不同进程之间传播或交换信息管道,System V进程间通信,POSIX进程间通信而进程间通信的目的主要有以下几个数据传输:一个进程需要将它的数据发送给另一个进程资源共享:多个进程之间共享同样的资源。通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件(如进程终止时要通知父进程)。进程控制:有些进程希望完全控制另一个进程的执行(如Debug进程),此时控制进程希望能够拦截另一个进程的所有陷入和异常,并能够及时知道它的状态改变。
2023-06-25 14:00:00
374
14
原创 C++11新特性之右值引用
在C++98标准后,C++11标准的更新为C++注入了新活力,C++11新加了140多个新特性,我们这里主要挑一些比较有价值的特性来深入了解一下,本节注意是带大家了解一下C++11新特性之右值引用
2023-06-19 00:13:51
1281
15
原创 遇到大数据处理,你会怎么办?快来看一下位图和布隆过滤器(下)
位图和布隆过滤器是专门用来处理大数据文件搜索问题的,他们性能的高效和哈希表相比要高很多,但是各自也有使用场景的限制,铁子们使用时还是应该分析应用场景选择合适的数据结构
2023-06-05 16:51:20
190
14
原创 遇到大数据文件,你会怎么处理?快来看一看位图和布隆过滤器吧(上)
在我们的日常生活中大数据的处理必不可少,比如注册游戏起名字,都需要向数据库比对确认是否存在,JAVA有分页处理和数据库缓存机制等,而我们C++交的答卷则是以哈希理念为基础的用来处理大数据搜寻的位图和布隆过滤器,当然这只是其中一种,也是我们本次主要讲解一下位图的概念以及实现,后续我们会再讲布隆过滤器。
2023-06-02 12:07:12
150
12
原创 Linux——什么是文件描述符
在语言和系统的学习中,IO流的学习是绕不开的,在其中我们会学到文件的打开,关闭,读取,写入等操作,而在这里面当文件被系统打开后,要怎么管理这些打开的文件呢?这时候就需要用到文件描述符来管理这些被打开的文件。
2023-05-30 00:08:49
1355
16
原创 详解set/map的底层结构——AVL树和红黑树
二叉搜索树虽可以缩短查找的效率,但如果数据有序或接近有序二叉搜索树将退化为单支树,查找元素相当于在顺序表中搜索元素,效率低下。当向二叉搜索树中插入新结点后,如果能保证每个结点的左右子树高度之差的绝对值不超过1(需要对树中的结点进行调整),即可降低树的高度,从而减少平均搜索长度。AVL树的规则如下1.它的左右子树都是AVL树2.左右子树高度之差(这里我们简称为平衡因子)的绝对值不超过1如果一棵二叉搜索树是高度平衡的,它就是AVL树。如果它有n个结点,其高度可保持在logN,搜索时间复杂度logN。
2023-05-12 18:45:44
1256
15
原创 详细C++三大特性——多态底层原理
上一篇主要讲了多态的基本内容和使用,本篇文章将带领铁子们深入了解多态的底层原理,本文实验比较多,建议铁子们看完可以自己再实验实验,一定会收货颇丰。
2023-04-06 17:45:00
1039
29
原创 一篇文章看懂C++三大特性——多态的定义和使用
多态其实就是多种形态,实际上就是当完成某个行动时,不同的对象完成会产生不同的状况。如上图某景点门票,大学生,普通人,儿童所需要的票价都是不一样的,这就算是多态在实际生活的一种应用。
2023-04-05 22:43:04
751
19
原创 面向对象三大特性之一——継承(上篇)
我们可以先看个小例子观察上图,我们发现毕加索的牛将牛身上的特征抽象出来,因此下面的水牛,奶牛,黄牛基本上都包括了上图牛的所有特征,这就可以看做継承
2023-03-30 22:39:30
762
44
原创 你真的掌握到“优先级队列“的精髓了吗?
如果我们给每个元素都分配一个数字来标记其优先级,不妨设较小的数字具有较高的优先级,这样我们就可以在一个集合中访问优先级最高的元素并对其进行查找和删除操作了。这样,我们就引入了优先级队列 这种数据结构。
2023-03-25 00:15:35
502
37
原创 STL库中list的迭代器实现痛点分析
本篇文章准备换个模式,之前都是先详解模拟实现,但是模拟实现的基本逻辑大多数老铁都是明白的,所以我们这次主要讲解STL库中list的独特性,也就是模拟实现中的重难点
2023-03-21 12:53:19
710
26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人