自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 分库分表之后如何设计主键ID(分布式ID)?

分库分表之后如何设计主键ID(分布式ID)?

2024-06-29 20:47:25 573

原创 celery-redbeat方案(动态定时任务、异步任务)

当多个 Beat 进程或服务器同时运行时,通过获取这个锁,只有获取到锁的进程或服务器可以执行任务调度,其他进程或服务器会被阻塞等待锁的释放。同时如果这个锁存在会给锁续期。我们使用的k8s多pod服务,每个pod服务中的项目代码都是同一套一样的(不管是server还是celery还是beat),发现如果某个pod重启了,会将前面方案中的第二点中的预加载init函数(为了重置所有定时任务,防止异常数据残留)执行一次,就是会清空redis关于redbeat的数据然后重新加载数据,这就导致了所有数据和锁消失了~~

2024-06-11 16:01:36 974

原创 MySql什么时候表锁or行锁?

当你需要让整个库处于只读状态的时候,可以使用这个命令,之后其他线程的以下语句会被阻塞:数据更新语句(数据的增删改)、数据定义语句(包括建表、修改表结构等)和更新类事务的提交语句。在某些情况下,MySQL可能会自动将共享锁升级为排他锁,或者将排他锁降级为共享锁,以满足事务的需求。当一个事务对数据行或表持有排他锁时,其他事务既不能获取该数据行或表的共享锁,也不能获取排他锁。当一个事务对数据行或表持有共享锁时,其他事务也可以获取该数据行或表的共享锁,但无法获取排他锁。表锁是一种粗粒度的锁,它锁定的是整个表。

2024-06-03 21:34:15 791

原创 TCP连接出现大量TIME_WAIT?

TIME_WAIT,也称为 2MSL 等待状态,是 TCP 连接终止过程中的一个阶段。当一方主动关闭连接后,会进入 TIME_WAIT 状态,并保持该状态 2 倍的最大报文段生命周期(MSL)。默认情况下,MSL 为 2 分钟,因此 TIME_WAIT 通常持续 4 分钟。对方收到连接终止的确认(ACK)。延迟到达的任何数据包被丢弃,而不是被后续连接错误地接收。附:MSL 时间MSL,Maximum Segment Lifetime,“报文最大生存时间”

2024-05-21 21:14:29 731

原创 https为何安全?

HTTPS(超文本传输安全协议)是一种用于安全通信的网络协议,它在HTTP协议的基础上通过SSL/TLS(安全套接层/传输层安全)协议来加密数据,以保护网络数据的传输安全。

2024-05-19 19:56:17 764

原创 http和https详解

http和https

2024-05-19 11:16:40 872

原创 python实现根据配置执行不同代码块

python实现根据配置执行不同代码块

2023-03-21 17:17:35 355

转载 Redis详解(一)------ redis的简介与安装

Redis详解(一)------ redis的简介与安装

2023-03-21 11:54:23 123

原创 python django设计流水号生成,带访问加锁,重试

python django设计流水号生成,带访问加锁,重试

2023-03-20 17:03:46 465

原创 Python实现 多进程导入CSV大文件到数据库,pandas分块读取

Python实现 多进程导入CSV大文件到数据库,pandas分块读取

2023-03-15 17:35:30 2460

原创 python实现大文件切片及组装

有助于实现文件切片传输,断点续传等。

2023-03-15 11:38:32 284

原创 Python 实例方法、类方法、静态方法的区别与作用

Python 实例方法、类方法、静态方法的区别与作用

2023-03-14 16:40:54 379

原创 解决python3安装库报use_2to3 is invalid的错误

解决python3安装库报use_2to3 is invalid的错误

2022-11-16 11:47:21 984

原创 记录PaddleOcr的使用2 -- GPU

记录PaddleOcr的使用-GPU

2022-11-02 16:45:08 4746 2

原创 记录PaddleOCR的使用

PaddleOcr

2022-10-27 14:43:01 1998

原创 关于pip安装包异常 No matching distribution found for setuptools_scm

关于pip安装包异常 No matching distribution found for setuptools_scm

2022-06-23 16:33:18 3303

转载 Python虚拟环境使用方法

Python虚拟环境使用方法

2022-06-23 09:25:52 381

原创 python小技巧

python小技巧

2022-06-15 08:58:41 61

原创 使用wkhtmltopdf 将网页转PDF

使用wkhtmltopdf 将网页转PDF

2022-06-15 08:50:14 968

转载 关于 数据库关联是选择外键还是选择在业务层处理?

