Tekkaman

导航

 
上一页 1 ··· 27 28 29 30 31 32 33 34 35 ··· 42 下一页

2013年10月19日

摘要: 【Wrapper模式(Decorator模式)】装饰者模式 Decorator模式(别名Wrapper):动态将职责附加到对象上,若要扩展功能,装饰者提供了比继承更具弹性的代替方案。意图: 动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。设计原则: 1. 多用组合,少用继承。 利用继承设计子类的行为,是在编译时静态决定的,而且所有的子类都会继承到相同的行为。然而,如果能够利用组合的做法扩展对象的行为,就可以在运行时动态地进行扩展。 2. 类应设计的对扩展开放,对修改关闭。 要点: 1. 装饰者和被装饰对象有相同的超类型。 2. ... 阅读全文
posted @ 2013-10-19 16:14 Tekkaman 阅读(2114) 评论(0) 推荐(1)
 
摘要: 【setvbuf】 函数名:setvbuf 功 能: 把缓冲区与流相关 用 法:int setvbuf(FILE *stream, char *buf, int type, unsigned size); 参数:stream :指向流的指针; buf : 期望缓冲区的地址; type : 期望缓冲区的类型: _IOFBF(满缓冲):当缓冲区为空时,从流读入数据。或者当缓冲区满时,向流写入数据。 _IOLBF(行缓冲):每次从流中读入一行数据或向流中写入一行数据。 _IONBF(无缓冲):直接从流中读入数据或直接向流中写入数据,而没有... 阅读全文
posted @ 2013-10-19 14:36 Tekkaman 阅读(994) 评论(0) 推荐(0)
 

2013年10月17日

摘要: 【Open Source】 0.000007%的开源程序/框架/代码/引擎是有价值的,其它的 99.999993%都是shit。总觉得世上会有人和自己有一样的想法,luckly,被我找到了,世界另一角落的某位兄弟的吐槽表达了自己对linux之类的开源软件的看法,这一次,我同意被代表。 原文:http://www.grumpynerd.com/?p=132#comment-5614 译文更精彩:http://bbs.csdn.net/topics/380260728 阅读全文
posted @ 2013-10-17 22:11 Tekkaman 阅读(351) 评论(0) 推荐(0)
 

2013年10月16日

摘要: 【python's mutable & immutable】 python里面的类型其实也分为immutable和mutable二种,对于mutable,如果b指向a,当b改变时,a也会改变;对于immutable,如果b改变,不会影响a。 参考:http://www.ibaiyang.org/2012/05/04/howtopython/ 阅读全文
posted @ 2013-10-16 22:05 Tekkaman 阅读(1198) 评论(0) 推荐(0)
 

2013年10月15日

摘要: [blocking network call] 阻塞的网络调用: 1、gethostbyname(): does not return until it has succeeded or failed in resolving www.xxx.com 2、connect(): does not... 阅读全文
posted @ 2013-10-15 13:08 Tekkaman 阅读(287) 评论(0) 推荐(0)
 

2013年10月14日

