自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Python:一个简单的tornado程序:监听服务器端口,访问时给浏览器返回一个字符串

一个简单的tornado程序 tornado是python里的一个模块,它是一种web服务器软件的开源版本 它作为web服务器,具有较出色的抗负载能力,它适用于用户量大,高并发,或者大量的HTTP持久连接的情况。 我们来看一段简单的程序代码 import tornado.web import to...

2020-04-10 18:09:22 103 0

原创 Python:numpy打印数组中间省略号

numpy打印数组中间省略号 当想要输出一个完整的array时,默认是输不出来的,如 那么要想要完整地打印该数组的话该怎么办呢? 很简单,加一句代码: import numpy as np np.set_printoptions(threshold=np.inf) 这样就好啦~,可以去试一试 ...

2020-03-31 19:27:24 96 0

原创 ffmpeg:截图、截取动图、加水印、录屏、直播

brew更新ffmpeg brew update && brew upgrade ffmpeg 截取视频中的某一帧 ffmpeg -i input.mp4 -y -f image2 -ss 8 img.jpg(截取8秒的图片) ffmpeg -i test1.mp4 -y -f i...

2020-03-23 08:46:57 115 0

原创 ffmpeg:截取音视频、连接音视频

使用ffmpeg截取音视频、连接音视频 截取音视频(-ss开始时间-t持续时间-to结束时间,00:00:00表示时分秒) ffmpeg -i input.mp3 -ss 00:00:05 -to 00:00:10 -acodec copy output.mp3 ffmpeg -i input....

2020-03-17 09:18:01 63 0

原创 ffmpeg:提取音视频、合并音视频

使用ffmpeg提取音视频,截取音视频 博主的上一篇文章谈了一些ffmepg的基本音视频参数,这次这篇就基于上一篇扩展一些操作噢~ 提取视频文件(提取出的视频无声音) ffmpeg -i input.mp4 -vcodec copy -an output.mp4 参数解析: 【-vcodec c...

2020-03-10 13:57:25 186 0

原创 ffmpeg:码率控制模式、编码方式

码率控制模式 码率控制:码率控制是在决定为每一个帧画面分配多少比特数,这是在权衡文件体积和画面质量 在ffmpeg里支持一下三种码率控制模式: -qp(constant quantizer恒定量化器模式) 所谓的量化器就是利用特殊算法将画质转化为数字,这样的话每一帧的画质都可以通过量化参数来判定。...

2020-03-08 12:12:05 177 0

原创 ffmepg:使用ffmpeg转换音视频格式

使用ffmpeg对音视频进行相关操作 转换音频格式 ffmpeg -i input.mp3 output.wav //把mp3文件转换为wav文件 ffmpeg -i input.wav -acodec libmp3lame -aq 4 -ar 44100 -ab 320k -ac 2 outpu...

2020-03-04 13:16:03 244 0

原创 Debian下root用户bash高亮显示

只需要将ls等命令的–color选项打开即可, 而这些都已存在,只需将~/.bashrc中的注释恢复即可,如下 vim ~/.bashrc 修改成如下即可

2020-01-14 19:02:25 83 0

原创 C++:define和const的区别

define和const的区别 define定义的常量是没有类型的,如#define MAX 255,编译器只是把定义的变量名和变量值对应起来;const定义的常量是有类型的,存放在静态区中,如const float MAX = 255;。也正是因为define无类型,所以没有类型安全的检查就有...

2019-12-18 20:08:46 30 0

原创 ffmpeg:文件格式、封装格式、编码

文件格式 我们经常看见的视频都是以.mp4 .flv等作为后缀名,这是视频的文件格式。 文件格式的作用是方便系统识别,并关联这些文件,好让相应的文件由相应的程序打开。 这些后缀名可以随便改,不会对文件有任何影响,如果打开出错的话再改回来就行。 封装格式 这些视频的后缀其实也叫视频的封装格式,简称视...

2019-12-13 14:32:07 309 0

原创 ffmpeg:入门简单命令的使用

使用ffmpeg对音频进行相关操作

2019-12-07 15:48:23 100 0

原创 ffmpeg:简介和安装 / 更新

