自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 shell脚本检查端口是否被占用,服务是否安装、启动

【代码】shell脚本检查端口是否被占用,服务是否安装、启动。

2024-03-28 19:50:15 101

原创 SQLAlchemy修改postgres表的jsonb字段失效

今天遇到一灵异事件,ORM更新操作,一字段始终不生效,最后发现问题原因是postgres的jsonb导致的。

2024-03-27 22:38:52 265

原创 Python进程池回调

进城池回调

2024-03-24 21:59:25 177

原创 easyocr和paddleocr的简单使用与对比

这次有个OCR的需求,对比了一下和的识别效果,最终选择了paddleocr。这里记录一下使用过程和遇到的问题。

2024-03-14 23:30:43 1057

原创 Windows本地代理,IP端口转发

比如我访问 127.0.0.1:8500时,把请求转发到192.168.1.3:8500。需求:本机访问 ip1:port1时,把它转到 ip2:port2。以管理员身份运行命令行窗口。

2023-12-03 16:23:15 204

原创 flask参数校验自定义返回

【代码】flask参数校验。

2023-11-04 15:55:16 478

原创 python 生成图形验证码的库captcha

【代码】python 生成图形验证码的库captcha。

2023-11-04 10:08:53 272

原创 Python partial的作用

partial 的科普 见这位大神的文章,写的很好:https://zhuanlan.zhihu.com/p/47124891。,此时问题来了,前2个参数signo, frame,是系统传的,我们要如何把自己的service_id传进去呢?这时 就需要用到partial了。一个例子:监听服务退出信号。

2023-08-27 22:21:31 214

原创 非常方便的在线crontab表达式工具

网址:https://crontab.guru/

2023-08-22 23:32:10 184

原创 flask接口请求频率限制

return jsonify({'code': 403, 'msg': '请稍后再试!'})# 全局错误处理# 单独错误处理比如 有时候,希望登录失败的,才进行计数,登录失败超过20次就禁止访问,而登录成功的,不计数,随便请求 无限制# 上面的例子是:返回的JSON中code==400 就做一次计数,否则就不计数(这次请求,不计入限制)# 还可以有其他的计数逻辑,比如= 200更多操作见官网。

2023-08-16 21:11:31 1429 1

原创 kubevirt pod 报错 N node(s) had volume node affinity conflict

猜测是 hostpath-csi StorageClass 无法预知pod将被调度到哪个node上,必须等pod调度到node后才能做PV-PVC的绑定,所以它的 volumeBindingMode 必须是 WaitForFirstConsumer。我把 hostpath-csi StorageClass 的 volumeBindingMode 改成了 Immediate 就发生了这个错误,改回 WaitForFirstConsumer 就解决了。我这里所写的,可能只是其中一个可能的原因。

2023-08-10 10:50:19 276

原创 Python faker 生成测试数据

方法一。

2023-08-05 13:11:30 1144

原创 docker与宿主机时间同步

docker run的时候指定参数。

2023-07-22 19:31:26 120

原创 编译安装cri-dockerd

编译cri-dockerd时,按照官方文档操作 安装golang时timeout

2022-09-14 17:25:23 1926 1

原创 元素周期表的118个化学元素

