自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 python2.7官方介绍文档

https://docs.python.org/zh-cn/2.7/library/index.html

2020-06-02 18:06:41 371 1

转载 分布式事务

https://blog.csdn.net/bjweimengshu/article/details/79607522?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase

2020-09-16 15:18:44 203

原创 使用CI/CD作为测试准入准出手段

1.开发邮件提测后,手动触发jenkins在测试环境部署,跑测试用例,将结果发送邮件,作为测试准入手段。2.发布到pre-online环境后,自动触发jenkins跑测试用例,将结果发送邮件,作为测试准出手段。...

2020-08-13 18:18:14 503

原创 线上压测时,业务侧常见改造方案

1.压测平台的请求带压测标识,与真实用户请求区分开,将压测请求路由到指定实例及中间件,减少对线上业务的影响,隔离实例,以便更快恢复。2.两地机房的话,先将机房A的真实线上流量全部切到机房B,压完后,再切回来。...

2020-08-13 15:49:53 228

原创 同步调用、异步调用、回调函数、钩子函数

同步调用、异步调用、回调函数同步调用是一种阻塞式调用,调用方要等待对方执行完毕才返回,它是一种单向调用;回调是一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口;异步调用是一种类似消息或事件的机制,不过它的调用方向刚好相反,接口的服务在收到某种讯息或发生某种事件时,会主动通知客户方(即调用客户方的接口)。回调和异步调用的关系非常紧密,通常我们使用回调来实现异步消息的注册,通过异步调用来实现消息的通知。同步调用是三者当中最简单的,而回调又常常是异步调用的基础。钩子函.

2020-07-16 15:22:57 444

原创 持续集成的实践心得

jenkins:1.自由风格job:只是跑测试用例。2.流水线job:多个节点构建部署测试一条龙。流程:1.stages里面有各个stage,各个stage里面有agent和steps,agent决定在哪台主机运行,脚本都在steps里面2.testng默认生成的是xml文件,要使用html publisher插件才可以转成html格式,进而在jenkins中可视化报告3.post定义Pipeline或stage运行结束时的操作。post-condition块支持post部件:always,.

2020-07-16 14:41:34 301

原创 shell脚本的编写

文件开头:#!/bin/bash$0文件名$1,$2参数1,参数2$#传递给脚本或函数的参数个数$$当前Shell进程ID-eq 等于-ne 不等于exit 0 退出,并返回0exit 1 退出,并返回1$var和${var}区别如:当你要显示变量值加随意的字符时echo $var_AA 会将后面的_AA也当做变量的一部分echo ${var}_AA 不会将后面的_AA当作变量...

2020-07-16 14:39:21 233

原创 mysql知识点总结

1.数据库视图概念,优缺点视图(子查询):是从一个或多个表导出的虚拟的表,它不存储数据。优点:①简化了操作。②安全性。我们可以将基本表中重要的字段信息,可以不通过视图给用户。缺点:①性能差。数据库必须把视图查询转化成对基本表的查询,需要花费一定的时间。②修改限制。单表视图的修改,会改变基本表的数据;多表视图的修改,不会改变基本表的数据。2.MyISAM与InnoDB 的区别1. InnoDB支持事务,MyISAM不支持,对于InnoDB每一条SQL语言都默认封装成事务,自

2020-07-13 19:22:18 225

转载 云服务器相比传统的服务器优势

云服务器相比传统的服务器优势主要体现在了以下几点:1.敏捷性:部署一台云服务器,最慢的腾dao讯云也只要十分钟以内,但是如果使用物理服务器呢,采购?放到机房,要知道时间才是最大的成本。2.灵活扩展:做过架构师的大家肯定都知道,估算使用量是一件非常不靠谱的事,如果用物理服务器,用量估算多了,这是白花钱;估算少了,不够用,网站慢,被领导骂死...但是云服务器的话,可以轻松的进行扩展,想用多少用多少,完全不用前期估算用量3.运维:当前最贵的资源是什么?是人才,人力成本对每家企业来说都是不可忽视的一笔支出,使

2020-07-09 16:05:40 336

原创 Redis缓存穿透/击穿/雪崩解决方案

