自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 c++多种情况不同概率下,在范围内使用随机数

多种情况不同概率下,在范围内使用随机数。比如有5种情况,每种情况的概率不相同,有的概率为25,有的为15.在五种概率情况下,通过生成随机数从五类中抽取一个随机结果。使用random库的函数来生成随机数。

2023-08-23 16:27:31 241

原创 gunicorn常用参数命令

其中–log-level=info为开启日志,通常生产环境为info级别,调试为debug级别。上述启动仍然有明显的问题,就是会占用一个终端会话。其中gunicorn为启动gunicorn服务器。以上命令会在每次启动的时候重写run.log,如果我们想要追加的方式则只需要在将4后面的>参数改为>>。其中,一个 Gunicorn 的主进程, 4 个进程是 Gunicorn 的 worker 进程。如上命令就启动了4个并行进程。这样启动只有一个进程,开启多进程的参数为–workers=打开网站查看运行情况。

2023-05-19 17:04:34 1238

原创 前端浮动弹框(鼠标移动到该区域,该区域下方出现弹框,移走消失)

web前端浮动弹框显示与隐藏

2023-03-16 15:54:01 2155

原创 我的创作纪念日

我的创作纪念日

2023-02-20 15:01:31 111 2

原创 在XXX中找到了XXX的副本,但是当前代码与XXX中内置的版本不同【几种解决方案】

在XXX中找到了XXX的副本,但是当前代码与XXX中内置的版本不同

2023-01-19 15:54:56 2731 1

原创 mysql报错:1264-Out of range value for column ‘字段‘ at row 1

发现程序部分内容写不到数据库,于是来排查是否为数据库的问题。mysql数据库报错:1264-Out of range value for column 'guild_leader_id' at row 1。

2022-10-11 20:38:12 8697

原创 git合并已测试通过的开发分支到主分支

git开发分支合并到master分支

2022-10-04 22:53:49 761

原创 C++的.和->的区别

C++的.和->运算符的区别

2022-09-07 15:51:52 3273

转载 C++基本数据类型及其长度范围

C++基本数据类型长度

2022-08-29 19:57:58 1306

原创 mysql增加数据表的字段(ALTER)

mysql增加数据表的字段(ALTER语句)

2022-06-08 21:22:51 13567

原创 git多人开发,合并开发分支到测试分支(流程规范)

git合并到测试假设我们在dev分支上开发完成,要部署到测试服务器本地操作先在命令行git pull 拉取最新的提交信息(主要是为了拉取master)先新建一个临时分支(基于远程master分支)合并自己开发分支,如果有冲突解决冲突。合并后这个就是自己后面要提交的分支推送临时分支,到自己的远程开发分支删除自己的开发分支将自己的临时分支,重命名为自己的开发的分支git pullgit checkout -b temp origin/mastergit merge dev #

2022-05-24 18:26:09 2252

原创 mysql查询数据不准确与隐式转换

在api中,别人传了一组不正确的id格式,我们发现仍然能查到数据。查的attachment_id的字段等于232183.jpg,发现还能查到232183。经过对比,我们发现数据类型不一致。用了字符串类型去查,可以查到int类型。这是由于做了隐式转换。假设按照232183.jpg去查,查询结果应该为空才对,为什么会将id为232183的数据查询出来呢?那是因为将’232183.jpg’强制转换为int时,只保留了232183,而后面的.jpg被抛弃掉。这也就是我们这个查询结果不准确的原因。关于隐式

2022-05-23 20:13:06 533

原创 Apipost(ubuntu)安装与基础使用

https://www.apipost.cn/download.html首先去如上官网下载,如图选择下载。完成后根据下载的文件名来解压tar zxvf apipost_linuxgz_x64_6.1.2.tar.gz 解压后的文件可能在该目录下,叫linux-unpacked 。然后我们进入该目录,并执行apipost。即可打开工具。命令如下:cd linux-unpacked/./apipost6打开网页找到接口测试一下执行的结果可以在apipost软件看到,以及请求的参数可以在终

