- 博客(60)
- 收藏
- 关注
原创 Python中文件并发读写问题
在 linux 环境下用 Python 进行项目开发过程中经常会遇到多个进程对同一个文件进行读写问题,而此时就要对文件进行加锁控制,在 Python 的 linux 版本下有个 fcntl 模块可以方便的对文件进行加、解锁控制。import fcntlfile_path = "/home/ubuntu/aaa.json"f = open(file_path, 'w')fcntl.flock(f.fileno(), fcntl.LOCK_EX) # 加锁,其它进程对文件操作则不能成功f.writ
2022-03-14 18:21:45
2188
原创 实例方法,静态方法,类方法分别什么时候使用
很简单的判断标准如果你的方法,用到了成员和成员函数,即必须通过self 获得,那就是用实例方法如果你的方法,只用到了类变量,即通过cls获得,那就用类方法(@classmethod),静态方法同理,self ,cls都没用到,就用静态方法(@staticmethod)...
2021-09-09 18:09:35
345
原创 跨域问题解决方案
要掌握跨域,首先要知道为什么会有跨域这个问题出现确实,我们这种搬砖工人就是为了混口饭吃嘛,好好的调个接口告诉我跨域了,这种阻碍我们轻松搬砖的事情真恶心!为什么会跨域?是谁在搞事情?为了找到这个问题的始作俑者,请点击浏览器的同源策略。这么官方的东西真难懂,没关系,至少你知道了,因为浏览器的同源策略导致了跨域,就是浏览器在搞事情。所以,浏览器为什么要搞事情?就是不想给好日子我们过?对于这样的质问,浏览器甩锅道:“同源策略限制了从同一个源加载的文档或脚本如何与来自另一个源的资源进行交互。这是一个用于隔离潜
2021-09-03 16:35:05
153
原创 使用mount命令挂载windows共享目录无chmod,chown权限
用以下mount命令挂载windows磁盘后无chmod,chown权限sudo mount -t ntfs //10.115.246.122/wtpms /home/wingtech/new_system/python_project/system/uploads/PMS -o username=administrator,password=preLoad@2021^^指定挂载目录所属用户,用户组即可(加uid=用户id,gid=用户组id)sudo mount -t ntfs ...
2021-08-27 19:41:18
1188
转载 DRF的@action装饰器
视图集中附加action的声明from rest_framework.decorators import action # 追加action:返回书记的倒叙地0个书籍的信息 @action(methods=['get'],detail=False) def latest(self, request): """ # 追加action 修改图书的阅读数量 @action(methods=['put'],detail=True) def read(se
2021-08-18 16:30:12
1528
原创 DjangoRESTFrameWork中的视图
DRF中的request:在Django REST Framework中内置的Request类扩展了Django中的Request类,实现了很多方便的功能--如请求数据解析和认证等。比如,区别于Django中的request从request.GET中获取URL参数,从request.POST中取某些情况下的POST数据。在APIView中封装的request,就实现了请求数据的解析:对于GET请求的参数我们通过request.query_params来获取。对于POST请求、PUT请求的
2021-08-12 18:10:11
242
原创 python文档库
https://docs.python.org/3/library/logging.config.html#logging-config-dictschema
2021-08-12 16:28:20
122
原创 vue nginx部署后上传大文件一直失败的原因
有谁会tm的想到nginx默认上传文件大小是1M呢,晦气server{ listen 80; server_name chat.erp.360buy.com; #access_log /export/servers/nginx/logs/chat.erp.360buy.com; location / { proxy_pass http://tomcat; client_max_body_size 1000m; }}修改client_max_bo
2021-08-05 20:18:56
422
原创 nginx autoindex目录列表功能下载txt文件时文件直接在浏览器打开而非下载
location / { if ($request_filename ~* ^.*?.(txt|doc|pdf|rar|gz|zip|docx|exe|xlsx|ppt|pptx)$) { add_header Content-Disposition 'attachment'; add_header Content-Type: 'APPLICATION/OCTET-STREAM'; } ...
2021-07-16 11:07:28
911
原创 安装mod_wsgi遇到的那些坑
因为从https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python下载了两个mod_wsgi 模块,所以文件命名变更,安装报错
2021-06-29 16:43:49
430
原创 mysql 常见问题
学习目标:提示:这里可以添加学习目标例如:一周掌握 Java 入门知识学习内容:提示:这里可以添加要学的内容例如:1、 搭建 Java 开发环境2、 掌握 Java 基本语法3、 掌握条件语句4、 掌握循环语句学习时间:提示:这里可以添加计划学习的时间例如:1、 周一至周五晚上 7 点—晚上9点2、 周六上午 9 点-上午 11 点3、 周日下午 3 点-下午 6 点学习产出:提示:这里统计学习计划的总量例如:1、 技术笔记 2 遍2、优快云 技术博客
2021-06-15 10:38:24
140
原创 VS Code配置pylint
1. 下载pylintpip install pylint2.打开VS Code配置,搜索pylint args,按如下配置即可
2021-05-12 11:24:23
479
原创 前端传参到底是form-data格式还是json格式?
需要传文件时使用form-data,其它统一用json。不然前端数据一复杂,传form-data你会想哭
2021-04-09 15:47:55
1684
原创 python 装饰器中@wraps的作用
@wraps(view_func)的作用:不改变使用装饰器原有函数的结构(如name, doc)不适用@wraps 的时候 def decorator(func): """this is decorator __doc__""" def wrapper(*args, **kwargs): """this is wrapper __doc__""" print("this is wrapper method") return func(*args, **kwargs) ret..
2020-10-29 16:11:19
478
原创 解决mysqlclient安装报错
到这个地址去找相对应的mysqlclient资源https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient如下图:其中cp36对应python3.6,win64表示windows64位系统2.3 开始安装我这里选择mysqlclient‑1.4.6‑cp36‑cp36m‑win32.whl首先下载mysqlclient‑1.4.6‑cp36‑cp36m‑win32.whl这个资源文件。 在该资源所在路径打开命令行使用如下命令安
2020-10-26 10:53:18
835
原创 left join on 后and 和 where 的区别
SELECT * FROMstudent a LEFT JOIN sc b ON a.Sid = b.Sid AND a.Sname="赵雷"结果:(left join 左连接,左表所有数据 拼接 右表符合on条件的数据。on后用and连接,‘a.Sid = b.Sid AND a.Sname="赵雷"’都作为on条件)SELECT * FROMstudent a LEFT JOIN sc b ON a.Sid = b.SidWHERE a.Sname="赵雷"结果:(当on后用wh...
2020-06-01 10:34:37
214
原创 条件注释判断浏览器版本
]<!--[if !IE]><!--> 除IE外都可识别 <!--<![endif]--><!--[if IE]> 所有的IE可识别 <![endif]--><!--[if IE 6]> 仅IE6可识别 <![endif]--><!--[if lt IE 6]> IE6以及IE6以下版本可识别 <![endif]--><!--[if gte IE 6]> IE6以及IE6以.
2020-05-28 10:33:45
281
原创 前段UI框架 layui 和 amazeui 的对比
1、AmazeUI的确有多个实现版本。HTML版本、Mobile 版本和react版本。LayUI只有一个原生版本。 2、作为模板。AmazeUI和LayUI各有特色。相对AmazeUI的色系和风格比较霸道,而LayUI略内敛而不失大气。 3、原生版本AmazeUI是基于JQ/Zepto,集成方式就是传统的方式,LayUI是基于自定义的模块化。有自己的一套机制。 4、UI组件上。AmazeUI的组件略少,模板比较多, 但是在响应式上还有些问题。LayUI刚迈进响应式不久,但也在努力。组件部分LayUI
2020-05-28 10:07:19
1222
原创 mysql 视图的使用
MySQL视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。对其中所引用的基础表来说,MySQL视图的作用类似于筛选。定义视图的筛选可以来自当前或其它数据库的一个或多个表,或者其它视图。通过视图进行查询没有任何限制,通过它们进行数据修改时的...
2020-05-06 15:23:30
155
原创 for 循环中++i 和 i++ 的区别
根据上面的for循环的语法定义 ++i 和 i++的结果是一样的,都要等代码块执行完毕才能执行语句3,但是性能是不同的。在大量数据的时候++i的性能要比i++的性能好原因:i++由于是在使用当前值之后再+1,所以需要一个临时的变量来转存。而++i则是在直接+1,省去了对内存的操作的环节,相对而言能够提高性能...
2020-02-25 14:09:54
327
1
原创 php 中Include和require 的区别
错误处理方式区别 require一个文件存在错误的话,那么程序就会中断执行了,并显示致命错误include一个文件存在错误的话,那么程序不会中断,而是继续执行,并显示一个警告错误include有返回值,而require没有。...
2020-01-14 10:11:01
171
原创 php中抽象类的使用
有抽象方法的必须为抽象类 抽象类中不一定只有抽象方法 继承抽象类的子类必须实现抽象类中的抽象方法<?phpabstract class ACanEat{ //抽象方法需要在子类中实现 abstract public function eat($food); public function breath(){ echo "hhh";...
2020-01-08 15:14:55
302
原创 thinkphp3.2.3中的_initialize()方法
initialize()函数的出现是为了我们可以在子类中同时调用父类与子类的构造函数。想要搞明白最简单方法的就是打开TP的源码,最靠谱。路径:ThinkPHP3.2.3/ThinkPHP/Library/Think/Controller.class.php.(△Controller是一个抽象类△)我们可以看到 /** * 架构函数 取得模板对象实例 ...
2020-01-08 14:36:37
1013
转载 CURL 实现Get和Post提交
1.cURL介绍 cURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP、FTP、TELNET等。最爽的是,PHP也支持 cURL 库。本文将介绍 cURL 的一些高级特性,以及在PHP中如何运用它。2.基本结构 在学习更为复杂的功能之前,先来看一下在PHP中建立cURL请求的基本步骤: (1)初始化 curl_init() ...
2019-12-30 10:40:18
424
原创 mysql 索引介绍
什么是索引?索引是一种帮助数据库获得高效查询效率的数据库对象,该数据库对象使用了特殊的数据结构,以B树和Hash树最为常见,MySQL中索引默认使用的是B树索引的利减少IO操作次数,提供查询效率 降低CUP使用率(在排序操作中尤为明显)索引的弊占据大量的硬盘存储空间不适用索引的情况数据量小的表 频繁变动的字段 不经常查询的字段 降低DML操作的效率适合建立...
2019-12-25 17:42:40
261
原创 sql优化
查询语句的执行过程通过网络的通讯协议接收客户端传入的SQL 查看该SQL对应的结果在查询缓存中是否存在 存在则直接返回结果 不存在则继续往下走 由解析器来解析当前SQL,最终形成初步的解析树 再由预处理器对解析树进行调整,完成占位符赋值等操作 查询优化器对最终的解析树进行优化,包括调整SQL顺序等 根据优化后的结果得出查询语句的执行计划,就是查询数据的具体实施方案,交给...
2019-12-18 15:27:16
131
原创 gerrit 中refs/for 和 fefs/head的区别
refs/for/[brach] 需要经过code review之后才可以提交,而refs/heads/[beanch]不需要code review。举例如果需要code review,直接执行push:git push origin mybrach就会报错“! [remote rejected] master -> master (prohibited by Ger...
2019-12-16 10:48:38
1921
原创 mysql中 having 和 where 的区别
区别1where是从数据表中的字段直接进行的筛选的。having是从 前面筛选的字段再筛选eg:selectgoods_price,goods_namefrom goodshavinggoods_price>100 等价于 select goods_price,goods_namefrom goo...
2019-12-10 09:43:59
334
原创 mysql中 update和 join连用
UPDATE T1INNER JOIN T2 ON T1.C1 = T2.C1SET T1.C2 = T2.C2 and T2.C3 = exprWHERE condition
2019-10-09 17:02:54
1006
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人