`
luozhaoyu
  • 浏览: 343479 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
往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) ...
Global site tag (gtag.js) - Google Analytics