在网上没找到能复制拿来用的,去百度爬了个,整理下 方便后来人:['H', 'He', 'Li', 'Be', 'B', 'C', 'N', 'O', 'F', 'Ne', 'Na', 'Mg', 'Al', 'Si', 'P', 'S', 'Cl', 'Ar', 'K', 'Ca', 'Sc', 'Ti', 'V', 'Cr', 'Mn', 'Fe', 'Co', 'Ni', 'Cu', 'Zn', 'Ga', 'Ge', 'As', 'Se', 'Br', 'Kr', 'Rb', 'Sr', 'Y',

2022-04-25 17:30:57 871 2

原创 使用docker体验elasticsearch

注意事项:官方文档提示至少要为docker分配4G的内存,否则可能会启动失败。我亲测确实是这样,elasticsearch+kibana 占用了3.3G内存。你可能会遇到这个错误:bootstrap check failure [1] of [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]。这时需要到(宿主机) /etc/sysctl.conf 中增加一行:v

2022-04-11 09:05:15 226

原创 APScheduler定时任务不执行?

       不知你有没有遇到APScheduler定时任务部分未执行的情况,我反正是遇到了,任务随机性的不执行,一看官网文档,才知道是自己的使用方法不对。       当前网上的大多数文章都只说了基本的使用方法,没说注意事项。我在这里整理一下:1. Executor 是默认大小为10的ThreadPoolExecutor。原文:from apscheduler.schedulers.background import

2021-12-18 23:10:59 5743 6

原创 MySQL分区表-按月份归类

MySQL单表数据量,建议不要超过2000W行,否则会对性能有较大影响。最近接手了一个项目,单表数据超7000W行,一条简单的查询语句等了50多分钟都没出结果,实在是难受,最终,我们决定用分区表。建表一般的表(innodb)创建后只有一个 idb 文件:create table normal_table(id int primary key, no int)查看数据库文件:normal_table.ibd 创建按月份分区的分区表,注意!除了常规主键外,月份字段(用来分区的字段)也必须是主键

2021-08-25 22:59:58 535 1

原创 nginx负载均衡-提升服务的并发能力

我使用的框架是python的fastAPI,一个简单的hello world,加一个sleep(2)模拟耗时操作。代码如下:import timeimport uvicornfrom fastapi import FastAPIapp = FastAPI()@app.get("/")def read_root(): time.sleep(2) # 模拟耗时操作 return {"Hello": "World"}先单进程启动启动命令:uvicorn --host 0.

2021-08-14 21:59:13 570

原创 fastapi使用websocket的简单示例

前端页面:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>websocket</title></head><body><h1>WebSocket Chat</h1><input type="text" id="nickname" autocomplete="off"

2021-08-01 12:09:38 1329 1

原创 fastAPI使用mongoDB

我用的是mongoengine先 pip install mongoengine编写ORM模型:from mongoengine import Document, IntField, StringField, ListField, EmbeddedDocument, EmbeddedDocumentField, FloatFieldclass Course(EmbeddedDocument): subject = StringField(required=True) score =

2021-07-31 17:20:37 2070

原创 FASTapi sqlalchemy 的一些写法

joindb.query(YourModelA).join(YourModelA)...and、orfrom sqlalchemy import and_, or_db.query(YourModel).filter(and_(condition1,condition1...))...offset、limitdb.query(YourModel).filter(...).offset(1).limit(1).all()is null 、is not nulldb.qu.

2021-07-31 16:15:39 681

原创 fastapi.exceptions.RequestValidationError: 1 validation error for Request

框架用的fastAPI 报错如标题我有两个路由:@router.get("/{id}") [email protected]("/others") pass结果访问 /others报错:fastapi.exceptions.RequestValidationError: 1 validation error for Requestpath -> id value is not a valid integer (type=type_error.integer)官网对此的解释 ,

2021-07-21 10:20:49 2885

原创 python sorted 对对象排序

方法一:class Myobj: def __init__(self,id,score): self.id=id self.score=scoreif __name__ == '__main__': array=[Myobj(1,5),Myobj(2,2),Myobj(3,0)] array=sorted(array,key=lambda Myobj:Myobj.score) for obj in array: print

2021-06-15 14:52:13 322

原创 unable to prepare context: path “.\r“ not found

执行sh 脚本的时候,报标题错误原因是 脚本是在Windows上编辑,然后上传到Linux上执行。好像是2个系统编码不一样导致的vim 打开脚本 进入命令行 输入 set ff=unix 再保存退出即可

2021-05-21 09:18:46 3605

原创 python ipaddress.ip_network 报错ValueError: IP/x has host bits set

from ipaddress import ip_networkif __name__ == '__main__': network=ip_network('127.0.0.1/8') # 随便一个示例 print(network)在使用ip_network的时候报错 ValueError: 127.0.0.1/8 has host bits set 刚开始没搞明白原因,后来仔细检查了下,像上面 ‘127.0.0.1/8’ 后面24位(32-8)必须全是0才行。‘127.0.0.0

2021-05-18 16:59:21 5537 2

原创 VMware中安装Linux后,ifconfig只有127.0.0.1,SSH终端无法连接

确保 此电脑-右键-管理-服务 里面VMware各项服务都在运行vim /etc/sysconfig/network-scripts/ifcfg-ens33如果最后一行是 ONBOOT=no 把它改成 yes然后 service network restart

2021-05-11 10:43:01 272

原创 裂开!supervisor将我的python版本变成了3.6.8?

今天踩了一个supervisor的坑,我的python版本明明是3.7.8 :python -V Python 3.7.8安装一会儿软件过后,直接提示不认识:python -V bash: /usr/bin/python: No such file or directory而使用python3 -V 却能显示:python3 -V Python 3.6.8我蒙懵逼了,软链接明明用的是python 这里python却不认识。明明安装的是python3.7.8 ,这里却变成了3.6.

2021-04-16 17:02:17 535

原创 centOS下python用ffmpeg将MP3转换成WAV

最近有个任务,把服务器上的mp3转换成wav格式。查了一下 可以这么用:# 先PIP install pydubimport osfrom pydub import AudioSegmentCURRENT_DIR = os.path.dirname(os.path.abspath(__file__))def mp3_to_wav(mp3_path, wav_path): song = AudioSegment.from_mp3(mp3_path) song.export(wa

2021-03-25 14:21:20 258

原创 wget unable to resolve host address

刚安装的虚拟机,wget的时候报错。ping www.baidu.com的时候也报错 name or service not known在 /etc/resolv.conf 后面追加两行:nameserver 8.8.8.8 #google域名服务器nameserver 8.8.4.4 #google域名服务器再ping 还是不行service network restart 后就好了,wget 也好了...

2021-01-12 23:36:49 382

原创 python操作redis zset

前文写了redis的第五种数据结构zset,这篇文章照例用python实现一下。(其它几种数据结构,python客户端和redis客户端的语法还比较一致的,但是zset的一些差别是真的有点大,强烈建议结合前文redis客户端一起阅读)from redis import Redisif __name__ == '__main__': client = Redis(host='192.168.174.129', port=6666, decode_responses=True) try:

2020-12-28 14:08:57 2170

原创 redis的第5种数据结构——zset

前面几篇文章写了redis的4种数据结构——string / hash / list / set, 今天介绍下最后一种数据结构 zset。zset 和 set 的不同之处是,zset多了一个scorezset的命令都是以Z开头1.添加/更新 zadd key [nx|xx] [ch] [incr] score member …默认情况下的返回值:成功添加的新成员的数量> zadd z1 77 tom 90 mike 60 michael(integer) 3如果有序集合中已经存在s

2020-12-27 00:04:41 514

原创 python操作redis set

上一篇文章写了redis的第四种数据结构——set ,这篇文章用python客户端来复现一下。(建议结合上篇文章看,效果更佳)from redis import Redisif __name__ == '__main__': client = Redis(host='x.x.x.x', port=6666, decode_responses=True) try: # 添加元素 print(client.sadd('s1', 1, 2, 3)) # 3

2020-12-26 16:38:02 1642

原创 redis的第四种数据结构——set

前面几篇文章讲了redis的string / hash / list,今天写一下set。redis的集合和数学上的集合是一样的,set命令都以S开头1.添加元素到集合 sadd key member…> sadd s1 1 2 3(integer) 3> sadd s1 3(integer) 0> sadd s1 2 3 4 5(integer) 22.查看集合中的元素 smembers key> smembers s11) "1"2) "2"3) "3"