关于 数据库关联是选择外键还是选择在业务层处理?

2022-04-12 16:14:30 315

原创 Python decimal小数精度问题

Python decimal小数精度问题

2022-04-06 08:34:07 1575

原创 python聚合函数aggregate和annotate的小坑

最近在工作项目中发现了一个坑,就是关于aggregate和annotate这两个聚合函数的区别用法。现在百度上很多搜索的答案对初学者不是很友好,就是直接给出了一句代码,然后也不讲清楚,就用 annotate后的结果 取第一条(如:a[0]) 取值。这样就导致很多初学者也不会去思考太多,直接copy下来就用,最后导致数据汇总有问题(也不止初学者了,项目组里面有些工作了几年的人都不知道二者区别,也是百度到了直接copy用)annotate 是分组聚合,返回的结果是一个列表,是根据排序字段把同类分组后再按组

2021-08-03 15:05:55 664

原创 Python去除小数点后面多余的0

最近做项目遇到一个问题,数据全部要求deciaml格式,如果是6位小数就导致1.00000这种情况的存在,百度了很多,这里吐槽一下百度真的不行。最后查到了一个方法,这里记录一下举个例子 数字 100.2000第一次 这么使用 Decimal(‘100.2000’).normalize() 得到的结果 100.2是想要的结果。可是 normalize()有个问题,如果是100.00000 同样Decimal(‘100.0000’).normalize()得到的结果就是1E+2那么这种情况怎么办呢,

2021-07-04 09:29:34 9883

原创 python中数组,列表,元组的区别、定义、功能

首先,准确的来说,在python中是没有数组类型的,python中取而代之的是列表和元组。列表比元组好用,因为元组一旦定义就没法修改。而列表不仅可以和数组一样按索引访问,还有一堆的功能。列表和元组相比,可直接调用的函数更多也可以进行更改,但是元组一经定义就无法更改,所以首推列表。如果非要使用数组,咱们python也有,用python中的numpy库可以实现对数组的定义:列表是由一系列按特定顺序排列的元素组成,可以将任何东西加入列表中,其中的元素之间没有任何关系; Python中的列表(list)用于顺序存

2021-04-21 16:37:21 646

原创 Python Django报错UnorderedObjectListWarning: Pagination may yield inconsistent results with

Python Django报错UnorderedObjectListWarning: Pagination may yield inconsistent results with今天突然看到后台报出这个错误 虽然并没有影响使用 但作为强迫症还是想处理掉该问题。这是Django自带的分页报错的警告,分页前必须排序解决方法方法一:在需要进行查询的模型类中增加ordering参数class Meta:db_table = ‘tb_sku’verbose_name = ‘商品SKU’verbose

2021-03-17 17:47:53 477

原创 Python Django使用序列化器查询时嵌套子表数据

Python Django使用序列化器查询时嵌套子表数据其中 ready_only 代表只读不写 即使用序列化新增或修改时不存入数据库so_return_item 和 so_return_org代表外键的 related_name=‘so_return_item’goods_info 表示返回一对多 返回的子数据存在goods_info中,是一个数组subsidiary_code 是表示一对一 返回一个普通字段(key)...

2021-03-17 17:39:25 544

原创 python Django中使用序列化器新增后获取ID

python Django中使用序列化器新增后获取ID

2021-03-17 17:34:50 671

原创 Django中写定时任务使用crontab自动执行不能直接导入model

Django 在crontabs.py中写定时任务方法时,设置自动跑定时任务不能直接from . import serializer as all_serializer, models as all_models需要先导入setting配置文件 再导入具体app的modelos.environ.setdefault("DJANGO_SETTINGS_MODULE", "gpms.settings")# project_name 项目名称django.setup()from pm.models im

2021-01-18 08:43:22 176

原创 Django在View中 ‘cx_Oracle.Cursor‘ object has no attribute ‘commit‘

场景 :# 连接数据库cursor = connection.cursor()cursor.commit()cursor.close()正确的写法应该是:# 连接数据库cursor = connection.cursor()connection.commit()cursor.close()启发来源:原本是这么写的:conn = sqlite3.connect('fitkits.db')cursor = conn.cursor()cursor.commit()正确的写法:

2021-01-16 09:03:37 1614 1

原创 Python将输入的一个数字先保留两位小数,整数部分用三位分节法表示