2022-05-10 19:59:05 1137

原创 强制卸载奇安信天擎

先直接上教程1…右键奇安信,设置-》防护中心-》自我保护。关闭自我保护模式2.右击软件》到文件所在位置,然后进入EntClient\conf\EntBase.dat。找到EntBase.dat3.打开该EntBase.dat文件。把以上两个值uienable和qtenable 都设置为0,这的意思是关闭密码保护,保存后关闭文件。4.然后就可以直接卸载这个软件了教程结束吐槽一下。这个流氓软件下载容易,卸载还需要密码。关闭密码保护还操作不了,还得先关闭自我保护,然后再去文件关闭密码采能卸载。捆

2022-03-29 20:18:38 73010 23

原创 正则匹配字符中含小数点的数字(不同设备的版本信息)

用一个正则表达式,匹配出如下两类字符串中软件版本信息,huawei=“VRP ® software, Version 5.160 (NE20E V600R008C10SPC300)”maipu = “MP7300 version 8.1.0.30R(integrity), compiled on May 31 2016, 19:30:36”import redef find_version(original):

2022-03-17 20:12:46 631

原创 python代码优化基本方法记录

.使用生成器,可以节省大量内存。拼接字符串时候,不采用+。+内存会先创建一个新字符串,然后将两个旧字符串拼接,再复制到新字符串。采用format,%s,join;。.循环代码优化。减少循环次数,降低时间复杂度、避免过多重复代码的执行。将可直接判断的、循环次数少的,放在前面执行。多使用内置函数。如set,dict。查找元素的复杂度仅为1。.多进程,多线程,协程。.多个if else条件判断,可以把最有可能先发生的条件放到前面写,可以减少判断次数。多采用多重赋值。不使用临时变量。比如:temp.

2022-03-15 15:10:02 1084

原创 反转子串【牛客】

牛客题目CM8 翻转子串简单 通过率:40.37% 时间限制:3秒 空间限制:32M描述给定2个字符串s1和s2,请判断s2是否为s1旋转而成,返回bool值。字符串中字符为英文字母和空格,区分大小写,字符串长度小于等于1000。测试样例:“Hello world”,"worldhello "返回:false“waterbottle”,“erbottlewat”返回:true思路:字符串截取并拼接,如果s1截取并拼接等于s2则属于翻转子串,遍历完s1仍不等于。则不是class R

2022-02-12 21:18:11 291

原创 python,go,rust单线程下for循环性能比较

python,go,rust都是近些年来似乎比较火的语言。本文我们使用一个循环,并统计一下运行时间,来简要对比下其性能。硬件设备:同一台windows10操作系统笔记本。pythonimport timev,sum = 0,0for i in range(10): start_time = time.time() for j in range(10000000): v = j end_time = time.time() result = end_t

2022-01-10 19:23:05 3606

原创 用go写一个计算时间(摸鱼提醒信息)的小工具

几个函数分别实现相应的功能。judgeMorningOrAfternoon 获取现在时间,判断现在是在上午还是下午getDayDiffer 传入开始与结尾时间,计算相差时间flushTime获取当前时间。隔1秒刷新一次fishingReminder 传入春节时间。调用上述一些函数,打印相关信息package mainimport ( "fmt" "os" "strconv" "time")var time_now stringvar time_sat stringvar

2021-11-22 20:43:19 2222

原创 Django ORM的get与filter的区别对比

get和filter都是条件查询语句,类似于sql语句的where。查询xx字段为xx。查询条件不同在于get的查询符合条件的返回模型类的对象符合条件的对象只能为一个,如果符合筛选条件的对象超过了一个或者没有一个都会抛出错误。filter可以查询多个对象。例:模型如下表所示采用filter查询id大于0的对象,查询id=1的对象均可查到正常的数据采用get查询id大于0的对象则无法正常拿到数据(由于返回的对象不是一个),查询id大于1和id=1的则可以正常拿到数据。返回结果不同get返回

