- 博客(30)
- 收藏
- 关注
原创 MYSQL事务大小超过数据库默认大小解决方法
数据库事务大小限制问题分析 在处理"接口请求日志记录表"清理任务时,出现MySQL错误3100告警,原因是事务大小超过默认限制(141M)。通过查询表大小信息,估算出每条记录约0.1M,建议单次事务处理不超过1400条记录。解决方案是在代码中使用限制查询数量(limit=1400)的方式分批处理删除操作,避免超过数据库事务大小限制。
2025-11-05 17:14:48
281
原创 Git操作积累
本文整理了常用的Git命令操作指南,包括修改commit信息(日期、作者),分支间文件覆盖,回滚merge提交,删除本地/远程分支,强制覆盖本地变更,以及从特定commit创建新分支等实用技巧。这些命令涵盖了版本控制中的常见需求,如git commit --amend修改提交信息,git revert撤销合并,git branch -D强制删除分支等,为开发者提供了高效的Git工作流解决方案。每个命令都配有简明参数说明,方便日常开发参考使用。
2025-11-04 17:15:05
214
原创 Linux运维积累
本文介绍了一系列Linux系统运维常用操作:通过df命令查看磁盘空间,使用iptables检查防火墙规则;针对Docker容器网络问题,提供了Python脚本测试连接的方法;展示了内存查看与清理、htop监控进程等实用技巧;包含curl测试网络连通性、mtr诊断解析过程以及发送带Header的请求示例;最后介绍了sed命令实现文件内容快速修改替换。这些命令涵盖了系统监控、网络排障和文件操作等日常运维场景。
2025-11-04 16:09:50
285
原创 性能优化:在多层级数据中获取关联关系实例
摘要:本文针对业务中多层单据关联查询的性能问题进行了优化。原方案采用递归查询,每个节点与数据库交互一次,时间复杂度为O(10^h^)。优化方案改为批量查询,通过一次性获取某一层的所有单据ID,将数据库交互次数压缩至树深度级别O(h),显著降低了系统负载。代码示例展示了如何将递归查询改为批量查询,提高了查询效率,适用于处理类似树形结构的关联数据查询场景。
2025-11-04 15:21:16
527
原创 Odoo ir.cron定时任务源码和验证实践
摘要 本文通过源码分析和实验验证了定时任务的特性。研究发现:1) 当max_cron_threads=1时任务会阻塞,=2时可并发执行;2) 相同时间高优先级任务先执行;3) "重做错过的"选项会执行所有过期任务;4) 定时任务由行级锁(for update/nowait)保证单线程执行。结果表明任务执行受线程数、优先级和锁机制共同影响,为系统优化提供了依据。
2025-10-29 23:38:56
224
原创 Python装饰器实例
摘要:该代码片段展示了Python装饰器的实现与应用。主要内容包括:1) 操作日志记录示例,在成功状态时将日志信息添加到biz_logs列表;2) 定义sys_ele_ctrl装饰器,用于在方法执行前后添加额外操作;3) 装饰器原理说明,解释了包装函数的基本概念;4) 提供装饰器标准实现规范,使用functools.wraps保持函数元信息;5) 展示了带参数的装饰器实现方式;6) 介绍了使用类实现装饰器的方法。这些内容完整呈现了Python装饰器从基础到高级的各种实现技巧。
2025-10-29 23:36:07
180
原创 Python生成器Generator
本文介绍了Python生成器的核心概念与优势。生成器自动实现了迭代器协议(通过next方法逐项返回或引发StopIteration异常),是一种延迟计算的可迭代对象,仅在迭代时才执行。相比普通函数,生成器能有效处理大数据量(按需生成结果)并提升代码可读性。文末通过countdown函数和列表推导式对比,展示了生成器的创建方式与惰性求值特性(result2为生成器对象而非立即计算的列表)。
2025-10-29 23:28:44
175
原创 PostgreSQL存储过程实例
摘要:本文展示了通过PostgreSQL存储过程循环处理余额表历史数据的方法。核心函数compute_balance_amount()依次处理每个会计期间,通过创建临时视图计算上期余额和本期发生额,最终更新当前期间的余额数据。还介绍了存储过程返回结果集的两种方式(setof和returns table()),以及动态SQL执行技巧。代码实现了会计期间余额的递推计算逻辑,适用于需要基于前期数据计算当期余额的业务场景。
2025-10-29 23:25:08
187
原创 git branch -D branch_name误删后恢复分支
摘要:恢复Git删除分支的两种方法:1)使用git reflog查看所有操作记录,定位被删分支的记录点(如HEAD@{58})和最后提交(HEAD@{49}),通过git branch [name] commitID重建分支;2)若删除后日志未清空,直接找到分支最后提交ID,执行git branch [name] commitID重建。两种方法都依赖于找到正确的commitID来恢复分支。(150字)
2025-10-29 23:17:07
155
原创 Odoo profile装饰器源码分析
Odoo框架中的@profile装饰器是一个性能分析工具,用于定位代码瓶颈。它通过sys.settrace实现,可跟踪方法执行时间、SQL查询次数等信息。装饰器支持白名单、黑名单、文件过滤等参数,能精确控制分析范围。但由于sys.settrace的独占性,当启用@profile时会导致调试器断点失效,因为跟踪权被抢占。该工具适用于生产环境性能分析,但需注意与调试工具的冲突问题。
2025-10-28 15:29:48
408
原创 Odoo ORM缓存和数据库事务
Odoo ORM是框架的核心组件,通过Python代码操作数据库,遵循MVC模式。数据库事务确保数据完整性,具有ACID特性。ORM采用缓存优先机制,记录集惰性加载,事务内共享缓存,修改后自动失效。延迟执行机制使数据操作先更新内存缓存,仅在事务提交时批量执行SQL语句,确保高效性和一致性。
2025-10-28 15:09:05
444
原创 Python项目在线分析性能实例
摘要:文章介绍了py-spy和htop两款性能分析工具。py-spy是一款低开销的Python抽样分析器,htop是功能丰富的进程查看器。通过实例分析发现某单据审核时性能问题:1万多行明细的字段更新触发表头after_write,导致循环次数呈平方级增长(1万×1万),造成严重性能瓶颈。
2025-10-28 14:07:50
453
原创 Windows本地安装MySQL,日志路径记录
本文记录了MySQL 8.0在Windows环境下的日志文件配置信息,重点介绍了各类日志的存储位置和查看方式。主要包括错误日志(.err)、通用查询日志(.log)、慢查询日志(-slow.log)和二进制日志(-bin)的路径查询方法。同时详细说明了undo log和redo log的配置情况:undo log采用独立表空间形式(undo_001/002),通过SQL语句可查询相关信息;redo log默认位于数据目录,包含文件大小和数量等参数。这些日志在主从复制、故障恢复等场景中发挥重要作用,了解其配置
2025-10-28 11:49:24
97
原创 Docker:打包文件、Windows下环境部署、可用镜像源
Docker操作与资源指南 本文提供了Docker在内网项目中的使用流程和基础入门资源。主要内容包括: 内网项目更新镜像的5个步骤:安装WSL、登录仓库、拉取镜像、打包导出、内网导入 Docker入门教程链接:Windows安装和基础操作指南 国内可用镜像源推荐:包括通用镜像源和阿里云专用地址 解释了Docker默认拉取镜像的流程机制 文档还特别指出多个国内镜像源已不可用,并提供了最新可用的镜像源信息。
2025-10-28 11:44:47
242
原创 HTTPS认证过程和SSLError bad handshake原因分析
HTTPS连接出现SSLError错误的分析与解决方案 摘要:本文分析了项目部署中HTTPS接口请求失败的常见问题。当出现"bad handshake: certificate verify failed"错误时,主要原因是公网/内网部署环境下证书配置不匹配。文章对比了HTTPS单向认证和双向认证的区别,并给出了Nginx配置示例(包含ssl_certificate、ssl_client_certificate等关键参数)。解决方案需根据部署环境调整Python请求代码:内网需指定根证书
2025-10-27 21:28:44
1321
原创 MySQL、PostgreSQL数据库命令积累
本文摘要了MySQL和PostgreSQL数据库的基本操作指南。主要内容包括:1) MySQL和PostgreSQL的连接方式及数据库复制方法,MySQL使用mysqldump工具,而PG采用模板库创建;2) PostgreSQL连接管理操作,包括查看连接数、活跃连接详情及终止连接的方法;3) PostgreSQL默认事务隔离级别的查看方式。文中提供了详细的SQL命令示例,帮助用户快速掌握数据库基础运维技能。
2025-10-27 20:42:55
113
原创 Python requests.Response对象 属性text的值中文显示乱码原因分析
摘要:系统对接验签失败问题分析。项目中发现我方系统1.0与对方系统2.0对接时验签失败,日志显示响应乱码。经排查,原因为对方系统2.0升级后响应头未设置charset,而我方1.0使用response.text会默认采用ISO编码解析UTF-8内容导致乱码。解决方案是统一使用response.content.decode('utf-8')明确指定编码格式。通过编码属性对比验证了问题根源。 (字数:149字)
2025-10-27 20:42:04
294
原创 Word文档中横线被转义问题
MySQL连接命令在Word中转义导致失败 摘要:用户发现相同的MySQL连接命令有时会失败,原因是当命令从微信复制到Word时,连字符"-"会被自动转义。这种转义导致从Word再次复制命令时无法正常执行。文中附有Unicode编码截图说明该问题。建议直接复制原始命令,避免通过Word中转。
2025-10-26 20:37:16
100
原创 git rebase处理含merge的提交历史注意事项
本文探讨了Git rebase的使用场景和风险,重点分析了两种复杂变基情况:1)当本地提交包含在merge节点前后时,变基可能导致冲突加剧;2)处理与公共分支无冲突内容时,pick顺序会影响变基结果。实验表明,rebase会重写提交历史,若处理不当(特别是对已推送的提交)将导致团队协作混乱。文章通过具体案例展示了不同变基策略的效果,强调变基前必须确保所有修改仅限本地,避免覆盖远程仓库历史。
2025-10-26 20:20:52
958
原创 纯内网项目使用Git更新补丁
本文介绍了一种适用于内网环境的轻量级Git代码更新方案。通过生成补丁文件(patch)的方式解决无法直接使用git pull的问题,详细说明了四种不同场景下的补丁生成命令:单次提交、多次提交、区间提交和后续所有提交。补丁文件统一存放在/projects/patches/目录下维护,使用前需通过git apply命令验证补丁有效性,若出现冲突需先修复再更新至项目。这种方法避免了大规模代码替换的复杂度,实现了高效可靠的内网代码更新。
2025-10-26 17:11:36
188
1
原创 关于FreeFTPd软件的技术评估与合规审查报告
报告摘要:FreeFTPd软件评估结果 经技术评估与合规审查,FreeFTPd(v1.0.13)存在严重风险,不建议商业项目使用。主要问题包括: 技术风险:项目已停更10年以上,存在安全漏洞、兼容性问题且无技术支持; 合规问题:实为免费软件而非开源软件,无有效许可证授权,源代码未公开; 法律风险:版权状态不明,商业使用可能构成侵权。 建议改用FileZilla Server、VSFTPd等活跃维护的开源替代方案,并重新进行合规审查。该软件无法通过商业项目使用审核。
2025-10-26 16:22:42
727
原创 常用Linux命令积累
这篇文章介绍了Linux终端常用命令及其功能,包括文件和目录操作(cd、cp、rm、mv、mkdir、touch)、权限管理(chmod、sudo)、系统管理(shutdown、htop、ps、kill)、网络工具(ping、wget)、文本处理(cat、less、grep、tail、wc)以及信息查询(whoami、uname、neofetch)等。还涉及历史命令查看(history)、软件包管理(apt/yum)和环境变量操作(echo)。这些命令覆盖了Linux系统操作的基础需求,适合初学者快速掌握终
2025-10-26 16:01:32
290
原创 戴尔笔记本重装WIN10系统后无法识别原装硬盘
Boot Options->BIOS Setup->Advanced->SATA Operation确认已设置为AHCI,重启系统仍然无法识别。计算机管理->存储->磁盘管理->选中磁盘,右键选择“导入外部磁盘”->搞定。
2022-11-06 20:52:27
3797
原创 配置SSH密钥(代码托管平台codeup为例)
1、安装Git Bash2、配置SSH密钥在Git Bash中执行命令://检查本地的SSH Key$ ls -al ~/.ssh-rw-r--r-- 1 xxx xxx xxx Oct 13 11:41 id_rsa-rw-r--r-- 1 xxx xxx xxx Oct 13 11:41 id_rsa.pub//显示指定公钥$ cat ~/.ssh/id_ed25519.pub//生成 SSH 密钥对 $ ssh-keygen -t ed25519 -C "email@email
2022-04-09 17:58:49
3848
原创 d3-tip文本提示框实现步骤+click和mouseout触发动作事件冲突_解决方法
目录d3-tip介绍d3-tip实现步骤1、添加使用的JavaScript函数库2、为柱形图创建tip3、调用tip4、确定数据集5、添加触发动作事件6、click和mouseout触发动作事件冲突_解决方法d3-tip介绍d3-tip是D3可视化工具中的一种,可用于生成自定义文本提示框。如下图所示,当鼠标悬浮在小矩形上方时,会出现提示框。d3-tip实现步骤先附上一篇文章,之后进行分析。使用d3-tip将文本提示框添加到d3柱形图:http://bl.ocks.org/Caged/647657
2021-06-14 00:43:05
3677
原创 js中删除特定ID或特定class的元素
1、移除ID名为id_name的元素var x = document.getElementById("id_name");//如果对象x不为空if (x != null) x.remove();PS:参考链接 https://www.w3school.com.cn/htmldom/met_select_remove.asp对于selectObject.remove(index)方法,以select元素为例,若指定index,则只删除其中的某一项;若不指定index,则删除整个sele
2021-06-13 15:45:33
9805
原创 跨源读取阻止(CORB)功能阻止了MIME类型为text/html的跨源响应_解决方法
警告发生在html文件中,原语句为<script src="http://d3js.org/d3.v3.js"></script>将src中的http改为https即可消除警告。
2021-06-13 11:45:05
44671
3
原创 d3.csv()读取本地文件失败_报错Access to XMLHttpRequest at ‘file:‘ from origin ‘null‘ has been blocked_替换和解决方法
背景介绍:最近在做一个数据可视化系统,对csv文件中数据进行处理后,以统计图表的形式实现可视化,使用的技术有JavaScript、D3、HTML。由于D3提供了csv文件读取函数——d3.csv(),本想直接使用,但在运行系统的时候报出以下两个错误:Access to XMLHttpRequest at ‘file://’ from origin ‘null’ has beenblocked by CORS policy: Cross origin requests are only suppor
2021-06-12 21:15:38
5466
4
原创 联想win7升级重装win10后无法调节屏幕亮度
ThinkPad E545,win7升级win10后无法调节屏幕亮度重装win10启动后,①弹出对话框“未安装AMD显卡驱动程序,或者AMD驱动程序未正常工作。请安装与AMD硬件相对应的AMD驱动程序。”②同时屏幕一直保持最高亮度,按功能键无法调节,且通知栏下方没有亮度调节条。历经两天,尝试了许多方法,特此记录。1、打开注册表编辑器,进入路径“计算机\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class{4d36e968-e325-11ce-bfc
2021-01-27 16:37:37
1439
4
原创 C盘空间减少解决方法汇总
第一次写博客,内容很简单,想尝试用这样一种方式提醒自己。在最开始的时候,还不知道安装应用需要自定义位置,结果导致C盘空间在最开始便被占用了许多。之后每次安装都有自定义,可C盘的空间还是每隔几天便会少几百MB,即使使用C盘的系统垃圾清理依然不起作用,心疼空间~直到今天,无意中看到一个500MB左右的QQMusicCache文件夹,突然醒悟过来,那些被占用的空间应该都是使用软件时产生的各种缓存,...
2019-10-24 16:03:17
746
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