自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(79)
  • 资源 (1)
  • 收藏
  • 关注

原创 Ubuntu Apache从源码安装

依赖库APR, APR-util, PCRE 编译安装的一般步骤:configure, make, make install 下载Apache及依赖库 APR 1.5.2 APR-util 1.5.4 PCRE-8.37.tar.gz http-2.4.25pcre: 1. ./configure –prefix=/usr/local/pcre 2. make 3. sudo ap

2017-02-21 22:35:43 323

原创 python设计模式:工厂模式

工厂模式是一种创建型模式,创建型模式主要解决对象的创建问题,封装复杂的创建过程,解耦对象的创建代码和使用代码本文主要记录了:简单工厂, 工厂模式,抽象工厂

2020-08-24 11:23:33 284

原创 第2章 序列构成的数组

讲解了python序列类型1. list推导和生成器推导2. tuple和namedtuple3.切片4. bisect5. array, memoryview, NumPy, Scipy, deque等

2019-07-16 12:04:20 213

原创 第1章 Python数据模型

这一章的内容涉及的是Python语言参考手册里的Data model本章涉及的主要特殊方法1. __getitem__2. __len__3. __repr__4. __str__

2019-07-12 11:07:33 212

原创 【Python3】operator模块:使用mul, itemgetter, attrgetter, methodcaller等运算符

The operator module exports a set of efficient functions corresponding to the intrinsic operators of Python1. mul# 使用reduce韩式和一个匿名函数计算阶乘from functools import reducedef fact(n): return reduce(lamb...

2019-06-30 12:42:52 5715

原创 Q&A(MySQL实战45讲)

01 | 基础架构: 一条SQL查询语句是如何执行的有两个问题权限验证的问题命中查询缓存是返回结构的时候,做权限验证。但是又提出查询也会在优化器之前调用 precheck 验证权限??分析器为什么有指向查询缓存的箭头?05 | 深入浅出索引(上)下面重建索引的做法,是否合适alter table T drop primary key;alter table T add pri...

2019-04-13 22:39:45 228

原创 网络包收发操作-包的基础知识

2019-02-25 10:32:08 1458

原创 python %与format

python: 2.7.10问题类似如下:# en_name-->unicode>>> en_name=u'zhongguo'# cn_name-->str>>> cn_name=u'中国'.encode('utf-8')>>> """en_name: %s, cn_name: %s""&quo

2018-12-05 17:08:48 1071

原创 Python3数据科学入门与实战--2-2小节课程笔记

参考文章 数学基础回顾之矩阵运算其他线性代数知识参考清华大学出版的线性代数 http://bs.szu.edu.cn/sljr/Up/day_110824/201108240409437707.pdf

2018-09-14 11:13:29 410

原创 python3官方帮助文档乱码问题

帮助文档名如:python366.chm问题描述:出现乱码图片 问题分析: CHM格式文档在Windows下默认是使用IE浏览器里文字编码设定的,如果IE的文字编码与该CHM格式文档不一致,就会出现乱码解决方案: 打开一个IE浏览器页面,点击右键,选择编码,选择自动选择 ...

2018-08-13 08:45:54 1129

原创 记Nginx+uWSGI+Django部署遇到的问题

根据uWSGI官网教程来配置项目: Setting up Django and your web server with uWSGI and nginx系统环境: centos7.2 64bit(aliyun)所有的配置完成后,用服务器curl有响应,而公司电脑没有响应?? 答:找了很久才发现,是公司设置防火墙导致了。在此记录一下,这个花了很多时间,浪费了很多时间。当时的重点一直以为是...

2018-07-24 19:12:32 578

转载 nginx 从入门到实践 -基础篇(2)

文章地址:https://blog.csdn.net/u012957549/article/details/78495526

2018-07-20 08:59:22 156

转载 Nginx从入门到实践--基础篇(1)

文章地址:https://blog.csdn.net/u012957549/article/details/78484770

2018-07-20 08:57:52 471

原创 高性能可扩展mysql(数据库备份)

已该文章为基础: 高性能可扩展mysql(数据库备份)补充:指定备份计划 1.每天凌晨对数据库进行一次全备(两种选择)使用mysqldump全备 //逻辑备份使用xtrabackup的innobackupex备份 //物理备份2.实时对二进制日志进行远程备份使用mysqlbinlo...

2018-07-18 09:36:36 268

原创 MySQL数据库监控

1.对数据库服务可用性进行监控数据库进程或是端口存在并不意味着数据库就是可用的通过网络连接到数据库并且确定数据库是可以对外提供服务的2.对数据库性能进行监控QPS和TPS并发线程数量如何对InnoDB阻塞和死锁进行监控3.对主从复制进行监控主从复制链路状态的监控主从复制延迟的监控定期的确认主从复制的数据是否一致4.对服务器资源的监控磁盘空间服务...

