自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (3)
  • 收藏
  • 关注

转载 python 根据类的字符串名实例化对象

方法一:class obj(object):       pass  a = eval('obj()')方法二:如果是经常需要这样可以#将用来创建对象的字符串预编译成code对象.create_obj = compile('obj()', 'create_obj.py', 'eval') #需要创建的时候, 直接用code

2015-10-31 15:09:28 16688

转载 缓存算法的 Python 实现

这篇文章描述了怎么用 Python 实现复杂度为 O(1) 的「最不常用」(Least Frequently Used, LFU)缓存回收算法。在 Ketan Shah、Anirban Mitra 和 Dhruv Matani的论文中有算法描述。实现中的命名是按照论文中的命名。LFU 缓存回收机制对于 HTTP 缓存网络代理是非常有用的,我们可以从缓存中移除那些最不常使用的条目

2015-10-29 09:23:15 841

转载 八大排序算法的 Python 实现

本文用Python实现了插入排序、希尔排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序、基数排序。1、插入排序描述插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法。插入算法把要排序的数组分成两部分:第一部分包含了这个数组的所有元素,但将最后一个元素

2015-10-29 08:50:25 405

转载 开源业务规则引擎JBoss Drools入门介绍

目 录1 现状分析... 31.1 现状... 31.2 问题... 31.3 解决方案... 31.4 适用情景... 32 什么是规则引擎... 33 Drools简介... 44 竞争产品比较... 45 开发环境搭建... 46 创建HelloWorld程序... 67 规则语言... 101

2015-10-22 10:10:46 740

转载 业务规则引擎开源软件介绍

1、规则引擎 Apache Camel Apache Camel 是一个非常强大的基于规则的路由以及媒介引擎,该引擎提供了一个基于POJO的 企业应用模式(Enterprise Integration Patterns)的实现,你可以采用其异常强大且十分易用的API (可以说是一种Java的领域定义语言 Domain Specific Language)来配置其路由或者中介的规则。 通过这种领

2015-10-22 10:08:13 1244

转载 MongoDB基本操作命令

MongoDB基本命令用成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作。输入help可以看到基本操作命令:show dbs:显示数据库列表 show collections:显示当前数据库中的集合(类似关系数据库中的表) show users:显示用户use :切换当前数据库,这和MS-SQL里面的意思一样 db

2015-10-21 10:58:49 441

转载 django 操作mongoDB Mongoengine教程(5)——信号

MongoEngine在进行数据操作时会发出一些信号,我们可以连接这些信号进行一些额外的操作。注意:要在MongoEngine中使用信号,需要安装 blinker 这个库。$ pip install blinkerMongoEngine提供的信号如下:pre_init: 在创建一个新的 Document 或者 EmbeddedDocument 实例对象之后,并且对象初始化

2015-10-16 16:46:29 1475

转载 django 操作mongoDB Mongoengine教程(4)——文件存储

