摘要:        
Cassandra中所有的运行配置都是在配置文件cassandra.yaml中进行配置。下面依次讲解Cassandra中的配置项:cluster_name设置Cassandra集群的名称。在Cassandra集群中,每一台服务器都必须具备相应的集群的名称。如果名称不一致,则当前Cassandra服务器无法加入集群。initial_tokenCassandra服务器的初始化Token值,这个值代表了Cassandra服务器在一致性哈希环中的位置。当Cassandra第一次启动的时候,会从该配置项中读取,如果留空,将随机生成一个Token值。如果Cassandra不是第一次启动,将从系统表中读取该    
阅读全文
 
        posted @ 2012-10-09 10:15
@且听风吟@
阅读(913)
推荐(0)
 
		
    
        
        
摘要:        
每天抽时间看下leveldb的源码。作为学习。    
阅读全文
 
        posted @ 2012-06-05 20:51
@且听风吟@
阅读(190)
推荐(0)
            
        
        
摘要:        
leveldb 内存管理部分主要是arena.h 和arena.cc 部分完成整体的内存管理策略是按照block管理。大于1/4的都按照block分配。作为一个单独的block维护。当小于1/4block的尽量复用剩余内存。不太理解为什么不是那种直接分配大内存的方式(这样估计还是会产生很多内存空洞)。arena.h文件如下:// Copyright (c) 2011 The LevelDB Authors. All rights reserved.// Use of this source code is governed by a BSD-style license that can be/    
阅读全文
 
        posted @ 2012-06-05 20:50
@且听风吟@
阅读(718)
推荐(0)
 
		
    
        
        
摘要:        
linux的mkdir 函数原型如下:int mkdir(const char *pathname, mode_t mode);今天使用linux的mkdir创建目录。函数说明: mkdir()函数以mode方式创建一个以参数pathname命名的目录,mode定义新创建目录的权限。返回值:若目录创建成功,则返回0;否则返回-1,并将错误记录到全局变量errno中。mode方式: S_IRWXU00700权限,代表该文件所有者拥有读,写和执行操作的权限S_IRUSR(S_IREAD)00400权限,代表该文件所有者拥有可读的权限S_IWUSR(S_IWRITE)00200权限,代表该文件所有者    
阅读全文
 
        posted @ 2012-05-15 17:08
@且听风吟@
阅读(11085)
推荐(0)
 
		
    
        
        
摘要:        
转载:http://blog.csdn.net/sufre/article/details/6676570刚开始学 python,当想要自增运算的时候很自然的 a++,结果发现编译器是不认识 ++ 的,于是去网上搜了一下,结果发现一篇老外的问答很精彩,涉及到了 python 这个语言的设计原理问题无外乎就是 python 没有自增运算符,自增操作是如何实现的回答中有人介绍了关于自增操作,python 不使用 ++ 的哲学逻辑:编译解析上的简洁与语言本身的简洁,就不具体翻译了后面还有老外回答并附带了一个例子非常的精彩,指出了 python 与 c 语言概念上的一些差异,语言描述的可能未必准确,直    
阅读全文
 
        posted @ 2012-05-11 20:40
@且听风吟@
阅读(9826)
推荐(1)
            
        
        
摘要:        
python 的print 是输出到标准输出的。当程序后台执行时。即使通过重定向将其重定向文件。但是还是发现文件没有内容。经查发现print在重定向文件时是有缓冲的。解决办法:一: 通过使用print >>sys.stderr将其重定向到 如 print ‘hello world’ 就是 print >> sys.stderr, 'hello world'二、启动时使用python -u 的方式执行脚本 如 python -u test.py 2>>log.txt 1>&2refer:http://blog.csdn.net/j    
阅读全文
 
        posted @ 2012-05-11 20:37
@且听风吟@
阅读(484)
推荐(0)
 
		
    
        
        
摘要:        
今天同事试验oneway的时候,发现client发送的消息数目和server接收的不一致。自己也做了下试验。发现也是不一致。数据结构定义如下:book.thriftnamespace cpp codelabstruct Book { 1: i32 book_id 2: string name}server 端 hello.thrift 定义如下:include "book.thrift"namespace cpp codelab_protoservice HelloBook { oneway void ping(1: book.Book book)}server代码大致如下    
阅读全文
 
        posted @ 2012-05-10 16:01
@且听风吟@
阅读(2053)
推荐(1)
 
		
    
        
        
摘要:        
[转自:http://blog.csdn.net/success041000/article/details/6714195]1.几个概念 1)编译:把源文件中的源代码翻译成机器语言,保存到目标文件中。如果编译通过,就会把CPP转换成OBJ文件。 2)编译单元:根据C++标准,每一个CPP文件就是一个编译单元。每个编译单元之间是相互独立并且互相不可知。 3)目标文件:编译所生成的文件,以机器码的形式包含了编译单元里所有的代码和数据。 还有一些其他信息,如未解决符号表,导出符号表和地址重定向表等。目标文件是以二进制的形式存在的。 根据C++标准,一个编译单元(Translation Un...    
阅读全文
 
        posted @ 2012-04-25 19:23
@且听风吟@
阅读(277)
推荐(0)
            
        
        
摘要:        
[转载自http://my.oschina.net/anyway/blog/11262]详解link有 些人写C/C++(以下假定为C++)程序,对unresolved external link或者duplicated external simbol的错误信息不知所措(因为这样的错误信息不能定位到某一行)。或者对语言的一些部分不知道为什么要(或者不要)这样那样设计。了解本文之后, 或许会有一些答案。 首先看看我们是如何写一个程序的。如果你在使用某种IDE(Visual Studio,Elicpse,Dev C++等),你可能不会发现程序是如何组织起来的(很多人因此而反对初学者使用IDE)。因    
阅读全文
 
        posted @ 2012-04-25 19:15
@且听风吟@
阅读(271)
推荐(0)
 
		
    
        
        
摘要:        
malloc函数简介 原型:extern void *malloc(unsigned int num_bytes); 语法:num_bytes为内存块的字节数 头文件:在TC2.0中可以用malloc.h或 alloc.h (注意:alloc.h 与 malloc.h 的内容是完全一致的),而在Visual C++6.0中可以用malloc.h或者stdlib.h。 功能:分配长度为num_bytes字节的内存块 返回值:如果分配成功则返回指向被分配内存的指针(此存储区中的初始值不确定),否则返回空指针NULL。当内存不再使用时,应使用free()函数将内存块释放。函数返回的指针一定要适当对齐    
阅读全文
 
        posted @ 2012-04-23 14:15
@且听风吟@
阅读(352)
推荐(0)