Website蝴蝶结构
    
            
摘要:【Website蝴蝶结构】 网页的其正向链接连结在一起表现为一种蝴蝶结结构。 1、蝴蝶结中部(SCC, Strongly Connected Componnet) 这种网页彼此相连。 2、蝴蝶结左部(IN) 导航页居多,通过这类网页,可以正向链接到SCC。 3、蝴蝶结右部(OUT) 权威性网页,因为大多数SCC都链接向了这些站点。 4、蝴蝶结的须脚(Tendrils) 无论采用何种方法都只能遍历有限的网页。 所以,scrawler尽量选择IN部分的网页,另外可以看出,正向链接远大于反向链接的网页,就是权威网页。【Website直径】 从网页A链接到网页...
        
阅读全文
摘要:【Information Retrieval II】 搜索引擎分类: 1、目录式搜索引擎。 2、全文搜索引擎。 3、元搜索引擎(Meta-Search Engine)。 搜索引擎的4个阶段:下载(crawl) -> 分析(segment & pagerank)-> 索引(indexing)-> 查询(retrieval)。 crawler,也就是传说中的爬虫,或者蜘蛛。 下载、分析、索引被称为“离线部分”(offline part),也叫做在线系统;查询部分被称为“在线部分“(online part),也叫做离线系统。在线系统需要毫秒级的访问速度,而离线系统无时间..
        
阅读全文
摘要:【epoll】 epoll是一个比select模型更高效的异步模型,select一次查询需要O(N),epoll需要O(1),因为epoll可以直接获得结果,而select需要用所有当前的fd去readable fd set中检察。epoll很简单,推荐使用libevent,epoll只在linux下有效,libevent提供了统一的接口,内部使用各个平台独有的设施来完成功能。int epoll_create(int size);int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event);EPOLL_CTL_ADD ..
        
阅读全文
摘要:【hash_map】 STL中的std::map内部使用的是红黑树,红黑树有序,每次操作的复杂度稳定在logN。在中,还有一个__gnu_cxx::hash_map,内部使用的是hash,在hash函数恰当的情况下,可以提供更快的查询速度O(1),如果hash函数很烂,使用hash_map,将会是一个灾难,操作复杂度最坏将到O(N)。 内部原理就是“Hash函数映射 + list解决Conflict”。更多可参考:http://blog.csdn.net/sdhongjun/article/details/4517325 我比较好奇的是 这个vector成员,它的默认大小是多少?以及...
        
阅读全文
摘要:[BloomFilter] 错误率估计、最优哗哈希函数个数、位数组的大小 尚未细看。以看补上。 参考:http://blog.csdn.net/jiaomeng/article/details/1495500
        
阅读全文
摘要:【Wrapper模式(Decorator模式)】装饰者模式 Decorator模式(别名Wrapper):动态将职责附加到对象上,若要扩展功能,装饰者提供了比继承更具弹性的代替方案。意图: 动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。设计原则: 1. 多用组合,少用继承。 利用继承设计子类的行为,是在编译时静态决定的,而且所有的子类都会继承到相同的行为。然而,如果能够利用组合的做法扩展对象的行为,就可以在运行时动态地进行扩展。 2. 类应设计的对扩展开放,对修改关闭。 要点: 1. 装饰者和被装饰对象有相同的超类型。 2. ...
        
阅读全文
摘要:【setvbuf】 函数名:setvbuf 功 能: 把缓冲区与流相关 用 法:int setvbuf(FILE *stream, char *buf, int type, unsigned size); 参数:stream :指向流的指针; buf : 期望缓冲区的地址; type : 期望缓冲区的类型: _IOFBF(满缓冲):当缓冲区为空时,从流读入数据。或者当缓冲区满时,向流写入数据。 _IOLBF(行缓冲):每次从流中读入一行数据或向流中写入一行数据。 _IONBF(无缓冲):直接从流中读入数据或直接向流中写入数据,而没有...
        
