python's decorator&wrapper
摘要:[python's decorator&wrapper] decorator A function returning another function, usually applied as a function transformation using the @wrapper syntax.
阅读全文
objects & values & types
摘要:[objects & values & types] 1、Every object has an identity, a type and a value. An object’s identity never changes once it has been created; you may th
阅读全文
linux sort命令
摘要:[linux sort命令]sort的-t选项和-k选项如果有一个文件的内容是这样:[rocrocket@rocrocket programming]$ cat facebook.txtbanana:30:5.5apple:10:2.5pear:90:2.3orange:20:3.4这个文件有三列,列与列之间用冒号隔开了,第一列表示水果类型,第二列表示水果数量,第三列表示水果价格。那么我想以水果数量来排序,也就是以第二列来排序,如何利用sort实现?幸好,sort提供了-t选项,后面可以设定间隔符。(是不是想起了cut和paste的-d选项,共鸣~~)指定了间隔符之后,就可以用-k来指定列数了
阅读全文
partial function
摘要:[partial function] functools.partial(func[,*args][, **keywords]) Return a newpartialobject which when called will behave likefunccalled with the positional argumentsargsand keyword argumentskeywords. If more arguments are supplied to the call, they are appended toargs. If additional keyword argume..
阅读全文
proc文件系统
摘要:[proc文件系统]/proc --- 一个虚拟文件系统/proc 文件系统是一种内核和内核模块用来向进程 (process) 发送信息的机制 (所以叫做 /proc)。这个伪文件系统让你可以和内核内部数据结构进行交互,获取 有关进程的有用信息,在运行中 (on the fly) 改变设置 (通过改变内核参数)。 与其他文件系统不同,/proc 存在于内存之中而不是硬盘上。/proc 由内核控制,没有承载 /proc 的设备。因为 /proc 主要存放由内核控制 的状态信息,所以大部分这些信息的逻辑位置位于内核控制的内存。对 /proc 进行 一次 'ls -l' 可以看到大部
阅读全文
readlink 获取当前进程对应proc/self/exe
摘要:[readlink 获取当前进程对应proc/self/exe] shell中readlink/proc/self/exeREADLINK(2)NAMEreadlink-readvalueofasymboliclinkSYNOPSIS#includessize_treadlink(constchar*path,char*buf,size_tbufsiz);参考:http://hi.baidu.com/liujtm/item/e04202de560908f693a97414
阅读全文
Workgroup&Domain(Realm)
摘要:【工作组 Work Group】 在一个网络内,可能有成百上千台电脑,如果这些电脑不进行分组,都列在“网上邻居”内,可想而知会有多么乱。为了解决这一问题,Windows 9x/NT/2000就引用了“工作组”这个概念,将不同的电脑一般按功能分别列入不同的组中,如财务部的电脑都列入“财务部”工作组中,人事部的电脑都列入“人事部”工作组中。你要访问某个部门的资源,就在“网上邻居”里找到那个部门的工作组名,双击就可以看到那个部门的电脑了。 那么怎么加入工作组呢?其实很简单,你只需要右击你的Windows桌面上的“网上邻居”,在弹出的菜单出选择“属性”,点击“标识”,在“计算机名”一栏中添入你想好..
阅读全文
python传值&值引用
摘要:[python传值&值引用] 和其他语言不一样,传递参数的时候,python不允许程序员选择采用传值还是传引用。Python参数传递采用的肯定是“传对象引用”的方式。实际上,这种方式相当于传值和传引用的一种综合。如果函数收到的是一个可变对象(比如字典或者列表)的引用,就能修改对象的原始值--相当于通过“传引用”来传递对象。如果函数收到的是一个不可变对象(比如数字、字符或者元组)的引用,就不能直接修改原始对象--相当于通过“传值'来传递对象。 python一般内部赋值变量的话,都是传个引用变量,和C语言的传地址的概念差不多。可以用id()来查询内存地址.如果a=b的话, a和b的
阅读全文
Unpacking Argument Lists
摘要:[Unpacking Argument Lists] The reverse situation occurs when the arguments are already in a list or tuple but need to be unpacked for a function call requiring separate positional arguments. For instance, the built-inrange()function expects separatestartandstoparguments. If they are not available s.
阅读全文
Function Names as Strings
摘要:【Function Names as Strings】GCC provides three magic variables that hold the name of the current function, as a string. The first of these is__func__, which is part of the C99 standard(old):The identifier__func__is implicitly declared by the translator as if, immediately following the opening brace o
阅读全文
linux主机名
摘要:【linux主机名】 1、查看主机名 主机名即是一台主机的名字,在终端窗口中输入命令:hostname或uname –n,均可以查看到当前主机的主机名。2、临时修改主机名 命令行下运行命令:“hostname 新主机名”,不过采用这种方式,新主机名并不保存在系统中,重启系统后主机名将恢复为原先的主机名称。 例子:hostname ubuntu-temp 这样主机名字就临时被修改为ubuntu-temp,但是终端下不会立即显示生效后的主机名,重开一个终端窗口(通过ssh连接的终端需要重新连接才可以);3、永久修改主机名 在Ubuntu系统中永久修改主机名也比较简单。主机名存放在/et...
阅读全文
how to deal with EINTR fault
摘要:【how to deal with EINTR fault】 EINTR:interupted error。是指一个调用被信号给中断,对于同步的耗时调用来说,这个操作常见,譬如select、read、write。SocketServer.py中有一个_eintr_retry()函数提供了解决此种问...
阅读全文
python's try&except&else
摘要:【python's try&except&else】 python的try&catch有个好用的东西,else,即try&except&else可以共用,else用于当无异常时执行。socket.getfqdn就是一个教科书般的例子。 except元组:对于 except ValueError, e,这并不会产生一个元组,而是ValueError as e。【自定义异常】 exceptinos是python内置的一个module,一些常用的标准异常也被内置,其中BaseException是所有内置异常的基类,Exception也继承于BaseEx
阅读全文
python's output redirect
摘要:[python's output redirect]fin = open("xx.txt", 'r');print >>fin, "hello world", 12;fin.close();
阅读全文
Daylight Saving Time
摘要:[Daylight Saving Time] 夏时制,又称日光节约时制、日光節約時間(英语:Daylight saving time)或夏令时间(英语:Summer time),是一种为节约能源而人为规定地方时间的制度,在这一制度实行期间所采用的统一时间称为“夏令时间”。一般在天亮早的夏季人为将时间提前一小时,可以使人早起早睡,减少照明量,以充分利用光照资源,从而节约照明用电。各个采纳夏时制的國家具体规定不同。目前全世界有近110个国家每年要实行夏令时。 具体作法是:每年从四月中旬第一个星期日的凌晨2时整(北京时间),将时钟拨快一小时,即将表针由2时拨至3时,夏令时开始;到九月中旬第一个...
阅读全文
python's os.system&os.spawn
摘要:[python's os.system&os.spawn] os.system会新建一个子shell,在子shell中执行传入的sh脚本。os.spawn用于执行一个bin,产生一个子进程。所以这2个东西表面看来是不一样的。 不过通过精心构造的sh脚本,也可以通过os.system实现os.spawn的功能,但是麻烦。 参考:http://docs.python.org/2.7/library/os.html
阅读全文
python's default parameter
摘要:[python's default parameter] 对于值类型(int、double)的default函数参数,函数不会保存对默认类型的修改。对于mutable objectd类型的默认参数,会有累积效应。 参考:http://docs.python.org/2.7/tutorial/controlflow.html
阅读全文
protobuf's custom-options
摘要:【protobuf's custom-options】 protobuf可以设置属性,就像__attribute__可以给函数设置属性一样,protobuf更牛的是可以设置自定义属性。实际就是属性对象,用于描述一个属性。 protobuf可设置的属性如下: 需按如下方式使用: 代码中需要按如下方式来获取值。 参考:https://developers.google.com/protocol-buffers/docs/proto#options
阅读全文
protobuf's extension
摘要:【protobuf's extension】 extension允许第三方扩展协议,开发方需要像下面这样定义: 扩展方需要像下面这样扩展: 使用的时候必须用SetExtension方法: 参考:https://developers.google.com/protocol-buffers/docs/proto#extensions
阅读全文
the difference between fopen&open
摘要:[the difference between fopen&open] fopen是C标准API,open是linux系统调用,层次上fopen基于open,在其之上。fopen有缓存,open无缓存,对于顺序读取,fopen更高效。 参考:http://www.cnblogs.com/joeblackzqq/archive/2011/04/11/2013010.html
阅读全文
why inline functions must be put in header files?
摘要:[why inline functions must be put in header files?] 编译中有2个过程:compile、link。先进行compile,compile中把源代码编译成目标代码(.obj),然后是link,把目标代码(obj)中的外部符号替换为真实的地址。 inline函数的作用是减少函数调用而直接使用函数内部内容,显示是发生在compile阶段。所以如果把inline函数放在cc文件中,则compile过程中无法实现inline效果,连接器将给出 “unresolved external” 。 事实上,inline一个函数,也意味着给该函数加上了stat...
阅读全文
sed
摘要:[sed] sed 用于多文本行处理,使用规则与vi中的类似,vi适用于单一文本的处理,sed适用于多文本。 参考:http://man.lupaworld.com/content/manage/ringkee/sed.htm
阅读全文
多文件文本替换
摘要:[多文件文本替换] 用grep可以在多文件中查找到需要查找的字符,但是想要替换这些查找到的字符呢?vi中可以通过:s/src/dst/g方法来替换,但只能针对一个文件。多文件场景的替换需要使用sed。sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir`批量处理通过grep搜索出来的所有文档,将这些文档中所有的oldstring用newstring替换(-i参数表示直接对目标文件操作, -l表示只输出文件路径)sed更詳細用法请参考:http://www.cnblogs.com/shineshqw/arti
阅读全文