- 浏览: 348227 次
- 性别:
- 来自: 北京
最新评论
-
rushwoo:
这样就可以了: def next(self): ...
python类中的__iter__, __next__与built-in的iter()函数举例 -
rushwoo:
报错啊: for i in Next(3):TypeEr ...
python类中的__iter__, __next__与built-in的iter()函数举例 -
luozhaoyu:
agen_0502 写道mount /dev/yourvolu ...
xen快速创建虚拟机 -
agen_0502:
mount /dev/yourvolumegroup/xen- ...
xen快速创建虚拟机 -
agen_0502:
mount /dev/yourvolumegroup/xen- ...
xen快速创建虚拟机
文章列表
往mongo里添加replica set的slave需要两步:
首先在新结点里定义
vim /etc/mongodb.conf
dbpath=/var/lib/mongodb
#where to log
logpath=/var/log/mongodb/mongodb.log
pidfilepath=jiepang_production.pid
logappend=true
replSet = MONGO_REPL ...
之前写过nagios和centreon的安装,写的很乱不好意思。这次正好又配nagios,于是写一下nagios的最简单配置和运行不正确的调试方法
nagios监控要跑起来必须装服务端和客户端两个地方。 服务端装nagios,客户端装nrpe和nagios-plugins,后 ...
rewrite有rewrite日志可以打开!
# last表示rewrite之后还会重新请求
rewrite ^(/download/.*)/media/(.*)\..*$ $1/mp3/$2.mp3 last;
# break则表示只在location中rewrite后停止,并退出
rewrite ^(/download/.*)/audio/(.*)\..*$ $1/mp3/$2.ra break;
# !感叹号是取反,没有匹配的意思
location = / { ...
用nagios收到硬盘检查check_disk的报警:
CHECK_NRPE: Socket timeout after 10 seconds.
网上一查,说可能是命令超时,在配置文件里面加大time out的时间即可。
我没有直接改时间,处理这个问题,应该先先看配置文件。
登上客户端,即被监控的主机
ps -ef grep nrpe
/usr/local/nrpe/bin/nrpe -c /usr/local/nrpe/etc/nrpe.cfg -d
我报警的是这句
command[check_df]=/usr/local/nrpe/libexec/check_disk -w 10% ...
队列是c中经常需要使用的数据结构,写一个0bug的队列header对于将来的代码复用很有用。
我选择使用bsd实现的队列结构,一是因为它实现简单,一个头文件里全是宏定义,二是因为它是BSD协议,代码可以随便用。
在linux下,在<sys/queue.h>里定义了五个数据结构,分别是simple linked list, list, simple queue, tail queue和circuled queue
这里介绍使用simple queue,因为simple可以支持在队头队尾分别进行插入和删除,足够简单,基本足够我日常使用。(我基本上用无优先级的队列)
下面这段代码定 ...
平时经常看到元编程、DSL这样的字眼,它到底是什么意思?
我的理解来看。元编程就是“代码生成器”,你可以通过一些代码生成另一些代码(动态地、按需的)。DSL则是domain special language:为了解决某个问题而发明的语言,比 ...
适才发现之前在pydev中使用的语法检查器是python3.2,而解释器是python2.7……罪过罪过,从此篇之后,不出意外都是使用python3.x版本解释器
本文主要举例介绍python的built-in函数iter,以及类中的两个函数__iter__,__next__。其中作为iterator的对象是类,而不是容器(因为容器或generator作为iterator对象很简单,这里不多说了)
iter函数有两种用法,一种是传一个参数,一种是传两个参数。返回的结果都是返回一个iterator对象。
先说传两个参数的,比如有
i1 = iter(itr, 'c')
这个意思是说,返回itr ...
接上文
contextlib.contextmanager的用法是怎样的?我摘抄一下模块源代码
引用 Typical usage:
@contextmanager
def some_generator(<arguments>):
<setup>
try:
y ...
本文先介绍with表达式,然后再试图用with以及装饰器等知识实现自己的ContextManager
with可以干什么?我的理解是简化try except finally的工作,比如打开文件操作符,读文件,捕捉异常,最后关闭。这个例子是with最最常用的方法了, ...
python的builtin函数property其实很简单,其实就像java中bean的概念一样。可以控制类中变量的访问规则,property()函数实现的原理应该就是几天前写的__getattr__,__getattribute__等等函数有关。
有人回想,为什么python要控制变量的访问?难道实现不了private和protected么?变量命名是用两条下划线不能使变量private么?
很遗憾,不可以。两条下划线只是起到规范的作用,可能会报警,但是如果你愿意的话,还是可以无碍访问的。而且随着python版本变化搞不好以后这招还有可能不灵。所以我们需要property函数
class P ...
python有个很常用的语法糖是@decorator,使用它可以很方便的创建decorator装饰器模式。(当然,@的用处可不只用在创建装饰器模式)方法有两种,一种是通过创建一个包裹类Wrapper,另一种就是直接通过一个函数创建closure
简要说下装饰器模式:不改变目标的内部行为,改变目标的外在表现方式的一种模式。重点在于,它一定不干涉“内政”,只可以在目标的外围进行修饰,对目标是透明的。
函数的方法最简单
def wrap(num):
print("wrap initialed")
def w(func):
print(&qu ...
对于第一次碰到django这样类activerecord的ORM,初学者可能比较疑惑的是ManyToManyField这个字段。老鸟可以绕开,这里拿djangobook没有说明的地方来仔细解释下。
from django.db import models
class Publisher(models.Model):
name = models.CharField(max_length=30)
address = models.CharField(max_length=50)
city = models.CharField(max_length=60)
...
语言这个东西,长时间不摸就是会忘,你会的技术越多,忘的也就越多。所以要勤写博客,做好烂笔头。
web开发这一块,我心中理想的开发组合是html+javascript+python+c。其中主体是javascript和c,前者是做RIA的主力,后者用来快速成 ...
还是一年前的时候,做过一段jsp的开发。那个时候还是挺茫然的,只在学校看过一遍(还没有编过)《java语言程序设计》,然后又在学校实习的时间看过一段马士兵老师的视频(还是没有动手操作过),便被拉去开发个子系统… ...
__get__,__getattr__和__getattribute都是访问属性的方法,但不太相同。
object.__getattr__(self, name)
当一般位置找不到attribute的时候,会调用getattr,返回一个值或AttributeError异常。
object.__getattribute__(self, name)
无条件被调用,通过实例访问属性。如果class中定义了__getattr__(),则__getattr__()不会被调用(除非显示调用或引发AttributeError异常)
object.__get__(self, instance, owner) ...