自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 项目1--博客管理系统--业务逻辑模块-(http服务器,)--httplib库的使用,处理流程,网络通信接口设计

我们的服务器对应多个客户端,如果多个客户端同时发起查询操作如果每一个查询操作都会实例化一个TableBlog对象,新建一个mysql句柄如果每一个查询操作都会实例化一个TableBlog对象,使用同一个mysql句柄讲解了stoi函数 看图讲解了 mvc数据管理模块:基于mysql操作封装类,对应数据库中的各个表,通过实例化的对象完成对数据库的访问操作。业务逻辑模块:针对客户端的请求 提供业务处理能力开始讲解业务逻辑模块1、网络通信功能 (提供客户端与服务端的网络通信功能)1、后台搭建

2021-02-04 19:05:38 690

原创 项目1--博客管理系统--使用mysql的开发接口实现数据库设计(步骤)--数据管理模块介绍(客户端服务器使用json方式传递数据)

上节课是完成了数据库的设计,使用了mysql提供的客户端接口 访问mysql服务器实现的数据操作实际使用中,我们在项目中 通过自己的数据管理模块完成对数据库的访问–意味着我们要自己完成我们的数据管理模块,使用一个json库的序列化反序列化来传输我们的增删查改语句。mysql提供给我们的开发接口:使用c语言接口1、初始化mysql操作句柄MYSQL *mysql_init(MYSQL *mysql);//通常参数为空,表示要动态分配一块空间进行初始化2、连接mysql服务器MYSQL *my

2021-02-02 10:01:51 616

原创 项目1--博客管理系统--产品开发流程,项目的mvc框架 三个模块,,数据管理模块介绍(数据库各种操作)博客系统数据库设计(博客信息表,标签表)-安装mysql的步骤命令行,写db.sql文件,导入

产品开发流程1、市场调研:为什么做这个项目学习编程之后,想要自己搭建一个博客2、技术调研:当前技术是否能实现3、需求定版:需求定下来就不能随意更改(当当需求需要改变的时候再简单液也要向上级汇报)4、项目设计:框架设计:使用什么样的框架,什么样的技术完成框架的搭建详细设计:更加细致的接口设计,数据库设计5、项目开发:编写实现框架中某一模块的功能(搬砖过程)6、项目测试:bug测试–项目不是bug越少越好,每一个项目根据周期都有一个bug的数量标准7、上线测试:项目介绍:1、项目名称博

2021-01-21 20:12:27 578

原创 二叉搜索树--二叉搜索树概念,操作(查找插入删除 拷贝构造 赋值 析构),二叉搜索树的应用 k模型,kv模型,二叉搜索树的性能分析(留了一个问题,不论数据的插入的顺序如何,都会让数据成为二叉搜索树))

为什么会有二叉树进阶1、二叉树在数据讲过了,但是又把二叉树提出来,是因为给二叉树又加了新的规则2、map.set特性需要先铺垫二叉搜索树,二叉搜索树也是树形结构3、对二叉搜索树有了了解,可以更好的了解map set的特性4、二叉树部分面试题较难,前边讲的解题方法不容易理解,所以学习map set 二叉搜索树对解题有帮助二叉搜索树1|当然,在实际中也可以是左边大右边小,也是二叉搜索树。2、如果是一个完全二叉树或者满二叉树,符合二叉搜索树的性质,那么它的查找复杂度就是一个log(n)二叉搜索

2021-01-13 17:31:50 117

原创 多态--虚函数介绍,虚函数重写,协变,析构函数重写。viutural final overridr关键字。重载写定义对比,纯虚函数抽象类,接口继承实现继承,虚表的介绍,派生类虚表,根据虚表介绍多态原理