2020-06-29 12:00:06 263

原创 redis过期策略与持久化机制

2020-06-29 11:52:56 220

转载 redis的五种数据类型

2020-06-29 11:48:44 135

原创 redis的list作消息队列和发布订阅系统的区别

2020-06-29 11:41:41 754

原创 单例模式与工厂模式

2020-06-29 11:24:39 409

转载 直接赋值、浅拷贝和深度拷贝

直接赋值:其实就是对象的引用(别名)。 浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象。 深拷贝(deepcopy):copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象。 解析1、b = a:赋值引用,a 和 b 都指向同一个对象。2、b = a.copy():浅拷贝, a 和 b 是一个独立的对象,但他们的子对象还是指向统一对象(是引用)。b = copy.deepcopy(a):深度拷贝, a 和 b 完全拷贝了父对象...

2020-06-09 16:54:53 222

转载 ThreadLocal多线程共享变量副本

2020-06-09 16:29:20 557

原创 数据库同步过程与冲突详解

A.数据库同步过程1.python manage.py makemigrations每次使用makemigrations后就会在对应app/makemigrations目录下生成类似下面这样的迁移脚本:迁移脚本内容大致是由两部分组成,依赖列表、操作列表。2.python manage.py migratemigrate命令会在django_migrations表中插入迁移记录,然后执行sql语句。B.冲突解决办法原因:执行migrate命令会报错的原因是,..

2020-06-08 19:54:18 993

转载 命名空间与作用域

1.命名空间【定义】 它是存储作用域中变量的字典。一个命名空间中不能有重名,但是不同的命名空间可以重名而没有任何影响。【分类】 按照变量定义的位置,可以划分为以下3类: Local,局部命名空间,记录了函数中定义的所有变量,包括函数的入参、内部定义的局部变量。使用locals()查看局部命名空间。 Global,全局命名空间,记录了每个被加载模块中定义的变量,包括模块中定义的函数、类、其他导入的模块、模块级的变量与常量。使用globals()查看全局命名...

2020-06-05 17:34:46 2209

原创 实例方法、类方法、静态方法的区别

Python中至少有三种比较常见的方法类型,即实例方法,类方法、静态方法。1.实例方法定义:第一个参数是“self”,通过它可以使用实例的属性和方法,也可以使用类的属性和方法调用:只能由实例对象调用2.类方法定义:使用装饰器@classmethod。第一个参数是“cls”,通过它可以使用类的属性和方法,但不能传实例的属性和方法调用:类对象或实例对象都可以调用3.静态方法定义:使用装饰器@staticmethod。参数随意,没有“self”和“cls”参数,方法体中..

2020-06-05 16:24:41 3436

原创 存储过程、函数、触发器

1.存储过程和函数的区别1)存储过程是用户定义的SQL语句序列的集合。函数通常不涉及特定的用户表。2)一个函数只能返回一个变量;一个存储过程可以返回多个。3)存储过程的参数可以有IN,OUT,INOUT三种类型,而函数只能有IN类4)存储过程声明不需要返回类型,函数声明需要描述返回类型,而函数体必须包含有效的RETURN语句。5)在SQL语句中存储过程不可用,但可以使用函数。存储过程示例:mysql> delimiter $$  #将语句的结束符号从分号;临时改为两个$$

2020-06-04 16:35:14 784

原创 事务的实现原理(深入理解ACID)

2020-06-04 14:58:33 1685

原创 事务并发与事务隔离

2020-06-04 14:29:03 219

原创 什么是事务

1. 什么是事务?事务是一系列的sql操作,要么全部成功,要么全部失败。他们符合ACID特性。2.事务处理语句1、begin,rollback,commitbegin;/start transaction; 开始事务rollback; 回滚事务(撤销所有未提交的事务)commit; 提交事务**2、改变mysql的提交模式set autocommit=0; 禁止自动提交set autocommit=1; 开启自动提交3、保存点savepoint s1; 设置自动保存点s1

2020-06-04 14:10:06 458

原创 索引