2021-11-09 15:33:03 856

原创 Golang指针说明

指针是用来直接操作内存的,因此。指针(pointer)在Go语言中可以被拆分为两个核心概念:类型指针,允许对这个指针类型的数据进行修改,传递数据可以直接使用指针,而无须拷贝数据,类型指针不能进行偏移和运算。切片,由指向起始元素的原始指针、元素数量和容量组成。受益于这样的约束和拆分,Go语言的指针类型变量即拥有指针高效访问的特点,又不会发生指针偏移,从而避免了非法修改关键性数据的问题。同时,垃圾回收也比较容易对不会发生偏移的指针进行检索和回收。切片比原始指针具备更强大的特性,而且更为安全。切片在发

2021-10-23 16:20:35 550

原创 使用Pymysql查询mysql的常见配置信息,将查询的信息放入字典中

如果没有安装pymysql则执行以下命令安装pymysqlpip install PyMySQL安装完成后,先传入参数(安装并启动的mysql主机,用户名,密码,数据库名)进行连接mysql。import pymysqldb = pymysql.connect(host="127.0.0.1", user="root", password="123456", databas

2021-10-19 21:03:59 379

原创 python传入参数中使用split函数,对入参处理的技巧

需求如下,传入参数确认有{“version”: “6.17”, “chart_set”: “utf-8”, “database_role”: “Single”},但不确定前后是否有其它值。然后需要对传入的参数进行处理,结果只能保留该字典。法一:使用split处理。log_content = "cat: -: Bad file descriptor _____{\"version\": \"6.17\", \"chart_set\": \"utf-8\", \"database_role\": \"Sin

2021-09-04 18:21:36 373

原创 运行celery导致redis打开后自动关闭

redis报错:== REDIS BUG REPORT START: Cut & paste starting from here ===Redis version: 5.0.10[16600] 01 Sep 17:38:23.721 # — EXCEPTION_ACCESS_VIOLATION[16600] 01 Sep 17:38:23.722 # — STACK TRACEredis-server.exe!StackTraceInfo(D:\dev\GitHub\redis\src\

2021-09-04 16:54:08 611

原创 celery基本使用与报错解决

Celery是Python开发的分布式任务调度模块。Celery 通过消息机制进行通信,通常使用中间人(Broker)作为客户端和职程(Worker)调节。启动一个任务,客户端向消息队列发送一条消息,然后中间人(Broker)将消息传递给一个职程(Worker),最后由职程(Worker)进行执行中间人(Broker)分配的任务。Celery 可以有多个职程(Worker)和中间人(Broker),用来提高Celery的高可用性以及横向扩展能力。更多简介可参考celery中文手册文档。这里我们重点

2021-07-03 16:24:51 1449 1

原创 Python向hdfs写入文件与hadoop命令向hdfs写入文件

首先需要安装pyhdfs,可用如下命令安装pip install pyhdfs首先我们如果先用hadoop原生命令来操作hdfs(分布式文件系统)上传文件。命令如下hadoop fs -put /home/hadoop1/software/data/two.txt /其中-put上传,本地路径/home/hadoop1/software/data/two.txt,上传在HDFS的路径是 /使用Python来操作hdfs写入文件的代码为from pyhdfs import HdfsClien

2021-06-02 20:43:12 4571 2

原创 django多对多关系表中批量修改另一个字段的数据(一个字段不变)

django内置的批量增加方法为bulk_create,批量更新方法为bulk_update。在一些多对多的模型中我们可以使用批量创建和修改进行快速创建。但是bulk_updated()的缺点在于有时候不好传参数。那么对于调用bulk_update不好传参的数据如何批量更新呢?我们可以拆解,将批量修改可以拆分为删除和批量创建两步。举个例子,我们现在有文章表和标签表是多对多模型。模型层如下所示class Article_Tag(models.Model): article = models.Fo

2021-05-09 18:24:53 882 3

原创 使用pymysql查询数据使用where字段=““问题

使用pymysql的sql查询语句用到where时不注意可能会出现如下问题,比如pymysql.err.ProgrammingError: (1064, “You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘limit 1’ at line 1”)告诉你语法有错误。或者pymysql.e

2021-04-17 23:05:03 1425 1

原创 Python字符串中的子串拼接字符串(给逗号为分隔的每个字符串拼接字符串)

在Python中如何给字符串中的子串拼接字符串呢?思路大致是先把子串切分出来,然后遍历每个子串再进行拼接。下面我们举例一个Python给以逗号为分隔的每个字符串拼接字符串例如给如下两个test_1 = “8080,443,80”test_2=“2021”字符串拼接TCP与_的字符串。def protocol_port(name: str,ports): """ :param name: 要加的内容 :param ports: 被加的内容 :return: 要加的内

2021-04-11 19:29:31 2873

原创 将centos下载软件放到桌面或创建软连接(快捷启动centos图形化界面软件)

 使用centos系统图形化界面启动软件有多种方式,最直接的是在下载目录下,运行可执行文件启动。这种方式不仅需要记录下目录,还需要再在终端运行相关命令。  能不能像windows那样在桌面放个图标点击便捷启动呢?大多数软件是可以的。在路径**/usr/share/applications**下可以找到相应图标,然后点击拖放到桌面,如图所示我们将Vsocde拖放到桌面然后点击Trust and Launch(信任与启动),图标就显示出来了,可以通过鼠标启动了。。另一种快捷启动的方

2021-03-30 23:06:46 2142 1

原创 报错ERROR:No matching distribution found for rest_frame_swagger

ERROR:Could not find a version that satisfies the requirement rest_frame_swagger(from versions:none)ERROR:No matching distribution found for rest_frame_swagger从错误意思可以看到找不到rest_frame_swagger这个库的版本。所以就有可能是一种情况,调用库名和安装库名并不相同。而该库名安装名为django-rest-swagger。所以使

2021-03-10 23:01:37 1326

原创 panic: sql: unknown driver “mysql“ (forgotten import?)

连接mysql遇到panic: sql: unknown driver “mysql” (forgotten import?)错误,需要在调用mysql的main函数所在的文件夹下导入如下包执行init函数。_ "github.com/go-sql-driver/mysql"再来说一下为什么要在该包前加入下划线_,因为加入下划线表示只执行该库的 init 函数而不对其它导出对象进行真正地导入。因为 Go 语言的数据库驱动都会在 init 函数中注册自己,所以我们只需要加入下划线导入即可。...

2021-02-17 21:04:22 2149

原创 报错:invalid operation: done < 1 (mismatched types chan int and int)

invalid operation: done < 1 (mismatched types chan int and int)当注意力在括号里面的时候可能会疑惑这个错误,括号里面说 通道里的int和int类型不匹配,int跟uint等其他类型会不匹配怎么会跟int也不匹配呢?那么继续往前看非法操作done<1,是用了不符合语法格式的写法,改过来也很简单,仔细一点。通道发送和接收值都是用<-符号。因此把<改为**<-**即可。...

2021-02-07 23:20:26 3604

原创 使用selenium模块自动打开淘宝并进行搜索

Selenium是一个自动化测试工具,可以驱动浏览器器执行特定的动作,如点击,下拉等。可以用来进行模拟人工操作浏览器进行测试,爬虫等。如果没有安装环境可以先pip install Selenium,同时根据浏览器版本(在帮助或设置可以查看)在[http://chromedriver.storage.googleapis.com/index.html]中可以下载驱动例如下图,浏览器版本安装chromedriver_win32.zip即可。具体浏览器可以参考https://blog.csdn.net/hu

2021-01-29 23:24:54 934

原创 cannot use &total (type *uint64) as type *int64 in argument to atomic.AddInt64

cannot use &total (type uint64) as type int64 in argument to atomic.AddInt64意思就是无法将total变量(类型为uint64)用作的参数中的类型int64原子AddInt64。改正过来也很简单。将atomic.AddInt64改为atomic.AddUint64。因为total定义时为uint64,而这里将它传给了atomic.AddInt64函数(是int64类型)作为参数,因此出错。下面说一下go语言中int64和u

2021-01-25 20:39:39 2785 1

原创 go切片(常见用法操作与原理)

Golang中切片(slice)非常重要。对比数组,数组是一个由固定长度的特定类型元素组成的序列。而切片是一种简化版的动态数组,由于长度不固定,因此灵活得多。切片的结构定义,即reflect.SliceHeader:type SliceHeader struct{ ptr unsafe.Pointer Len int Cap int}由3部分构成。第一个是指向底层字节数组;第二个是切片的长度(元素的个数);第三个表示切片指向的内存空间和最大容量(对应元素的个数,而不是字节

2021-01-22 23:27:25 1315

原创 和为K的子数组(前缀和 + HashMap解法)python,golang

力扣560. 和为K的子数组给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数。示例 1 :输入:nums = [1,1,1], k = 2输出: 2 , [1,1] 与 [1,1] 为两种不同的情况。思路:我我们定义pre[i] 为 [0…i] 里所有数的和,则pre[i] 可以由 pre[i−1] 递推而来,即pre[i]=pre[i−1]+nums[i]那么「[j…i] 这个子数组和为 k,这个条件我们可以转化为pre[i]−pre[j−1]==k简

2021-01-22 00:06:51 358 1

原创 PyQt5信号与槽简单示例

信号槽是qt核心机制,也是Pyqt编程中对象之间进行通信的机制。信号与槽机制示意图如下所示:信号(Signal)就是在特定情况下被发射的事件。槽(Slot)就是对信号响应的函数。当事件或状态发生改变时,就会发出信号。同时,这个信号会触发所有与这个事件(信号)相关的函数(槽)。信号和槽可以是多对多关系。一个信号可以连接多个槽,一个槽也可以监听多个信号。下面演示两个函数# 演示单击按钮时关闭窗口,使用自定义的信号与槽函数from PyQt5.QtWidgets import *from PyQt

2021-01-09 22:57:45 583

原创 正则表达式模式与模式常见示例

正则表达式的包含的内容范围比较广,有相关语言的函数,方法,可选标志,模式等。这里我们专门介绍各种模式并给出示例。正则表达式模式:模式字符串使用特殊的语法来表示一个正则表达式:字母和数字表示他们自身。一个正则表达式模式中的字母和数字匹配同样的字符串。多数字母和数字前加一个反斜杠时会拥有不同的含义。标点符号只有被转义时才匹配自身,否则它们表示特殊的含义。反斜杠本身需要使用反斜杠转义。由于正则表达式通常都包含反斜杠,所以你最好使用原始字符串来表示它们。模式元素(如 r’\t’,等价于 \t )匹配相

2020-12-24 18:08:47 281 1

原创 彻底解决安装包过程中的Requirement already satisfied:问题

问题如图,安装库总是提示大量类似Requirement already satisfied: paddle in f:\anapython\lib\site-packages (1.0.2)的信息。对此问题,需要指定安装目录。格式:pip install --target=目标路径 工具包名字如该项目中pip install --target=D:\Users\Desktop\趋研信息\lzx_algorithm\venv\Lib\site-packages paddle环境路径可以在该项目中查

2020-12-22 15:53:33 53637 13

django+gunicorn+nginx部署

django+gunicorn+nginx部署。nginx配置

2023-06-25

空空如也

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

TA关注的人

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