自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Python多进程时SQLAlchemy查询缓存引发的数据无法更新

当执行这个查询语句的时候,我没有进行commit,这样就会造成缓存问题,会导致在跑多进程的时候会出现数据不同步的情况,a进程对数据进行了修改,b进程获取的到的仍然是修改前的数据。接着继续,a进程此时取出来的次数应该是2,但是实际情况是取出来的还是1,加一后通过b进程入到数据库导致还是为2。在做项目的时候,我写了两个进程,一个查数据库,增加次数后把数据放入redis。a进程取出一个数据为次数为1,把这个次数加一然后放入redis。如果使用global,则全局修改的是数据库的默认隔离级别。

2024-07-30 08:47:31 436

原创 flask_apscheduler出现ValueError: Timezone offset does not match system offset: 0 != 28800

原因是:时区会被解析两次,如果没有加时区,就会调用默认的self.timezone = astimezone(config.pop('timezone', None)) or get_localzone(),由于时区与系统不匹配,会报错。在初始化时scheduler = APScheduler(BackgroundScheduler(timezone="Asia/Shanghai"))在配置文件中添加SCHEDULER_TIMEZONE = 'Asia/Shanghai'

2024-07-30 08:46:29 448

原创 mac安装m2Crypto(python)

主要是因为由于OSX升级之后 /usr/include 没有了,所以使用命令修改swig寻址路径。最后一行是完整的一行,同时在bash下可以使用\来换行使其易读。

2024-07-30 08:45:14 302

原创 yum下载一个包的所有依赖包

通常生产环境由于安全原因都无法访问互联网。此时就需要进行离线安装,主要有两种方式:源码编译、rpm包安装。源码编译耗费时间长且缺乏编译环境,所以一般都选择使用离线 rpm 包安装。

2024-07-30 08:41:07 788

原创 删除~/.ssh/known_hosts相应ip小工具

因为工作原因,用的mac和Linux比较多,这两个系统都自带终端。好处就是ssh可以直接执行连接,但是开发环境是几个虚拟机,经常的重装,导致我的hostkey经常需要到~/.ssh/known_hosts文件下删除相应的ip,比如下面:当known_hosts文件有十几二十几行的时候vim打开查找已经是比较麻烦的事情了。身为程序员当然要写个脚本来代替自己去删除了。

2024-07-30 08:39:47 228

原创 shell脚本模拟ssh登录

使用mac的终端直接ssh,但是每次都要输入密码,不堪其扰,我就想到了用shell脚本写出一个替我自动输入密码的一个脚本。这个脚本应该也适用于Linux。

2024-07-30 08:38:09 387

原创 sed 在替换含有反斜杠的字符报错的问题解决

s后面的会默认为分隔符,我们只需要替换掉就行,这里我把/替换成#其中$pwd_dir为/User/xxxxx/....这就会导致sed认为有多个分隔符导致匹配出问题。

2024-07-30 08:36:42 322

原创 docker中/var/lib/docker目录迁移

var/lib/docker/overlay2的占用空间很大。需要对/var/lib/docker目录进行迁移。数据较大时可能复制速度比较慢,请耐心等待。这里选择/data01为例。

2024-07-30 08:35:43 334

原创 Pycharm配置使用cmder终端

打开pycharm设置,settings>tool>terminal中修改shell path。红框处为实际的cmder安装目录。.配置pycharm。

2024-07-30 08:33:59 453

原创 ES迁移——使用reindex

reindex是ES自带的一个用于迁移数据的api,支持按照分片大小进行分次迁移。远程迁移时要针对ES的配置文件进行修改。因为设备资源的不足,需要将旧业务平台迁移到性能更好的服务器上。相应的ES数据作为业务详情的来源也必须一起迁移。其中size需要根据一条数据大小进行设置,如果数据偏小可以设置比较大,数据偏大就设置比较小。source中参数为源集群参数,如源集群host,源集群index(index参数)其中index_list.txt为需要迁移的index名称,每行一个。ES版本相同(都是星海安装的)

2024-07-30 08:32:36 474

原创 批量停止pg的锁表语句脚本

线上服务器每月都会创建下一个月的数据表的分区表,但是表在使用的时候创建分区容易造成锁表,所有自动化实现kill掉数据库中锁表的语句。

2024-07-30 08:31:01 374

原创 监控删除docker日志

docker容器在启动一段时间后应用服务会产生日志,当没有映射出来的时候,这些日志就会持续占用var下的目录空间,此时就需要清理这些日志。

2024-07-30 08:29:46 342

原创 查看pg中正在执行的语句

有时候代码写的不好,会导致sql性能比较差,比如乱用in_。这时候就需要查看pg中正在执行的语句,看哪些语句执行时间过长。