**多态的概念多态的概念:就是多种形态,对于继承而言,就是不同的对象完成时会产生出不同的行为。多态的定义多态,不同继承关系的类对象,去调用同一函数(虚函数)去产生不同的行为。虚函数介绍class Person {public: //虚函数:即被virtual修饰类成员函数 virtual void BuyTicket() { cout << "买票-全价" << endl; }private: int _a; char _ch;};int mai

2020-12-14 09:54:29 276

原创 网络基础1--计算机网络背景-局广城网范围,还有其他各种网,交换机路由器概念,ip地址,mac端口了解,网络协议,五层模型,传输中数据封装和分用,网络字节序,主机字节序如何判断。

**计算机网络背景**网络发展史:一个网络由路由器星形发散局域网1、指覆盖范围在1000米以内的网络2、计算机的数量较多,通过交换机和路由器连在一起,也被称为服务器。城域网:1、指覆盖范围在10~20Km广域网:1、指覆盖范围更大2、将远隔万里的计算机连在一起总结:交换机:记录相互连接的计算机的mac地址进行数据交换路由器:在数据交换的基础上增加了网络标识,给网络中的数据找到合适路径,实现原端到对端。(这里有协议和ip地址的知识)还有什么互联网Internet网:指

2020-12-11 10:42:35 679

原创 线程安全--线程池,了解线程池什么样,单例模式-三种方式实现单例模式,构造函数私有化(懒汉饿汉)。懒汉方式,饿汉方式,STL智能指针的安全性,

**线程池**线程池是什么?线程池是线程安全的更加具体的应用。线程池主要还是一种任务处理的思路,对于大量的任务或者数据进行处理的场景。对于大量的请求任务,单个线程是无法承载的,所以我们需要多个执行流。第一种想法:来一个任务,创建一个线程,处理任务,然后销毁线程。缺点:1、在大量峰值下,需要创建大量的线程,消耗大量的资源,系统崩溃2、创建线程时间T1,处理任务T2,销毁线程T3,如果T1+T2时间过多,不合理。针对上边想法的改进,我们提出了线程池这个东西。有一个或者多个线程 对任务进

2020-12-09 10:08:57 186

原创 c++中继承-概念定义,基类派生类对象赋值转换,继承作用域(隐藏),派生类的默认成员函数如何实现,友元不能被继承,静态成员在继承中只有一份资源,多继承菱形继承(数据冗余二议)解决,继承与组合,继承总结

**继承的概念和定义**继承概念1、继承是面向对象程序设计 使代码可以复用的手段。—这个是类层次设计的复用。2、允许程序员保持 原有类 特性的基础上 进行扩展,增加功能3、继承呈现了 面向对象程序设计的层次结构 ,体现了由简单到复杂的过程class Person{public: void Print() { cout << "name:" << _name << endl; cout << "age:" << _a

2020-12-08 16:27:46 283

原创 线程安全--锁+条件变量-queue模拟阻塞队列的生产者与消费者模型,信号量-环形队列的生产者与消费者模型

**生产者与消费者生产模型**这个是一种典型的设计模式–大佬们针对典型的应用场景设计的解决方案为什么使用生产者与消费者模型?解决大量的数据产出以及处理的问题。通过一个容器解决生产者与消费者的强耦合问题(程序中的函数也是为了解决功能的强耦合问题),生产者与消费者使用一个阻塞队列来进行通讯,生产者产出数据直接扔给阻塞队列,消费者直接从阻塞队列中取,阻塞队列相当于缓冲区,平衡生产者消费者之间的处理能力。有线程不断生产数据,有线程不断处理数据。。总结原则1个场所两个角色(生产者,消费者)三种关

2020-12-04 16:47:17 355

原创 模板进阶--非类型模板参数,模板特化(函数模板特化,类模板特化),模板的分离编译(声明定义不分开)

**1、非类型模板参数**模板参数分为 类型形参+非类型形参类型形参:template<class T,typename container>;非类型形参1、template<class T,size_t N = 10>array<int,‘a’>,表示N = 97;ascii值。2、template<class T,char c>long int short char都可以上边两个都可以作为非类型模板参数的值3、template&lt

2020-12-02 16:47:40 280

原创 线程安全--条件变量实现,互斥锁与条件变量搭配使用实现线程安全,厨师与顾客

//线程安全概念在前一篇文章线程安全–互斥锁实现已经讲过,这个直接从如何实现开始。互斥锁的互斥 实现线程安全条件变量的同步 实现线程安全通过一个条件变量判断是否满足获取资源的条件。满足,则获取资源,不满足,则等待。在条件变量实现线程安全中,只提供两个接口+等待队列:让执行流等待接口和唤醒执行流接口+两个pcb等待队列(所以有两个条件变量)所以对于程序中什么时候线程等待,什么时候线程唤醒由程序员在进程中进行判断。不像互斥锁实现安全的过程,程序员只需要考虑加锁解锁将共享资源保护住就可以,其他的都是线

2020-11-30 21:03:05 237

原创 线程安全--互斥锁实现,互斥锁相关知识,死锁

**线程安全–互斥锁实现线程安全的概念:多个线程对临界资源的合理性访问。临界资源:多个执行流 共享的资源叫做临界资源临界区:每个线程内部,处理临界资源的代码,就叫做临界区。如何实现线程安全:同步(不保证安全)与互斥(不保证合理)同步实现:使多个线程在某种规则条件下,实现在资源共同访问的合理性。使用条件变量和信号量实现互斥实现:在某一个时间,只有一个线程可以访问资源,实现访问的安全性。使用互斥许锁和信号量实现。互斥实现线程安全的原理:黄牛抢票的例子:有100张票,需要被抢,他就是临界资

2020-11-30 15:12:49 711

空空如也

空空如也

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

TA关注的人

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