2020-12-26 15:15:37 187

原创 python操作redis list

上一篇文章写了redis客户端的各种list操作,这篇文章用python客户端来复现一下。(建议结合上篇文章看,效果更佳)from redis import Redisif __name__ == '__main__': client = Redis(host='192.168.174.129', port=6666, decode_responses=True) try: # 左右插入 print(client.rpush('list1', 1, 'a

2020-12-20 13:10:56 257 1

原创 redis的第三种数据结构 list

前几篇文章介绍了redis的string和hash,今天讲一下list。list的命令基本都以L开头1.从右边插入列表 rpush key value1 value2 …> rpush list1 1 a 2(integer) 32.从左边插入列表 lpush key value1 value2 …> lpush list1 0 -1(integer) 53. 查看列表 lrange key start stop> lrange list1 0 -11) "-1"

2020-12-19 20:55:14 189 1

原创 python 操作redis hash

前文介绍了Linux客户端操作redis hash,这篇文章用python客户端实现一下。from redis import Redisif __name__ == '__main__': client = Redis(host='192.168.174.129', port=6666, decode_responses=True) try: # client.hset('s1','name','pygo') # client.hset('s1','na

2020-12-19 15:42:25 261 1

原创 redis的第二种数据类型——hash

前一篇介绍了redis的第一种数据类型string。这一波来介绍一下第二种数据类型hash。hash类似于程序中的对象,每个对象可以有多个属性。结构如下图:key -> field:valuehash 的命令都以 h 开头1.hset key field value> hset s1 name pygo age 18(integer) 22.hget key field> hget s1 name"pygo"> hget s1 age"18"> hge

2020-12-19 10:25:17 105 1

原创 python 操作redis string

上文讲了Linux客户端下,redis string的各种操作。老规矩参照这上一篇,用python客户端实现一下。from redis import Redisif __name__ == '__main__': client = Redis(host='192.168.174.129', port=6666, decode_responses=True) try: client.set('a', 1) print(client.get('a')) #

2020-12-14 22:16:18 127

原创 redis string的各种操作

上一篇讲了redis的keys操作。这一波来讲下string的各种操作。1.set key value> set a 1OK2.get key> get a"1"3.incr key> incr a(integer) 2> get a"2"只能对整数进行操作,小数也不行> set b bOK> incr b(error) ERR value is not an integer or out of range4.incrby key

2020-12-13 22:34:43 169

空空如也

空空如也

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

TA关注的人

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