09 2012 档案

摘要:http://zhongl.iteye.com/blog/291127引言目前最新的Lucene的版本是2.4.0,但关于索引文件格式(Index File Format)的说明并未完全及时更新,所以后文是基于版本2.1.0展开的解析。解析内容并未涉及全面,更多详细准确的说明还请参见[1]。在看下文之前,若熟悉Lucene的索引的基本概念和过程就会对后文的理解有很大帮助。创建一个简单的索引这里有一段代码,它将创建一个简单的索引段(Segment),这个段只有一个文档(Document),文档中有两个域(Field):name和description。两个域均进行索引(Index)并保存(Sto 阅读全文
posted @ 2012-09-27 16:34 balaamwe 编辑
摘要:转自:http://dev.csdn.net/author/kingjIang/28cf4f5f62ca4bb696c43d5c438e79f7.htmlLucene是一个高性能的java全文检索工具包,它使用的是倒排文件索引结构。该结构及相应的生成算法如下: 0)设有两篇文章1和2 文章1的内容为:Tom lives in Guangzhou,I live in Guangzhou too. 文章2的内容为:He once lived in Shanghai. 1)由于lucene是基于关键词索引和查询的,首先我们要取得这两篇文章的关键词,通常我们需要如下处理措施 a.我们... 阅读全文
posted @ 2012-09-27 15:43 balaamwe 编辑
摘要:MySQL的权限系统围绕着两个概念:1:认证->确定用户是否允许连接数据库服务器2:授权->确定用户是否拥有足够的权限执行查询请求等。在这里我们要关注两个表,分别是在MySQL数据库中user表和db表。user表在某种程度上是独一无二的,因为它是唯一一个在权限请求的认证和授权阶段都起作用的表,也是唯一一个存数MySQL服务器相关权限的权限表。在认证阶段,它只是负责为用户授权访问MySQL服务器,确定用户每小时的最大连接数和最大并发数;在授权阶段,user确定允许访问服务器的用户是否被赋予了操作数据库的全局权限,确定用户每小时的最大查询数和更新数。db表用于为每个用户针对每个数据库 阅读全文
posted @ 2012-09-22 18:51 balaamwe 阅读(201) 评论(0) 推荐(0) 编辑
摘要:php 命令行模式 参考http://www.yesky.com/imagesnew/software/php/zh/features.commandline.html使用php cli 命令行查看php 安装模块php -m# apt-get install php5-gd# apt-get install php5-mysql# /etc/init.d/apache2 restart 测试1.连接与断开服务器<?php$db_host = "localhost"; //连接服务器地址$db_user = "root";//连接数据库的用户名$d 阅读全文
posted @ 2012-09-22 18:39 balaamwe 编辑
摘要:http://www.cnblogs.com/jeffchen/archive/2006/05/09/395535.html1.以字符串形式出现的,编译器都会为该字符串自动添加一个0作为结束符,如在代码中写 "abc",那么编译器帮你存储的是"abc\0"2."abc"是常量吗?答案是有时是,有时不是。 不是常量的情况:"abc"作为字符数组初始值的时候就不是,如 char str[] = "abc"; 因为定义的是一个字符数组,所以就相当于定义了一些空间来存放"abc",而 阅读全文
posted @ 2012-09-20 18:57 balaamwe 编辑
摘要:http://blog.csdn.net/yanghehong/article/details/6074472比较全面但不太详细的分析:Redis: under the hoodRedis的字符串实现:http://code.google.com/p/redis/wiki/HackingStringsRedis的事件库:http://code.google.com/p/redis/wiki/RedisEventLibraryRedis的虚拟内存实现:http://code.google.com/p/redis/wiki/VirtualMemorySpecification简单的读和写的完整处理 阅读全文
posted @ 2012-09-14 19:19 balaamwe 编辑
摘要:http://my.oschina.net/chenzuoping/blog/37747sharding恶梦国内的很多大型的网站应该都有过sharding的经验。sharding貌似是使用mysql的网站进行性能升级的最重要的手段。weibo.com,youku.com,douban.com,这此网站都是用sharding作为其性能升级的手段。sharding看起来不错,而且从weibo youku douban的用户体验来说sharding确实给发挥了作用。sharding一般都是通过把一个数据集非常巨大的表,按主键切割成多个数据表,甚至是把一个数据库分割成多个数据库。这样数据的读写压力就分 阅读全文
posted @ 2012-09-12 16:08 balaamwe 编辑
摘要:作者:Fenng|可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址:http://www.dbanotes.net/arch/taobao_arch.html日前参加了一场淘宝网架构师黄裳带来的技术分享,在最后他总计了淘宝这几年来的架构经验,这里和大家分享一下:1、适当放弃一致性2、备份和隔离解决稳定性问题3、分割和异步解决性能问题(类似 eBay 的 Asynchrony Everywhere)4、自动化降低人力成本(类似 eBay 的 Automate Everything)5、产品化管理在这里不妨对比一下 eBay 的架构经验:1、 Partition Everyt 阅读全文
posted @ 2012-09-12 15:58 balaamwe 编辑
摘要:作者:Fenng|可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址:http://www.dbanotes.net/database/database_sharding.html注:此文首发于 《程序员》杂志 2008 年 7 月刊。从 Shard 到 Sharding"Shard" 这个词英文的意思是"碎片",而作为数据库相关的技术用语,似乎最早见于大型多人在线角色扮演游戏(MMORPG)中。"Sharding" 姑且称之为"分片"。Sharding 不是一门新技术,而是一个相对简朴的软件理 阅读全文
posted @ 2012-09-12 15:54 balaamwe 编辑
摘要:http://qinxuye.me/article/details-about-time-module-in-python/在平常的代码中,我们常常需要与时间打交道。在Python中,与时间处理有关的模块就包括:time,datetime以及calendar。这篇文章,主要讲解time模块。在开始之前,首先要说明这几点:在Python中,通常有这几种方式来表示时间:1)时间戳 2)格式化的时间字符串 3)元组(struct_time)共九个元素。由于Python的time模块实现主要调用C库,所以各个平台可能有所不同。UTC(Coordinated Universal Time,世界协调时)亦 阅读全文
posted @ 2012-09-11 16:37 balaamwe 编辑
摘要:FreeBSD中,可以使用kevent ("kqueue")机制来监测vnode的变化(可以同时看着多个打开的vnode)。具体的C实现可以参考:http://www.freebsd.org/cgi/cvsweb.cgi/src/usr.bin/tail/forward.c?annotate=1.41Python可以借助 py-kqueue (devel/py-kqueue) 调用 FreeBSD 的 kqueue 支持。import time, os filename = 'access_20090602.log' file = open(filename 阅读全文
posted @ 2012-09-11 16:36 balaamwe 编辑
摘要:本文最初发表于恋花蝶的博客(http://blog.csdn.net/lanphaday),欢迎转载,但必须保留此声明且不得用于商业目的。谢谢。引子我热情地邀请大家猜测下面这段程序的输出:class A(object):def __init__(self):self.__private()self.public()def __private(self):print 'A.__private()'def public(self):print 'A.public()'class B(A):def __private(self):print 'B.__priv 阅读全文
posted @ 2012-09-10 17:23 balaamwe 编辑
摘要:1.读取配置文件-read(filename)直接读取ini文件内容-sections()得到所有的section,并以列表的形式返回-options(section)得到该section的所有option-items(section)得到该section的所有键值对-get(section,option)得到section中option的值,返回为string类型-getint(section,option)得到section中option的值,返回为int类型2.写入配置文件-add_section(section)添加一个新的section-set( section, option, v 阅读全文
posted @ 2012-09-10 17:08 balaamwe 编辑