诗剑书生的专栏

我在灌江口上住,花开花落,不知流年度.雁过空遗秋色暮,抚琴细听梧桐雨. 轻舞残虹漫展书,云卷云舒,思愫万千缕.安得婵娟与共处,长作识字耕田夫.                   诗剑书生 于灌江口.听潮居

诗剑书生ID:axman
105653次访问,排名830好友0人,关注者8
一个男人. 一个写程序男人. 一个写程序并从程序中寻找快乐的男人. 一个写程序并从程序中寻找快乐又把快乐传递给大家的男人.
一个书生. 一个寂寞的书生. 一个寂寞的梅香竹影下敲声写韵的书生. 一个寂寞的梅香竹影下敲声写韵晨钟暮鼓中逸气扬剑的书生.
那个男人是位书生。没有人知道他的姓名,居无定所,行无定踪,亦耕亦读,或渔或樵。
axman的文章
原创 87 篇
翻译 0 篇
转载 0 篇
评论 162 篇
axman的公告
最近评论
axman:不用说明什么,一切都如我预料的那样.
在整个奥运开幕式期间,我一边看电视,一边访问
http://www.cctvolympics.com/main.php?type=vod这个地址,其间访问一百多次,没有一次成功.大多数时候是前端缓存的squid在报refuse(111).有时以过几分钟的等待,能出来页面,但Flash缓冲的进度条到了99%就一直停止在那儿.
……
myvicc:写得不错,等写下文
chinagavin:我是先读三位正向输出,然后再读三位反向输出来最终达到想要的结果。
chinagavin:更新啊,好久没更新了。
YuLimin:快更新呀。。。等着呢:)呵呵。。。
文章分类
收藏
    相册
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 你适合做架构师吗?简单的一个小测试.收藏

    新一篇: 集合类参数的传递 | 旧一篇: 对声卡输出进行录音的设置.

    想做架构师,要把你的思维从功能转变到性能上.如果连功能都实现不了,那先老老实实做你的程序员,多锻练几年吧.

    程序员的基础知识积累到一定程度,几乎没有什么是不能做的.我说几乎是指有些特别的"核心技术"不是靠技术能力

    能接触到的,这部分的东西一般人是做不了的.我们不把它作为通用的内容来讨论.

    你几乎什么都能做了,你最关心的是什么?是你能做多少?

    说实话我提出这个问题会有很多人反驳我,因为也有很多做桌面应用的程序员,他们很少或从来不关心性能问题.因为

    他们的程序装在桌面机上,只有一个用户在和程序交互.他们的程序的架构和我现在说的架构不是一回事.我所说的架构是如何解决高性能的一种组织策略.简单说他们解决的是"规模"的问题.

    当一个团队只有三个人的时候,独立一个人出来做管理,另两个人肯定不服,结果可想而知.但如果有十个人的时候就需要有专门的管理者了.达到百人的时候就需要管理者团队来管理.达到几百到千人的时候就还需要对管理者团队的管理和各部门之间的监察测评机构.

    你提供的功能在用户达到一定规模的时候,就不是简单靠硬件的堆砌能解决的.架构师就是解决在大规模用户量下节点间的系统与层次结构的.

    提供一个测试题,看看你是如何解决的.

    有两个文本文件,其中一个a.txt每一行是一条记录,没有内容完全重复的.就比如说日志吧:

    2007-08-23 12:33:45.123 内容 内容内容 内容.......内容

    2007-08-23 12:33:45.223 内容 内容内容 内容.......内容

    文本总共有5M左右大小.另一个文件b.txt的内容相同,但其中少了部分,比如我从a.txtCOPY出一份b.txt.按10%

    的比例删除一些行.

    现在请你写一个程序找出a.txt比b.txt多出来的内容.其实在数据库查询时我们也会用到这样的例子.

    OK,5M的内容处理完了.现在请你处理一下200M的以上内容的文件和2G的文件.

    请写出设计过程和设计思想.

     

     

     

    发表于 @ 2007年08月23日 16:26:00|评论(loading...)|编辑

    新一篇: 集合类参数的传递 | 旧一篇: 对声卡输出进行录音的设置.

    评论

    #eggqq007 发表于2007-08-26 11:49:51  IP: 222.218.154.*
    如果是我的话,分析日志主建,以找出日志中的不同。又由日志按时间排序,所以可省略排列。假设把a日志和b日志看成每一千行一个小的模块。由于每个模块所储存的条数一样,故可以检查他们首尾是否相同。如相同即在此模块没有漏掉日志,不同则再进行细分成更小的模块来比较。
    初学架构,不好意思。应该还有更好方法吧。
    #axman 发表于2007-08-26 18:52:16  IP: 123.115.11.*
    你可以想想你的时间和空间复杂度是多少,比循环比较还大.
    细分每一个小模块就有可能每条记录都循环比较,因为任何每个"小模块"中不止一条不同.最后你细分的结果是什么你可以想想出来.
    也就是你可能需要拿b的当前小模块和a的所有小模块比较.目的只是找出一个小模块中的一条.想想就可以知道了.
    #chao2003 发表于2008-02-24 12:46:58  IP: 219.137.49.*
    我想两个文件都是时间排序的,使用b.txt的每条数据去a.txt找,如果找到了,就把存在于a的数据删掉,一直走完b.txt,剩下的就是b在a中没有的数据了。觉得这种方法好处是算法复杂度是线性的,比起循环比较效率要高。但这只涉及到算法问题,架构却只在问题上沾得上边
    #axman 发表于2008-02-24 22:12:38  IP: 123.115.11.*
    解决问题竟然根据自己的想象,以为来思考.谁告诉你了按时间排序
    的.如果你想象成b.txt是a.txt的前10行那不是更简单?

    正因为如此你才不会理解什么叫架构.
    因为5M的文件处理重要的是算法,200M到2G,10G的文件处理就不是算法能解决的,因为目前没有任何数据结构能装载这么大的数据.任何算法都是无效的.这才是真正的架构师要考虑的问题.
    #qlampskyface 发表于2008-03-20 14:51:59  IP: 222.66.113.*
    借助数据库,把a中的每条存入,然后读b中每条,相同则删除

    可以在a读入一部分后,开始操作,会更快些,请axman指正,谢谢。
    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © axman