2024-07-30 08:28:51 247

原创 检查在 Linux 中按 RAM 或 CPU 使用率排序的进程

ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head效果:

2024-07-30 08:28:27 406

原创 Git Merge 与 Git Rebase的区别

假设一个仓库有两条分支:master和dev,基于master分支的提交c1(ec5be)创建dev分支,在dev分支上修改文件后生成新的提交c2(76d12),此时切回master分支,不做任何修改,执行dev分支向master分支合并,Git 很懒,首先会尝试执行fast-forward合并,合并成功,master分支和dev分支同时指向提交c2(76d12),不会创建新的提交。git rebase是将一个分支的修改应用到另一个分支上,使得两个分支的修改看起来像是顺序提交的。

2024-07-26 08:45:35 515

原创 CI/CD简述

SAST(静态应用程序安全性测试):SAST是一种白盒测试方法,可以使用SonarQube,Veracode,Appscan等SAST工具从内部检查代码,以发现软件缺陷,漏洞和弱点(例如SQL注入等)。集成测试是使用Cucumber、Selenium等工具执行的,在这些工具中,单个应用程序模块被组合起来并作为一组进行测试,同时评估其是否符合指定的功能需求。因此我们首先需要了解CI/CD流程中的各个阶段,以及从快速、规模交付的视角探讨为什么CI/CD流水线对于我们的组织是必不可少的。这是一个高层次测试方法。

2024-07-26 08:43:58 427

原创 根据进程pid查看该进程所属的容器

将PID换成实际pid即可。

2024-07-26 08:42:55 400

原创 Docker与防火墙问题——不让docker创建iptables规则

所以就会出现防火墙没有开放端口,但容器启动后会自己开放,且在firewalld上是没有记录。在某一天,线上被扫出来一个服务漏洞,但是那个服务漏洞的端口不在firewalld防火墙上开放,查了大半天,发现docker自动会在iptable上面添加规则。有的到时候创建容器会因为eslinux的存在,到时一些奇奇怪怪的报错,所以这里先进行关闭。默认情况下当Docker启动容器映射端口时,会直接使用iptables开启添加端口。这里可以看出是docker的问题,所以需要修改docker的配置。

2024-07-26 08:42:01 241

原创 在pg中终止一条执行中的语句

我们在使用分区表的时候经常会使用定时任务创建分区表,但是如果表链接没有完全断开,就会锁表。此时就需要一条语句将锁表的sql给终止掉。pid即为对应的sql语句的pid。

2024-07-26 08:40:07 411

原创 es单值与多值查询模板

在开发过程中,经常遇到要去es中查询数据排查问题的情况,这时候就需要有一个简单的模板带入参数进行查询。

2024-07-26 08:37:35 265

原创 查询最近一段sql日志中执行时间最长的语句

用这条语句去查最近1w行的sql日志,或者直接grep排序用sort -k 7 -r -n。注意需要打开pg日志的执行时间打印。

2024-07-26 08:36:42 404

原创 kafka查看topic的偏移量

1. 列举消费者2. 查看偏移量3. 移动至最新。

2024-07-26 08:35:22 526

原创 redis查看占用内存大的key

在测试环境中,经常出现某些同事乱用redis存数据,导致redis内存不够用,所以有下面的命令来查redis的内存占用和占用大的key。

2024-07-26 08:33:26 413

原创 修改git密码后重置更新git记住的密码

域账号密码到期了,进行修改之后提交代码发现git默认记住的密码还是原来的,需要重新重置一下密码进行更新。然后重新提交代码,输入用户名和新的密码即可。

2024-07-26 08:29:34 495

原创 记录一次centos7恢复系统的过程

昨天客户反馈了一个问题,服务器突然进不去系统了,只能进入一个shell的维护系统,显示下图的样子。此方法有可能会丢失数据,推荐使用之前进入pe之类的维护系统将数据备份一下。Google之,发现应该是系统盘出了问题。

2024-07-26 08:28:05 314

原创 linux中du命令怎么显示隐藏文件夹的使用量

另外,如果你想要包括隐藏文件夹的使用量,并且只显示总使用量而不显示每个文件和文件夹的详细信息,你可以使用 --max-depth 参数限制递归深度。例如,du -sh --max-depth=1 .[!.]* * 只会显示当前目录下的一级文件夹(包括隐藏文件夹)的总使用量。请注意,这个命令会递归地计算目录中所有文件和子目录的使用量,包括隐藏文件夹及其内容。运行此命令后,du -sh 命令将会显示当前目录下所有文件和文件夹(包括隐藏文件夹)的总使用量,并以人类可读的格式输出。命令不会显示隐藏文件夹的使用量。

2024-07-26 08:23:18 396

原创 一键删除项目中的__pycache__文件夹

