05 2018 档案
摘要:参考 Blinker Documentation Blinker 是一个基于Python的强大的信号库,它既支持简单的对象到对象通信,也支持针对多个对象进行组播。Flask的信号机制就是基于它建立的。 Blinker的内核虽然小巧,但是功能却非常强大,它支持以下特性: 支持注册全局命名信号 支持匿名
阅读全文
摘要:1xx(临时响应) 用于表示临时响应并需要请求者执行操作才能继续的状态代码。 100(继续)请求者应当继续提出请求。服务器返回此代码则意味着,服务器已收到了请求的第一部分,现正在等待接收其余部分。101(切换协议)请求者已要求服务器切换协议,服务器已确认并准备进行切换。 2xx(成功) 用于表示服务
阅读全文
摘要:文章不对外发布,如果您点击进来这里是原文链接 一致性哈希算法的基本概念 其实,一致性哈希算法也是使用取模的方法,只是,刚才描述的取模法是对服务器的数量进行取模,而一致性哈希算法是对2^32取模,什么意思呢?我们慢慢聊。 首先,我们把二的三十二次方想象成一个圆,就像钟表一样,钟表的圆可以理解成由60个
阅读全文
摘要:介绍 Celery是由Python开发的一个简单、灵活、可靠的处理大量任务的分发系统,它不仅支持实时处理也支持任务调度。 user:用户程序,用于告知celery去执行一个任务。 broker: 存放任务(依赖RabbitMQ或Redis,进行存储) worker:执行任务 celery需要rabb
阅读全文
摘要:linux安装python3 下载python3包,解压并进入目录 安装依赖 - yum install openssl-devel # pip依赖 - yum install sqlite-devel # sqliet依赖 编译安装py3 - ./configure - make - make i
阅读全文
摘要:应用场景 存放频繁操作的数据,以及一些无须保存到数据库的中间值 应用: 主从复制 为什么redis要做主从复制? 目的是对redis做高可用,为每一个redis实例创建一个备份称为slave,让主和备之间进行数据同步,save/bsave。 主:写 从:读 优点: - 性能提高,从分担读的压力。 -
阅读全文
摘要:全部方法 functools.partial ,functool.update_wrapper,functool.wraps在装饰器部分已经介绍了. functools.cmp_to_key 将老式比较函数转换成key函数,用在接受key函数的方法中(such as sorted(), min(),
阅读全文
摘要:对象内存的使用 整数1为一个对象。而a是一个引用。利用赋值语句,引用a指向对象1。 在Python中,整数和短小的字符,Python都会缓存这些对象,以便重复使用。当我们创建多个等于1的引用时,实际上是让所有这些引用指向同一个对象。 引用计数 在Python中,每个对象都有存有指向该对象的引用总数,
阅读全文
摘要:Django 中的 model 继承和 Python 中的类继承非常相似,只不过你要选择具体的实现方式:让父 model 拥有独立的数据库;还是让父 model 只包含基本的公共信息,而这些信息只能由子 model 呈现。 Django中有三种继承关系: 1.通常,你只是想用父 model 来保存那
阅读全文
摘要:原文地址:理解HTTP幂等性 原文地址:理解HTTP幂等性 基于HTTP协议的Web API是时下最为流行的一种分布式服务提供方式。无论是在大型互联网应用还是企业级架构中,我们都见到了越来越多的SOA或RESTful的Web API。为什么Web API如此流行呢?我认为很大程度上应归功于简单有效的
阅读全文
摘要:介绍 WebSocket协议是基于TCP的一种新的协议。WebSocket最初在HTML5规范中被引用为TCP连接,作为基于TCP的套接字API的占位符。它实现了浏览器与服务器全双工(full-duplex)通信。其本质是保持TCP连接,在浏览器和服务端通过Socket进行通信。 上古时期的浏览器有
阅读全文
摘要:介绍 Django 是一个由 Python 写成的开放源代码的 Web 应用框架。其内部组件非常全面,包括 模板,admin,认证,ORM,form组件等. Django开发环境用的是wsgiref这个模块来做服务器,一个wsgiref的初级服务器 安装 2.0版本的model设置时外键关系必须指定
阅读全文
摘要:常用请求头 User-Agent : 浏览器信息Host : 服务区域名Referer : 通过哪里的链接过来的Origin : 跨域相关Content-Type : POST和PUT请求的数据类型Cookie : 客户端存储的保持会话信息 更多的请求头及相应头信息 Content-Type指定不同
阅读全文
摘要:数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成。简单来说,数据结构就是设计数据以何种方式组织并存储在计算机中。 数据结构按照其逻辑结构可分为线性结构、树结构、图结构 线性结构:数据结构中的元素存在一对一的相互关系 树结构:数据结构中的元素存在一对多的相互关系
阅读全文
摘要:使用 安装 下载: 解压: 安装: 启动: 重启 配置文件使用 创建文件,写入内容 配置文件的使用 安全配置 重启后登录 在线修改配置 在线只可修改部分配置 db0-15 redis下,数据库是由一个整数索引标识,而不是由一个数据库名称。默认情况下,一个客户端连接到数据库0。 不过这并没什么卵用,看
阅读全文
摘要:组件踩坑记录 : 先注册组件在使用配置(...) flask-script Flask Script扩展提供向Flask插入外部脚本的功能,包括运行一个开发用的服务器,一个定制的Python shell,设置数据库的脚本,cronjobs,及其他运行在web应用之外的命令行任务;使得脚本和系统分开;
阅读全文
摘要:介绍 SQLAlchemy是Python编程语言下的一款ORM框架,该框架建立在数据库API之上,使用关系对象映射进行数据库操作,简言之便是:将对象转换成SQL,然后使用数据API执行SQL并获取执行结果。 组成部分: Engine,框架的引擎 Connection Pooling ,数据库连接池
阅读全文
摘要:Python的内建模块itertools提供了非常有用的用于操作迭代对象的函数。 无限迭代器 count()会创建一个无限迭代器 cycle()会把传入的一个序列无限重复下去: repeat()负责把一个元素无限的重复下去,不过如果提供第二个参数就可以限定重复次数: 无限序列只有在for迭代时才会无
阅读全文
摘要:迭代器 可迭代的 一个含有__iter__方法的对象就是可迭代的,他们都可以使用for循环取值(这样说并不对,__iter__方法应返回一个迭代器). 例如: 迭代器 内部含有__next__方法的可迭代对象就是迭代器 , 迭代器是可迭代的一部分. 可迭代对象调用__iter__()就形成了一个迭代
阅读全文
摘要:常用 常用属性 基本方法 __new__(cls[, ...]) 1. __new__ 是在一个对象实例化的时候所调用的第一个方法2. 它的第一个参数是这个类,其他的参数是用来直接传递给 __init__ 方法3. __new__ 决定是否要使用该 __init__ 方法,因为 __new__ 可以
阅读全文