貌似该说再见了,新浪 02月27日

4年半的时间,比我大学都久了,但是我还是决定离开,已经觉得在浪费自己的生命。

前段时间把自己的qq 签名改成 half steve jobs ,我该走了,该离开这个无聊的岗位了。

说说我们组开发的那些key-value存储吧 08月05日

当写下这个题目的时候,很多人会说,哎,又来key-val数据库了,市面上的key-value存储这么多了,为啥还要自己去实现一个?其实最初我也是这样想的,新浪以前不是开发过一个memcachedb么,所有产品线都用就行了呗。后来才弄清楚,原来这个世界上,到目前为止没有像mysql一样的关系数据库垄断key-val数据库是有很多原因的。

先说几个大家熟悉的key-value 解决方案吧,好对比我们的方案。

memcached

memcached不用说了吧,就是传说中的万金油,哪儿痒了点哪里,只要是一个中型网站以上,一般都有memcached的存在。它的好处呢,我觉得太多了,多到没有你不用的理由的地步。在内存这么便宜的年代,memcached 依旧是缓存的最好的解决方案。

但是,它是个cache缓存,也就是不能持久化,当然就不能算作数据库了。但是memcached的作者从来都没有计划把它开发成一个DB,因为cache就是cache嘛,做好这件事情就行了,国外的大神们做的产品,就是专注,不想国内的很多产品经理,一个产品做出来,完全是为了把页面占满。

当然,也有人做了memcached的持久化,这句话有点错,应该是“用memcached的协议,对传入的数据做了持久化”,比如我浪08年开发的memcachedb (更多…)

新型序列化类库MessagePack,比JSON更快、更小的格式 07月26日

新型序列化类库MessagePack,比JSON更快、更小的格式

MessagePack 是个什么东东?先来看一段官方的解释: MessagePack is an effici [...]

在新浪正式工作三年了 07月16日

在新浪正式工作三年了

先写一笔:2013年07月16日,不敢回家,在公司里面呆着,等所有人都离开的时候,自己开始写下这些文字。 正式 [...]

2012年,跳过,重来 02月05日

2012年,跳过,重来

梦想很圆满,现实很骨感 01月23日

也许梦

梦醒了,现实终究会到来

梦想很圆满,现实很骨感

simhash算法的原理 01月06日

第一次听说google的simhash算法[1]时,我感到很神奇。传统的hash算法只负责将原始内容尽量均匀随机地映射为一个签名值,原理上相当于伪随机数产生算法。传统hash算法产生的两个签名,如果相等,说明原始内容在一定概率下是相等的;如果不相等,除了说明原始内容不相等外,不再提供任何信息,因为即使原始内容只相差一个字节,所产生的签名也很可能差别极大。从这个意义上来说,要设计一个hash算法,对相似的内容产生的签名也相近,是更为艰难的任务,因为它的签名值除了提供原始内容是否相等的信息外,还能额外提供不相等的原始内容的差异程度的信息。

因此当我知道google的simhash算法产生的签名,可以用来比较原始内容的相似度时,便很想了解这种神奇的算法的原理。出人意料,这个算法并不深奥,其思想是非常清澈美妙的。 (更多…)

网页查重算法Shingling和Simhash研究 01月06日

据统计,互联网上的重复网页约占 30%~45%。这其中有由于镜像转载引起的内容完全相同的网页,也有仅存在微小差别的网页,比如广告,计数器,时间戳等不同,而这些差别是和搜索的内容 无关的。根据中国互联网络信息中心2005年7月发布的统计报告显示,用户在回答“检索信息时遇到的最大问题”这一提问时,选择“重复信息太多”选项的占 44.6%,排名第1位[1]。将相似的网页消除,可以节省网络带宽,减少占用的存储空间,提高索引的质量,即提高查询服务的效率和质量,同时减轻网页所 在远程服务器的负担。在网页查重算法中shingling和simhash被认为是当前最好的两个算法。 (更多…)

当我们老了 11月06日

一直很想知道当我们老了的时候,我们是否会因为年轻的时候的一些选择后悔,后悔没有选择其他的路,如果当时选择另外一条路,或许将是不一样的人生。

想起大学的时候激励宿舍哥们的一句话:只要一直努力,即使方向不对,以后也不会后悔。我们后悔,是为了以前的碌碌无为而愤怒,为以前没有理解师长们的教导而叹息,但是绝对不是,为父母不是官二代、富二代而后悔投胎投错了。

当我们老了,孙子坐在我们身边的时候,让我们将故事的时候,我们还能像我们的爷爷那样,讲出以前奋斗的历史么?或许,我们会告诉我们的孙子,你爷爷,坐在电脑前大半辈子,现在快累了,要躺下了。

按照乔布斯的年龄,我们的生命已经过去了一半,但是,我们能讲出的故事,仅仅是:我奋斗了十八年,才能和你坐在一起喝咖啡,这个时候的咖啡,我还只知道辛巴克,不知道costa。

回想起自己过去的一半生命,谈不上壮阔的历史,突然总结,发现自己是一个千年老二,从小学到中学、中学到大学、大学到工作,我总是在一个和顶尖团体边缘的一个团体。

我很努力,但是很少有人知道,我是那样一个不喜欢张扬的人,那样坚定地、默默地做着自己认为正确的事情。但是这个社会节奏是在是太快了,以至于你不告诉别人你NB,整个世界都认为你是SB。

一直都想把我的博客做成我的技术博客,和我的人生无关,但是,终究想了一下,写这个博客是为了让我更多地思考,或许当我们老了的时候,我们都懒得看年轻的时候那些所谓的技术崇拜的文章了。

用GDB调试PHP程序[转] 03月28日

转载自:http://www.sulabs.net/?p=40

我们先想办法重现一下Segmentation fault现象,下面我们先使用Shell的方式来试验,编写demo.sh脚本:

#!/bin/bash
kill -s SEGV $$

其中$$就是脚本的进程号,SEGV信号的作用等同于Segmentation fault,整句基本意思就是让自己崩溃。

保存好,并且加上执行权限:chmod +x demo.sh (更多…)

第 1 页,共 4 页1234