在编码过程中,运行测试代码之后总会生成一些pyc文件在pycache目录下面,虽然修改.gitignore可以保证提交中不含有这些文件,但是要想获取一个干净的目录的话还是删掉为好。这里就编写了一个脚本,用来删除一个目录下所有的__pycache__目录,包括子目录下的。

2024-07-25 17:57:48 481

原创 mysql数据库清空表后将表自增id置为1

ALTERTABLEtable_nameAUTO_INCREMENT=1;

2024-07-25 17:56:48 127

原创 werkzeug.security的generate_password_hash方法的使用

然后,我们调用generate_password_hash()方法,将密码作为参数传递给它。该方法将返回密码的哈希值,将其存储在hash_value变量中。generate_password_hash()方法使用安全的密码哈希算法(如PBKDF2或bcrypt)来保护密码,并自动生成一个随机的盐值。其中,generate_password_hash()方法用于生成密码的哈希值。如果您需要自定义哈希算法的参数(如迭代次数、盐长度等),generate_password_hash()方法还提供了一些可选参数。

2024-07-25 17:48:32 182

原创 xpath获取元素属性

它将匹配具有class属性为example的div元素。@data-id部分表示要获取的属性名称。要使用XPath获取元素的属性,可以使用@符号后跟属性名称。

2024-07-25 17:43:53 181

原创 docker新版本更改数据目录提示Status: unknown flag: Status: unknown flag: --graph

错误消息 "Status: unknown flag: --graph" 指示 docker 命令中使用了未知的 --graph 标志。在 Docker 的最新版本中,不再使用 --graph 标志来指定 Docker 存储图形的位置。请注意,dockerd 是 Docker 守护进程的名称,/path/to/custom/docker/storage 是您希望指定的自定义存储路径。如果您需要指定自定义的 Docker 存储路径,可以使用 data-root 选项来替代 --graph 标志。

2024-07-25 17:42:44 285

原创 在谷歌浏览器的控制台中怎么判断一个网页是否加载完成

"interactive":文档已被解析,除了图片、样式表和iframe之外的资源都已完成加载,此时用户可以与页面交互。"complete":文档和所有子资源已完成加载。使用document.readyState属性。"loading":文档正在加载。

2024-07-25 17:41:22 245

原创 仿format()将变量嵌入替换到字符串中

在工作中遇到一个需求,需要将一个变量数组按照顺序嵌入到字符串中。这种需求第一想到的是强大的format函数,但format函数格式固定,需要使用{},所以不满足需求,只好自己写一个替换的。

2024-07-25 17:40:06 164

原创 Xpath选择元素名称相等和包含特定字符串的元素

在XPath中,可以使用不同的函数和运算符来选择元素名称相等和包含特定字符串的元素。

2024-07-25 17:08:24 346

原创 麒麟高级服务器操作系统V10安装docker

服务采用docker启动,适配国产化麒麟V10系统,需要安装docker。使用二进制的安装方式进行安装,docker版本为19.03.15。选择对应版本的tgz包即可。

2023-09-27 10:50:21 925

原创 麒麟高级服务器操作系统V10安装supervisor

安装supervisor需要先安装setuptools,这些都是python库的形式进行安装,麒麟V10内置了python3.7,可以省去安装python的步骤。下载他们的tgz包即可,本文以setuptools-67.7.2和supervisor-4.2.5版本作为示范。产品在做国产化适配,我负责对安装包,docker依赖等做适配,记录下安装supervisor的步骤。

2023-09-27 10:47:55 908

原创 docker根据overlay2的目录名找到对应的容器

在工作中,有一段旧代码在容器中使用了临时文件库tmpfile,并设置为不自动删除,所以临时文件一直堆积在/tmp目录下。查到overlay2目录下的某个目录占用比较大,就需要根据目录名找到对应的容器。而容器中的tmp目录是不会清理的,终于有一天,整个var目录满了。

2023-09-27 10:41:41 456 1

原创 vim配置备份

【代码】vim配置备份。

2023-09-27 10:39:40 86 1

原创 python将markdown转换为html并应用github-markdown-css样式

先通过python-markdown将md字符串转换成html代码,通过将其包在容器中应用github-markdown-css的样式,css文件是通过cdn导入的,如果有需要可以访问官方仓库将css下载到本地。python-markdown官方文档github-markdown-css的仓库。

2023-09-27 10:35:11 719 1

转载 python2和python3共存(原生)

作者:Johnny Wong链接:https://www.zhihu.com/question/21653286/answer/96834584来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。## 对于 Linux ##sudo pip install sth# 或者明确版本sudo pip2 install sthsudo p

2017-12-04 07:41:37 178

空空如也

空空如也

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

TA关注的人

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