自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(281)
  • 资源 (1)
  • 收藏
  • 关注

原创 音视频基础之ffmpeg命令实战二

ffmpeg命令实战

2023-02-22 10:58:37 227 1

原创 音视频基础之ffmpeg命令实战一

ffmpeg命令实战

2023-02-21 11:03:58 456

原创 音视频基础之封装格式与音视频同步

音视频基础知识

2023-02-20 17:29:31 477

原创 音视频基础之音频编码原理简介

音视频基础知识

2023-02-20 17:04:18 1743

原创 音视频基础之音频常见名词

音视频基础知识

2023-02-20 16:48:51 743

原创 音视频基本概念之物理音频和数字音频

音视频基础概念

2023-02-20 16:35:05 359

原创 音视频基础之视频主要概念

音视频基本概念

2023-02-20 16:07:55 209

原创 音视频基础之图像表示

音视频图像概念

2023-02-20 15:49:46 580 1

原创 navicat如何远程连接腾讯云服务器mysql

navicat如何远程连接腾讯云服务器mysql1.腾讯云上配置防火墙放行2.mysql配置需要为root用户或者新建用户配置所有主机可连接。3.navicat配置ssh和常规连接

2022-04-27 15:42:55 2061

原创 408数据结构:1.顺序表的定义

知识总览静态分配:

2022-03-09 15:07:13 250

原创 mysql三高讲解(三)3.2:如何确定用哪条索引