摘要: [python's import mechanism] 问题描述: 该如何解决呢? 动态解决就行了。 import sys sys.modules 就是所有modules的容器,通过sys.modules动态引用即可。 阅读全文
posted @ 2013-10-14 10:39 Tekkaman 阅读(332) 评论(0) 推荐(0)
 
摘要: [ubuntu ibus&language 启动失败] 版本:ubuntu 10.04 现像:language support & ibus 无法启动,导致无法使用中文输入法 原因:language support & ibus 使用python 2.6.5,而2.7.5版本没有2.6.5中的一些库,导致启动失败。 解决:把python库还原为2.6.5 阅读全文
posted @ 2013-10-14 10:35 Tekkaman 阅读(540) 评论(0) 推荐(0)
 

2013年10月12日

摘要: [python安装] 安装 $ tar –jxvf Python-2.5.2.tar.bz2 $ cd Python-2.5.2 $ ./configure $ make $ make install 参考:http://www.cnblogs.com/ewyb/archive/2010/10/26/1861744.html 阅读全文
posted @ 2013-10-12 14:16 Tekkaman 阅读(223) 评论(0) 推荐(0)
 

2013年10月11日

摘要: [python's object model] 1、object.__init__(self[,...]) 如果subclass没有实现__init__,那么python类在实例化的时候,显然会调用到父ClassObject的__init__,所以在subclass没实现__init__的时候,对象可以正常实现继承特性。 如果subclass实现了__init__,但是没有调用super的__init__,则父类实例中的变量在子类实例中不会存在,因为没有执行父ClassObject的__init__,所以无法正常实现继承特性。 If a base class has an__init. 阅读全文
posted @ 2013-10-11 18:50 Tekkaman 阅读(659) 评论(0) 推荐(0)
 
摘要: [python's nonlocal] nonlocal是python3.x中新加的关键字,用于引用本作用域外层作用域的名字 参考:http://blog.csdn.net/chain2012/article/details/7415602 阅读全文
posted @ 2013-10-11 18:16 Tekkaman 阅读(465) 评论(0) 推荐(0)
 
摘要: [python之name binding]1. 名字 名字是对一个对象的称呼,一个对象可以只有一个名字,也可以没有名字或取多个名字。但对象自己却不知道有多少名字,叫什么,只有名字本身知道它所指向的是个什么对象。给对象取一个名字的操作叫作命名,python将赋值语句认为是一个命名操作(或者称为名字绑定)。 名字在一定的名字空间内有效,而且唯一,不可能在同一个名字空间内有两个或更多的对象取同一名字。 让我们再来看看本篇的第一个例子:i = 1。在python中,它有如下两个含义:* 创建一个值为1的整型对象* "i"是指向该整型对象的名字(而且它是一个引用)2. 绑定 如上所讲 阅读全文
posted @ 2013-10-11 15:15 Tekkaman 阅读(698) 评论(0) 推荐(0)
 
摘要: [python之private variables] “Private” instance variables that cannot be accessed except from inside an object don’t exist in Python. However, there is a convention that is followed by most Python code: a name prefixed with an underscore (e.g._spam) should be treated as a non-public part of the API (. 阅读全文
posted @ 2013-10-11 10:07 Tekkaman 阅读(990) 评论(0) 推荐(0)
 

2013年10月10日

摘要: [python之with...as] 参考:http://python.42qu.com/11155501 阅读全文
posted @ 2013-10-10 18:52 Tekkaman 阅读(192) 评论(0) 推荐(0)
 

2013年10月8日

摘要: [cp & scp]Linux为我们提供了两个用于文件copy的命令,一个是cp,一个是scp,但是他们略有不同。cp --- 主要是用于在同一台电脑上,在不同的目录之间来回copy文件scp --- 主要是在不同的Linux系统之间来回copy文件关于cp的具体用法:命令基本格式: cp [OPTIONS]SOURCE DEST --- 从源路径copy文件到目的路径 cp [OPTIONS]SOURCE... DIRECTORY --- 将多个源文件copy到指定的目录(多个源文件用空格分隔)OPTIONS:-a same as -dpR 尽可能将源文件状态、权限等资料都照原装予以 阅读全文
posted @ 2013-10-08 18:17 Tekkaman 阅读(381) 评论(0) 推荐(0)
 
摘要: [python变量作用域] 几个概念:python能够改变变量作用域的代码段是def、class、lamda.if/elif/else、try/except/finally、for/while 并不能涉及变量作用域的更改,也就是说他们的代码块中的变量,在外部也是可以访问的变量搜索路径是:本地变量->全局变量 所以一个变量a在method内找不到的话,就会在全局作用域内找,所以method内无法访问class中的变量.python能够改变变量作用域的代码段是def、class、lamda, 意即 if/for/while中的变量可以在同一个函数内被访问到 参考:http://blog... 阅读全文
posted @ 2013-10-08 14:03 Tekkaman 阅读(247) 评论(0) 推荐(0)
 
摘要: [wait&waitpid状态值] 1. python 中 os.system 的返回值的format与wait的返回值status一致: On Unix, the return value is the exit status of the process encoded in the format specified forwait() os.system直到命令进程执行完毕才返回, SIGSTOP把子进程暂停, os.system也依旧阻塞 2. os.wait的返回值, 在不同的情况下有不同的含意, 需通过 头文件中的宏来操作 3. 若waitpid加入了WNOHAN... 阅读全文
posted @ 2013-10-08 10:59 Tekkaman 阅读(848) 评论(0) 推荐(0)
 

2013年10月7日

摘要: 【Hadoop Pipes】 1、MapContext的getInputSplit()可以用于获取当前mapper所对象的文件路经,也就是Pipes中,没有InputSplit接口/对象。 2、在Pipes中,不需要也没法自实现InputFormat及InputSplit。我们所能做的只有,实现一个RecordReader(用以把自己定义文件数据转换成为Key&value),需要在构造函数中根据MapContext获取文件名(路径),然后打开读取,并实现RecordReader接口。 注意: 1)TextInputFormatis the defaultInputFormat. 2). 阅读全文
posted @ 2013-10-07 23:51 Tekkaman 阅读(555) 评论(0) 推荐(0)
 

2013年10月6日

摘要: 【socket & pipe note】 1、socket类型 2、大小端 3、socketpair 如何创建全双工管道? 直接的办法当然是pipe两次,创建两组管道,但是有没有更简单的呢? socketpair就可以了,man socketpair: socketpair - create a pair of connected sockets, The two sockets are indistinguishable,也就是说,用socketpair创建出来的两个描述符应该是等价的。 4、fifo 5、popen & pclose 6、对... 阅读全文
posted @ 2013-10-06 21:03 Tekkaman 阅读(704) 评论(0) 推荐(0)
 
摘要: 【open中的mode】 当使用O_CREAT标志的open来创建文件时,我们必须使用三个参数格式的open调用。第三个参数mode 是几个标志按位OR后得到的。他们是:S_IRUSR: 读权限,文件属主。S_IWUSR:写权限,文件属主。S_IXUSR:执行权限,文件属主。S_IRGRP:读权限,文件所属组。S_IWGRP:写权限,文件所属组。 。。。。 请看下面例子: open("myfile", O_CREAT, S_IRUSR|S_IXOTH ; 他的作用是创建一个名为myfile 的文件,文件属主拥有读权限,其他用户拥有执行权限,且只有这些权限。 阅读全文
posted @ 2013-10-06 15:06 Tekkaman 阅读(2318) 评论(1) 推荐(1)
 

2013年10月5日

摘要: 【Unix高级编程Note3】 1、RECURSIVE锁可以递归,普通锁只会死锁 2、线程安全函数 3、线程私有数据 4、pthread_once 5、线程取消点 6、线程信号 7、pread 8、daemonize 阅读全文
posted @ 2013-10-05 22:40 Tekkaman 阅读(222) 评论(0) 推荐(0)
 
摘要: 【Unix Note2】 1、信号屏蔽 2、信号不会排队,即产生同时产生10次,会被合并为1次。 3、sigsuspend,sigsuspend后,进程就挂在那里,等待着开放的信号的唤醒。系统在接收到信号后,马上就把现在的信号集还原为原来的,然后调用处理函数。 4、abort 5、进程ID 6、线程清理程序 7、process & thread 原语对比 8、读写锁 9、条件变量 阅读全文
posted @ 2013-10-05 21:25 Tekkaman 阅读(238) 评论(0) 推荐(0)
 
摘要: 【Unix Notes】 1、/etc/passwd 2、extern int errno; 3、限制, limit.h 4、文件原子操作:O_EXCL & O_CREAT 5、stat操作 6、st_mode也包括了针对权限的位。 7、symlink&readlink 8、读目录 9、环境表 10、wait & waitpid 状态 11、system 阅读全文
posted @ 2013-10-05 14:53 Tekkaman 阅读(225) 评论(0) 推荐(0)
 

2013年9月28日

摘要: 【python之private variable】 Since there is a valid use-case for class-private members (namely to avoid name clashes of names with names defined by subclasses), there is limited support for such a mechanism, calledname mangling. Any identifier of the form__spam(at least two leading underscores, at mos. 阅读全文
posted @ 2013-09-28 21:27 Tekkaman 阅读(979) 评论(0) 推荐(0)
 
摘要: 【python实例、类方法、静态方法】 参考:http://blog.163.com/yang_jianli/blog/static/161990006201122411586729/ 阅读全文
posted @ 2013-09-28 20:59 Tekkaman 阅读(215) 评论(0) 推荐(0)
 
摘要: 【python常用option】 1. -c cmd : program passed in as string (terminates option list) 解析字符串命令,不读cmd之后的option 2. -i : inspect interactively after running script; forces a prompt even if stdin does not appear to be a terminal; also PYTHONINSPECT=x 运行完输入脚本后,进入交互模式,通常用于自己检测状态 3. -m mod : run libra... 阅读全文
posted @ 2013-09-28 16:22 Tekkaman 阅读(2905) 评论(0) 推荐(0)
 
摘要: 【access】 表头文件#include 定义函数int access(const char * pathname, int mode); 函数说明access()会检查真实用户是否有权限读/写某一已存在的文件。参数mode有几种情况组合, R_OK,W_OK,X_OK 和F_OK。R_OK,W_OK与X_OK用来检查文件是否具有读取、写入和执行的权限。F_OK则是用来判断该文件是否存在。参考:http://blog.sina.com.cn/s/blog_6a1837e90100uh5d.html 阅读全文
posted @ 2013-09-28 15:33 Tekkaman 阅读(306) 评论(0) 推荐(0)
 
摘要: 【FD_CLOEXEC】 通过fcntl设置FD_CLOEXEC标志有什么用? close on exec, 意为如果对描述符设置了FD_CLOEXEC,使用execl执行的程序里,此描述符被关闭,不能再使用它,但是在使用fork调用的子进程中,此描述符并不关闭,仍可使用。 阅读全文
posted @ 2013-09-28 15:09 Tekkaman 阅读(743) 评论(0) 推荐(0)
 
摘要: 【fork后父子进程文件描述问题】 一张图可以浅析的解释: 参考:http://wenku.baidu.com/view/dd51581bff00bed5b9f31d8e.html 阅读全文
posted @ 2013-09-28 14:58 Tekkaman 阅读(279) 评论(0) 推荐(0)
 

2013年9月27日

摘要: [split]1.str.split([sep[,maxsplit]])Return a list of the words in the string, usingsepas the delimiter string. Ifmaxsplitis given, at mostmaxsplitsplits are done (thus, the list will have at mostmaxsplit+1elements). Ifmaxsplitis not specified or-1, then there is no limit on the number of splits (all 阅读全文
posted @ 2013-09-27 17:46 Tekkaman 阅读(362) 评论(0) 推荐(0)
 

2013年9月26日

摘要: [信号] SIGTSTP和SIGSTOP的唯一区别: 将进程暂停是SIGTSTP的默认action,用户可以自定义一其handler,而将进程暂停是SIGSTOP的定死的action,用户不能修改。此外,二者没什么差别,都使用SIGCONT来讲进程重新激活。SIGKILL和SIGSTOP的区别 SIGKILL提供给管理员杀死进程的权利, SIGSTOP提供给管理员暂停进程的权利, 所以这两个信号不能被忽略和重定义。 Kill父进程后, 子进程的父进程号为1; 但是stop父进程后子进程的父进程号还是该父进程, 一个是杀死, 一个是暂停SIGINT :信号被当前进程树接收到,也就是说,不... 阅读全文
posted @ 2013-09-26 17:23 Tekkaman 阅读(295) 评论(0) 推荐(0)
 
摘要: [kill] linux中一共有32种信号,在/usr/include/bits/signum.h 头文件中可以看到 1 #define SIGHUP 1 /* Hangup (POSIX). */ 2 #define SIGINT 2 /* Interrupt (ANSI). */ 3 #define SIGQUIT 3 /* Quit (POSIX). */ 4 #define SIGILL 4 /* Illegal instruction (ANSI). */ 5 #defi... 阅读全文
posted @ 2013-09-26 15:44 Tekkaman 阅读(517) 评论(0) 推荐(0)
 
摘要: [进程组] 1. getpgrp(), getpgid(0) 可获取进程组id, 进程组长的pid等于pgid. 如果进程组长exit, 则进程组依旧存在, 组内其它进程的组ID仍然是之前的ID, 即不存在进程组长了. 2. fork()一个子进程后,子进程的组ID为父进程的组ID. 可以通过setpgid()来更改. 3. shell 中执行一个后台命令, 则会创建一个进程&进程组 4. shell 中执行一个前台命令, 则会创建一个进程&进程组, 如果有管道, 则所有的管道命令在同一个进程组 5. 一个终端所有的前后台进程组的进程都有一个session中, 拥有相同的ses 阅读全文
posted @ 2013-09-26 11:34 Tekkaman 阅读(437) 评论(0) 推荐(0)
 
摘要: [查看用户终端]1、只查看当前终端的可以使用如下两个命令:tty 和 who am i其中who am i仅显示当前用户正使用的终端和登录时间如下图所示:2、查看所有终端1.命令w的功能最全面,能显示用户登录名、终端标志、星期几登录和具体登录时间、闲置时间、用户正在执行的程序、占用CPU时间、系统的运行时间和平均负载,例如:[root@AaronWong dev]# w 19:06:44 up 8:16, 2 users, load average: 0.00, 0.01, 0.05USER TTY FROM LOGIN@ IDLE J... 阅读全文
posted @ 2013-09-26 11:01 Tekkaman 阅读(754) 评论(0) 推荐(0)
 
摘要: [linux进程的几个状态]1. Linux进程状态:R (TASK_RUNNING),可执行状态&运行状态(在run_queue队列里的状态)2. Linux进程状态:S (TASK_INTERRUPTIBLE),可中断的睡眠状态, 可处理signal3. Linux进程状态:D (TASK_UNINTERRUPTIBLE),不可中断的睡眠状态, 可处理signal, 有延迟4. Linux进程状态:T (TASK_STOPPED or TASK_TRACED),暂停状态或跟踪状态, 不可处理signal, 因为根本没有时间片运行代码5. Linux进程状态:Z (TASK_DEAD 阅读全文
posted @ 2013-09-26 10:14 Tekkaman 阅读(34538) 评论(0) 推荐(0)
 

2013年9月25日

摘要: [python中os.system()的返回值] 如果第三方程序返回的是布尔型返回值,os.system会将true转为1,false转为0进行返回。问题: /bin/xxx.py是一个返回码为1的程序。 当python 程序使用os.system(”./bin/xxx.py”) 这样调用的时... 阅读全文
posted @ 2013-09-25 17:21 Tekkaman 阅读(15453) 评论(0) 推荐(0)
 

2013年9月22日

摘要: 【Hadoop Streaming:aggregate】 1、实例1 测试文件test.txt mapper程序: 运行: $hadoop streaming -input /app/test.txt -output /app/test -mapper ./mapper-reducer aggregate-file mapper -jobconf mapred.reduce.tasks=1 -jobconf mapre.job.name="test" 输出: a 142 b 20 c 30 d 16 参考:http://blog.csdn.net/yfkiss/ar... 阅读全文
posted @ 2013-09-22 22:57 Tekkaman 阅读(363) 评论(0) 推荐(1)
 
摘要: 【启动JAR Hadoop任务】 一般情况下,我们会使用下面的命令来运行一个hadoop任务: 这个命令实际上是转化成下面的命令来运行的 在RunJar中,会读取abc.jar文件,然后尝试从manifest中提取"Main-Class"作为mainClass,如果manifest中没有指定,则把abc.jar之后的下一个参数当成mainClass。 参考:http://blog.iamzsx.me/show.html?id=185002 阅读全文
posted @ 2013-09-22 22:17 Tekkaman 阅读(332) 评论(0) 推荐(1)
 
摘要: 【MapReduce Notes】 1、一个Map/Reduce 作业的输入和输出类型如下所示: 2、Shuffle & Sort &Secondary Sort Reducer的输入就是Mapper已经排好序的输出。在这个阶段,框架通过HTTP为每个Reducer获得所有Mapper输出中与之相关的分块。 框架将按照key的值对Reducer的输入进行分组 (因为不同mapper的输出中可能会有相同的key)。Shuffle和Sort两个阶段是同时进行的;map的输出也是一边被取回一边被合并的。 如果需要中间过程对key的分组规则和reduce前对key的分组规则不同,那么可 阅读全文
posted @ 2013-09-22 21:41 Tekkaman 阅读(235) 评论(0) 推荐(1)
 
摘要: 【HDFS Architecture Notes】 1、Moving Computation is Cheaper than Moving Data A computation requested by an application is much more efficient if it is executed near the data it operates on. This is especially true when the size of the data set is huge. This minimizes network congestion and increases . 阅读全文
posted @ 2013-09-22 13:25 Tekkaman 阅读(374) 评论(0) 推荐(0)
 

2013年9月17日

摘要: [BloomFilter] Hash函数可将一个元素映射成一个位数组中一个点,为了降低碰撞率可采用多个hash函数将元素映射成多个点。这样一来,只要看看几个位点是0或1 就可以判断某个元素是否存在于集合当中。这就是Bloom filter的基本思想,不仅可大大缩减内存空间,查找速度非常快。 参考:http://www.cnblogs.com/heaad/archive/2011/01/02/1924195.html 阅读全文
posted @ 2013-09-17 15:23 Tekkaman 阅读(188) 评论(0) 推荐(0)
 
上一页 1 ··· 27 28 29 30 31 32 33 34 35 ··· 42 下一页