22

哈希算法将任意长度的二进制值映射为固定长度的较小二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。要找到散列为同一个值的两个不同的输入,在计算上是不可能的,所以数据的哈希值可以检验数据的完整性。

链表查找的时间效率为O(N),二分法为log2N,B+ Tree为log2N,但Hash链表查找的时间效率为O(1)。

设计高效算法往往需要使用Hash链表,常数级的查找速度是任何别的算法无法比拟的,Hash链表的构造和冲突的不同实现方法对效率当然有一定的影响,然而Ha ... (全文...)

21

腾讯的笔试原预计周日进行,临时调到昨天晚上。

在进行了一整天的 SetErrorCode 后,来不及做任何准备,就开始了答题。

家里小蔡的电脑很不习惯,没有 Cygwin,没有 PHP 手册,没有 SSH,用 PuTTY 连上公司的测试机还慢的像断了腿的蜗牛。自己以前留存下来的经典代码也无法参考。用 QQ 而不是更干净整洁的 TM,用 IE 而不是自己熟悉的 FF。一个小时的中文测试,居然到了快 20 分钟的时候才做完第一题。

腾讯招 PHP 的是QZone空间的部门,可是打开空间看了看,并没有发现 PHP 的丝毫痕迹。QZone 使用大量的 Js,对搜索引擎极其不友好,只支持 IE 等做法恰恰跟自己喜欢的方式相左。本来还 ... (全文...)

15

密码保护:年后

生活感悟 查看留言请输入密码

这是一篇受密码保护的文章。您需要提供访问密码:

31

公历的年初,农历的年底。

公司选择在这样的一个时候在这样一个地点来开这样一个年会:没有其它公司员工都有的年终,没有年底双薪,有的只是中奖面不到 1% 的抽奖。

本来以为所谓的年会,应该是一个“会”,也就是领。光线低沉,半天了都没人在楼道出现。三到五层以及第八层楼道口安有小牛奶箱,绿色房子造型,透过自身的孔被大铁钉铆导们讲讲话,大家鼓鼓掌,然后一些员工代表什么也发发言,大家继续鼓鼓掌。哪知道一开始,就吓了一跳:艳舞,惊艳全场。音响,灯光,烟雾,口哨,尖叫,看架势,整个一娱乐晚会。

带了相机,却没有拍到什么好的照片——虽然坐在所谓的 VIP 区域,却是vip的最后一排。想要看拍的好的照片,点击 (全文...)

31

这是一篇受密码保护的文章。您需要提供访问密码:

24

这是一篇受密码保护的文章。您需要提供访问密码:

15

作者:Sanjay Ghemawat, Paul Menage

原文:http://goog-perftools.sourceforge.net/doc/tcmalloc.html

翻译:ShiningRay (http://shiningray.cn/tcmalloc-thread-caching-malloc.html)

动机

TCMalloc要比glibc 2.3的malloc(可以从一个叫作ptmalloc2的独立库获得)和其他我测试过的malloc都快。ptmalloc在一台2.8GHz的P4机器上(对于小对象)执行一次malloc及free大约需要300纳秒。而TCMalloc的版本同样的操作大约只需要50纳秒。malloc版本的速度是至关重要的,因为如果malloc不够快,应用程序的作者就很有可能在malloc之上写一个自己的自由列表。这就可能导致额外的代码复杂度,以及更多的内存占用――除非作者本身非常仔细地划 ... (全文...)

10

转载自: http://tech.idv2.com/2008/01/09/bash-pitfalls/

感谢fcicq,他的new 30 days系列为我们带来了不少好文章。

今天想分析的是这篇Bash Pitfalls, 介绍了一些bash编程中的经典错误。fcicq说可能不适合初学者,而我认为, 正是bash编程的初学者才应该好好阅读一下这篇文章。

下面就逐个分析一下这篇文章中提到的错误。不是完全的翻译,有些没用的话就略过了, 有些地方则加了些注释。

... (全文...)
09

如何改进以下的这行php代码?这段代码可以被用来测试php工程师应聘者。

< ?
echo("Search results for query: " .$_GET['query'] . ".");
? >

这段代码非常适合用来测试一个php开发人员是否合格。因为这段代码并没有要求太多记忆上的东西(例如函数的记忆),但是对安全,性能,兼容性上都做了考察。

Continue reading »

09

本文按署名·非商业用途·保持一致授权
作者: surfchen@gmail.com 

原理

QueryCache(下面简称QC)是根据SQL语句来cache的。一个SQL查询如果以select开头,那么MySQL服务器将尝试对其使用 QC。每个Cache都是以SQL文本作为key来存的。在应用QC之前,SQL文本不会被作任何处理。也就是说,两个SQL语句,只要相差哪怕是一个字 符(例如大小写不一样;多一个空格等),那么这两个SQL将使用不同的一个CACHE。不过SQL文本有可能会被客户端做一些处理。例如在官方的命令行客户端里,在发送SQL给服务器之前, ... (全文...)