自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 基于python3.6-slim+supervisor 的dockerfile docker-compose

# 基础镜像FROM python:3.6-slimLABEL author="xiaoqiao99"# 替换源RUN sed -i s/deb.debian.org/mirrors.aliyun.com/g /etc/apt/sources.listRUN sed -i s/security.debian.org/mirrors.aliyun.com/g /etc/apt/sources.listRUN apt-get update#mysql-client 依赖#RUN apt-get

2021-03-19 21:12:06 612

原创 django + simpleui + webuploader 上传文件和文件夹 以及上传图片问题

效果图附代码{% extends 'admin/custom_change_list.html' %}{% block extraheadupload %} <script src="/static/bootstrap/js/jquery.min.js"></script> <script src="/static/bootstrap/js/bootstrap.min.js"></script> <script src="

2020-05-09 15:19:52 1325 1

原创 mysql 添加字段前先做判断字段是否存在(处理添加字段重复报错)

DELIMITER // DROP PROCEDURE IF EXISTS proc_add; CREATE PROCEDURE proc_add( IN tab varchar(200), IN colu varchar(200), IN cus_type varchar(200)) BEGIN set @sql = CONCAT('ALTER TAB...

2020-04-29 18:54:54 2558

转载 mysql 死锁问题

参考以下:InnoDB调试死锁的方法另外:一 热点商品优化方案二 死锁监测和分析三 秒杀场景开源MySQL性能压测对比四 MySQL压测细节

2019-06-15 13:13:15 89

原创 python xmind 包使用 (其中解决导出的xmind文件 xmind8可以打开 xmind2020及之后版本打开报错问题)

場景 xmind8 可以打开 xmind2020 报错main_fest.xml(xmind8 打开另存后 更改后缀为.zip 里边包含META-INF/manifest.xml)xmind 修改后缀为zip ---->解压---->放入main_fest.xml —>压缩zip —>修改后缀为xmindimport xmindimport osimport reimport shutilimport zipfilefrom xmind.core.const i.

2021-06-04 13:43:07 3010 11

原创 django orm排序 空值在后

from django.db.models import Fdemo.objects.filter(status=1).order_by(F(‘test_time’).asc(nulls_last=True)).values()其中test_time即为指定字段,asc为正序 传入参数nulls_last为True,查询结果即为空值在后。其效果等同于:select * from demo where status=1 order by test_time is NULL, test_time;se

2021-05-26 15:05:44 259

原创 1093 - You can‘t specify target table ‘message_message‘ for update in FROM clause

