自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Sqlalchemy 常用方法

求分位数 Clickhouse : quantile(level)(expr)3. 子查询 subquery, 使用子查询时,字段用.c。不等于null: isnot(None)4. 开窗函数:over。2. 常量使用text。

2023-08-01 14:47:48 386

原创 clickhouse 问题汇总

报错:Code: 44. DB::Exception: Sorting key contains nullable columns, but merge tree setting `allow_nullable_key` is disabled.建表语句后加 settings allow_nullable_key=1;order by 中有Nullable字段。

2023-04-06 14:24:17 1417

原创 windows 下docker 安装clickhouse

DBeaver安装好后,打开DBeaver,点击“文件”菜单下方的“+”(新建连接)按钮,找到ClickHouse数据库类型,然后在弹出来的对话框中输入主机(连接地址)、端口号、账户和密码,然后点击“测试连接”按钮测试是否连接成功。将下载下来的Docker Desktop Installer.exe文件双击进行安装即可,安装完成后,任务栏会出现一个蓝色的小鲸鱼图标(注意安装完成后可能会重启系统)然后在CMD中执行如下命令,映射端口8123、9000、9009,数据、配置、日志映射到Windows硬盘。

2023-03-10 14:10:16 1592

原创 pycharm如何配置anaconda的环境

pycharm选择/配置conda环境

2022-11-04 23:55:52 9762 2

原创 hive sql—开窗函数—累积求和和滑动求和

hive sql—开窗函数—累积求和和滑动求和

2022-11-03 11:44:43 6541 1

原创 fastapi 在中间件中获取requestBody

fastapi 在中间件中获取requestBody

2022-10-20 18:04:40 2497 1

原创 MAC 创建crontab任务一直不执行的原因

使用python脚本,可能任务还是不执行,主要的原因是:crontab中找不到python的路径。如果文件没有内容,说明crontab不能执行,问题点出在了mac的系统上,看第3步。设置一个定时任务,任务如下,该任务在linux服务器上是可以执行的。这个时候需要使用python的绝对路径以及脚本的绝对路径。需要按照一下步骤执行,肯定能搞定,如果还搞不定,私信我。如果文件有内容,说明能执行。1、确保crontab在mac上是运行的。但是这个任务在mac上是不能执行的。3、mac开启crontab的权限。

2022-09-14 20:14:22 2255 2

原创 git常用命令

gitcheckout-bac_branchorigin/ac_branch这才是拉取远程分支ac_branch到本地。gitcheckout-bac_branchorigin/ac_branch拉取远程分支到本地(方式一)gitfetchoriginac_branchac_branch拉取远程分支到本地(方式二)情况二本地已经拉取了代码,想拉取远程某一分支的代码到本地。2、在本地创建一个分支与远程分支对应。3、在本地创建一个分支与远程分支对应。...

2022-07-20 11:52:40 8756

原创 【无标题】format有括号 {},保留原括号

formate中候大括号是特殊转义字符 , 字符串中有{} 的情况下,如果使用format, 会报错:可以将{替换成{{, }替换成}}

2022-07-11 14:19:23 421

转载 在Redis中进行分页排序查询