ffmpeg的简介和安装 简介 ffmpeg全称Fast Forward Mpeg,是一套用来处理视频和音频的开源工具库。它提供了录制,转换,流媒体,以及后期处理的完整解决方案,并且具有非常高的质量和可移植性。 总之就是非常强大!!!o(*≧▽≦)ツ 安装 1.首先登陆官网,下载你需要的安装包 h...

2019-12-01 16:43:18 128 0

原创 Python:Python序列的切片操作

Python序列的切片操作 序列(consequence)是 python 中一种数据结构,这种数据结构根据索引来获取序列中的对象。 一般说来,具有序列结构的数据类型都可以使用:index, len, max, min, in, +, *, 切片。如: a="abcdefg" ...

2019-11-25 10:36:34 224 0

原创 Linux:进程控制(创建、终止、等待、替换)

进程控制(创建、终止、等待、替换) 进程创建(fork) fork之后系统里多了一个进程,也就意味着多了一套PCB。 fork(用于创建子进程) #include <unistd.h> pid_t fork(void); fork函数...

2019-11-20 18:00:38 36 0

原创 Linux:读者写者模型(读写锁)

读者写者模型(读写锁) 在编写多线程时,有可能会出现有些公共区域的数据修改的机会比较少,但是读的机会反而很多,也就是说写者少,读者多。那么在读的过程中往往伴随着查找的操作,耗时较长,如果给这种代码加锁的话,会导致效率的降低,因此读写锁就是针对多读少写的情况。 当前锁状态 读锁请求 写锁请求...

2019-11-16 10:51:22 39 0

原创 Linux:POSIX信号量

POSIX信号量 POSIX信号量和SystemV信号量作⽤相同,都是⽤于同步操作,达到⽆冲突的访问共享资源目的。 但POSIX可以⽤于线程间同步。 信号量本质上是一个计数器,这个计数器是用来描述临界资源当中资源数目的。信号量本身也会被多个线程申请,所以信号量本身也是临界资源,那么它要保护临界资源...

2019-11-10 11:04:40 32 0

原创 Linux:生产者消费者模型下篇(基于环形队列)

基于环形队列的生产者消费者模型 上篇讲解了生产者消费者模型以及基于BlockingQueue实现该模型,下篇这里就实现一个基于环形队列的生产者消费者模型吧!这个环形队列用数组来实现。 1.如何把数组设置一个环形的队列呢? 利用模运算来实现顺序结构的环形操作。0 ~ 9模10依然是0 ~ 9,10模...

2019-11-05 14:46:14 30 0

原创 Linux:生产者消费者模型上篇(基于BlockingQueue)

生产者消费者模型 为何要使用生产者消费者模型 生产者消费者模式就是通过一个容器来解决生产者和消费者的强耦合问题。生产者和消费者彼此之间不直接通讯,而通过阻塞队列来进行通讯,所以生产者生产完数据之后不用等待消费者处理,直接扔给阻塞队列,消费者不找生产者要数据,而是直接从阻塞队列里取,阻塞队列就相...

2019-09-11 15:10:33 53 0

原创 测试:Android使用Fiddler模拟弱网络环境测试

Android使用Fiddler模拟弱网络环境测试 现在基本上软件都会去访问互联网,但有的时候测试人员需要模拟弱网环境进行测试,但是测试人员又不可能跑到离路由器很远的地方哈哈哈,那么我们就会去采用一些工具!比如fiddler!看下方! 第一步:下载抓包软件fiddler fiddler下载网址:h...

2019-08-12 17:33:29 202 0

原创 自动化测试:Monkey环境的搭建(windows)

前言 Monkey是什么? Monkey是发送伪随机用户事件的工具流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。 Monkey在哪里? 每一台android手机里面都有Monkey工具,但是我们是看不到的,因为它不是一个可视化的工具。它不像wechat是可视化的,...

2019-07-26 17:40:36 79 0

原创 Linux(面试题):进程和线程的区别

