自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 python函数参数默认值为可变对象(例如{},[]等)的坑

然而,当将可变对象作为默认参数时,需要注意到这个默认对象在函数调用过程中是共享的,这可能导致一些意外的行为。:如果在多个地方使用了同一个函数,并且使用了默认参数,那么这些地方都将共享同一个默认参数对象。如果在其中一个地方修改了默认参数,可能会影响到其他地方。:如果在函数内部修改了默认参数,这些修改会影响到后续函数调用中使用了默认参数的地方。为了避免这些潜在的问题,可以使用不可变对象作为默认参数,或者在函数内部创建一个新的可变对象。,并且在函数内部对它进行了修改,那么这些修改会在之后的函数调用中持续存在。

2024-04-08 11:37:49 239

原创 SQLAlchemy 来查询并统计 MySQL 中 JSON 字段的一个值

在使用 SQLAlchemy 来查询并统计 MySQL 中 JSON 字段的一个值时,你可以结合 SQLAlchemy 的。:使用 SQLAlchemy 的查询接口和函数来提取 JSON 字段的值,并按这个值进行分组统计。首先,确保你已经安装了 SQLAlchemy。方法来进行分组统计。下面是如何在 SQLAlchemy 中实现这一点的基本步骤。的 JSON 类型字段,我们想要按照。:首先,创建一个数据库引擎来管理连接。:定义一个模型来映射到数据库中的表。的表,其中有一个名为。

2024-04-02 11:45:02 947

原创 使用 PyArmor 加密一个 Python 包

这些选项可以帮助你更灵活地保护你的 Python 代码。记住,虽然加密可以提高你的代码保护级别,防止未经授权的查看和修改,但任何加密措施都不能提供 100% 的安全保障。加密应该被视为安全措施的一部分,而不是全部。选项来递归地加密指定目录下的所有 Python 文件。:加密过程可能会改变文件的结构,因此在部署加密后的包之前,建议充分测试以确保一切功能正常。:首先确保 PyArmor 已经被安装在你的环境中。目录下的所有 Python 文件,并将加密后的文件存放在。你可以将这个目录下的。

2024-04-02 11:30:25 648

原创 Git要修改某个特定提交(commit)的用户名和电子邮件信息

要修改某个特定提交(commit)的用户名和电子邮件信息,你可以使用命令来修改最近的提交。如果需要修改历史中的某个特定提交,你可以使用git rebase命令进行更复杂的操作。

2024-03-27 17:23:49 886

原创 sqlalchemy.exc.CompileError: can‘t render element of type MEDIUMTEXT

请注意,这种方法虽然解决了不同环境下数据库类型兼容性的问题,但它也使得你的模型定义依赖于特定的数据库实现,这可能会影响代码的可移植性和清晰度。因此,建议仅在确实需要处理特定数据库类型差异的情况下使用这种方法。的值来确定当前连接的数据库类型。然后,根据数据库类型动态选择列类型。如果是MySQL,我们使用。在测试环境和生产环境中使用不同的数据库,而不需要修改模型代码。想要实现测试环境使用sqlit方便开发;对于其他数据库类型,我们可以选择使用。如果是SQLite,我们使用。在这个例子中,我们首先检查。

2024-03-27 17:08:57 341

原创 pymysql.err.DataError: (1406, “Data too long for column ‘response‘ at row 2“)

数据字段由TEXT修改为LONGTEXT。备注:mysql存储限制。原来是因为要存入这厮。

2024-03-25 17:31:49 203

原创 ssh: Could not resolve hostname ssh.github.com: Temporary failure in name resolutionfatal: Could no

【代码】ssh: Could not resolve hostname ssh.github.com: Temporary failure in name resolutionfatal: Could no。

2024-03-25 15:40:47 726