1. 什么是索引?索引是一种数据结构,可以帮助我们快速地进行数据的查找。2.索引有什么优缺点?索引的优点有:可以大大加快数据的索引速度索引的缺点有:索引需要占物理空间,除了数据表占用数据空间之外,每一个索引还要占用一定的物理空间 对表中的数据进行增、删、改的时候,索引也要维护,耗费时间,且时间随着数据量的增加而增加3.索引的数据结构和什么有关?索引的数据结构和具体存储引擎的实现有关;我们经常使用的InnoDB存储引擎的默认索引实现为:B+树索引。4.MySQL主要的索引类型

2020-06-04 13:58:26 671

原创 面向对象编程

class Student(object): def __init__(self, name, score): self.name = name self.score = score def print_score(self): print('%s: %s' % (self.name, self.score))>>> bart = Student('Bart Simpson', 59)>>> b.

2020-06-03 16:24:47 211

原创 os模块与sys模块

os模块提供了程序与操作系统的交互接口; sys模块提供了程序与python解释器的交互接口,用于操控python的运行时环境。os常用方法:os.remove(path)删除文件os.rename(src,dst)重命名文件os.walk(path)生成目录树下的所有文件名os.chdir(path)改变目录os.mkdir(path)/makedirs(path)创建目录/多层目录os.rmdir(path)/removedirs(path)删除目录/多层目录os.lis.

2020-06-03 15:34:03 226

转载 设计模式六大原则

1.单一原则(Single Responsibility Principle):一个类或者一个方法只负责一项职责,尽量做到类的只有一个行为原因引起变化;  a、业务对象(BO business object)、业务逻辑(BL business logic)拆分;2.里氏替换原则(LSP liskov substitution principle):子类可以扩展父类的功能,但不能改变原有父类的功能;(本质其实就是c++的多态)  (目的:增强程序的健壮性)实际项目中,每个子类对应不同的业务含义,使

2020-06-03 14:38:11 158

原创 正则表达式

建议参考这篇博客:https://www.cnblogs.com/Anesthesia-is/articles/11503398.html正则语法:

2020-06-03 11:45:52 209

原创 文件读写

1.读1.获取读文件句柄>>> f = open('test.txt','r') # 若是'rb'就表示读二进制文件如果文件不存在,open()函数就会抛出一个IOError的错误:>>> f=open('test.txt','r')Traceback (most recent call last):File"<stdin>", line 1,in<module>FileNotFoundError: [Err...

2020-06-03 11:19:48 344

原创 函数式编程

2020-06-03 10:37:50 171

原创 多进程与多线程

a

2020-06-02 19:49:17 188

原创 内存管理机制

从三个方面来说:一、对象的引用计数机制Python内部使用引用计数,来保持追踪内存中的对象,所有对象都有引用计数。引用计数增加的情况: 1,一个对象分配一个新名称 2,将其放入一个容器中(如列表、元组或字典)引用计数减少的情况: 1,使用del语句对对象别名显示的销毁 2,引用超出作用域多数情况下,引用计数比你猜测得要大得多。对于不可变数据(如数字和字符串),解释器会在程序的不同部分共享内存,以便节约内存。二、垃圾回收机制1,当一个对象的引用计数归零时,它将被垃圾收集机制处理掉。

2020-06-02 13:56:12 137

原创 生成器/迭代器/装饰器

迭代器这里,首先要清楚可迭代对象和迭代器的区别。定义可迭代对象,必须实现__iter__方法;定义迭代器,必须实现__iter__和next方法,即实现迭代器协议。因此,迭代器一定是可迭代对象。可迭代对象通过使用iter()方法可以变成迭代器对象 print(isinstance(iter([]),Iterator))# 列表 True 可迭代对象可以直接用for循环遍历,比如以下2种:一类是集合数据类型,如list、tuple、dict...

2020-06-02 11:56:25 346

原创 python数据类型

在python中数据类型有6类:数字(又分为:int/long/float/complex),字符串,元组,集合,列表,字典。共9种。int long(可以代表八进制和十六进制]) float complex 10 51924361L 0.0 3.14j 100 -0x19323L 15.20 45.j -786 0122L -21.9 9.322e-36j 080 0xDEFABCECBDAECBFBAEl

2020-06-02 10:57:38 305

空空如也

空空如也

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

TA关注的人

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