MongoDB的GridFS支持直接在数据库中存储文件。要在MongoEngine中使用GridFS,只要使用 FileField 对象即可。以下是一个例子:class Animal(Document): genus = StringField() family = StringField() photo = FileField()marmot = Animal(g

2015-10-16 15:25:58 3039

转载 django 操作mongoDB Mongoengine教程(3)——数据查询

与Django一样,Document类都有一个 objects 属性。它用于将类与数据库关联起来。objects属性是一个QuerySetManager类型的对象,它的操作会返回一个QuerySet类型的对象。可以通过对QuerySet对象的迭代获取数据库中的数据。class User(Document): name = StringField() country = Stri

2015-10-16 15:24:42 8679 4

转载 django 操作mongoDB Mongoengine教程(2)——文档模式

在MongoDB中一个文档(document)与关系型数据库中的一行(row)相似;文档保存在集合(collection)中,行保存在表(table)中。定义文档的模式与django类似,要定义一个文档模式只需要创建一个类继承自 Document,并添加一些 Field 对象。from mongoengine import *import datetimeclass Pa

2015-10-16 15:23:45 3881 1

转载 django 操作mongoDB Mongoengine教程(1)——概述

Mongoengine教程(1)——概述APR 2ND, 2014 12:00 AM | COMMENTSMongoEngine是MongoDB的一个ODM(Object-Document Mapper)框架,它提供了类似Django的语法来操作MongoDB数据库。安装安装 MongoEngine 需要先安装 PyMongo。使用pip安装$

2015-10-16 15:22:00 8458

转载 python多线程编程(二)--threading模块

threading模块对象对象描述Thread一个线程的执行对象Lock锁对象RLock可重入锁对象,使单线程可以再次获得已经获得了的锁(递归锁定)Condition条件变量,让一个线程停下来,等待其它线程满足了某个条件

2015-10-13 16:53:15 461

转载 python多线程编程(一)--thread模块

python提供两个模块支持多线程编程:thread和threading。thread模块函数函数描述start_new_thread(function,args,kwargs=None)产生一个新线程,在新线程中用指定参数和可选的kwargs调用function函数allocate_lock()

2015-10-13 16:51:47 499

转载 Python中的并发编程

简介  我们将一个正在运行的程序称为进程。每个进程都有它自己的系统状态,包含内存状态、打开文件列表、追踪指令执行情况的程序指针以及一个保存局部变量的调用栈。通常情况下,一个进程依照一个单序列控制流顺序执行,这个控制流被称为该进程的主线程。在任何给定的时刻,一个程序只做一件事情。  一个程序可以通过Python库函数中的os或subprocess模块创建新进程(例如os.fork()

2015-10-13 15:57:10 340

转载 celery最佳实践

目录[-]1,不要使用数据库作为你的AMQP Broker2,使用更多的queue(不要只用默认的)3,使用具有优先级的workers4,使用Celery的错误处理机制5,使用Flower6,没事别太关注任务退出状态7,不要给任务传递 Database/ORM 对象最后作为一个Celery使用重度用户,看到Celery Best Practice

2015-10-13 12:06:09 532

转载 celery 简介

Celery功能简介Celery(芹菜)是一个异步任务队列/基于分布式消息传递的作业队列。Celery用于生产系统每天处理数以百万计的任务。Celery是用Python编写的,但该协议可以在任何语言实现。它也可以与其他语言通过webhooks实现。由于Celery 3.0系列对以前的系列进行了大量重构优化,现在开始使用就没必要研究旧版本了,所以此介绍以3.0.24的

2015-10-12 18:09:19 973

转载 web 服务负载、基本优化架构

当一个Web系统从日访问量10万逐步增长到1000万,甚至超过1亿的过程中,Web系统承受的压力会越来越大,在这个过程中,我们会遇到很多的问题。为了解决这些性能压力带来问题,我们需要在Web系统架构层面搭建多个层次的缓存机制。在不同的压力阶段,我们会遇到不同的问题,通过搭建不同的服务和架构来解决。Web负载均衡Web负载均衡(Load Balancing),简单地说就是给我们的服务

2015-10-12 09:57:27 637

转载 Django中如何使用django-celery完成异步任务 (2)

在上一篇博文中, 我们介绍了如何在开发环境中使用Celery. 接下来我们介绍一下如何在部署环境使用Celery.1. 简单设置一个简单的Celery堆有一个queue和一个worker进程组成. 使用以下命令启动worker: python manage.py celery worker -B以上命令是基于django-celery, 当然你也可以celery自

2015-10-10 18:31:30 706

转载 Django中如何使用django-celery完成异步任务 (1)

本篇博文主要介绍在开发环境中的celery使用,请勿用于部署服务器.许多Django应用需要执行异步任务, 以便不耽误http request的执行. 我们也可以选择许多方法来完成异步任务, 使用Celery是一个比较好的选择, 因为Celery有着大量的社区支持, 能够完美的扩展, 和Django结合的也很好. Celery不仅能在Django中使用, 还能在其他地方被大量的使用. 因此

2015-10-10 18:29:08 689

转载 Python的高级并发技术

与“非并发的程序”(nonconcurrent program)相比,并发程序更难编写,也更难维护(有时甚至难度相当大),而且并发程序的运行效率有时比非并发的程序低(甚至低得多)。虽然如此,但优秀的并发程序确实比非并发程序快很多,所以,为了提高效率,我们还是得花时间去研究它。目前大多数编程语言(包括C++和Java)都直接支持并发,而且其标准库通常还提供了一些封装程度较高的功能。并发可以通

2015-10-09 19:34:03 2935

转载 python实现生成带Logo的二维码

二维码简称 QR Code(Quick Response Code),学名为快速响应矩阵码,是二维条码的一种,由日本的 Denso Wave 公司于 1994 年发明。现随着智能手机的普及,已广泛应用于平常生活中,例如商品信息查询、社交好友互动、网络地址访问等等。安装 Python 的二维码库 -- qrcodepip install qrcode由于生成 qrcode

2015-10-09 15:56:11 4298

nginx介绍pdf文件

nginx是目前网络服务器使用广泛的应该轻量级web服务,类似有apaceh, Lighttpd, tomcat等等。但是nginx以其高效低耗著称。

2014-10-14

nat123_v1.14

nat123可以快速简单的利用可以上网的机器发布公网域名,通过自己定义的二级域名方便在自己电脑上发布资源共享或者建立web server服务

2014-10-14

空空如也

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

TA关注的人

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