Redis是一个高效的内存数据库,它支持包括、、、和等数据类型的存储,在Redis中通常根据数据的key查询其value值,Redis没有条件查询,在面对一些需要分页或排序的场景时(如评论,时间线),Redis就不太好不处理了。前段时间在项目中需要将每个主题下的用户的评论组装好写入Redis中,每个主题会有一个topicId,每一条评论会和topicId关联起来,得到大致的数据模型如下:{ topicId: 'xxxxxxxx', comments: [ {

2022-06-08 15:55:32 5509

原创 redis做缓存时,如何实现查询筛选

redis作为NoSQL数据库,经常用作缓存,所以推荐将那些经常查询的数据存入redis中方便下次快速获取。但redis没有像关系型数据库那样拥有结构化的查询语言,如果缓存了很多数据,想从中获取满足某些条件的数据时,该如何做呢? 如果把这些海量数据从redis里拿出来,逐个遍历筛选出满足条件的数据,这肯定不可行! 可以通过在把这些海量数据存入redis时,把满足各种条件的数据的key同时也存入redis的set类型中就可以方便下次根据这些条件查询了。 比如user表的数据经常被

2022-06-08 15:07:50 4565

原创 python之logging配置日志的三种方式

以下3种方式来配置logging:需要说明的是,也属于第一种方式,它只是对loggers, handlers和formatters的配置函数进行了封装。另外,第二种配置方式相对于第一种配置方式的优点在于,它将配置信息和代码进行了分离,这一方面降低了日志的维护成本,同时还使得非开发人员也能够去很容易地修改日志配置。代码如下:运行输出:二、使用配置文件和fileConfig()函数实现日志配置现在我们通过配置文件的方式来实现与上面同样的功能:配置文件内容如下:运行输出:1.

2022-06-06 12:15:05 4627 1

原创 外观模式(门面模式)

模式定义外观模式(Facade Pattern):外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。外观模式又称为门面模式,它是一种对象结构型模式。模式结构外观模式包含如下角色:Facade: 外观角色 SubSystem:子系统角色例子:(火警报警器)假设有一组火警报警系统,由三个子元件构成:一个警报器,一个喷水器,一个自动拨打电话的装置。其抽象如下:class Ala

2021-04-08 17:29:30 205

原创 装饰器模式

模式动机一般有两种方式可以实现给一个类或对象增加行为:继承机制,使用继承机制是给现有类添加功能的一种有效途径,通过继承一个现有类可以使得子类在拥有自身方法的同时还拥有父类的方法。但是这种方法是静态的,用户不能控制增加行为的方式和时机。 关联机制,即将一个类的对象嵌入另一个对象中,由另一个对象来决定是否调用嵌入对象的行为以便扩展自己的行为,我们称这个嵌入的对象为装饰器(Decorator)装饰模式以对客户透明的方式动态地给一个对象附加上更多的责任,换言之,客户端并不会觉得对象在装饰前和装饰后有什.

2021-04-08 17:02:41 138

原创 桥接模式

模式动机设想如果要绘制矩形、圆形、椭圆、正方形,我们至少需要4个形状类,但是如果绘制的图形需要具有不同的颜色,如红色、绿色、蓝色等,此时至少有如下两种设计方案:第一种设计方案是为每一种形状都提供一套各种颜色的版本。 第二种设计方案是根据实际需要对形状和颜色进行组合对于有两个变化维度(即两个变化的原因)的系统,采用方案二来进行设计系统中类的个数更少,且系统扩展更为方便。设计方案二即是桥接模式的应用。桥接模式将继承关系转换为关联关系,从而降低了类与类之间的耦合,减少了代码编写量。模式定义桥接

2021-04-08 16:43:28 132

原创 适配器模式

模式动机在软件开发中采用类似于电源适配器的设计和编码技巧被称为适配器模式。 通常情况下,客户端可以通过目标类的接口访问它所提供的服务。有时,现有的类可以满足客户类的功能需要,但是它所提供的接口不一定是客户类所期望的,这可能是因为现有类中方法名与目标类中定义的方法名不一致等原因所导致的。 在这种情况下,现有的接口需要转化为客户类期望的接口,这样保证了对现有类的重用。如果不进行这样的转化,客户类就不能利用现有类所提供的功能,适配器模式可以完成这样的转化。 在适配器模式中可以定义一个包装类,包装不兼容接

2021-04-08 16:06:10 137

原创 单例模式

模式动机对于系统中的某些类来说,只有一个实例很重要,例如,一个系统中可以存在多个打印任务,但是只能有一个正在工作的任务;一个系统只能有一个窗口管理器或文件系统;一个系统只能有一个计时工具或ID(序号)生成器。如何保证一个类只有一个实例并且这个实例易于被访问呢?定义一个全局变量可以确保对象随时都可以被访问,但不能防止我们实例化多个对象。一个更好的解决办法是让类自身负责保存它的唯一实例。这个类可以保证没有其他实例被创建,并且它可以提供一个访问该实例的方法。这就是单例模式的模式动机。定义单例模

2021-04-08 15:54:52 114

原创 建造者模式(生成器模式)

动机:无论是在现实世界中还是在软件系统中,都存在一些复杂的对象,它们拥有多个组成部分,如汽车,它包括车轮、方向盘、发送机等各种部件。而对于大多数用户而言,无须知道这些部件的装配细节,也几乎不会使用单独某个部件,而是使用一辆完整的汽车,可以通过建造者模式对其进行设计与描述,建造者模式可以将部件和其组装过程分开,一步一步创建一个复杂的对象。用户只需要指定复杂对象的类型就可以得到该对象,而无须知道其内部的具体构造细节。在软件开发中,也存在大量类似汽车一样的复杂对象,它们拥有一系列成员属性,这些成员属...

2021-04-08 15:20:48 140

原创 抽象工厂模式

模式动机: 在工厂方法模式中具体工厂负责生产具体的产品,每一个具体工厂对应一种具体产品,工厂方法也具有唯一性,一般情况下,一个具体工厂中只有一个工厂方法或者一组重载的工厂方法。但是有时候我们需要一个工厂可以提供多个产品对象,而不是单一的产品对象。 为了更清晰地理解工厂方法模式,需要先引入两个概念: 产品等级结构:产品等级结构即产品的继承结构,如一个抽象类是电视机,其子类有海尔电视机、海信电视机、TCL电视机,则抽象电视机与具体品牌的电视机之间构成了一个产品等级结构,抽象电视机是父类,而具.

2021-04-08 14:37:04 179

原创 工厂方法模式

工厂方法模式是简单工厂模式的进一步抽象和推广。在工厂方法模式中,核心的工厂类不再负责所有产品的创建,而是将具体创建工作交给子类去做。这个核心类仅仅负责给出具体工厂必须实现的接口,而不负责产品类被实例化这种细节,这使得工厂方法模式可以允许系统在不修改工厂角色的情况下引进新产品。工厂方法模式包含如下角色:Product:抽象产品 ConcreteProduct:具体产品 Factory:抽象工厂 ConcreteFactory:具体工厂示例:想必大家一定见过类似于麦当劳自助点餐台一类的点餐系

2021-04-08 14:25:14 124

原创 简单工厂模式

模式结构: Factory:工厂角色 工厂角色负责实现创建所有实例的内部逻辑 Product:抽象产品角色 抽象产品角色是所创建的所有对象的父类,负责描述所有实例所共有的公共接口 ConcreteProduct:具体产品角色 具体产品角色是创建目标,所有创建的对象都充当这个角色的某个具体类的实例。 优点:工厂类含有必要的判断逻辑,可以决定在什么时候创建哪一个产品类的实例,客户端可以免除直接创建产品对象的责任,而仅仅“消费”产品;简单工厂模式通过这种做

2021-04-08 14:12:28 172

原创 python调整视频播放速度

播放视频时许多播放器都可以设置播放倍速,那么用python可以调整视频播放的速度吗?答案当然是可以喽假如我们想将视频以0.5倍的速度播放怎么做呢代码如下:video= r'video.mp4'resultFile= r'result.mp4'video = VideoFileClip(video)duration = video.durationvideo = video.fl_time(lambda t: 0.5*t, appl

2020-07-15 11:57:25 5991

原创 python 将视频旋转

利用moviepy可以将视频位置旋转。用到的方法是rotate如下原视频片段from moviepy.editor import *aviFileName = r'video.mp4'resultFileName = r'rotate.mp4'video = VideoFileClip(aviFileName)size = video.w, video.hsub_videos = [video.subclip(0,1).rotate(90).resize(size), #逆时针

2020-07-15 11:47:18 4580 2

原创 利用python将视频转换成动图

之前的博客里提到,csdn只支持url视频,所以想把一些自己的短视频直接上传时,我们可以把视频转换成动图上传。这里附上方法:from moviepy.editor import *video = "需要转换成动图的视频.mp4"clip=VideoFileClip(video)clip = clip.set_duration(clip.duration)clip.write_gif("output.gif",fps=8) 假如视频很大,我们可以调整分辨率大小以及改变帧数来达到我

2020-07-15 11:25:56 805

原创 使用moviepy为视频添加字幕

目录一、添加字幕二、字幕逐词出现效果一、添加字幕首先在网上找一段无版权视频截取前4秒,开始实验。为了展示效果,上视频。。。发现csdn只支持url视频。emm.......没关系,使用moviepy将视频转成gif截取后原视频:加字幕后:下面开始正题。实现:为一段十秒钟的视频添加字幕。sentences = [('moviepy,如何给视频添加字幕', 0, 3), ('设定字幕开始时间', 4, 2), .

2020-06-29 16:13:40 4751 1

原创 moviepy 视频剪辑,拼接,合成

在视频处理中常会遇见需要将两段视频剪切拼接的问题。怎样用moviepy解决呢?一、剪切视频1.subclipfrom moviepy.editor import *aviFileName1 = r'待处理视频1.mp4'aviFileName2 = r'待处理视频2.mp4'aviFileNameResult = r'D:\录屏视频\合成、带字幕.mp4'video1 = VideoFileClip(aviFileName1).subclip(t_start=3, .

2020-06-29 11:58:06 2933

原创 使用python的moviepy做视频版权、logo添加

logo一般分成两种,一种自定义文字,一种图片logo一、自定义文字logo实现目标:自定义文字logo,在整个视频过程中,让logo在视频的任意位置随机出现10次。以增加视频被去除logo的难度。times_list:计算出现10次,每次应该在某一位置停留的时长。 def add_logo( video): times = video.duration n = 10 #在不同位置出现10次 times_list = [i*(t.

2020-06-29 11:25:29 2475

原创 moviepy对视频中音频的提取、删除、添加

提取视频中的音频from moviepy.editor import *video_path = 'my_video.avi' #视频地址audio_path = 'my_audio.mp3' #提取音频保存位置video = VideoFileClip(video_path)video.audio.write_audiofile(audio_path)将一段视频中的音频删除,保存为无声视频old_video = '有声音.avi'new_video = '无声音.av.

2020-06-16 11:36:00 6758

原创 python 利用moviepy覆盖视频中某区域画面

处理视频时,会遇到想要遮住某一区域的问题,比如去除视频中的logo,二维码,某一段时间出现的场景等等......方法一、利用ColorClip生成颜色块覆盖def hide(src, dst): video = VideoFileClip(video_src) mask = (ColorClip((220, 200), (255, 255, 255)) .set_positon((1300, 500)) .set_duration(.

2020-06-04 14:36:08 2370

原创 liunx 环境下 python模块numpy,scipy,matplotlib 安装

NumPy是一个定义了数值数组和矩阵类型和它们的基本运算的语言扩展。SciPy是另一种使用NumPy来做高等数学、信号处理、优化、统计和许多其它科学任务的语言扩展。Matplotlib是一个帮助绘图的语言扩展。1.首先安装Numpy,它是matplotlib的先行包,里面的很多图形处理函数都要依赖numpy里的数学计算。  1)在Debian或Ubunt

2017-08-10 10:33:49 674

原创 liunx 环境下 python模块pygame 安装

一、使用pip安装Python包    大多数较新的Python版本都自带pip,因此首先可检查系统是否已经安装了pip。在Python3中,pip有时被称为pip3.    1、在Linux和OS X系统中检查是否安装了pip    打开一个终端窗口,并执行如下命令:    Python2.7中:    $ pip --version    pip 8

2017-08-01 14:23:59 681 1

原创 oracle表管理及常用命令

第三章 表的管理一、表名命名规则1.必须以字母开头2.长度不能超过30字符3.不能使用oracle保留字4.只能使用如下字符A-Z,a-z,0-9,$,#等二、oracle支持的数据类型1.字符型char 定长,最长为2000 例:create table users(userName char(10),...)varchar2(),变长,最大4000字

2016-11-13 16:53:14 409

原创 oracle基本命令

本文属于本人在学习oracle中积累的一些知识点,属小白篇,有错误之处,欢迎大神指正,若能帮助到其他同胞的,深觉O(∩_∩)O~第一章 基础命令一、连接命令1.conn 连接oracle用户conn user/password  2.disc[onnect]   断开与当前数据库的连接3.passw[ord]  修改密码SQL> passw4.sho

2016-11-13 16:26:15 384

空空如也

空空如也

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

TA关注的人

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