随笔分类 - python
摘要:单例模式 1 使用__new__方法 class Singleton(object): def __new__(cls, *args, **kw): if not hasattr(cls, '_instance'): orig = super(Singleton, cls) cls._instanc
阅读全文
摘要:新式类都有一个__new__的静态方法,它的原型是object.__new__(cls[, ...]) cls是一个类对象,当你调用C(*args, **kargs)来创建一个类C的实例时,python的内部调用是 C.__new__(C, *args, **kargs),然后返回值是类C的实例c,
阅读全文
摘要:首先列一下,sellect、poll、epoll三者的区别 select select最早于1983年出现在4.2BSD中,它通过一个select()系统调用来监视多个文件描述符的数组,当select()返回后,该数组中就绪的文件描述符便会被内核修改标志位,使得进程可以获得这些文件描述符从而进行后续
阅读全文
摘要:本节内容 1.设计模式介绍 设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式
阅读全文
摘要:转自:http://www.cnblogs.com/forward-wang/p/5970806.html 生产者消费者模式 在实际的软件开发过程中,经常会碰到如下场景:某个模块负责产生数据,这些数据由另一个模块来负责处理(此处的模块是广义的,可以是类、函数、线程、进程等)。产生数据的模块,就形象地
阅读全文
摘要:转自:http://www.ruanyifeng.com/blog/2011/09/restful.html 越来越多的人开始意识到,网站即软件,而且是一种新型的软件。 这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点
阅读全文
摘要:转自:http://www.ruanyifeng.com/blog/2014/05/restful_api.html 网络应用程序,分为前端和后端两个部分。当前的发展趋势,就是前端设备层出不穷(手机、平板、桌面电脑、其他专用设备......)。 因此,必须有一种统一的机制,方便不同的前端设备与后端进
阅读全文
摘要:转自:http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。 本文对OAuth 2.0的设计思路和运行流程,做一个简明通俗的解释,主
阅读全文
摘要:说明: #mail.py使用方法:1,本脚本同目录下文件介绍:sender.list:邮件发送者邮箱和密码,第一行账号(如example@example.com),第二行密码(必须项,不能为空)receiver.list:邮件接收者列表,每行一个收件人(如example@example.com)re
阅读全文
摘要:openssl用法详解 单例模式 __new__静态方法 Django登录访问限制 login_requeired python设计模式 celery 框架 理解RESTful架构 RESTful API 设计指南 一个python的邮件发送脚本,自动,定时,可以附件发送,抄送,附有说明文件 ope
阅读全文
摘要:概述: UUID是128位的全局唯一标识符,通常由32字节的字符串表示。 它可以保证时间和空间的唯一性,也称为GUID,全称为: UUID —— Universally Unique IDentifier Python 中叫 UUID GUID —— Globally Unique IDentifi
阅读全文
摘要:首先介绍下怎么发现的吧, 线上的项目日志是通过 logging 模块打到 syslog 里, 跑了一段时间后发现 syslog 的 UDP 连接超过了 8W, 没错是 8 W. 主要是 logging 模块用的不对 我们之前有这么一个需求, 就是针对每一个连接日志输出当前连接的信息, 所以每一个 连
阅读全文
摘要:原因 Blog是一个更新并不很频繁的一套系统,但是每次刷新页面都要更新数据库反而很浪费资源,添加静态页面生成是一个解决办法,同时缓存是一个更好的主意,可以结合Memcached添加少量的代码进行缓存,而且免去去了每次更新文章都要重新生成静态页面,特别当页面特别多时. 实现 主要通过页面的uri进行缓
阅读全文
摘要:一、缓存在系统中用来做什么 1. 少量数据存储,高速读写访问。通过数据全部in-momery 的方式来保证高速访问,同时提供数据落地的功能,实际这正是Redis最主要的适用场景。 2. 海量数据存储,分布式系统支持,数据一致性保证,方便的集群节点添加/删除。Redis3.0以后开始支持集群,实现了半
阅读全文
摘要:背景 目前redis集群最火的是codis和redis cluster(官方),但官方自带工具并没有支持密码操作。那么需要密码认证使用redis cluster集群的同学要仔细看了哦。 相信大家很多人已经使用了redis cluster,而且也肯定会用到核心应用,你是否考虑过如下问题? redis
阅读全文
摘要:本次分享内容由三个部分组成: 微服务架构与MQ RabbitMQ场景分析与优化 RabbitMQ在网易蜂巢中的应用和案例分享 微服务架构与MQ RabbitMQ场景分析与优化 RabbitMQ在网易蜂巢中的应用和案例分享 1微服务架构与MQ 微服务架构是一种架构模式,它将单体应用划分成一组微小的服务
阅读全文
摘要:一、数据类型优化 数据类型 整数 整数 数字类型:整数和实数 tinyint(8)、smallint(16)、mediuint(24)、int(32)、bigint(64) 数字表示对应最大存储位数,如 tinyint (-127 128),tinyint unsigned 表示不允许负数,则范围为
阅读全文
摘要:秒杀最早来自天猫双11各种商品的促销活动中,现在已经有很多业务场景在使用,比如抢红包,抢票等。其特点有三高:瞬时并发高,数据一致性高,热点更新频度高。这样三高的场景下往往给数据库造成极大的压力,大量更新数据库中的同一行,这样必然会产生锁等待,导致数据库的性能急剧下降的问题,很容易出现雪崩效应。笔者记
阅读全文
摘要:在各种秒杀活动大行其道的今天,订单系统的性能与稳定日益重要。乐视集团作为这一技术的佼佼者,在多次的电商狂欢节中都能抢占商机、拔得头筹,其表现无疑为其他企业和厂商提供了非常有价值的参考。 在Gdevops全球敏捷运维峰会北京站的现场,乐视BOSS平台技术部架构师梁阳鹤就给大家带来了《从零开始搭建百万每
阅读全文
摘要:高可用上文我们已经讲过了,可当前互联网时代,怎么少的了高并发呢?高并发和高可用一样, 已经变成各个系统的标配了,如果你的系统QPS没有个大几千上万,都不好意思跟人打招呼,虽然可能每天的调用量不超过100。 高并发这个词,我个人感觉是从电商领域开始往外流传的,特别是电商领域双11那种藐视全球的流量,再
阅读全文