update语句中包含的子查询的表和update的表为同一张表时,报错:1093-You can’t specify target table for update in FROM clausemysql不允许update目标表和子查询里面的表为同一张表UPDATE message_message SET status = 2 WHERE id IN ( SELECT id FROM (SELECT id FROM (SELECT b.id FROM message_messaget

2021-05-20 11:14:01 144

原创 文件下载 关于Content-disposition

1.在跨域的时,客户端能够访问到一些默认响应的headers:Cache-ControlContent-LanguageContent-TypeExpiresLast-ModifiedPragma要想访问 Content-Disposition 需要在服务端接口响应添加:```response['Access-Control-Expose-Headers'] = "Conten...

2019-07-06 14:21:50 1587

转载 django处理流式响应

https://www.jb51.net/article/144137.htm

2019-06-15 13:01:45 764

原创 mysql group_concat的截断问题

show variables like ‘group_concat_max_len’;±---------------------±------+| Variable_name | Value |±---------------------±------+| group_concat_max_len | 1024 |±---------------------±------+1 row...

2019-06-05 13:55:57 189

原创 发布django pyc版本

项目同名文件下 创建 pyc_compile.py 本地测试linunx环境import osimport sysimport shutilfrom py_compile import compile#print "argvs:",sys.argvif len(sys.argv) == 3: comd = sys.argv[1] #输入的命令 path = sys...

2019-05-29 16:16:54 810

转载 python 中defaultdict

https://www.cnblogs.com/jidongdeatao/p/6930325.html

2019-04-23 15:53:41 83

原创 python 3.6 django2 Django-channels2实现websocket 后端主动推送(+signals机制)

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...

2019-02-28 19:41:29 4876 5

原创 python 请用您熟悉的编程语言,比较两个软件版本号大小的函数,如 1.2.3a 和 1.2.4b 比较,后者版本号更大,请考虑各种情况,不可以使用系统提供的比较函数。

请用您熟悉的编程语言,编程实现一个比较任意两个软件版本号大小的函数,如 1.2.3a 和 1.2.4b 比较,后者版本号更大,请考虑各种情况,不可以使用系统提供的比较函数。def version_cmpare(v1, v2): if v1 == v2: return 0 a_list = v1.split('.') b_list = v2.split('....

2018-11-16 09:43:15 825

原创 关于mysql索引及优化

MyISAM引擎索引结构 :B+Tree叶子节点的data域存放的是数据记录的地址![在这里插入图片描述](https://img-blog.csdnimg.cn/20181103210427193.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG...

2018-11-03 21:04:56 112

原创 聊一聊 python __get__, __getattr__,__getatribute__, __getitem__ 用法

聊一聊 python __get__, __getattr__,__getatrribute__ 用法先上代码class Examp(object): def __init__(self, username, age): self.username = username self.age = age # 1. “_ getattribute_”...

2018-10-31 23:54:42 345

原创 关于JWT的token,如果被截取了

首先这不是JWT的问题,而是http通讯的安全问题,总所周知http是采用的明文通讯,所以很容易就能够被窃取到http通讯报文。现在网站大多是http通讯,那也都面临着cookie被截取的问题,JWT同理解决办法:采用https 或者 代码层面也可以做安全检测,比如ip地址发生变化,MAC地址发生变化等等,可以要求重新登录 ...

2018-10-13 17:35:20 16989

原创 关于python 协程的理解

 1.1协程的概念  协程,又称微线程,纤程。英文名Coroutine。一句话说明什么是线程:协程是一种用户态的轻量级线程(不理解)  我觉得单说协程,比较抽象,如果对线程有一定了解的话,应该就比较好理解了。  那么这么来理解协程比较容易:  线程是系统级别的,它们是由操作系统调度;协程是程序级别的,由程序员根据需要自己调度。我们把一个线程中的一个个函数叫做子程序,那么子程序在...

2018-10-12 16:37:46 268

原创 关于django __str__ 与 __unicode__ 问题

因为所有字符串都作为Unicode字符串从数据库返回,基于字符的模型字段(CharField、TextField、URLField等)在Django从数据库检索数据时将包含Unicode值。即使数据可以放入ASCII字节字符串,也总是如此。您可以在创建模型或填充字段时传入bytestring,并且Django会在需要时将其转换为Unicode。¶选择__str__()和__unicod...

2018-10-12 16:32:25 1057

原创 写一个函数func(),其作用是以均匀分布随机返回单位圆内一个点的坐标,过程中所有随机数的产生只能依赖一个给定的0到1之间随机小数的生成器rand()

import numpy as npimport matplotlib.pyplot as plt if __name__=='__main__':    samples_num = 800    t = np.random.random(size=samples_num) * 2 * np.pi - np.pi    x = np.cos(t)    y = np.sin(t) ...

2018-09-19 11:36:19 286

原创 请求方法的幂等性

get 获取数据 幂等post 在服务器新建数据 非幂等put 修改服务器中数据 --- 发送的完整数据 幂等patch 修改服务器中的数据--发送要修改的部分数据 幂等delete 删除服务器的数据 幂等option 询问服务器支持的请求方式与返回数据格式head 与get 对应 仅返回 响应头 ...

2018-09-17 11:45:14 544

原创 分布式任务队列celery

关于celery 和 RabbitMQ celery是Python语言实现的任务队列 celery通过消息进行通信,通常需要一个 中间者存在于客户端和工作者之间, 客户端生产任务, 中间人将其发送给工作者 中间者: RabbitMQ和Redis目前支持的 celery 组件:Celery Beat : 任务调度器. Beat 进程会读取配置文件的内容,...

2018-09-17 11:42:30 118

原创 ruby 环境搭建

一)安装版本管理工具rvm1.1)下载并安装rvmcurl -L get.rvm.io | bash -s stable1.2)指定源source ~/.rvm/scripts/rvm1.3)查看版本rvm -v二)安装ruby2.1)查看ruby版本rvm list known2.2)安装指定版本rvm install 2.2.22.2.1)这...

2018-09-17 11:39:25 155

转载 Ruby/Rails-empty?/nil?/present?/blank?

https://www.jianshu.com/p/7712608dd98b

2018-08-02 09:15:23 132

原创 mysql 计算时间差

SELECT * from advertisement where DATEDIFF(finish_time,'#{current_time}')=1 AND DATEDIFF(finish_time,start_time)&gt;1

2018-07-05 10:19:00 552

转载 flask 中 endpoint 的作用

http://blog.csdn.net/hello_albee/article/details/51638358

2018-03-17 18:26:55 615

转载 聊聊C10K问题

https://my.oschina.net/xianggao/blog/664275

2018-03-16 14:17:42 420

原创 python新式类和经典类

新式类早在2.2就出现了   python3中全部是新式类  有一个MRO 顺序 新式类广度优先(先平行查找)  经典类深度优先(先纵向查找)这个问题主要体现在python的比较牛的一个特点  : 多继承  ...

2018-03-14 21:59:38 285

原创 python GIL全局解释器锁

这个锁不是语言本身的问题  是解释器的问题 为了保证线程安全所以采用线程全局锁  也因为历史原因一直没有去掉每个线程在执行的时候都要获取一个GIL,GIL保证在程序执行的时候只有一个线程可以工作 当这个线程GIL锁释放的时候才能切换到其他线程执行python中的多线程是一个伪线程在遇到网络IO阻塞的时候  会暂时释放GIL锁以此来完成多任务的并发或者并行  python3中使用定时器   pyth...

2018-03-14 21:51:53 181

原创 随笔

import 注意点__import__(变量)  变量指向模块名 可以这样用import  模块名  两层含义: 可以理解为  1 导入这个模块所有变量 类   2 隐意有一个变量(跟模块名相同) 指向那个模块  关于sql 注入什么是sql 注入 : 在表单里输入一些特殊字符  未登录的状态访问到已登录的资源防止sql注入 : 参数化...

2018-03-12 08:39:25 104

原创 csrf_token跨站请求伪造和保护验证

伪造:其实请求伪造是客户端发的 恶意网站不需要客户端的访问记录保护:(使用POST请求方式 , 本质是在请求的参数上加上随机字符串进行混淆)1 .当客户端请求服务器 服务器端根据 secret_key 生成一个随机的token  服务器会把这个token 写到返回的cookie里 键为csrftoken 其值为自动生成的token     2 在所有的POST表单中 服务器会自动帮帮我们生成一个隐...

2018-03-09 19:43:24 2297

原创 get post 的区别

get 请求 获取数据   请求参数 放在url 后面 以 ? 分割url 和传输的数据post 请求 上传数据 请求参数放在请求体里(为了安全)   当然也可以放在url 里边 只是没人这么干post 请求相对get 更安全 如果采用get 比如在发送登录请求时(get请求) 会把 用户名和密码暴露在url里...

2018-03-09 19:21:17 96

原创 pyhon交换变量

# 交换变量# 第1种方式# a = 4# b = 5# c = 0## # c = 4# c = a# # a = 5# a = b# # b = 4# b = c## print(a)# print(b)# print(c)# 第2种方式# a = 4# b = 5## a = a+b  # a = 9 b = 5# b = a-b  # a = 9 b = 4# a = a-b  # a =...

2018-03-09 10:32:49 173

原创 python引用的问题

# 引用# a = 1# b = a# print(id(a), id(b))# python中 小数据 -5到256# a = 10# b = 10# print(id(a), id(b))a = [1, 2]b = aprint(id(a), id(b))# a.append(3)# print(id(a), id(b))a = [1, 2]b = a[:] # b指向另外一个内存print(...

2018-03-09 10:30:35 177

原创 python 循环删除的坑

  循环删除的坑错误的做法a=[11,22,33,44,55]for i in a: if i==33 or i==44: a.remove(i)输出为:a=[11,22,44,55]正确的做法如下:a=[11,22,33,44,55]b=[]for i in a: if i==33 or i==44: b.append(i)for i in b: a.remove(i)...

2018-03-09 10:26:39 639

原创 python 单例的四种实现

# __new__至少要有一个参数cls,代表要实例化的类,此参数在实例化时由Python解释器自动提供# __new__必须要有返回值,返回实例化出来的实例,这点在自己实现__new__时要特别注意,可以return父类__new__出来的实例,或者直接是object的__new__出来的实例# __init__有一个参数self,就是这个__new__返回的实例,__init__在__new_...

2018-03-09 10:13:46 101

空空如也

空空如也

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

TA关注的人

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