为你推荐

常见web安全攻防总结

Web安全的对于Web从业人员来说是一个非常重要的课题,所以在这里总结一下Web相关的安全攻防知识,希望以后不要再踩雷,也希望对看到这篇文章的同学有所帮助。今天这边文章主要的内容就是分析几种常见的攻击的类型以及防御的方法。也许你对所有的安全问题都有一定的认识,但最主要的还是在编码设计的过程中时刻绷紧安全那根弦,需要反复...

在Flask中使用Celery的最佳实践

本最佳实践是基于作者有限的经验,欢迎大家共同讨论,可以持续维护此最佳实践。另本文中所使用的环境为Mac&Ubuntu环境,软件版本如下:Celery(4.1.0)Flask(0.12.1)RabbitMQ(3.6.9)librabbitmq(1.6.1)简单来说Celery是一个异步的任务队列,当我们需要将一些...

二十三种设计模式及其python实现

 本文源码寄方于github:https://github.com/w392807287/Design_pattern_of_python参考文献:《大话设计模式》——吴强《Python设计模式》——pythontip.com《23种设计模式》—&m...

常见设计模式 (python代码实现)

单例模式单例模式(SingletonPattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个AppConfig的类来读取配置文件的信息。如果在程序运行期间...

设计模式(Python)-策略模式

本系列文章是希望将软件项目中最常见的设计模式用通俗易懂的语言来讲解清楚,并通过Python来实现,每个设计模式都是围绕如下三个问题:为什么?即为什么要使用这个设计模式,在使用这个模式之前存在什么样的问题?是什么?通过Python语言来去实现这个设计模式,用于解决为什么中提到的问题。怎么用?理解了为什么我们也就基本了解了...

设计模式(Python)-简单工厂,工厂方法和抽象工厂模式

本系列文章是希望将软件项目中最常见的设计模式用通俗易懂的语言来讲解清楚,并通过Python来实现,每个设计模式都是围绕如下三个问题:为什么?即为什么要使用这个设计模式,在使用这个模式之前存在什么样的问题?是什么?通过Python语言来去实现这个设计模式,用于解决为什么中提到的问题。怎么用?理解了为什么我们也就基本了解了...

设计模式(Python)-单例模式

本系列文章是希望将软件项目中最常见的设计模式用通俗易懂的语言来讲解清楚,并通过Python来实现,每个设计模式都是围绕如下三个问题:为什么?即为什么要使用这个设计模式,在使用这个模式之前存在什么样的问题?是什么?通过Python语言来去实现这个设计模式,用于解决为什么中提到的问题。怎么用?理解了为什么我们也就基本了解了...

Python中的单例模式的几种实现方式的及优化

阅读目录(Content)单例模式实现单例模式的几种方式1.使用模块2.使用装饰器3.使用类4.基于__new__方法实现(推荐使用,方便)5.基于metaclass方式实现相关知识实现单例模式回到顶部(gototop)单例模式(SingletonPattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类...

Python协程 Gevent Eventlet Greenlet

https://zh.wikipedia.org/zh-cn/%E5%8D%8F%E7%A8%8B协程可以理解为线程中的微线程,通过手动挂起函数的执行状态,在合适的时机再次激活继续运行,而不需要上下文切换。所以在python中使用协程会比线程性能更好。Tornado协程http://blog.csdn.net/wyx8...

python中多进程+协程的使用以及为什么要用它

前面讲了为什么python里推荐用多进程而不是多线程,但是多进程也有其自己的限制:相比线程更加笨重、切换耗时更长,并且在python的多进程下,进程数量不推荐超过CPU核心数(一个进程只有一个GIL,所以一个进程只能跑满一个CPU),因为一个进程占用一个CPU时能充分利用机器的性能,但是进程多了就会出现频繁的进程切换,...

python爬虫——多线程+协程(threading+gevent)

上一篇博客中我介绍了如何将爬虫改造为多进程爬虫,但是这种方法对爬虫效率的提升不是非常明显,而且占用电脑cpu较高,不是非常适用于爬虫。这篇博客中,我将介绍在爬虫中广泛运用的多线程+协程的解决方案,亲测可提高效率至少十倍以上。本文既然提到了线程和协程,我觉得有必要在此对进程、线程、协程做一个简单的对比,了解这三个程之间的...

Python几种并发实现方案的性能比较

偶然看到Erlangvs.Stacklesspython:afirstbenchmark,对Erlang和StacklessPython的并发处理性能进行了实验比较,基本结论认为二者有比较相近的性能。我看完产生的问题是,StacklessPython与Python的其他并发实现机制性能又会有多大区别呢,比如线程和进程。...

python线程池(threadpool)模块使用笔记

一、安装与简介pipinstallthreadpool  pool=ThreadPool(poolsize)requests=makeRequests(some_callable,list_of_args,callback)[pool.putRequest(req)forreqinrequests]...

Python threadpool传递参数

threadpool模块是一个很老的实现python线程池的模块,pypi已经建议用multiprocessing代替它了,但是,它使用的便捷性还是征服了一批忠实用户。threadpool模块实现多线程只需要如下几行代码:12345from threadpool import *pool&...

python下的select模块使用 以及epoll与select、poll的区别

先说epoll与select、poll的区别(总结)整理http://www.zhihu.com/question/32163005 http://www.cnblogs.com/Anker/p/3265058.htmlselect,poll,epoll都是I/O多路复用的具体的实现,之所以有这三个鬼存在,其...