闲扯几句所谓的技术

来源:互联网 发布:php 工厂模式 实例 编辑:程序博客网 时间:2024/04/28 02:18
闲扯几句所谓的技术
2007-04-19 18:38

创建时间 2007-04-19

创建人 caoz

首发 http://hi.baidu.com/caoz

转载请携带以上标记

           在这篇报道里,提到了黄一孟“精通技术”,后来caoz在自己的QQ群里BS他,精通技术这个词,貌似你丫还不够资格了哈,然后理所当然的获得了反击的BS,精通技术确实不够,总比Caoz强一点点。

             Caoz还是很有自知之明的,所以从2003年起就抱定一个信念,这辈子是不能靠技术吃饭的,但是限于生计之艰难和本事有限,直到2004年才痛下决心,彻底告别程序员的生涯。那么Caoz对自己的技术到底是怎样一个评定呢?其实只有两条,第一是不会被很多所谓的“技术高手”所忽悠,不会把一些技术白痴奉为技术偶像,不会在很多技术名词中找不到北,能够大言不惭的说出诸如“Donews压根没技术”的话而脸不红,心不跳。第二是在需要面对一些简单的数据处理和分析的时候,可以不求别人自己动手,而且还能满足一些不太高的效率要求,比如写一个www.cnzz.com 这样的简单的统计系统或稍微复杂一点的小应用。所能达到的境界,大体如此,所以每每看到不少技术高手在网络上攻城掠地,也往往感慨于自己的不济,望而兴叹,无可奈何。被Dash小朋友 BS ,那就更是小儿科的事情了。

            Gfans们常说一句话是Google技术比百度好,查尔斯张也说,搜狗技术比百度好,其实到了这个层面上,谁比谁技术好也不是caoz这样的技术低手看的清楚,说的清楚的,看在google服务器更多,负载更高的份上,gfans们如果只这么说,也是无法反驳的,但是后一句,gfans们说,google技术好就好在,全部排序是程序决定的,而百度是手工决定的,这就离谱了。

             所谓手工,其实是一个非常难以界定的概念,从泛的角度说,程序都是手工写的,程序员的工作不是手工是什么,不同程序员的作品,效果不同,效率不同,这就是手工的差异!从这个角度说,大家都是手工。如果认为这样属于抬杠,那么咱们往细里说,一套系统,诸如搜索引擎,或其他类似系统,不仅仅是由程序构成的,还包括了n多的配置项,参数项,规则项,以及日常的维护过程,程序就不需要维护吗?有了足够优秀的程序员就可以完成足够优秀的应用吗?

            实际上,所谓的技术,不管是程序的技术,还是其他行业的技术,通常都可以分两部分,caoz给起的名字是,一部分叫硬技术,一部分叫软技术。以大型分布式的搜索为例,整体系统的存储容量,索引效率,系统的响应时延,系统的框架健壮性,安全性,这些可以称为硬技术。往往也是成本最高的地方,但是,只有这些是不够的,那么什么是软技术。蜘蛛是否决定一个站点的收录,是程序完成的,但是程序在判断过程中,是依照各种参数,规则限制决定的,索引库决定一个keyword的权值,是程序实现的,但是程序要依照参数项和规则项来进行,什么样的位置,什么样的颜色,什么样的组合决定这样的关键词在这个文章里的权值,这种参数和规则是谁指定的?

           凡是研究过相关性算法的人都知道,相关性的计算,除了程序外,更关键的指标是一些计算参数的设计,可能一个很强壮的程序,在不同的场合,就必须要进行不同的参数调整,即便在同一个场合,在不同的时期,面向不同的目标,其参数也具有很大的调整空间,怎么调整?caoz 恰好做过类似的事情,写过一点简单的聚类算法,对几十万条数据做聚类,写程序没用太多时间,然后设置参数,然后去看结果,然后找到bad case,然后分析为什么出现了这样的坏案例,然后调整参数,然后再跑结果,然后再找坏案例,然后分析,然后再调整参数.... 程序写了可能不到一天,程序框架一直没动,参数及配置文件的调整用了一个礼拜。直到坏案例看上去不那么扎眼了,但是依然存在,换句话说,就算继续调整一个月,也可能仍然有提高的空间,这里面的调整过程,你说算不算技术?这可能与编程的能力没太多关系,但是程序效果的好坏,就要依据这样的调整来不断增强。

          Google也罢,百度也罢,凡是搜索引擎,或者说凡是类似的复杂系统,其实都有这样一个过程,硬技术的提升处理,也许一年不会操作一两次,但是软技术的提升,确是每天都在进行的,相信每个搜索引擎,都有一批这样的人,不断的去分析最新出现的坏案例(既搜索结果相关性问题,包括收录了不该收录的站点,以及未收录应该收录的站点),发现坏案例后,不是手工调整这个案例,而是以坏案例来分析参数和配置项的问题,然后继续调整相关参数,然后重新建立索引,推进升级。这个工作,是程序?还是手工?

          搜索引擎只是这里的一个范例,其实任何一个好的产品,不但需要硬技术,更需要软技术,软技术需要的是人工的智慧,不断的经验积累以及判断力,分析力,那种只看中硬技术,盲目推崇一些硬指标,以为做好了硬指标就做好了产品,是没有前途的。

    


类别:默认分类||添加到搜藏|分享到i贴吧|浏览(1451)|评论 (5)
 
上一篇:发现价值    下一篇:出几个技术测试题 - 兼招聘|答案...
原创粉丝点击