进程和线程的区别 博主最近面试的时候被好多公司的面试官都问到了这个问题~今天整理一下|ू・ω・` ) 答这个问题我觉得从下面几个点答就好啦~ 进程和线程的概念 进程: 进程是操作系统资源分配的基本实体 线程: 线程是CPU调度和分配的基本单位 在Linux系统下是没有线程的概念的,它是用进程模拟的...

2019-07-04 19:24:02 801 2

原创 Linux:线程同步

线程同步 同步: 在保证数据安全的前提下,让线程能够按照某种特定的顺序访问临界资源,从而有效避免饥饿问题,叫做同步。 竞态条件: 因为时序问题,而导致程序异常,我们称之为竞态条件。 没有同步导致的饥饿问题: 假如有一个线程,它非常强势,它一直都在申请锁,然后申请完了释放锁,释放完了又不给别的线程留...

2019-06-14 13:45:21 1893 0

原创 数据结构:大数据处理问题

1.给定100亿个整数,设计算法找到只出现一次的整数? ①方法一 100亿个整数就是400亿个字节,42亿九千万是4G,那么1G就是10亿字节,所以要存下100亿个整数需要40G的内存空间。因此我们采用位图100亿个整数大概就是1G,但是使用位图,需要用两个位标识一个数字(两个位可以标识四种状态)...

2019-06-12 12:59:21 297 0

原创 数据结构:布隆过滤器

布隆过滤器 假如现在有40亿个ip地址(string类型),然后给你一个ip地址,让你查找这个ip地址在不在这40亿个ip地址里?我们应该怎么做呢? 如果用哈希表来处理的话,这里有40亿的数据,数据量太大,因此太占用空间 如果用位图来处理的话,这里因为是字符串,有可能不同的字符串映射的是同一个位...

2019-06-10 17:46:49 110 0

原创 C++(面试题):给40亿个不重复的无符号整数,没排过序,如何快速判断一个数是否在这40亿个数中

给40亿个不重复的无符号整数,没排过序,给你一个无符号整数,如何快速判断这个数是否在这40亿个数中? 首先看到这个题第一个想到的就是遍历一遍,看这个数在不在。但是这样的时间复杂度太高了O(N),数据量太大,因此该方法不行。 其次我们想到排序,利用二分查找,时间复杂度是O(logN),但是排序本身就...

2019-06-08 15:22:22 596 0

原创 数据结构:位图

位图 位图,就是用每一位来存放某种状态,适用于大规模数据,但数据状态又不是很多的情况。通常是用来判断某个数据存不存在的。 位图其实是用数组实现的,数组的每一个元素的每一个二进制位都可以表示一个数据在或者不在,0表示数据存在,1表示数据不存在。因为比特位只有两种状态,要不是0,要不就是1,所以位图其...

2019-06-06 16:59:02 3375 3

原创 MySQL:外键及外键的使用

外键及外键的使用 如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。 由此可见,外键表示了两个关系之间的相关联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。外键又称作外关键字。 表间关系有一对一,一对多和多对多。 首先我们举个简单的栗...

2019-06-04 12:53:18 235 0

原创 MySQL:建库建表等简单操作

库的相关操作 – 查看已有库 SHOW DATABASES; SHOW DATABASES\G – 新建库的操作 CREATE DATABASE `ET`; – 查看建库信息 SHOW CREATE DATABASE `ET`; – 把一个库设置为默认库 USE ET; – 删除库 DRO...

2019-06-02 13:21:48 703 0

原创 MySQL:MySQL下的常用类型,主键和唯一键

一、MySQL下的类型 整型 TINYINT , SMALLINT , INT , BIGINT 小数 浮点数(不是高精度) FLOAT/DOUBLE 保证精度 DECIMAL/NUMEROUS 几个坑 bit 显式的时候是 ASCII 码 CHAR 最多 255 个字符 VARCHA...

2019-05-31 10:46:31 2293 0

原创 C++(面试题):判断一个链表是否带环,求环的长度,找到环入口节点

博主面试的过程中遇到了这么一个面试题,判断一个链表是否带环,并且如果有环的话,要找到环的入口节点,并且求出环的长度~ 那么我们大家一起来分析一哈(っ•̀ω•́)っ✎⁾⁾ 假设链表的节点的结构是这样的 struct ListNode { int val; ListNode* next; }; ...

2019-05-29 18:34:13 465 2

原创 测试:如何测试微信朋友圈的点赞功能

今天我们来写一个微信朋友圈点赞功能的测试用例(っ•̀ω•́)っ✎⁾⁾ 功能测试 是否可以点赞 取消点赞 多次点赞会出现什么情况 多人点赞时的顺序是否按照时间顺序进行排列 点赞是否显示头像和名称 点赞之后能否进行评论 点赞之后退出该页面,再次进入朋友圈点赞消息是否还存在 多用户点赞,再次打开朋友圈...

2019-05-26 15:57:03 4299 1

原创 Linux:get和post的区别

HTTP定义了与服务器不同的交互方法,最常用的就是get和post。 那么我们谈一谈他俩的区别吧~ URL可见性 get:参数URL可见 post:参数URL不可见 数据传输 get:通过拼接URL进行传递参数 post:通过正文进行传递参数 传输大小 get:一般传输数据不超过2k-4k pos...

2019-05-24 10:33:20 102 0

原创 MySQL:CentOS 7通过yum安装MariaDB

如何在CentOS 7下通过yum安装MariaDB呢? 这里附上大佬的安装步骤: https://zhuanlan.zhihu.com/p/49046496 博主就是按照这个步骤来的,炒鸡详细~相信你也能看明白 |ू・ω・` ) 注意几个小点: 前面带#的操作都是在shell命令行执行的 前面...

