
python
SooKie_p
D
展开
-
sqlalchemy查询数据为空,查询范围对应的数据在数据库真实存在
记录一个开发过程遇到的小bug,构造些伪数据还原并解释。原创 2023-11-13 17:02:59 · 717 阅读 · 0 评论 -
接收请求地址下载并输出文件流实现
后端下载文件处理为文件流记录原创 2023-10-16 17:22:31 · 264 阅读 · 0 评论 -
[WinError 32] 另一个程序正在使用此文件,进程无法访问,#图像处理
在做图像处理时,我使用了三个模块os,PIL,cv2。遇到一个困扰了一上午的bug, 排查了好几遍资源监视器~~~,bug如下:需求描述:1. 首先我需要用PIL把目标图像处理成我所需要的格式2. 把新生成的图像的长宽等指标获取到以备后续使用3. 新的图像使用完不保存入库,直接删除new_url = "D:···537fd8cb01c4004d62c473661672abbc1623211844.8764274.jpeg"old_url = "D:····537fd8cb01c4004d62c47原创 2021-06-09 14:58:18 · 773 阅读 · 0 评论 -
列表list中字符串输出整形int
记录场景:nub = "1,5,25"nub_type = nub.split(",")需求 – 输出整形:# 最简单的方法就是for定义的变量product_id = [int(n) for n in nub_type]# The second, lambda输入n,输出int(n)product_id = list(map(lambda n: int(n), nub_type))# The thirdproduct_id = list(map(int, nub_type))原创 2021-05-18 19:46:00 · 329 阅读 · 0 评论 -
supervisorctl进程启动报错:unix:///var/run/supervisor.sock refused connection 解决
最近几天因为公司电路维修,服务器每晚需要关掉,这样导致supervisorctl进程管理需要自己手动启动,而直接重新启动的话则会报错,如下:unix:///var/run/supervisor.sock no such file解析:因为服务器停掉导致/var/run目录下supervisor.sock文件被删除,找不到所以失败报错解决方法:touch /var/run/supervisor.sock # 创建运行以下命令supervisord -c /etc/supervisord原创 2020-11-06 12:17:20 · 12392 阅读 · 0 评论 -
Ubuntu初始安装PyCharm报错- agent library failed to init: instrument
情景:卸载了2020版的PyCharm,使用一个低版本的,遇到启动失败问题如下:: agent library failed to init: instrument**是因为初始配置运行时已经生成了程序文件,修改完一些配置后在运行就会报图一的错误,解决方法删除掉之前生成的程序文件,在运行就可以了,也会生成新的程序文件顺便提一嘴Ubuntu 生成桌面快捷方式在/usr/share/applications 目录中创建一个文件:pycharm.desktopsudo gedit /usr/s原创 2020-10-16 18:09:54 · 4850 阅读 · 0 评论 -
Jenkins 删除全部构建历史记录
Jenkins 构建生成的 jar/war包 会占用很大的硬盘,Jenkins集成工具又会有很多个项目,那么多的构建历史总不可能下拉单个单个的删除,提高效率当选针对项目全部删除不想要的构建。效果如下界面操作步骤如下系统管理 --> 脚本命令行:输入代码运行://项目名称def jobName = "validator_server"//删除小于64的构建历史def maxNumber = 95 Jenkins.instance.getItemByFullName(job原创 2020-06-10 20:53:44 · 2818 阅读 · 0 评论 -
HTTP,内容类型content_type
Content-Type:定义网络文件的类型和网页的编码,来决定浏览器以什么形式、什么编码读取这个文件,就是点击结果是下载一个文件或一张图片的原因。以下列出content-type中允许的值.* : 二进制流,不知道下载文件类型Content-Type = { ".* " : "application/octet-stream", ".323":"text/h323" , ".3gp":"video/3gpp" , ".aab":"application/x-authoware-b.原创 2020-06-02 18:17:24 · 554 阅读 · 0 评论 -
MongoDB数据库连接配置
MongoDB是一个开源文档数据库,可以提供高性能,高可用性和自动扩展。项目涉及数据类型较多可以选择,而官方文档提供的配置个人感觉有点……emmmMongoengine安装及官方文档Mongoengine官方文档Mongoengine安装:pip install mongoengineflask_mongoengine安装:(对Mongoengine的一种封装)pip install...原创 2019-08-23 16:35:39 · 471 阅读 · 0 评论 -
Liunx设置Python版本的默认运行环境!
Ubuntu18.04版本的Python运行环境是默认2.x版本,运行项目设置是颇为不便,需求:修改为3.x版本!解决方法:修改默认配置为3.x版本:sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150切换回2.x版本:sudo update-alternatives --con...原创 2019-08-15 13:50:39 · 388 阅读 · 0 评论 -
ubuntu18.04安装mongo环境配置及遇到BUG!
因项目需要使用MongoDB数据库,安装到配置遇到很多问题,花费了一上午时间,在脑细胞大量付出的情况下顺利解决!MongoDB官网下载地址https://docs.mongodb.com/manual/Ubuntu中安装与配置Ubuntu18.04版本直接输入MongoDB的安装命令会出现一个问题sudo apt-get install mongodb 输入Mongo进不...原创 2019-08-12 12:06:46 · 435 阅读 · 0 评论 -
Ubuntu初始安装MySQL,提示ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES
初始使用MySQL时会遇到一个提示就是:ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)解决方法:进入到 /etc/init.d目录下,执行命令mysqld stop进入 /etc/mysql目录查看MySQL安装路径,执行 whereis mysql查看 debian...原创 2019-08-21 14:02:36 · 617 阅读 · 0 评论 -
RuntimeError: Working outside of request context. Flask请求上下文之外
写好装饰器,项目运行BUG解决方法!BUG描述:RuntimeError: Working outside of request context.This typically means that you attempted to use functionality that neededan active HTTP request. Consult the documentation...原创 2019-08-27 14:46:36 · 6353 阅读 · 3 评论 -
Mongoengine报错,Argument to ReferenceField constructor must be a document class or a string
运行报错信息:mongoengine.errors.ValidationError: Argument to ReferenceField constructor must be a document class or a string报错说ReferenceField构造函数的参数必须是文档类或字符串,往上看看报错信息,说明类型定义错误,缩小范围。解决方法:出现这个BUG的原因是因为...原创 2019-09-19 15:15:38 · 410 阅读 · 0 评论 -
Liunx系统截图神器flameshot,Ubuntu18.04版本安装方法
习惯了截图带来的一系列便利,用Liunx系统开发也不能缺少截图的帮助。Liunx中Flameshot是和Win里边的神器Snipaste一般的存在。安装方法步骤:Ubuntu软件是可以直接搜索安装Flameshot这款截图软件,但是会出现打不开的问题,而且是0.5.0的版本,这个版本没有插入文字以及贴图功能!!!apt-cache show flameshot # 执行版本查看命令0...原创 2019-09-22 22:30:00 · 1546 阅读 · 0 评论 -
MySQL存储引擎InnoDB和MyISAM
关于InnoDB和MyISAM两种存储引擎之间区别,MySQL默认的存储引擎是MyISAM,个人认为有以下几点,供参考:InnoDB和MyISAM事务 :InnoDB支持,MyISAM不支持。InnoDB的AUTOCOMMIT默认是打开的,即每条SQL语句会默认被封装成一个事务,自动提交,这样会影响速度,所以最好是把多条SQL语句显示放在begin和commit之间,组成一个事务去提交...原创 2019-07-03 20:58:34 · 345 阅读 · 0 评论 -
缓存模式,更新及一些缓存问题(二)
缓存更新方式先更新数据库,在更新缓存,这样做有什么问题?最大的问题就是两个并发的写操作导致脏数据,以Redis和Mysql为例,两个并发更新操作,数据库先更新的反而后更新缓存,数据库后更新的反而先更新缓存。这样就会造成数据库和缓存中的数据不一致问题,应用程序中读取的都是脏数据。先删除缓存,再更新数据库逻辑错误,两个并发的读和写操作导致脏数据,假设更新操作先删除了缓存,此时正好有一...原创 2019-06-23 19:55:22 · 492 阅读 · 0 评论 -
接受前端数据进行转换!
需求1.接受前端传递的数据转化为字典,后端使用参数去请求任意接口。解决办法:json 中的 loads函数For exampleimport jsonclass GoodsListView(View): def get(self, request): ……… demo_str = '{"status": "ok"}' demo_json = json.loads...原创 2019-05-25 16:26:00 · 868 阅读 · 0 评论 -
JWT 认证机制
JWT认证机制: 做为目前前后端分离开发中用户身份认证最流行一种解决方案,叙述一下我的理解,以供参考。Session 的优缺点:缺点:session信息存在服务器,如果用户登录过多,会过多占用服务器存储空间。session依赖于cookie,如果cookie被利用,可能会产生CSRF跨站请求伪造。对于分布式的网站应用,如果session是存在服务器内存中,session共享会成为问题。...原创 2019-05-26 15:03:02 · 306 阅读 · 0 评论 -
nginx 编译时出现的问题解决
因为项目需要,于是在一台新的服务器上 准备安装nginx ,需要装两个扩展pcre,zlib。因为比较简单,这里就不多做叙述了,提供三个命令关键命令参考一下sudo apt-get install libpcre3 libpcre3-devsudo apt-get install openssl libssl-devsudo apt-get install zlib1g-dev准备工...原创 2019-05-17 12:44:42 · 1364 阅读 · 0 评论 -
序列化器基本介绍
日常写代码中,一个视图增删改查是必不可少的,而DRF框架可以帮助我们复用简化编写的,帮助我们大大提高REST API的开发速度,其中有个很重要的点就是序列化器。序列化器分为两类;序列化功能:将对象转换为字典。1)序列化单个对象2)序列化多个对象3)关联对象的嵌套序列化反序列化功能:数据校验:补充验证数据保存:新增create或更新updateFor example:工作...原创 2019-05-24 10:29:14 · 387 阅读 · 0 评论 -
创建集群时,关于BUG:…cannot load such file -- redis (LoadError)的解决方法
集群文件配置好后,gem源也是国内,但是还会有一个问题,就是redis的相关依赖。BUG:Traceback (most recent call last): 2: from /usr/local/bin/redis-trib.rb:25:in `<main>' 1: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_requ...原创 2019-06-18 20:08:38 · 4474 阅读 · 1 评论 -
PyCharm 中写 Turtle代码没提示以及标黄问题
PyCharm 中在使用Turtle(海龟)库绘图体系时,代码明明是正确可以运行的,但是没有提示 ,代码出现黄色标记以及红色波浪线 ,经验不足的人还以为自己的书写方法错误,毕竟出现了红色波浪线,效果如下图:原因说明:出现这个问题往往可能并不是你的问题,而是pycharm和turtle库有冲突 ,不能自己识别出turtle下的方法,站在pycharm本身的角度下它觉得你的代码出错了 ,找不到...原创 2019-06-02 20:54:30 · 5439 阅读 · 3 评论 -
MySQL事务问题
SQL语句的操作,要么完全的执行,要么全部不执行,是一个不可分割的工作执行单元——就是事务事务的四大特性 原子性(Atomicity) 一致性(Consistency)[✔] 隔离性(Isolation) 持久性(Durability)事务隔离的四种级别Read uncommited 读取未提交Read uncommited:最低级别,任何情况都无法保证demo:...原创 2019-06-17 17:03:31 · 376 阅读 · 0 评论 -
OSError: [Errno 98] Address already in use
运行项目时,可能出现的情况就是:之前没有停下的项目,再一次运行时就会报错,OSError: [Errno 98] Address already in use ,这个BUG就是地址占用,针对这一点,我特地重现了BUG产生的环境,如下图:可以清晰看到,一个项目运行两次就直接报错!解决方法:查找端口是否被占用lsof -i:端口号强制杀死占用端口进程IDkill -9 3345...原创 2019-06-22 14:47:30 · 400 阅读 · 0 评论 -
快速排序的算法。。。
列想一种,可以扩展一下其他排序算法!demo:def QuickSort(myList, start, end): # 判断low是否小于high,如果是False,直接返回 if start < end: i, j = start, end # 设置基准数 base = myList[i] while i < j: # 如果列表后边的数大于等于基数时,前...原创 2019-06-22 22:42:11 · 199 阅读 · 0 评论 -
桶排序(最简单的排序算法)
桶排序的基本思想:将一个数据表分割成许多buckets,然后每个bucket各自排序,或者用不同的排序算法,递归的…使用bucket sort 算法,也是一种典型的divide-and-conquer分而治之的策略,它是一种分布式的排序,介于MSD基数排序和LSD基数排序之间def bucketSort(nums): max_num = max(nums) # 创建一个元素全是0的列表,当...原创 2019-06-22 23:10:30 · 505 阅读 · 1 评论 -
缓存的有效期,淘汰策略及一些问题(一)
在如今这个流量迸发的环境下,如何解决大数据场景,高并发,高性能,热点数据访问等优化问题成为了程序员们所想的重中之重,而这时就涉及到缓存问题,这已经不在是简单的key-value存取,在具体的业务场景中,需要很强化的架构设计,而缓冲架构设计不到位的话,受到非正常访问数据冲击,MySQL支撑不住,很容易导致系统崩溃。说到缓冲,脑中的第一反应是否是如下结构?缓冲的有效期TTL可以做到数据弱一致性,有...原创 2019-06-23 16:58:37 · 783 阅读 · 0 评论