原创 pymysql.err.OperationalError: (1055, “Expression #3 of SELECT list is not in GROUP BY clause and con

报错如下问了AI,回答如下:这个错误信息指出的问题与 MySQL 的sql_mode设置有关,特别是模式。当启用了模式时,所有在SELECT列表中,但不在GROUP BY子句中的列,都必须在一个聚合函数内。这个模式的目的是确保当使用GROUP BY时,返回的结果是确定的,因为如果SELECT列表中有不在GROUP BY中的列,那么这些列的值在分组中可能有多个,而 MySQL 不知道应该返回哪个值。

2024-03-22 17:23:22 284

原创 element-UI展开行expand动态加载数据时遇到的坑-展开多行数据相同

统计数据列表页,点击每行可以展开,因为数据量大,设计时后端考虑每次点击动态拉取该行对应的详情数据。

2024-03-21 17:59:59 420

原创 上万耗时任务处理方案-线程池

废话不多说,代码如上。倒序讲下问题由来。

2024-03-12 16:40:51 362

原创 sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (2013, ‘Lost connection to MySQL ser

sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query')

2024-03-11 17:26:45 859

原创 我的创作纪念日

搞钱第一,其他都是虚的。

2024-03-07 17:07:13 346

原创 sqlalchemy默认数据库连接池限制导致的服务异常排查

sqlalchemy的连接池默认设置pool_size=5, max_overflow=10。批量添加100个耗时任务,发现有成功执行仅有15个,找到报错log。考虑内存和cpu,合理设置以上2个参数。

2024-03-01 17:54:33 474

原创 sqlarchemy的json字段无法保存

由于未正确触发 SQLAlchemy 的脏检查机制所致。在 SQLAlchemy 中,如果你直接修改了类似于字典这样的可变对象,并未触发其脏检查机制,那么在提交到数据库时,这些修改可能不会被记录下来。为了确保 SQLAlchemy 能够正确地捕获对可变对象的修改,并在提交时保存这些修改,你需要确保正确地触发了脏检查机制

2024-02-28 17:57:51 392

原创 基于elment使用Vue封装动态表单组件

不墨迹,直接上源码。

2024-02-23 11:00:31 385

原创 处理异常sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (1038, ‘Out of sort memory

前端查询列表页一直转圈圈,打开控制台发现是API 500了。看了下后端日志,核心问题是。前端试了下还是转圈,API依然500,又看了下后端日志,原来是mysql连接断开。修改mysql容器的配置。手动重启后端服务即可。

2024-02-05 14:12:21 429

原创 “export ‘ref‘ was not found in ‘vue‘

【代码】“export ‘ref‘ was not found in ‘vue‘

2024-01-24 16:52:41 679

原创 docker中python3.10.5的subprocess.run子进程运行可执行文件报FileNotFoundError

执行subprocess.run(['./xray_linux_amd64', 'webscan', '--basic-crawler', f'{url}', '--json-output', f'./reports/xray-{target_id}.json'], cwd=XRAY_PATH)手动执行下,找到这个文件,居然还报这个错,不可思议,瞪眼说瞎话。不是的,看了下源码问题不在这,所以这个报错很有误导性!原来是坑爹的精简版系统引发的奇怪报错!然并卵,还是一样的报错!运行,然后果然成功!

2024-01-22 17:56:13 635

原创 记一次docker镜像瘦身

全栈开发,想着把前端托管到nginx和后端服务整合成一个镜像。基础镜像找了个把自己依赖装好,\docker容器瘦身。

2024-01-22 13:52:29 361

原创 fastapi后台任务中使用多线程调用数据库session报错

望着代码陷入自我怀疑,再三确认了多线程的代码没问题,想起来如题的坑,于是在子线程的函数中加入try catch,通过logging主动捕获并打印出异常。批量耗时任务创建的api,最开始采用for循环串行执行耗时任务,使用的是请求初始化时的数据库session,技术上没问题。于是修改子线程函数,增加参数,接受一个新创建的会话。上来直接改造多线程,发现子线程很快stoped,根本没执行。但业务上需要优化成并发。终于,世界恢复平静!

2024-01-19 16:37:41 510 1

原创 fastapi使用sqlite遇到的坑

代码新增字段,但数据库未作变更。

2023-12-25 17:15:50 564

原创 linux常用命令实战

【代码】linux常用命令实战。

2023-08-23 11:39:19 64

原创 docker-compose更新单个服务

但日常开发场景更多的是要更新单个服务,比如更新后端服务镜像,而数据库,缓存这些不需要更新。当然docker命令也行,但需要自己配置网络,挂载等,导致命令很长,不方便。docker-compose可以方便快速地一键化部署,这个不展开讲。拆开yml文件,后端服务独立一个。

2023-08-15 18:05:22 737

原创 Django迁移文件管理规范

开发中遇到,Django版本不一致导致生成的迁移文件格式差异;研发忘记提交迁移文件;研发随意重命名会导致已执行的迁移文件重复执行,导致迁移失败,容器异常退出等问题,会阻塞协作开发的进度。为避免上述问题,故做此规范。

2023-08-15 15:17:59 75

原创 celery实现优先级控制和任务取消

优先级在发起任务时,配置priotiry参数实现。取消需要知道celery的task id。

2023-08-02 11:30:44 220

原创 修改git历史提交中的用户信息

【代码】修改git历史提交中的用户信息。

2023-08-01 17:55:56 322 2

原创 配置加载方案

一般是和环境绑定的,即同一环境下不会变更,比如Nginx地址。需要热加载的,一般和业务相关,比如胎脑检测报告中必须的字段。所有配置数据,都需要在配置文件中写上兜底数据。避免配置硬编码和个人/测试环境配置误提交。

2023-07-28 11:07:50 63 1

原创 GitLab分支合并策略Fast-forward(快进)和Rebase(变基)的区别

gitlab合并策略

2023-07-28 11:02:19 562 1

原创 gitlab容器化部署

gitlab配置指南

2023-07-19 16:45:51 156

原创 研发面试流程

简历筛选->机试/笔试->面试。

2023-07-14 13:39:06 64

原创 Django has_perm仅能判断调用那一刻的权限信息

【代码】Django has_perm仅能判断调用那一刻的权限信息。

2023-07-13 17:37:46 78

原创 技术各项规范

标题符合argular格式,用作合并到目标分支时,压缩后的commit。避免后端开发和前端扯皮后还要做变更,无效评审,浪费主管时间。目标分支会很干净,只有commit信息。分级管理,方便量化定制奖惩信息。回顾时可以准确会想起上下文。方便制定对应的量化奖惩制度。完成UT,联调,lint。配置必须所有议题都要解决。

2023-07-12 17:07:17 26

原创 Django UT

请求一定要使用from django.test import Client,否则测试数据会污染正式的数据库。Client设置hearder传参,很个性化,比如像设置header的Authorization。必须传HTTP_AUTHORIZATION=xxx。本质上是继承UnitTest实现,可轻松实现。case中的test_*方法执行是无序的。有以下几点需要特别注意。

2023-07-06 16:47:14 52

原创 celery实现任务优先级控制

【代码】celery实现任务优先级控制

2023-06-30 14:10:53 1034

原创 记一次gitlab频繁出现5xx处理

etc/docker/daemon.json中配置。此时原容器并未生效,需要销毁并重新创建该配置才生效!原来是log日志把磁盘占满了。

2023-06-26 18:02:12 82

原创 Ubuntu22.04修改/etc/fstab时参数设错,导致启动异常,无法进入系统

2ctl+atl+f1/f2进入命令行,使用root帐密登录(会有报错和长时间等待,一样要有耐心)1使用系统盘恢复,但需要有U盘。恢复模式,如图无法正常使用。

2023-06-26 17:58:01 991

原创 failed to create runc console socket: mkdir /tmp/ptyxxxx: read-only file system: unknown

使用恢复工具,发现上下左右很卡,几乎无响应,然后又出现熟悉的log。插上显示器,按提示执行 fsck -y /dev/sda5。凉凉,只能用U盘恢复了。

2023-06-25 13:53:01 307

原创 python semantic release(PSR)指南

分别强制指定版本号(即便距离上次发版以来,有多个feat/fix,一次只能改动一位版本号)次版本号(minor):当你做了向下兼容的功能性新增,可以理解为 Feature 版本。修订号(patch):当你做了向下兼容的问题修正,可以理解为 Bug fix 版本。更新本地git log和setup.py中的版本信息,以及CHANGELOG.md。主版本号(major):当你做了不兼容的 API 修改。

2023-06-21 09:15:38 145

300k大响应!!!!

300k大响应!!!!

2024-03-25

空空如也

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

TA关注的人

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