- 博客(31)
- 收藏
- 关注
转载 django并发处理下单、秒杀、金融服务等业务
django并发处理下单、秒杀、金融服务等业务一、问题分析:在多个用户同时发起对同一个商品的下单请求时,先查询商品库存,再修改商品库存,会出现资源竞争问题,导致库存的最终结果出现异常。正如下面这张图:甲、乙同时下单购买A商品,下单前都查到库存都为15,而下单时,甲稍快些买走了10件,实际库存还剩5件,而乙下单时,仍然用库存15来判断,最终会导致商品库存大于售出。二、解决思路悲观锁当...
2019-10-16 20:32:06 256
原创 python实现最长公共子串
python实现最长公共子串import numpy as npdef longest_substring(str1,str2): # 首先创建一个长宽分别为len(str1),len(str2)的二维数组 record = np.zeros(shape=(len(str1),len(str2))) # 获取第一个字符串的长度 str1_length = le...
2019-10-16 19:38:16 1277
原创 将分数:“3/5”转换成小数0.6,并打印输出
将分数:“3/5”转换成小数0.6,并打印输出a = '3/5'# eval是对字符串表达式进行计算print(eval(a))
2019-10-16 18:27:32 943
原创 django如何使用自带的mail模块发送邮件
django如何使用自带的mail模块发送邮件(以qq邮件发送为例)添加配置(在settings.py文件中添加配置)# 是否使用SSl安全套接字层EMAIL_USE_SSL= True# 连接的主机EMAIL_HOST = 'smtp.qq.com'# 端口EMAIL_PORT = 465# 发送方的qq邮箱EMAIL_HOST_USER = 'xxx@qq.com'# ...
2019-10-16 13:40:23 312
原创 a = [1,2,3,4,5,6,7,8] for i in a: a.remove(i) print(a)求输出结果
求a = [1,2,3,4,5,6,7,8] for i in a: a.remove(i) print(a)求输出结果a = [1,2,3,4,5,6,7,8]for i in a: a.remove(i)print(a)输出:[2,4,6,8]解释:在运行过程中可以打印以下其索引,查看对应的索引可以看出索引是依次递增的,a是一个可变数据类型所以会保留其修改的状态绘图...
2019-10-15 14:50:19 6033 1
原创 a=1,b=2,不用中间变量交换 a 和 b 的值?(三种方法),及python中^、&、|,的使用
方法一:方法简单不做介绍a = 1 b = 2a = a+bb = a-ba = a-bprint(a,b)方法二a = 1b = 2a = a^bb = b^aa = a^bprint(a,b)python中的 ^(亦或) &(与) |(或)先转换成BCD码亦或 ^(相同为0,相异为1)与 &全是一才为1或 |(有一个为1则为1)...
2019-10-11 19:14:15 3236
原创 python中PIL模块生成四位数验证码,代码详解
python中PIL模块生成四位数验证码,代码详解# 引入绘图模块from PIL import Image,ImageDraw,ImageFont# 引入随机函数模块import random# 定义变量,用于画面的背景颜色,宽和高bgcolor = (random.randrange(20,100),random.randrange(20,100),random.randrange...
2019-10-10 23:00:34 245
原创 进程中死锁出现的的原因
产生死锁的四个必要条件(1) 互斥条件:一个资源每次只能被一个进程使用。(2) 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。(3) 不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。(4) 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。避免死锁上面列出了死锁的四个必要条件,我们只要想办法破其中的任意一个或多个条件,就可以避免 死锁发生,...
2019-10-10 17:18:27 386
原创 请写出一段 python 代码实现删除一个 list 里面的重复元素
请写出一段 python 代码实现删除一个 list 里面的重复元素方法一:利用set集合实现info = [2017,1,16,9,2017,1,16,9]result = list(set(info))print(result)result.sort(key=info.index)print(result)方法二:使用字典函数info = [2017,1,16,9,2...
2019-10-10 08:59:14 5491
原创 Session 和 Cookie 的联系与区别
Session 和 Cookie 的联系Session 对 Cookie 的依赖:Cookie 采用客户端存储,Session 采用的服务 端存储的机制。Session 是针对每个用户(浏览器端)的,Session 值保存在服 务器上,通过 SessionId 来区分哪个用户的 Session。因此 SessionId 需要被 绑定在浏览器端。 SessionId 通常会默认通过 Cookie ...
2019-10-10 08:31:53 126
原创 Python 里面 range 和 xrange 的区别
Python 里面 range 和 xrange 的区别xrange 和 range 的参数和用法是相同的。只是 xrange()返回的不再是一个 数列,而是一个 xrange 对象。这个对象可以按需生成参数指定范围内的数字 (即元素)。由于 xrange 对象是按需生成单个的元素,而不像 range 那样, 首先创建整个 list。所以,在相同的范围内,xrange 占用的内存空间将更小,...
2019-10-09 22:56:24 204
原创 python集合的基本操作
python集合的基本操作特点:无序、唯一、不可变集合元素的添加add():添加单个元素update():添加集合集合元素的删除pop():弹出一个元素(由于集合是无序的所以无法指定索引进行删除)remove():指定删除集合中具体的元素clear():清空集合del:python内置的方法删除集合之间的数学运算交集(& 或者 int...
2019-10-09 19:22:36 528
原创 windows中自动开启redis服务
windows中自动开启redis服务在cmd中打开redis安装的位置输入: redis-server --service-install redis.windows-service.conf --loglevel verbose查看并开启服务:打开服务器开启服务...
2019-10-09 17:22:49 407
原创 a= “abbbccc”,用正则匹配为 abccc,不管有多少b,就出现一次?
a= “abbbccc”,用正则匹配为 abccc,不管有多少b,就出现一次?import rea = 'abbbccc'res = re.sub(r'b+','b',a)print(res)
2019-10-09 16:50:39 343
原创 请拿出 B 表中的 accdd,(A 表中和 B 表中的一样的数据)
请拿出 B 表中的 accdd,(A 表中和 B 表中的一样的数据)select * from B inner join A on B.name = A.name
2019-10-09 16:34:19 188
原创 linux下,后台运行一个python文件,并将文件运行结果输出到a.log
linux下,后台运行一个python文件,并将文件运行结果输出到a.log定位符:>echo aaa>1.txt后台执行:&返回后台正在进行的任务(terminal关闭后后台执行任务会消失):jobs形成后台任务,不会随着terminal关闭而消失:nohupnohup ping www.baidu.com >1.txt &可以通过ps -a...
2019-10-09 16:07:53 1587
原创 Linux中的计划任务(突发性任务、定时性任务)
Linux中的计划任务(突发性任务、定时性任务)突发性任务at介绍at在linux上是一种服务,在使用之前需要启动atd服务器,当次完成任务,之后就不执行了查看服务器状态:systemctl status atd开启服务器:systemctl start atd进入突发性任务(以ctrl+d进行结束编辑):at 14:20 在指定的时间执行at 14:35 203...
2019-10-09 15:40:48 426
原创 监视一个日志文件a.log的更新内容
监视一个日志文件a.log的更新内容方式tail -f filename示例创建一个不断变动的a.logping www.baidu.com>a.log &使用tail -f a.log 查看可以发现a.log新添加的内容...
2019-10-09 15:03:09 518
原创 https和http
https和httpHTTPS和HTTP的区别主要如下:1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HT...
2019-10-07 09:37:14 349
原创 什么是http协议?http请求有哪几种?
什么是http协议?http请求有哪几种?概念HTTP是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII码形式给出;而消息内容则具有一个类似MIME的格式。这个简单模型是早期Web成功的有功之臣,因为它使得开发和部署是那么的直截了当。请求种类Get:请求指定的页面信息,并返回实体主体P...
2019-10-07 09:13:26 3316
原创 三次握手、四次挥手
三次握手、四次挥手三次握手第一次第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。第二次第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(seq=k),即SYN+ACK包,此时服务器进入SY...
2019-10-07 09:06:18 164
原创 网络七层协议
网络七层协议OSI/RM(Open System Interconnection Reference Model)即开放系统互联基本参考模型TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)...
2019-10-07 08:49:29 154
原创 虚拟机出现,以独占方式锁定此配置文件失败,解决办法
虚拟机出现,以独占方式锁定此配置文件失败,解决办法1 home键 + R2 禁用全部服务3 打开任务管理器4 禁用虚拟机进程5 点击确定6 重启电脑并按照以上步骤依次开启,并再次重启电脑即可...
2019-10-06 09:36:31 10348 10
原创 python浅拷贝和深拷贝的区别,并举例说明之间的差异
python浅拷贝和深拷贝的区别,并举例说明之间的差异浅拷贝:第一层创建的是新的内存地址,而从第二层开始,指向的都是同一内存地址深拷贝:每一层创建的都是新的内存地址示例1:查看列表、浅拷贝、深拷贝的idimport copylst1 = [1,2,[5,6]]# 浅拷贝lst2 = lst1.copy()# 深拷贝lst3 = copy.deepcopy(lst1)# ...
2019-10-03 13:51:43 824
原创 输入整数m、n,生成一个列表,值为m到n之间每个整数值的平方
输入整数m、n,生成一个列表,值为m到n之间每个整数值的平方def fun(m,n): res = [i**2 for i in range(m,n+1)] return res
2019-10-03 13:10:14 922
原创 text=‘我爱中国’,计算‘中国’在text中的位置
text=‘我爱中国’,计算‘中国’在text中的位置text = '我爱中国'print(text.index('中国'))输出结果:2
2019-10-03 13:02:54 213
原创 输入一个unix时间戳,返回当天额零点零分零秒的时间戳
输入一个unix时间戳,返回当天额零点零分零秒的时间戳import time# 获取当前时间戳now = time.time()def fun(now): # 获取当前时间的时间元组 g_now = time.localtime(now) # 当前时间减去对应的小时、分钟、秒得到当天零点零分零秒的时间戳 today = now-g_now.tm_hour*60*6...
2019-10-03 13:00:27 1069
原创 python中time常用模块详解
python中time常用模块详解time.sleep()睡眠功能,使程序等待多小秒后执行time.time()时间戳:从格林威治日开始(1970年1月1日0时0点0分)time.localtime()、 time.gtime()时间戳转化为时间元组参数:时间戳(不添加则默认当前时间)结果:tm_year:年份tm_mon:月份tm_mday:一个月的第几...
2019-10-03 11:04:59 447
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人