0%

一、同步任务与异步任务

首先,我们需要搞清楚同步任务和异步任务的概念以及工作原理。

同步任务

同步任务指的是在主线程上排队执行的任务,只有前一个任务执行完毕,才能执行后一个任务。

异步任务

异步任务指的是刚开始不进入主线程,当主线程的任务执行完了之后再调用异步任务,异步任务任务才会进入主线程执行。(setTimeout, setInterval,promise,process.NextTick)

阅读全文 »

1、导入moviepy的包

1
from moviepy.editor import *

2、读取视频到内存

1
video = VideoFileClip(path)

由此得到了一个VideoFileClip的对象,可通过对此对象的操作,实现对视频的操作。

3、对视频进行剪切

1
videoclip = video.subclip(time1, time2)

time1:起始时长,time2:终止时长 ,单位均为秒。

videoclip是从时长time1到time2的视频的对象。

阅读全文 »

一、安装 fastdfs 依赖包

  1. 解压缩 libfastcommon-master.zip
  2. 进入到 libfastcommon-master 的目录中
  3. 执行 ./make.sh
  4. 执行 sudo ./make.sh install

二、安装 fastdfs

  1. 解压缩 fastdfs-master.zip
  2. 进入到 fastdfs-master 目录中
  3. 执行 ./make.sh
  4. 执行 sudo ./make.sh install

三、配置跟踪服务器tracker

  1. 执行sudo cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
  2. 在 /home/python/ 目录中创建目录 fastdfs/tracker,mkdir –p /data/home/silence/FastDFS/fastdfs/tracker
  3. 编辑 /etc/fdfs/tracker.conf 配置文件 sudo vim /etc/fdfs/tracker.conf,修改 base_path=/data/home/silence/FastDFS/fastdfs/tracker
阅读全文 »

本机Linux中使用redis出现的问题

1、无论是在命令行修改配置文件,还是直接打开配置文件修改,重启之后配置文被重置,尽管打开配置文件发现是自己已经修改过的内容,但是在命令行使用config get 查询之后与自己修改过的内容不一样。

真的很奇怪!!!

2、所以,每次启动redis都需要重新在命令行用config set修改配置文件,以满足自己的需求。

阅读全文 »

我在安装过程中遇到的问题

1、执行指令:sudo apt-get install mysql-server mysql-client后报错:没有发现软件mysql-server 没有发现软件mysql-client

2、上网查询后,说要更换deepin的下载源,所以我先后试了阿里和中科大的镜像源,但还是报一样的错误。

解决方法

确实是要更换镜像源,不过要换成清华的源。

具体方法如下:

1、执行命令:vi /etc/apt/sources.list编辑sources.list文件。

2、将原文件中的所有内容注释掉,然后添加deb [by-hash=force] https://mirrors.tuna.tsinghua.edu.cn/deepin panda main contrib non-free,保存退出。

3、执行sudo apt-get update,更新下载源。

4、执行sudo apt-get install mysql-server mysql-client,安装成功。


2021.10.17 更新

由于 deepin 系统仓库的原因,不能直接 apt 安装 mysql,清华源以及其他源都没有 mysql-server 和 mysql-client 两个包。不过我们可以用 mariadb 来代替 mysql。

MariaDB 介绍

MariaDB数据库管理系统是 MySQL 的一个分支,主要由开源社区在维护,采用 GPL 授权许可。开发这个分支的原因之一是: 甲骨文公司收购了 MySQL 后,有将 MySQL 闭源的潜在风险,因此社区采用分支的方式来避开这个风险。 MariaDB的目的是完全兼容 MySQL,包括 API 和命令行,使之能轻松成为 MySQL 的代替品。

这意味着,所有使用 MySQL 的连接器、程序库和应用程序也将可以在 MariaDB 下工作。

所以,MariaDB 完全可以替代 MySQL。


deepin 安装 MariaDB

打开终端执行以下指令:

1
2
3
sudo apt-get install mariadb-server

sudo apt-get install libmariadbclient-dev libssl-dev

安装完成。

启动数据库:

1
sudo systemctl start mysql

现在就可以开启 MariaDB 数据库了。第一次进入不需要密码,直接执行:

1
mysql

进入后可以设置密码:

1
2
3
4
MariaDB [(none)]> use mysql;
MariaDB [mysql]> UPDATE mysql.user SET password=PASSWORD('newpassward') WHERE user='root';
MariaDB [mysql]> UPDATE user SET plugin="mysql_native_password";
MariaDB [mysql]> FLUSH PRIVILEGES;

退出再登陆就需要执行:

1
mysql -u root -p

其实很简单,只需要三步

第一步:从windows下的mysql导出

打开cmd,执行以下指令:

1
mysqldump -u root -p 数据库名>文件名

例如:

1
mysqldump -u root -p dailyfresh>D:database.txt
第二步:将生成的database.txt文件复制到linux中,比如桌面
第三步:在linux下的mysql导入

打开终端,执行以下指令:

1
mysql -u root -p 数据库名<文件名

例如:

1
mysql -u root -p dailyfresh</data/home/silence/desktop/database.txt

注意:此时可能会报错:Unknown collation: 'utf8mb4_0900_ai_ci'

解决方法:

  • 打开导出的database.text文件
  • 将文件中所有的utf8mb4_0900_ai_ci替换为utf8_general_cutf8mb4替换为utf8

进入mysql查看是否迁移成功。

HTML 的一些重要概念

堆叠上下文

概念

堆叠上下文是 HTML 元素的三维概念,这些 HTML 元素在一条假想的相对于面向(电脑屏幕的)视窗或者网页的用户的 z 轴上延伸,HTML 元素依据其自身属性按照优先级顺序占用层叠上下文的空间。

简单来说,为了让 HTML 元素在网页上绘制时有个前后的顺序(z 轴),这时就要产生堆叠上下文来进行比较元素在 z 轴的位置。

阅读全文 »

视频中提取音频

OpenCV中使用VideoCapture类写的视频是没有音频的,如果要进一步处理音频则需要用到一个库——MoviePy,这个库是Python视频编辑库,可裁剪、拼接、标题插入、视频合成、视频处理和自定义效果。

安装

1
pip install moviepy

代码

1
2
3
4
5
6
7
from moviepy.editor import *

path = '' #视频所在路径

video = VideoFileClip(path) #创建视频对象
audio = video.audio #创建视频对应的音频对象
audio.write_audiofile('路径') #将得到的音频写出到路径,通常导出为mp3格式
阅读全文 »

pip 下载速度慢,导致报错:pip._vendor.urllib3.exceptions.ReadTimeoutError……

python开发中,我们经常用到pip工具,然而,有时候下载速度非常慢……

解决方法:

更改电脑默认镜像,之后便可用 pip install 命令快速下载

1、在我的电脑,搜索 %APPDATA%(代表系统变量),搜索之后的路径的应该为C:\Users\Administrator\AppData\Roaming

2、在此路径下新建文件夹pip,进入文件夹,新建pip.ini文件,添加如下代码:

1
2
3
4
5
6
7
[global]

timeout = 6000

index-url = http://mirrors.aliyun.com/pypi/simple/

trusted-host = mirrors.aliyun.com

即可成功修改pip镜像路径。

3、现在就可以使用pip install进行高速下载。

修改第三方组件

这里我们要重写第三方组件,但是不能直接重写,否则没有效果,解决方法如下:

1、重写第三方组件之后去掉<style scoped>中的scoped,但是这样会造成组件之间的样式污染。

2、去掉<style scoped>中的scoped之后,将本页面中所有样式包裹在一个class里面,避免污染其他页面。

3、使用/deep/穿透(推荐使用)。

deep穿透

vue引用了第三方组件,需要在组件中局部修改第三方组件的样式,而又不想去除scoped属性造成组件之间的样式污染。此时只能通过>>>,穿透scoped

有些Sass 之类的预处理器无法正确解析 >>>。可以使用 /deep/ 操作符( >>> 的别名)。

用法如下:

1
2
3
4
5
6
7
8
9
<style scoped>

/deep/ 第三方组件 {

样式

}

</style>
修改第三方组件
  1. 打开vue页面,点击右键检查;
  2. 选中想要修改的组件,查看其样式,并将所有有关该组件的样式都复制粘贴到<style>中;
  3. 修改其中的属性值;
  4. 使用/deep/穿透。

重定向

打开router/index.js文件,添加如下代码:

1
2
3
4
5
{
// 重定向
path: '/',
redirect: '/index'
}

将根地址重定向到/index