将输入的一个数字先保留两位小数,整数部分用三位分节法表示def format_number(amount): ''' 将一个数进行格式化输出: 先将该浮点型数进行四舍五入,保留两位小数,然后转换为string类型,以小数点分割,切割出整数部分和小数部分, 再对整数部分进行格式化,最终将格式化的整数部分与小数部分进行拼接就是最终结果。 :param amount: float :return: string ''' zheng,xiaoshu

2020-12-04 09:53:32 1172 2

原创 Python保留两位小数,并做四舍五入处理

保留两位小数,并做四舍五入处理方法一:使用字符串格式化a = 12.345print("%.2f" % a)# 12.35方法二: 使用round内置函数a = 12.345a1 = round(a, 2)print(a1)# 12.35方法三: 使用decimal模块from decimal import Decimala = 12.345Decimal(a).quantize(Decimal("0.00"))Decimal('12.35')仅保留两位小数,无需四舍五入

2020-12-04 09:52:17 3836

原创 Django QueryDict对象

Django QueryDict对象在HttpRequest对象中,GET和POST属性都是一个django.http.QueryDict的实例。也就是说你可以按本文下面提供的方法操作request.POST和request.GET。request.POST或request.GET的QueryDict都是不可变,只读的。如果要修改它,需要使用QueryDict.copy()方法,获取它的一个拷贝,然后在这个拷贝上进行修改操作。data_copy = request.data.copy()一、方法Query

2020-12-04 09:43:33 332

原创 Python获取当前日期以及对日期数据的处理

**Python获取当前日期以及对日期数据的处理**import datetimefrom dateutil.relativedelta import relativedelta#获取当前日期的上一个月和后一个月print(datetime.date.today())print(datetime.date.today() - relativedelta(months=+1))print(datetime.date.today() - relativedelta(months=-3))1

2020-12-04 09:01:01 846

原创 python Django框架 跨域请求问题

在 项目setting文件#设置可跨域范围CORS_ALLOW_CREDENTIALS = TrueCORS_ORIGIN_ALLOW_ALL = True#定义跨域中间件'corsheaders.middleware.CorsMiddleware',

2020-11-12 16:50:46 146

原创 python在with open()函数中,如何在文件名设置中引用变量

用format()函数name = "wz"age = "25"with open("C:/Users/{0}_{1}.txt".format(name, age), "w", encoding = "utf-8") as f1: f1.write("hellow world")则文件名为 wz_25.txt

2020-11-12 16:47:59 3399 2

原创 python分割文件目录/文件名和后缀(附件的网址也可以)

比较方便的切割目录/文件名/后缀import osfile_path = “D:/test/test.py”(filepath,tempfilename) = os.path.split(file_path)(filename,extension) = os.path.splitext(tempfilename)filepath为文件的目录,即 D:/testfilename为文件的名字,即 testextension为文件的扩展名,即 .py...

2020-11-12 16:36:33 615

原创 python配置chromeDriver

首先弄清楚自己的chrome是哪个版本打开chrome 右上角找到设置点进去后 左上角找到关于chrome即可找到自己的版本号然后在下载地址http://chromedriver.storage.googleapis.com/index.html中 找到对应的版本下载,解压到chrome 的安装目录中 即APPlication中比如我的是然后将此路径复制到环境变量中此电脑–属性–高级系统设置–环境变量–系统变量–PATH最后在自己的项目代码中配置CHROME_PATH记得在前面加字符

2020-09-11 08:47:25 1882

原创 eclipse中Javaweb应用创建

配置tomcat1、点击window – preferences – server – runtime environment2、点击add,选中对应版本tomcat(根据电脑安装的版本),点击next3、点击browse,找到tomcat的根目录,然后确定4、tomcat安装路径选完后选择jre版本,点击finish。5、点击apply and close创建工程1、点击File,选择“Dynamic Web Project”创建动态工程2、填写工程名称,点击next3、

2020-09-11 08:32:34 109

原创 Java开发环境搭建

Java开发环境搭建JDK安装去官网下载即可,选择对应系统(64位)的版本点击jdk安装文件直接默认安装,但是要记住安装的路径,后面配置环境需要。JDK环境配置首先找到自己以完成安装的jdk目录下的bin文件夹,点开复制其路径。我的电脑 -> 属性 –> 高级系统设置-> 环境变量,在环境变量窗口中,找到系统变量中的path双击打开添加上一步复制的路径这是win10,点击确定保存即可这是win7在变量值那里面的末尾处先添加一个分号,注意是英文输入法格式

2020-08-12 09:21:38 102

空空如也

空空如也

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

TA关注的人

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