2018-07-18 09:27:03 785

原创 MySQL服务器处理查询请求的整个过程

客户端发送SQL请求给服务器服务器检查是否可以在查询缓存中命中该SQL服务器端进行SQL解析,预处理,再由优化器生成对应的执行计划根据执行计划,调用存储引擎API来查询数据将结果返回给客户端...

2018-07-17 14:30:27 663

原创 MySQL数据库优化之索引优化

学习索引优化之前安装演示数据库以供练习使用mysql提供的sakila数据库文件下载: http://downloads.mysql.com/docs/sakila-db.tar.gz解压后导入数据库shell> mysql -uroot -p < salila-schema.sqlshell> mysql -uroot -p < salika-data.sq...

2018-07-17 11:52:32 1751

原创 MySQL数据库优化之SQL优化

该篇主要讨论SQL及索引优化中的SQL优化 1.首先我们应该要思考如何发现有问题的SQL//使用MySQL慢查日志对有效率问题的SQL进行监控mysql> show variables like 'slow_query_log';//开启slow_query_log之前查看log_queries_not_using_indexes,并设置为onmysql> set gl...

2018-07-15 18:04:10 408

原创 MySQL--在线将基于事务的复制变更为基于日志的复制

阅读该篇之前,请确认已经了解了《MySQL基于日志点的复制操作》 和《MySQL–在线基于日志的复制变更为基于事务的复制》操作环境: CentOS:7.2 64bit MySQL:5.7.22先决条件: 1. 集群中所有服务器的版本均高于5.7.6 2. 集群中所有服务器gitd_mode都设置为off涉及的内容有9个操作,如下:mysql> stop ...

2018-07-15 10:01:55 138

原创 MySQL--在线基于日志的复制变更为基于事务的复制

阅读该篇之前,请确认已经了解了上一篇《MySQL基于日志点的复制操作》操作环境: CentOS:7.2 64bit MySQL:5.7.22先决条件: 1. 集群中所有服务器的版本均高于5.7.6 2. 集群中所有服务器gitd_mode都设置为off涉及的内容有9个操作,如下:mysql> set @@global.enforce_gtid_consistency=...

2018-07-15 09:37:05 185

原创 MySQL基于日志点的复制操作

1.在Master端建立复制用户 2.备份Master端的数据, 并在Slave端恢复 3.使用Change master命令配置复制// 创建用户dbamysql> create user 'dba'@'192.168.3.%' identified by '123456';// 赋权限mysql> grant replication slave on *.* to d...

2018-07-13 16:36:57 481

原创 本地Windows操作系统连接Linux实例(阿里云ECS)

记录个人使用的两种方式: 1. SecureCRT + SecureFX SecureCRT:Securely access remote UNIX, Linux, and VMS applications from Windows, Mac, and Linux SecureFX:Securely transfer files using SFTP, SCP, or FTP over TL...

2018-06-03 17:08:54 1397

原创 11-9 多线程和多进程对比

对于耗cpu的操作,用多进程编程, 对于IO操作来说,使用多线程编程,进程切换代价要高于线程对于耗费cpu的操作,多进程优于多线程,见下例def fib(n): if n<=2: return 1 return fib(n-1)+fib(n-2)if __name__ == "__main__": with ThreadPoolExe...

2018-05-30 16:04:29 155

原创 11-5 线程同步 - condition使用以及源码分析

import threading#条件变量condition,用于复杂的线程间同步class XiaoAi(threading.Thread): def __init__(self, lock): super().__init__(name="小爱") self.lock = lock def run(self): self....

2018-05-25 12:24:11 347

原创 11-4 线程同步 - Lock、RLock

Lock 加入锁Lock之后,在lock.acquire()和lock.release()之间的代码是线程安全的total=0lock=Lock()def add(): #1. dosomething1 #2. io操作 #3. dosomething3 global total for i in range(1000000): ...

2018-05-25 10:57:59 374

原创 11-1 Python中的GIL

GIL: global interpreter lock (cpython) python中的一个线程对应于C语言中的一个线程 GIL使得同一时刻只有一个线程在一个cpu上执行字节码,无法多个线程映射到多个cpu上执,这把锁,导致了cpython无法利用多核优势去GIL化引发过激烈的讨论,但前景并不明朗。 备注:去GIL解释器pypy如何查看字节码,如下:import disd...

2018-05-25 10:43:00 140

原创 《python必学模块-collections》第4章 defaultdict功能详解

