自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Q1697354625

分享学习经验,记录学习心得。

  • 博客(96)
  • 收藏
  • 关注

原创 第二次面试2023-8-21

记录第二次面试!

2023-08-22 13:51:31 1217 9

原创 记录首次面试2023-08-18

2023.8.18,

2023-08-20 19:05:33 6423 8

原创 MySQL视图

MySQL视图。

2023-08-07 14:50:40 286 3

原创 MySQL事务管理

事务的本质,是站在MySQL之上的,即使用者的角度。这个功能可能由多条SQL构成,在具体业务场景进行的需求转换成的多条SQL。因此,什么是事务?我们将一条或多条SQL构成的集合体,这个集合体所要完成一系列的任务,我们将这一系列的任务统称为MySQL事务。事务就是一组DML语句组成,这些语句在逻辑上存在相关性,这一组DML语句要么全部成功,要么全部失败,是一个整体。MySQL提供一种机制,保证我们达到这样的效果。事务还规定不同的客户端看到的数据是不相同的。

2023-08-06 15:56:17 479 9

原创 【解决】Unknown column ‘xxx‘ in ‘where clause‘

那我创建这张表时的SQL并没有空格啊?太难蚌了,就是空格这个**导致的。以后再也不轻易复制了。(这个小错误浪费了半个小时。这说明字段出现看错误,这是什么情况?我试了n次,将mysql重启,再重启,都不行。解决Unknown column ‘xxx‘ in ‘where clause‘好像有点奇怪,怎么感觉像是多了一个空格呢?明明就是id,哪里写错了?真的这次就不存在空格了。

2023-08-04 14:47:20 239

原创 MySQL索引特性

MySQL的服务器,本质是在内存中的,所有的数据库的CURD操作,全都是在内存中进行的,所以索引也是如此。索引的作用是提高查找的效率。组织数据的方式算法本身组织数据的方式,比如链表的结构,比较适合:增加,删除,修改,但是不适合排序;顺序表的结构比较适合数据的排序,但是不适合数据的删除;或者哈希等等。而对于索引,实际上就是将组织数据的方式,即数据结构给改变了,将其进行重构了,那搜索的效率自然也就变了,这就叫做结构决定算法。索引的本质:特定的数据结构导致搜索效率的改变。

2023-08-03 15:18:40 240 4

原创 MySQL表的内外连接

MySQL表的内外连接表的连接分为内连和外连。

2023-08-01 20:02:50 458 5

原创 MySQL复合查询

MySQL复合查询前面我们讲解的mysql表的查询都是对一张表进行查询,在实际开发中这远远不够。对于CURD之一的查找,他作为最重要的操作,仅仅在一张表之中查是不够的,还需要在多表之间进行查询,复合查询就是解决多表查询的问题。

2023-07-31 16:45:21 577 5

原创 MySQL内置函数

获得时分秒:获得时间戳:date函数date(datetime),datetime可以是各种日期,也可以是上述的各类函数,最终得到的是所述内容中的日期部分。常量在日期的基础上加日期:interval后面的数值单位可以是:year、month、day。date也可以是函数的返回值在日期的基础上减日期:interval后面的数值单位可以是:year、month、day。date也可以是函数的返回值l两个日期的差,即date1-date2,单位是天。当然,date一样可以是函数的返回值。

2023-07-29 20:02:01 333 7

原创 MySQL表的增删查改

CURD无疑是在数据库中操作最多的,都是对表进行各种的增删查改,尤其对于查找,表与表之间因外键的联系等。但无疑,我们在上面的select 等语句,每一个过程都是对表进行操作,即筛选后的数据在逻辑上仍然是一张表,数据库本身也是一种表结构,所以,数据库下一切皆表。

2023-07-28 21:13:33 1067 6

原创 MySQL表的约束

真正约束字段的是数据类型,但是数据类型约束很单一,需要有一些额外的约束,更好的保证数据的合法性,从业务逻辑角度保证数据的正确性。所谓约束,就是避免犯一些低级错误,比如类似于语法错误,编译器的编译失败实际上也算是一种约束。表中一定要有各种约束,通过约束,让我们未来插入数据库表中的数据是符合预期的。

2023-07-26 17:53:34 244 7

原创 MySQL数据类型

数据类型实际上也是对数据的一种约束。

2023-07-23 20:02:07 317 7

原创 MySQL操作表

我们这一节所讲的是操作表的结构,而不是操作标表的内容。像插入数据insert,以及查看数据select,这些都是对表的内容所进行的操作。我们所学习SQL语言的种类有DDL,DCL,DML,像我们目前所学的数据库的操作及其表的操作都属于DDL,因为这些操作都属于定义表的结构。那么对于三.修改表结构实际上的添加、修改、删除、重命名都有对应的动作标志,即对应的词控制,除此之外的语法结构基本相同。添加字段:add修改字段:modify删除字段:drop表的重命名:rename。

2023-07-20 06:25:59 162 5

原创 MySQL操作库

MySQL操作库。

2023-07-19 14:39:55 6149 8

原创 【解决】mysql卸载之后安装不同的版本导致mysqld无法启动

解决mysql不同版本之间数据的冲突。

2023-07-17 20:05:46 587 7

原创 MySQL基础

站在服务器的角度mysql:数据库服务的客户端mysqld:数据库服务的服务器端mysql本质上是基于C(mysql)S(mysqld)模式的一种网络服务。因此可以看到特定的端口号。mysql是一套给我们提供数据存储的服务的网络程序。数据库一般指的是,在磁盘或者内存中存储的特定结构组织的数据。–将来在磁盘上存储的一套数据库方案。数据库服务指的是->mysqld。为什么用数据库存储数据而不是直接用文件存储数据?文件的安全性问题文件不利于数据查询和管理文件不利于存储海量数据。

2023-07-13 19:00:35 1094 6

原创 MySQL环境配置

MySQL在centos7环境安装安装与卸载中,⽤⼾全部切换成为root,⼀旦安装,普通⽤⼾也能使⽤。

2023-07-11 20:59:29 1150 7

原创 【C++修炼之路】33.特殊类设计

拷贝只会放生在两个场景中:拷贝构造函数以及赋值运算符重载,因此想要让一个类禁止拷贝,只需让该类不能调用拷贝构造函数以及赋值运算符重载即可。C++98将拷贝构造函数与赋值运算符重载只声明不定义,并且将其访问权限设置为私有即可。原因:C++11C++11扩展delete的用法,delete除了释放new申请的资源外,如果在默认成员函数后跟上=delete,表示让编译器删除掉该默认成员函数。二.设计一个类,只能在堆上创建对象1. 普通类的创建对象普通的类,可以在三种位置上创建对象:2.只能在堆上创建对象

2023-07-09 21:40:05 381 4

原创 【C++修炼之路】32.智能指针

boost库是为C++语言标准库提供扩展的一些C++程序库的总称,boost库社区建立的初衷之一就是为C++的标准化工作提供可供参考的实现,比如在送审C++标准库TR1中,就有十个boost库成为标准库的候选方案。

2023-07-07 20:03:35 311

原创 【C++修炼之路】31.异常

实际使用中很多公司都会自定义自己的异常体系进行规范的异常管理,因为一个项目中如果大家随意抛异常,那么外层的调用者基本就没办法玩了,所以实际中都会定义一套继承的规范体系。这样大家抛出的都是继承的派生类对象,捕获一个基类就可以了。// 服务器开发中通常使用的异常继承体系 class Exception {public :int _id;} };

2023-07-06 12:11:47 195

原创 【解决】VS2019各种乱码的情况

前两种问题的解决方式可以有效的防止乱码,但是我觉得每一次都要手动修改很麻烦,除了这个方法我暂时没有找到更有效的方式,或许以后尽量使用VScode进行操作吧。

2023-07-03 11:52:06 14286

原创 【解决】linux虚拟机开放端口号,虚拟机centos7开放端口

sudo firewall-cmd --add-port=8080/tcp --permanent(打开8080端口、如果是mysql就打开3306端口)firewall-cmd --zone=public --query-port=3306/tcp(查看某个端口的开放情况,返回yes或no)sudo firewall-cmd --add-service=http --permanent (允许http服务)sudo firewall-cmd --list-all(可以查看端口开放情况)

2023-05-30 21:31:41 1705 1

原创 【ProtoBuf】2.环境配置

到此,需要你回忆⼀下在执⾏configure时,如果当时选择了第⼀种执⾏⽅式,也就是./configure ,那么到这就可以正常使⽤protobuf了。

2023-05-30 11:39:52 1845

原创 【解决】rpm损坏导致无法yum

解决:RPM软件包: 错误:无法从 /var/lib/rpm 打开软件包数据库。

2023-05-30 11:29:29 274

原创 【解决】PackageKit冲突

PackageKit是一个在Linux系统上用于软件包管理的守护进程(daemon)。它提供了一种统一的接口,用于管理和安装软件包,以及执行软件包更新和升级。PackageKit的主要功能包括:软件包搜索:PackageKit可以根据用户提供的关键字搜索可用的软件包,并提供相应的搜索结果。软件包安装和卸载:PackageKit可以处理软件包的安装和卸载操作,用户可以通过PackageKit接口进行软件包管理,而无需使用特定的软件包管理工具。

2023-05-30 11:23:49 1762

原创 【解决】升级g++到8版本

另外,也可以考虑查看其他可用的第三方存储库,例如Software Collections(SCL)存储库,以获取较新的g++版本。添加Developer Toolset存储库:在CentOS上,可以使用Red Hat Developer Toolset存储库来获取更新的编译器版本。通过按照上述步骤,在您的用户环境配置文件中添加相应的环境变量设置,可以使g++ 8成为默认版本。如果您希望永久更改默认的g++版本,您可能需要进行其他配置更改。如果输出显示的是g++ 8.x版本,则表示成功更改了默认版本。

2023-05-30 11:19:09 1644 1

原创 【C++修炼之路】定位new(项目记录)

一般的new运算符负责在heap堆中找到一个足以能够满足要求的内存块。而定位new(Placement new)是C++中的一个操作符,它允许在已分配的内存区域中构造对象。通常,使用new关键字来创建对象时,系统会自动分配内存并在其上构造对象。而定位new则提供了一种在指定的内存位置上构造对象的能力。

2023-05-23 14:10:27 1008 1

原创 【ProtoBuf】1.初识ProtoBuf

ProtoBuf概念:将结构化数据进行序列化的一种方式。

2023-05-20 16:31:21 883

原创 【C++修炼之路】30.可变参数模板&&包装器

在学习C语言时,就有过这种可变的参数数量的函数,即我们耳熟能详的scanf和printf,因为其可以传任意数量的参数:而对于C++11来说,C++11使这个特性实践的更加广泛。C++11的新特性可变参数模板能够创建可以接受可变参数的函数模板和类模板,相比C++98/03,类模版和函数模版中只能含固定数量的模版参数,可变模版参数无疑是一个巨大的改进。然而由于可变模版参数比较抽象,使用起来需要一定的技巧,所以这块还是比较晦涩的。现阶段,我们掌握一些基础的可变参数模板特性就够我们用了。

2023-05-20 12:37:23 862 4

原创 【C++修炼之路】29.lambda表达式

在C++98中,如果想要对一个数据集合中的元素进行排序,可以使用std::sort方法,如果待排序元素为自定义类型,需要用户定义排序时的比较规则,这个比较规则既可以是我们C语言时的函数指针,也可以是C++中的仿函数,,下面的例子就是利用仿函数的方式。// 名字 double _price;// 价格 int _evaluate;

2023-03-19 15:16:12 585 6

原创 【C++修炼之路】28.新的类功能

这一篇仍是C++11中新增的内容。

2023-03-18 21:00:51 358 1

原创 【Linux修炼】16.共享内存

shmget函数功能:用来创建共享内存原型 int shmget(key_t key , size_t size , int shmflg);参数key : 这个共享内存段名字size : 共享内存大小shmflg : 由九个权限标志构成,它们的用法和创建文件时使用的mode模式标志是一样的返回值:成功返回一个非负整数,即该共享内存段的标识码;失败返回 - 1shmat函数功能:将共享内存段连接到进程地址空间。

2023-03-14 15:31:37 951 7

原创 【C++修炼之路】27.右值引用

以下所要讲到的,以及右值引用的都是为了提高性能,这是其他语言所不具备的,而本文章就围绕了大量的场景将右值引用的细节分割并逐个击破。左值引用是取别名,直接起作用。右值引用是通过实现移动构造和移动赋值,在拷贝的场景中,如果是右值(将亡值),则进行资源的转移,这是间接起作用。在C++11的标准中,vector以及其他类型的容器的构造函数中,也都出现了新的函数接口:这里只贴了两种常见的容器,对于其他容器,也都有这一新接口。return 0;这是当然的,学这么长时间岂是白学?

2023-03-12 09:17:15 513 9

原创 【Linux修炼】15.进程间通信

一个进程需要将它的数据发送给另一个进程多个进程之间共享同样的资源。一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件(如进程终止时要通知父进程)。有些进程希望完全控制另一个进程的执行(如Debug进程),此时控制进程希望能够拦截另一个进程的所有陷入和异常,并能够及时知道它的状态改变。

2023-03-09 16:06:56 1060 10

原创 【C++修炼之路】26.C++11(语法糖)

在2003年C++标准委员会曾经提交了一份技术勘误表(简称TC1),使得C++03这个名字已经取代了C++98称为C++11之前的最新C++标准名称。不过由于C++03(TC1)主要是对C++98标准中的漏洞进行修复,语言的核心部分则没有改动,因此人们习惯性的把两个标准合并称为C++98/03标准。从C++0x到C++11,C++标准10年磨一剑,第二个真正意义上的标准珊珊来迟。

2023-03-08 20:44:07 693

原创 【C++修炼之路】25.哈希应用--布隆过滤器

上一节中,我们学到了位图,可以看出位图有如下优点:1.节省空间。2.快。但相对的,位图同样有缺点存在:1. 一般要求范围相对集中,如果范围特别分散,空间消耗就会上升。2. 只能针对整形那如果此时是字符串类型,能不能通过位图的思想来确定字符串在不在呢?

2023-03-05 14:47:05 751 8

原创 【C++修炼之路】24.哈希应用--位图

每一个不曾起舞的日子都是对生命的辜负哈希应用--位图。

2023-03-04 19:50:02 595 11

原创 【C++修炼之路】23.哈希封装unordered系列

unordered_map、unordered_set与map、set的区别是unoedered系列无序,除此之外功能上没有区别。但二者之间底层不同,前者底层为哈希,后者为红黑树。之前所学到的红黑树封装map和set时,为了map和set能够共用一套红黑树结构,我们将红黑树的参数类型以及模板数量类型进行的改良,增加一个能够读取参数相应大小的仿函数KeyOfT,对于这次的封装,同样采用这种方式。

2023-03-03 21:07:21 339 2

原创 【C++修炼之路】22.哈希

每一个不曾起舞的日子都是对生命的辜负哈希。

2023-02-28 15:44:16 617 11

原创 【Linux修炼】14.磁盘结构/文件系统/软硬链接/动静态库

在之前文件的学习中,一开始我们就提到了文件操作的本质是进程和被打开文件之间的关系,那没有没打开的文件呢?如果一个文件没有被打开,该如何被OS管理呢?没有被打开的文件只能静静的放在磁盘上放着磁盘上面有大量的文件,而其中的大部分都是处于未被打开的状态,一这些文件也需要被静态管理起来,方便我们随时找到并打开,操作系统对未打开文件的管理,称为文件系统。就比如快递点的快递没有被取走,但也有一一对应的取件码方便取走。那磁盘是如何管理的呢?一、定义静态库是将库中的代码拿到本地,即当程序运行的时候就不再需要链接静态库。

2023-02-24 15:30:07 1263 23

NEFU Linux实验报告

NEFU Linux实验报告卢洋

2023-07-01

NEFU C++实验报告

NEFU C++锐格实验报告

2023-07-01

空空如也

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

TA关注的人

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