阅读全文
摘要:【Open Source】 0.000007%的开源程序/框架/代码/引擎是有价值的,其它的 99.999993%都是shit。总觉得世上会有人和自己有一样的想法,luckly,被我找到了,世界另一角落的某位兄弟的吐槽表达了自己对linux之类的开源软件的看法,这一次,我同意被代表。 原文:http://www.grumpynerd.com/?p=132#comment-5614 译文更精彩:http://bbs.csdn.net/topics/380260728
        
阅读全文
摘要:【python's mutable & immutable】 python里面的类型其实也分为immutable和mutable二种,对于mutable,如果b指向a,当b改变时,a也会改变;对于immutable,如果b改变,不会影响a。 参考:http://www.ibaiyang.org/2012/05/04/howtopython/
        
阅读全文
摘要:[blocking network call] 阻塞的网络调用: 1、gethostbyname(): does not return until it has succeeded or failed in resolving www.xxx.com 2、connect(): does not...
        
阅读全文
摘要:[python's import mechanism] 问题描述: 该如何解决呢? 动态解决就行了。 import sys sys.modules 就是所有modules的容器,通过sys.modules动态引用即可。
        
阅读全文
摘要:[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
        
阅读全文
摘要:[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
        
阅读全文
摘要:[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.
        
阅读全文
摘要:[python's nonlocal] nonlocal是python3.x中新加的关键字,用于引用本作用域外层作用域的名字 参考:http://blog.csdn.net/chain2012/article/details/7415602
        
阅读全文
摘要:[python之name binding]1. 名字 名字是对一个对象的称呼,一个对象可以只有一个名字,也可以没有名字或取多个名字。但对象自己却不知道有多少名字,叫什么,只有名字本身知道它所指向的是个什么对象。给对象取一个名字的操作叫作命名,python将赋值语句认为是一个命名操作(或者称为名字绑定)。 名字在一定的名字空间内有效,而且唯一,不可能在同一个名字空间内有两个或更多的对象取同一名字。 让我们再来看看本篇的第一个例子:i = 1。在python中,它有如下两个含义:* 创建一个值为1的整型对象* "i"是指向该整型对象的名字(而且它是一个引用)2. 绑定 如上所讲
        
阅读全文
摘要:[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 (.
        
阅读全文
摘要:[python之with...as] 参考:http://python.42qu.com/11155501
        
阅读全文
摘要:[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 尽可能将源文件状态、权限等资料都照原装予以
        
阅读全文
摘要:[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...
        
阅读全文
摘要:[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...
        
阅读全文
摘要:【Hadoop Pipes】 1、MapContext的getInputSplit()可以用于获取当前mapper所对象的文件路经,也就是Pipes中,没有InputSplit接口/对象。 2、在Pipes中,不需要也没法自实现InputFormat及InputSplit。我们所能做的只有,实现一个RecordReader(用以把自己定义文件数据转换成为Key&value),需要在构造函数中根据MapContext获取文件名(路径),然后打开读取,并实现RecordReader接口。 注意: 1)TextInputFormatis the defaultInputFormat. 2).
        
阅读全文
摘要:【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、对...
        
阅读全文
摘要:【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 的文件,文件属主拥有读权限,其他用户拥有执行权限,且只有这些权限。
        
阅读全文
摘要:【Unix高级编程Note3】 1、RECURSIVE锁可以递归,普通锁只会死锁 2、线程安全函数 3、线程私有数据 4、pthread_once 5、线程取消点 6、线程信号 7、pread 8、daemonize
        
阅读全文
摘要:【Unix Note2】 1、信号屏蔽 2、信号不会排队,即产生同时产生10次,会被合并为1次。 3、sigsuspend,sigsuspend后,进程就挂在那里,等待着开放的信号的唤醒。系统在接收到信号后,马上就把现在的信号集还原为原来的,然后调用处理函数。 4、abort 5、进程ID 6、线程清理程序 7、process & thread 原语对比 8、读写锁 9、条件变量
        
阅读全文
摘要:【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
        
阅读全文