from collections import defaultdict#再讲解defaultdict之前,我们先了解一下传统dict完成统计功能user_dict ={}users = ['bobby1', 'bobby2', 'bobby3', 'bobby1','bobby2', 'bobby2']#统计名字出现的次数for user in users: if user n...

2018-05-15 15:52:40 230

原创 《python必学模块-collections》第3章 namedtuple功能详解

class User: def __init__(self, name, age): self.name = name self.age = ageuser = User(name='bobby', age=29)print(user.name, user.age)# 对于一个对象来说,可以通过‘.’号来访问它的属性,代码字面意思非常清楚# 那么...

2018-05-15 15:51:33 226

原创 《python必学模块-collections》第2章 tuple功能详解

name_tuple=('bobby1', 'bobby2')# tuple是iterable# 实现了魔法函数__iter__或__getitem__就是iterable的for name in name_tuple: print(name)# tuple的拆包user_tuple=('bobby', 29, 175)name, age, height=user_tupl...

2018-05-15 10:39:01 172

原创 5-4 实现可切片的对象

list序列的切片说明:#模式[start:end:step]""" 其中,第一个数字start表示切片开始位置,默认为0; 第二个数字end表示切片截止(但不包含)位置(默认为列表长度); 第三个数字step表示切片的步长(默认为1)。 当start为0时可以省略,当end为列表长度时可以省略, 当step为1时可以省略,并且省略步长时可以同时省略最...

2018-05-14 17:48:30 354

原创 4-12 python中的with语句/4-13 contextlib简化上下文管理器

类似于try-except-finally, with语句也是用来简化代码的。try-except和try-finally的一种特殊的配合用法是保证共享的资源的唯一分配,并在任务结束的时候释放它。比如文件(数据、日志、数据库等等)、线程资源、简单同步、数据库连接,等等。with语句的目标就是应用在这种场景中# with比try-except-finally代码更加简化# 上下文管理器with...

2018-05-14 10:34:15 160

原创 4-10 super真的是调用父类吗?

class A: def __init__(self): print('A')class B(A): def __init__(self): print('B') super().__init__()抛出两个问题:1.既然我们重写B的构造函数, 为什么还要去调用super?> 因为很多时候我们需要父类定义的函数特性...

2018-05-11 09:44:28 157

原创 4-9 Python对象的自省机制

自省是通过一定的机制查询到对象的内部结构 Python中提供了很多的方法来查询对象的内部结构,比如: hasattr:查询对象是否有一个特性的属性 getattr:获取对象的属性 setattr:设置对象的属性 delattr:从一个对象中删除属性举个例子class A(object): def retrieve(self): return "A.re...

2018-05-11 09:27:55 593

原创 4-8 数据封装和私有属性

import datetimeclass User: def __init__(self, birthday): self.__birthday = birthday def get_age(self): #返回年龄 return 2018 - self.__birthday.yearif __name__ == "__ma...

2018-05-10 22:48:18 129

原创 4-7 类方法、静态方法和实例方法

class Date: #构造函数 def __init__(self, year, month, day): self.year = year self.month = month self.day = day def tomorrow(self): self.day += 1 def __str...

2018-05-10 20:23:04 122

原创 4-6 类和实例属性的查找顺序----mro查找

慕课网课程:Python高级编程和异步IO并发编程mro:Method Resolution Order 自从Python2.3后使用C3 MRO算法,关于C3 MRO算法的详情,参考The Python 2.3 Method Resolution Order那么接下来通过之前的算法来了解一下MRO 深度优先搜索DFS MRO结果 图1: A->B->D-&g...

2018-05-10 16:36:32 937

原创 4-4 isinstance和type的区别

慕课网课程:Python高级编程和异步IO并发编程

2018-05-10 15:35:51 107

原创 4-5 类变量和实例变量

class A: aa=1 # 类变量 def __init__(self, x, y): self.x=x #实例变量 self.y=y #实例变量a=A(2,3)print(a.x, a.y, a.aa) #2,3,1属性查找顺序1.对象属性2.类属性现在来修改aa的值a=A(2,3)A.aa=11a.aa...

2018-05-09 22:38:00 116

原创 4-4 instance和type的区别

class A: passclass B(A): passb=B()#isinstance判断对象b是不是B的实例print(isinstance(b, B)) # True#isinstance判断对象b是不是A的实例print(isinstance(b, A)) # True#type判断b的类型是不是Bprint(typ...

2018-05-09 22:20:32 677

原创 4.1 鸭子类型和多态

慕课网课程:Python高级编程和异步IO并发编程C++中如何实现多态:class Mammal{public: virtual void Speak() const {std::cout<<"Mammal speak!";}}class Dog:public Mammal{public: void Speak() const {std::cout...

2018-05-09 16:27:44 546

空空如也

空空如也

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

TA关注的人

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