12 wilzhang

尚未进行身份认证

精致的软件是一件艺术品

等级
TA的排名 30w+

Python的线程级singleton实现

通常的python的singleton写法是进程内唯一,即进程内的所有线程共享一个单例。例如def singleton(cls): """ decorator for singleton """ instances = {} def _singleton(*args, **kw): if cls not in instances:

2014-03-25 12:57:53

Python性能提升二 —— 使用memcached

场景memcache是一个分布式的、C/S结构的key/value存储系统。使用memcache可以有效地减轻MySQL的访问压力。本文不介绍memcache的安装以及使用方法,只是简单的性能对比。性能对比第一次没有cache,需要到远端MySQL取数据回来,所以访问时间长,之后每次都命中cache,不需要访问MySQL。附录:完整代码#!/us

2013-09-26 16:48:08

Python性能提升一 —— 高计算模块使用C++编写

场景假设有一个高计算场景:双层循环,复杂度O(n*n),并且n足够大。纯python方式def func(times): s = 0 for i in range(times): for j in range(times): s += i*j return sPython + C++库方式高计算模块放到C

2013-09-26 16:33:53

Python调用C/C++的种种方法

Python是解释性语言, 底层就是用c实现的, 所以用python调用C是很容易的, 下面就总结一下各种调用的方法, 给出例子, 所有例子都在ubuntu9.10, python2.6下试过. 1. Python 调用 C (base)想在python中调用c函数, 如这儿的fact#include int fact(int n){  if (n    

2013-09-26 15:40:26

Python-memcached安装&基本使用

memcached的安装请参考另一文章《memcached安装》Python-memcached安装http://www.tummy.com/Community/software/python-memcached/1、下载python-memcached-1.39.tar.gz2、tar xvzf python-memcached-1.39.tar.gz3、py

2013-09-26 15:37:23

memcached安装

安装memcached分别把memcached和libevent下载回来,放到 /tmp 目录下:# cd /tmp# wget http://www.danga.com/memcached/dist/memcached-1.2.0.tar.gz# wget http://www.monkey.org/~provos/libevent-1.2.tar.gz

2013-09-26 15:36:53

《A Byte of Python》 notes

Python起源Python的创始人为吉多·范罗苏姆(Guido van Rossum);在Google内部的很多项目,例如Google Engine使用C++编写性能要求极高的部分,然后用Python或Java/Go调用相应的模块。在操控硬件的场合使用 C++,在快速开发时候使用 Python。使用Python编写的著名应用* Reddit - 社交分享网站* Dropb

2013-09-25 11:21:47

微信还能这么玩:Geek大学生利用微信搭建英语课堂互动系统,将社交参与性和实时性带入课堂

微信还能这么玩:Geek大学生利用微信搭建英语课堂互动系统,将社交参与性和实时性带入课堂小马哥不止一次说过,腾讯只会搭建微信的平台和规则,至于具体怎么玩还要靠大家发挥想象力。在见识了各种奇思妙想的微信公众账号后,来自苏州科技学院计算机专业的同学再次颠覆了微信的玩法。该专业 6 名大二的同学利用微信公众账号和微信官方提供的开发接口,搭建了一个简易的英语课堂互动系统,将微信引入课堂

2013-07-02 10:22:36

C++ Primer 学习笔记十七 —— 用于大型程序的工具

记录笔记原则:1.用简单易懂的语言叙述自己的理解,避免照搬原文2.用实例说明,避免空洞3.多做总结和横向对比,避免片面异常处理为什么要用异常处理?异常是用来简化错误处理的.一般来说比较大的程序,对待错误处理有两种模式:1. 返回错误码;2. 异常处理,异常处理机制:函数调用不用再检查返回值,而且可以在很高层统一捕获异常,而不用每层

2013-06-09 18:00:38

C++ Primer 学习笔记十六 —— 模板与泛型编程

记录笔记原则:1.用简单易懂的语言叙述自己的理解,避免照搬原文2.用实例说明,避免空洞3.多做总结和横向对比,避免片面模板与泛型编程的关系模板是泛型编程的基础、实现手段;函数模板template int compare(const T &v1, const T &v2);调用函数模板时,编译器首先确定模板

2013-06-08 16:56:27

C++ Primer 学习笔记十五 —— 面向对象编程

记录笔记原则:1.用简单易懂的语言叙述自己的理解,避免照搬原文2.用实例说明,避免空洞3.多做总结和横向对比,避免片面面向对象三个基本概念抽象;继承;动态绑定;继承使我们简化了类的定义;动态绑定使我们简化了接口的实现,使得所有继承层次的类可以使用同一个函数接口;动态绑定的两个条件通过基类的引

2013-06-08 16:38:54

C++ Primer 学习笔记十四 —— 重载操作符与转换

记录笔记原则:1.用简单易懂的语言叙述自己的理解,避免照搬原文2.用实例说明,避免空洞3.多做总结和横向对比,避免片面重载操作符的意义直观;代码简洁;编译器默认重载的操作符= & , && ||成员 or 非成员实现 = [] () -> 必须为成员函数+= -=

2013-06-06 17:16:30

C++ Primer 学习笔记十三 —— 复制控制

记录笔记原则:1.用简单易懂的语言叙述自己的理解,避免照搬原文2.用实例说明,避免空洞3.多做总结和横向对比,避免片面编译器自动实现的函数合成构造函数:A();合成复制函数:A(const A &obj);赋值操作符:A& operator=(const A &obj);析构函数:~A() {}

2013-06-06 14:49:07

C++ Primer 学习笔记十二 —— 类

记录笔记原则:1.用简单易懂的语言叙述自己的理解,避免照搬原文2.用实例说明,避免空洞3.多做总结和横向对比,避免片面类定义类就是定义了一个新的类型和一个新的作用域;数据成员存储对象的状态,函数成员改变对象的状态;数据抽象和封装类的基本思想是数据抽象和封装;封装是屏蔽细节,抽象是提取共性;把狗的共性提取出来形成class Dog是抽象

2013-06-05 14:05:01

单例模式总结

单例模式定义是一种常用的软件设计模式。在应用这个模式时,单例对象的类必须保证只有一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。比如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单例对象统一读取,然后服务进程中的其他对象再通过这个单例对象获取这些配置信息。这种方式简化了在复杂环境下的配置管理。实现单例模式的思路是

2012-10-29 19:35:06
勋章 我的勋章
    暂无奖章