1.索引的确定基本原则实验:1.我们先新建一个表:CREATE TABLE sakila.city_1(city VARCHAR(50) NOT NULL);2.向里面插入数据:INSERT into sakila.city_1 select city from sakila.city;(将老的city表中的数据插入新的city_1表中5次)3.将新的city_1表中的数据打乱update sakila.city_1 set city = (select city from sakila.ci

2022-02-12 21:51:02 838

原创 leetcode刷题:火柴拼正方形

题目:分析:基本思路,在数组中搜索是否有和为sum/4的子序列,一共搜索四次,每次要把用过的标记考虑[1,1,2,2,3,3,4], 如果先将[1,1,2]组合,那么后面的就不能组合成4了。针对这种情况,我们应该由大到小搜索,因为小的数值总是可以拼凑。所以需要先对数组进行逆序排序。然后从前往后依次搜索。代码如下:class Solution {public: bool makesquare(vector<int>& nums) { int

2022-02-12 21:18:47 189

原创 C++中const关键字讲解

作用1.const 修饰成员变量,定义成 const 常量,相较于宏常量,可进行类型检查,节省内存空间,提高了效率。2.const 修饰函数参数,使得传递过来的函数参数的值不能改变。3.const 修饰成员函数,使得成员函数不能修改任何类型的成员变量(mutable 修饰的变量除外),也不能调用非 const 成员函数,因为非 const 成员函数可能会修改成员变量。在类中的用法const 成员变量:1.const 成员变量只能在类内声明、定义,在构造函数初始化列表中初始化。2.const 成

2022-02-12 20:00:22 715

原创 mysql三高讲解(三)3.1 如何提高where效率

1.show create table xxx(表明)查看表名建立语句2.查看sakila数据库中inventory和inventory_1的index区别注意:分析select sql语句的时候,可以用explain关键字提升效率的话可以用联合索引比如select多个字段...

2022-02-12 15:53:01 558

原创 mysql三高讲解(二)2.9: mysql示例数据库sakia database的使用

1.mysql.com->document->more->sakia database2.点击TFG(linux)zip(windows)进行下载3.新建表4.导入数据5.查看数据库是否建立好6.注意:我们加压sakila会发现生成三个文件,两个sql一个sakila.mwb那么sakila用什么工具查看呢?mysql.com->DOWNLOADS->MySQL Community (GPL) Downloads->MySQL Workbench..

2022-02-12 14:13:52 472 1

原创 leetcode刷题:不同路径II

分析:我们用 f(i, j)f(i,j) 来表示从坐标 (0, 0)(0,0) 到坐标 (i, j)(i,j) 的路径总数,u(i, j)u(i,j) 表示坐标 (i, j)(i,j) 是否可行,如果坐标 (i, j)(i,j) 有障碍物,u(i, j) = 0u(i,j)=0,否则 u(i, j) = 1u(i,j)=1。因为「机器人每次只能向下或者向右移动一步」,所以从坐标 (0, 0)(0,0) 到坐标 (i, j)(i,j) 的路径总数的值只取决于从坐标 (0, 0)(0,0) 到坐标 (i .

2022-02-11 22:53:09 104

原创 mysql三高讲解(二):2.8 mysql视图相关概念

视图算法的选择:实际操作中看下视图的使用和视图的算法的区别如果是上图那样创建的视图,我们会得到下面的sql

2022-02-11 21:49:02 181

原创 mysql三高教程(二):2.7 如何约束数据

如何在建表的时候对数据进行约束呢?一:Primary Key/Unique Key(1)通过将数据字段设置为索引,约束数据内容(2)Primary Key:唯一,不为NULL(3)Unique Key:唯一(4)唯一约束插入时的性能开销较大。为什么开销大:因为插入时要检查这个字段是不是唯一的。否则如果不是索引,就不需要检查。二:Foreign Key外键可以对数据的正确性实现约束触发器:由上图可以看到,mysql开启了严格模式,我们对设置了为不能为空字段插入空是被禁止的。如果va

2022-02-11 21:30:42 401

原创 mysql三高讲解(二):2.6 数据库索引”左侧用法“

一:联合索引注意:模糊查询会使索引失效

2022-02-11 21:18:09 102

原创 mysql三高讲解(二):2.5 InnoDB数据行介绍

行溢出数据InnoDB行记录格式主要分为两个时代Dynamic使用的最多的形式

2022-02-11 21:03:31 199

原创 C++内存泄漏的几种情况

1.堆内存泄漏:new/mallc分配内存,未使用对应的delete/free回收2.系统资源泄漏, Bitmap, handle,socket等资源未释放3.没有将基类析构函数定义称为虚函数,(使用基类指针或者引用指向派生类对象时)派生类对象释放时将不能正确释放派生对象部分由于疏忽或错误导致的程序未能释放已经不再使用的内存。进一步解释:并非指内存从物理上消失,而是指程序在运行过程中,由于疏忽或错误而失去了对该内存的控制,从而造成了内存的浪费。常指堆内存泄漏,因为堆是动态分配的,而且是用户来控制

2022-02-11 09:48:52 1431

原创 mysql三高讲解(二):2.4 InnoDB数据表是如何存储的

2022-02-10 21:40:18 73

原创 mysql三高讲解(二):2.3 InnoDB索引即数据

mysql以B+树数据结构作为底层索引的数据结构聚簇索引 Clustered Index 辅助索引 Secondary Index底层数据结构也是B+树总结:

2022-02-10 21:27:39 320

原创 mysql三高讲解(二):2.2 B+树的B的意义

mysql中InnoDB索引组织表用的什么索引所发:B+树主流索引查找算法:B+树,是B树和线性查找的结合线性查找:事件复杂度较高o(n)二分查找:存在问题:在大内存中,很难弄清内存中间点。先来看下二叉查找树但是他有个缺点:容易退化为线性查找。平衡二叉树:可以通过左旋或者右旋去平衡二叉树。分析:既然平衡二叉树已经没有了上述数据结构的缺点,我们的mysql的底层索引算法为什么不选择平衡二叉树呢。因为平衡二叉树,每个节点存储的数据量太小了。所以修复上面所有的问题,我们选择了B树

2022-02-10 21:10:22 304

原创 mysql三高讲解(二):2.1 索引组织表

索引组织表:Index Organized Table索引:索引是数据库中对某一列或多个列的值进行预排序的数据结构。索引可以理解为数据的”目录“。InnoDB中,主键是一个特殊索引字段。主键:InnoDB存储引擎表中,每张表都有一个主键。若表中有一个非空唯一索引(Unique not null),即为主键若有多个非空唯一索引,选择第一个定义的索引。若无,InnoDB自动创建一个6字节的指针作为主键通过前面的讲解,可知d是主键。解决方法:总结:InnoDB数据表均为索引组织表

2022-02-10 18:25:12 184

原创 mysql三高讲解(一)1.3 常见的mysql存储引擎

一:InnoDBmysql5.5.5之后的默认存储引擎支持事务,外键支持崩溃修复能力和并发控制二:MyISAMmysql5.5.5之前的默认存储引擎插入数据块,用了B+树空间利用率高不支持事务三:Memory内存型数据库所有数据都在内存中,速度快数据安全性差四:Archive数据压缩,空间利用率高读取效率慢插入速度快不支持索引,查询慢总结:1.InnoDB是目前最主流的存储引擎,适合各种互联网业务2.查询效率要求非常高,可以考虑MyISAM3.日志信息归档可以考虑A

2022-02-10 17:52:23 73

原创 mysql三高讲解(一):1.2 一个sql语句的执行过程

查询缓存:之前执行过的语句会以KV的形式缓存在内存中。查询先前查找过的内容会快速的返回结果。不推荐使用缓存:因为数据表修改后,会删除所有相关缓存。分析器:优化器:执行器:存储引擎:InnoDB...

2022-02-10 17:40:06 65

原创 mysql三高讲解(一):1.1 客户端怎样连接mysql数据库

主要有四种方法:(1)TCP/IP连接***(最主要的连接方式)MySQL TCP:通讯协议-认证连接服务端->客户端:发送握手初始化包客户端->服务端:发送验证(用户名,密码)服务端->客户端:认证消息结果命令执行:客户端->服务端:发送命令包(Command Packet)服务端->客户端:发送回应包断开连接:客户端->服务端:发送退出命令包报文格式:消息头:3字节报文长度,1字节序号消息体:N字节,1字节为指令,其余为参数指令举例:切

2022-02-10 17:26:34 702

原创 mysql软件架构

客户端是你的业务应用,怎么连接mysql server?一般都是用jdbc(Java)odbc(C++)客户端连接mysql 服务,发指令发sql语句等。文件系统:操作系统的文件系统,比如windows的文件系统,linux的文件系统。综上所述,我们可以把上面的mysql软件架构理解为,客户到操作系统的文件系统的中间流程。 mysql server就是将客户端的sql指令落实到文件系统的文件上。当客户端要查询某个文件某个内容时,mysql server在去找对应的文件。一:连接器功能:接收客户.

2022-02-10 16:59:39 553

原创 应用数据库软件的典型架构有哪些

分层架构,经典MVC架构:第一层:Presentation Layer表现层第二层:Business Layer业务层第三层:Persistence Layer持久层第四层:Database Layer数据库事件驱动架构:可以把中间白色长条中的Event Channel理解为消息队列,消息中间件等。管道过滤器架构:责任链,source可以是订单,事件等。每一步都有一个过滤器,每个filter把能处理的事务都处理掉。处理完之后,进行sink。比如:入职系统。本身内核内容很小,但是把很多.

2022-02-10 16:35:35 1479

原创 mysql更新密码

1.编辑/etc/my.cnf添加如下内容2.启动mysql服务systemctl start mysqld.service3.进入mysqlmysql4.键入下面的命令更新密码设置root用户密码update mysql.user set authentication_string=password(‘123456’) where user=‘root’;5.更新一下flush privileges;6.重启mysql服务systemctl restart mysqld.servi

2022-02-10 15:10:01 2169

原创 leetcode刷题:合并区间

题目:分析:通过双指针,遍历代码如下:class Solution{public: vector<vector<int>> merge(vector<vector<int>> &intervals) { // 去除脏数据 无序排序 if (intervals.size() == 0) { return {}; } //

2022-02-10 14:08:49 399

原创 leetcode刷题:循环队列

题目:分析:这里使用数组进行模拟循环队列插入和删除数据的过程;使用头指针head和尾指针tail进行维护还存有的一段的连续数据;记录当前存有的数据的个数来判断是否填满队列;代码如下:class MyCircularQueue {private: int cur; int maxi; int head; int tail; vector<int>circulque;public: MyCircularQueue(int k) {

2022-02-09 21:13:42 219

原创 leetcode刷题:删除链表中的节点

题目:分析:删除链表中的节点的常见的方法是定位到待删除节点的上一个节点,修改上一个节点的 \textit{next}next 指针,使其指向待删除节点的下一个节点,即可完成删除操作。这道题中,传入的参数 \textit{node}node 为要被删除的节点,无法定位到该节点的上一个节点。注意到要被删除的节点不是链表的末尾节点,因此 \textit{node}.\textit{next}node.next 不为空,可以通过对 \textit{node}node 和 \textit{node}.\tex

2022-02-09 18:25:16 124

原创 安全云盘项目(四)4.1: 云盘原型系统详细设计

消息格式的定义:注意上图的内容:消息类型和消息长度是消息必备的特征。消息结构体:我们会把一个个协议包存放在消息结构体中消息体描述:代码逻辑:内部视图:线程池初始化流程图线程池任务处理流程底层通信模块:云盘客户端部分的设计:类定义:目录获取顺序图:文件上穿顺序图:下载顺序图:客户端内部视图:服务端类试图...

2022-02-09 14:24:12 2568

原创 leetcode刷题:相交链表

题目:分析:判断两个链表是否相交,可以使用哈希集合存储链表节点。首先遍历链表 \textit{headA}headA,并将链表 \textit{headA}headA 中的每个节点加入哈希集合中。然后遍历链表 \textit{headB}headB,对于遍历到的每个节点,判断该节点是否在哈希集合中:如果当前节点不在哈希集合中,则继续遍历下一个节点;如果当前节点在哈希集合中,则后面的节点都在哈希集合中,即从当前节点开始的所有节点都在两个链表的相交部分,因此在链表 \textit{headB}hea

2022-02-08 21:30:15 64

原创 leetcode刷题:LRU缓存淘汰算法

题目:分析:计算机的缓存容量有限,如果缓存满了就要删除一些内容,给新内容腾位置。但问题是,删除哪些内容呢?我们肯定希望删掉哪些没什么用的缓存,而把有用的数据继续留在缓存里,方便之后继续使用。那么,什么样的数据,我们判定为「有用的」的数据呢?LRU 缓存淘汰算法就是一种常用策略。LRU 的全称是 Least Recently Used,也就是说我们认为最近使用过的数据应该是是「有用的」,很久都没用过的数据应该是无用的,内存满了就优先删那些很久没用过的数据。LRU 缓存机制可以通过哈希表辅以双向链表实

2022-02-08 17:37:53 503

原创 leetcode刷题:数组中第K个最大的元素

题目:分析:我们只需将这个数组进行排序,从小到大排序,然后获取第k大的数字即可,代码如下:class Solution {public: int findKthLargest(vector<int>& nums, int k) { if(k>nums.size()) return 0; sort(nums.begin(),nums.end()); return nums[nums.size()

2022-02-08 16:50:27 172

原创 安全云盘项目(三):3.1 Qt的工具_MVD架构和信号槽原理分析

一:关于Qt程序整体内容:二:项目结构模式(1)MVC:这个已经优点过时,现在前端界面开发最常用的事第二种方式MVD(2)MVD

2022-02-08 16:06:50 3045

原创 安全云盘项目(二):2.1 基于libevent的C++线程池

注意:基于libevent的C++线程池主要参数memcached下图是具体的技术栈项目功能:1.实现ftp服务器,在linux种和windows种都可以运行2.实现ftp的基本功能(1)匿名登录(2)对应的文件列表展示,上传文件,下载文件3.基于上面的libevent相关使用,搭建一个线程池...

2022-02-08 12:13:29 2336

基于Qt和ffmpeg的视频播放器.md

ffmpeg从安装到入门应用全资源

2021-11-28

空空如也

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

TA关注的人

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