2019-05-22 13:05:19 31 0

原创 数据结构:红黑树的旋转原理和模拟实现

红黑树的旋转原理和模拟实现 我们了解到AVL树虽然效率很高,但是它是通过多次的旋转才到达一个绝对的平衡,旋转的消耗其实也很大。因此开始引入近似平衡的一棵树----红黑树(RBTree)。红黑树每一个节点不是红色的就是黑色的,它保证了最长路径不超过最短路径的二倍。 其实一般来说使用红黑树会比AVL树...

2019-05-21 09:54:58 288 0

原创 数据结构:AVL树旋转原理和简易实现

AVL树旋转原理和简易实现 二叉搜索树虽然可以提高搜索效率,但是如果插入的数据有序时很有可能变成单支,如果变成单支树的时候,那么查找时效率也不高了。因此引入AVL树。 AVL树是当向这棵树插入节点的时候,要保证每个节点的左右子树的高度差都不超过1,如果超过1时就要对这棵树的分支进行旋转。 AVL树...

2019-05-19 14:05:01 89 0

原创 测试:如何测试一个用户登录界面

要编写一个较好的测试用例就应该从用户需求入手。 比如如何测试一个用户登录界面,那么我们就要考虑这个登录界面是弹出式的还是内嵌网页式的,同时对用户名和密码的长度,密码的强度(必须多少位,特殊字符,数字,大小写等等),另外对用户界面的美观是否有相关要求? 所以我们试着编写一下该问题的测试用例(っ•̀ω...

2019-05-17 11:46:09 4325 0

原创 C++:模拟实现list容器(支持迭代器)

模拟实现list容器(支持迭代器) 要模拟实现一个list容器,主要就是相关头插头删尾插尾删的接口,这些非常常用。 另外有一个点灰常重要!!那就是list的迭代器,list的迭代器不能用原生指针去模拟实现,因为链表的迭代器加一是下一个节点的指针,两个节点的位置并不连续。 迭代器的模拟实现 因为li...

2019-05-15 09:42:35 298 0

原创 C++:函数重载、重定义与重写

函数重载 在同一个作用域中,两个函数的函数名相同,参数个数,参数类型,参数顺序至少有一个不同,函数返回值的类型可以相同,也可以不相同。 C++中支持函数重载是因为C++中会对函数进行名字修饰。Name Mangling是一种在编译过程中,将函数、变量的名称重新改编的机制,简单来说就是编译器为了区分...

2019-05-13 13:27:04 49 0

原创 C++:多态

多态 一、多态的概念 多态的概念:通俗来说,就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同的状态。 举个栗子吧: 比如买票这个行为,当普通人买票时,是全价买票;学生买票时,是半价买票;军人买票时是优先买票。 ...

2019-05-11 14:10:48 58 0

原创 C++:菱形继承及菱形虚拟继承

复杂的菱形继承及菱形虚拟继承 基于博主的上篇文章大家肯定都知道了继承的相关概念。那么我们再来了解一下复杂的菱形继承及菱形虚拟继承。 单继承:一个子类只有一个直接父类时称这个继承关系为单继承 多继承:一个子类有两个或以上直接父类时称这个继承关系为多继承 菱形继承:菱形继承是多继承的一种特殊情况 ...

2019-05-08 12:35:21 68 0

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