二 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 等做法恰恰跟自己喜欢的方式相左。本来还 ... (全文...)
一 31
公历的年初,农历的年底。
公司选择在这样的一个时候在这样一个地点来开这样一个年会:没有其它公司员工都有的年终,没有年底双薪,有的只是中奖面不到 1% 的抽奖。
本来以为所谓的年会,应该是一个“会”,也就是领。光线低沉,半天了都没人在楼道出现。三到五层以及第八层楼道口安有小牛奶箱,绿色房子造型,透过自身的孔被大铁钉铆导们讲讲话,大家鼓鼓掌,然后一些员工代表什么也发发言,大家继续鼓鼓掌。哪知道一开始,就吓了一跳:艳舞,惊艳全场。音响,灯光,烟雾,口哨,尖叫,看架势,整个一娱乐晚会。
带了相机,却没有拍到什么好的照片——虽然坐在所谓的 VIP 区域,却是vip的最后一排。想要看拍的好的照片,点击 (全文...)
一 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给服务器之前, ... (全文...)