博文

[转]Google网页加速器的工作原理(2005-05-22 13:40:00)

摘要:FROM:http://www.wespoke.com最近一直忙着写论文,周末终于有空放松半天时间,到网络上看看,铺天盖地的关于google最新的消息,原来google又出了新玩艺,Google Web Accelerator。听说很神,特地找了一台Windows电脑准备一试。可是我去google网站下载时却发现google 说用户太多,不提供了。感谢Owen硬盘里还有保留,终于得到了珍贵的“绝版”Google网页加速器。我尝试访问了6个网站,并且分析了日志,基本上明确了Google网页加速器的工作原理,其实很简单:Proxy + 缓存。1. 本地化的Proxy + 缓存当运行了 google 的网页加速器,本机会启动一个httpd的服务,端口是9100 :http://127.0.0.1:9100这个服务实际上是一个本地化的Proxy+缓存,就是所有的 http 的请求都是通过这里走的。那么为什么能够加速呢?缓存。当你第一次访问一个网页的时候,相当多的图片,静态文字全部的存储下来,然后当你再次访问的时候,就直接从缓存里调出来,因此大大加快了访问速度。我这里做了一个有趣的试验:访问我自己的blog一个日志(http://blog.wespoke.com/archives/000907.html)的日志记录:adsl-69-154-77-102.dsl.rcsntx.swbell.net - - [09/May/2005:12:34:38+0800] "GET /archives/000907.html HTTP/1.1" 304 -刷新这个网页,Apache的记录仍然是 304。表明没有传输内容,紧紧验证了expired的信息。touch archives/000907.html (改变这个文档的时间标记)再次刷新,这次不一样了:adsl-69-154-77-102.dsl.rcsntx.swbell.net - - [09/May/2005:12:35:28+0800] "GET /archives/000907.html HTTP/1.1" 200 10319这次是返回了200,并传输了10319个字节。这个就是工作的原理,在第一种的情况下,节省了10319个字节的传输。当然,这也是所有的缓存proxy的设计原则。2. Google 的缓存+路由当我发现我访问的......

阅读全文(5595) | 评论:0

[转]中文blog现状之扫描与商业展望(2005-05-22 13:35:00)

摘要:《现代信息技术》杂志卢亮关键词:Blog 、blogger、User API、Mblog、Content Management 、e-learningBlog的概念在2002年进入中国以后,在短短的一年的时间里迅速增长。随着blog 托管网站的兴起,blog已经从单纯的抽象概念走向了一个被大众接受的一种媒体文化以及一种全新的网络文化及应用。现阶段中文blogger的数量保守估计应该在30万左右,而且以每天新增上千blogger的速度进入了高速增长期,可是数量不是质量,拥有30万中文blogger的中文blog市场,在商业方面仍然是非常初步的,如何在短期内从blog里面探索出一条商业道路来仍然是一个未知数。现状扫描中文blog从2003年末至现在,发展迅速,同时也随之而来出现了一些新情况,从现有的中文blog的现状来看,有如下的几个特点:• 托管服务风起云涌• Blog服务的鱼目混杂• 专业与无序并存• 一些有益的尝试托管服务风起云涌:在2003年年底,中文blog只有3家托管服务,这三家都有超过1年的历史,是中文blog兴起的先行者。虽然这三家blog托管继续领导中文blog市场,可是已经在短短的几个月内涌现了近10家的blog托管网站。这些网站规模有大有小,提供的服务有好有差,但是无论如何,可以看得出,已经有越来越多的人注意到中文blog的市场了,认为这个将是一个很好的尝试,尽管谈起商业模式,现阶段基本上尚没有一家blog托管网站实现了盈利和短期内可以看到有盈利的可能。Blog服务的鱼目混杂:Blog热导致了众多的门户网站纷纷建立了自己的blog服务,而这些服务,通常不过是一个发布系统再加上一个日历和一个能够供用户进行评论的留言功能。如果说这样的系统就是blog,显然有些强差人意了。这些门户网站依靠自己的用户资源,可以很轻松的将其所谓的“blog”的概念普及给他们的用户,可是blog内在的许多相关的概念例如Traceback,Rss,Creative Commons却都没有被采纳。可以预计,这样的一些系统,会为其用户带来一些负面的导向,因为我们已经听到了“blog不就是网络日记本么”这样的感慨。专业与无序并存:最初加入blog潮流的中文blog先行者,大都是一些媒体工作者,一些大学生以及一些IT从业人员。基本的blo......

阅读全文(3878) | 评论:1

[转]【考验智商、算法能力】微软程序员测试题[附答案](2005-05-08 11:42:00)

摘要:一.最基本题型(说明:此类题型比较简单)1.烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?(这道题我当初想了一个小时) 2.你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。抓取多少个就可以确定你肯定有两个同一颜色的果冻?(5秒-1分钟) 3.如果你有无穷多的水,一个3公升的提捅,一个5公升的提捅,两只提捅形状上下都不均匀,问你如何才能准确称出4公升的水?(40秒-3分钟) 4.一个岔路口分别通向诚实国和说谎国。来了两个人,已知一个是诚实国的,另一个是说谎国的。诚实国永远说实话,说谎国永远说谎话。现在你要去说谎国,但不知道应该走哪条路,需要问这两个人。请问应该怎么问?(20秒-2分钟) 5.12个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球。13个呢?(注意此题并未说明那个球的重量是轻是重,所以需要仔细考虑)(5分钟-1小时) 6.在9个点上画10条直线,要求每条直线上至少有三个点?(3分钟-20分钟) 7.在一天的24小时之中,时钟的时针、分针和秒针完全重合在一起的时候有几次?都分别是什么时间?你怎样算出来的?(5分钟-15分钟) 二.没有答案型(说明:这些题显然不是考你智力。而考的是你的反应能力。这种题大多数没有答案,但是要看你的反应喽!)1.为什么下水道的盖子是圆的? 2.中国有多少辆汽车? 3.将汽车钥匙插入车门,向哪个方向旋转就可以打开车锁? 4.如果你要去掉中国的34个省(含自治区、直辖市和港澳特区及台湾省)中的任何一个,你会去掉哪一个,为什么? 5.多少个加油站才能满足中国的所有汽车? 6.想象你站在镜子前,请问,为什么镜子中的影象可以颠倒左右,却不能颠倒上下? 7.为什么在任何旅馆里,你打开热水,热水都会瞬间倾泻而出? 8.你怎样将Excel的用法解释给你的奶奶听?  9.你怎样重新改进和设计一个ATM银行自动取款机? 10.如果你不得不重新学习一种新的计算机语言,你打算怎样着手来开始? 11.如果你的生涯规划中打算在5年内受到奖励,那获取该项奖励的动机是什么?观众是谁?12.如果微软告诉你,我们打算投资五百万美元来启动你的投资计划,你将开始什么样商业计划?为什么?13.如果你能够将全世界的电脑厂商集合在一个办......

阅读全文(9651) | 评论:7

[转]比尔盖茨简历(2005-05-08 11:40:00)

摘要:威廉(比尔)H.盖茨是全球个人计算机软件的领先供应商-微软公司的创始人、前任董事长和首席执行官,盖茨的资产净值:564 亿美元。   盖茨出生于1955年10月28日,他和两个姐妹一起在西雅图长大。他们的父亲William H.GatesII是西雅图的一名律师。他们的已故母亲Mary   Gates曾任中学教师、华盛顿大学的校务委员以及United WayInternational的女主席。   盖茨曾就读于西雅图的公立小学和私立湖滨中学,在那里,他开始了自己个人计算机软件的职业经历,13岁就开始编写计算机程序。   1973年,盖茨进入哈佛大学一年级,在那里他与Steve Ballmer住在同一楼层,后者目前是微软公司总裁。在哈佛期间,盖茨为第一台微型计算机-MITSAltair开发了BASIC编程语言。BASIC语言是John Kemeny和Thomas Kurtz于六十年代中期在Dartmouth学院开发的一种计算机语言。   三年级时,盖茨从哈佛退学,全身心投入其与童年伙伴Paul Allen一起于1975年组建的微软公司。他们深信个人计算机将是每一部办公桌面系统以及每一家庭的非常有价值的工具,并为这一信念所指引,开始为个人计算机开发软件。   盖茨有关个人计算机的远见和洞察力一直是微软公司和软件业界成功的关键。盖茨积极地参与微软公司的关键管理和战略性决策,并在新产品的技术开发中发挥着重要的作用。他的相当一部分时间用于会见客户和通过电子邮件与微软公司的全球雇员保持接触。   在盖茨的领导下,微软的使命是不断地提高和改进软件技术,并使人们更加轻松、更经济有效而且更有趣味地使用计算机。微软公司拥有长期的发展战略,这一点可以从本财政年度26亿美元的研究与开发投资中得到反映。   1995年,盖茨编写了《未来之路书》,在书中,他认为信息技术将带动社会的进步。该书的作者还包括微软公司首席技术官Nathan Myhrvold以及PeterRinearson,它在《纽约时报》的最畅销书排名中连续7周位列第一,并在榜上停留了18周之久。  《未来之路》在20多个国家出版,仅在中国就售出40多万册。 1996年,为充分利用Internet所带来的新的商机,盖茨对微软进行了战略调整,同时,他又全面修订了《未来之路》,在新版本中,他认为交互式网络是人类通讯历史上一个主要里程碑。再......

阅读全文(3921) | 评论:0

[转]网易老板丁磊之谜(2005-05-08 11:36:00)

摘要:1995年,当24岁的丁磊放弃电信局的优厚工作条件,一人孤身下广州的时候,没有人知道丁磊这个名字。也许,直到今天几个网迷朋友聚在一起侃大山,冷不丁提到“丁磊”,还有人会不知所云。可是提到网易、Yeah.net、163.net……你一定会想“难道丁磊和这些与你网络生活息息相关的东西有着千丝万缕的联系”?  从一个普通的网民到大名鼎鼎的网易老板,年纪轻轻的丁磊无疑使人们再一次看到了Internet的神奇。28岁的丁磊,是个迷。丁 磊 是 谁  丁磊就是丁磊,网易的创始人兼老板,如果你连网易都不知道,那么你大可不必问“丁磊是谁”。事实上,丁磊并不出名,出名的是网易、是Yeah.net、是163.net……不信你用丁磊开发出的中文搜索引擎yeah.net搜索“丁磊”这两个字,你会发现搜索结果中除了一条以外,其他都是关于中国足球甲级球队武汉雅琪俱乐部一位同名球员的信息。然而那唯一的一条信息让笔者感觉收获颇丰,因为通过它,笔者找到了丁磊的个人主页。  丁磊的个人主页不是位于大名鼎鼎的网易,而是在广州飞捷。笔者本不敢确定是否真是他的主页,因为那个主页有个大大咧咧“粗俗”得和一般网友主页没有区别的名字 网络大少爷的家。直到读了他的个人简历,才敢断定他就是网易的老板丁磊。  “网络大少爷的家”对丁磊来说具有相当的纪念意义,但他可能已经淡忘了,毕竟那是1996年的事情了,那时候丁磊还没有网易。用今天的审美眼光来看,丁磊的主页真的是非常糟糕。浏览过程中我不得不使用CTRL+A将字体加为高亮才能看清楚内容,页面也相当的简单,我仅仅看到一个页面,点唯一的链接却报告“HTTP 404 - 未找到文件”。主页的内容虽然只是他个人的简介,却是弥足珍贵的资料,要知道想挖出一个躲在网络背后的人的“老底”不太容易。  笔者并非那种会突然对某一事物、动物、人物产生莫名其妙的崇拜的那种人,自然不会费尽心思去挖某名人的老底、编制其花边新闻等等。特别提到丁磊的主页、个人简介的意义在于,大家从中读到了他骨子里的网民色彩(他现在也强调自己骨子里就是网民),读到了他曾经普通的一面。相信网络大少爷格言里那句“呜……男人的心,女人怎么会了解”,一定会让不少人大跌眼镜吧!  疯狂解谜手册 :要做一个成功的网民,得从普通的网民做起。做普通网民该做的事情,和普通网民一起混迹江湖。这样,你才能了解网民的心态,知道网民的需要。当然......

阅读全文(3065) | 评论:0

[转帖]float谈(2005-01-20 17:52:00)

摘要:标题:浮点类型深谈1.编写本文目的浮点运算已属常用,但仍有深究必要,以消除其中可能的错误使用。2.预期读者3.编者语㈠ 在其他任何公共论坛上转载本文,请标明出处和作者,而无需授权和确认。4.正文㈠ float格式简谈Inter 80386/80387 及以上型号CPU有三种浮点类型,即短实数、长实数和80位临时实数,分别占用4字节、8字节和10字节,对应着C/C++中的float、double和long double[注1],我以 Real4、Real8和Real0表示之。每种浮点格式皆应符合IEEE标准,称为规格化数,不符合IEEE标准的浮点格式称为非格式化数(NAN),我以最简单的float格式举例。Float格式数据长32 bits,最高位为符号位:0为正,1为负;紧接着的8位为阶码:为了便于比较大小,其固定偏移7FH长,即0实际表示-7FH,7FH实际表示0,0FFH实际表示80H;余下的低23位为尾数(有效数字),为了使有效数字达到最大精度,这23个有效数字隐含着固定位1[注2],比如尾数10000000000000000000001其实就是1.10000000000000000000001,1被省略,而小数点固定在首位。根据以上规则可以知道float所能表示的绝对值大小范围是0 000,0000,0 000,0000,0000,0000,0000,0000 B 至 0 111,1111,1 111,1111,1111,1111,1111,1111 B即±1.00000000000000000000000B×2(0x00-0x7F) 到±1.11111111111111111111111B×2(0xFF-0x7F)然而事实上并不是这样,因为从这个范围可以看出它并不能表示0.0,而0.0为常用数字,所以特别规定±1.00000000000000000000000B×200为零,规定指数为0xFF的数字为非法数字,因此float实际的绝对值范围(除去0以外)是0 000,0000,0 000,0000,0000,0000,0000,0001 B 至 0 111,1111,0 111,1111,1111,1111,1111,1111 B即 0 并上 ±1.00000000000000000000001B×2(0x00-0x7F) 到±1.111111111111......

阅读全文(6758) | 评论:0

[转]如何在实模式下直接访问4GB内存(2005-01-09 13:06:00)

摘要:在DOS下编程因为实模式的限制,最大只能访问1M字节内存空间,就算加上打开A20线后可以访问的65520字节也只有区区1088K而已,而这么少的一点内存中还有大量区域被操作系统、BIOS和TSR等程序占用,真正能给程序员使用的空间少得可怜。好在计算机的发展给广大程序员提供了一些解决这个问题的办法。  最常见的方法有以下几种:    1. 精减程序的尺寸,同时尽量避免一次使用太多的内存 (有没有搞错?偶只是初学者,不是算法专家耶)    2. 使用文件覆盖技术,只在使用指定代码时才将其读入内存,执行后释放 (偶的程序怎么就这么慢呢?硬盘狂转中...)    3. 用标准的DOS扩展技术如EMS、XMS、DPMI (哇!功能好强,不过程序改起来好累啊)    4. 自己写保护模式平台 (谁要这么做了别忘了发一份源程序给我啊)    5. 转移到其他平台如Windows/UNIX/LINUX (拜托,我只想在DOS下运行啊)  程序压缩效果再好也是有限,总不能达到50%以上吧,程序要用2M乃至10M内存呢?文件覆盖需要自己编写调度模 块,而且因为频繁读写硬盘,将导致程序运行速度变得很低;EMS、XMS、DPMI功能强大,兼容性强,尤其是DPMI规范不 但支持大内存访问,而且还可以在保护模式下运行代码并能超越64KB的段地址限制,实在是写大型程序时的首选。但EMS 、XMS只能将扩展内存当作高速硬盘使用,所有的访问都只能通过一系列中断调用来完成,对于经常需要小尺寸大批量内 存访问的程序就不太适合,而且使用它们均受制于实模式的64KB段地址空间,对于大数据量访问也不太方便;用DPMI当 然就没有这些限制,但它需要将所有的程序按保护模式的结构改写,这也是一件麻烦的事。自己写保护模式平台(汗!... 这个我想没有几个人做得到吧,我就算做得到也不会做的)。至于转移到其他平台那就不用我说了。  看到这里,读者不禁会问:“那照这么说来没有一种方法是好的了?” 其实也不是这样,每种方法都有它的优点和缺点,要看你的需要来决定到底使用哪种方法。  好了,废话说了这么多,再不切入正题的话估计会有人向我扔鸡蛋了,下面就来告诉大家怎么做到在实模式下访问4GB内存。这种技术需要保护模式支持,所以只能在80386以上的CPU中运行。  学过一点保护模式的读者都知道,在保护模式下段地址寄存器中内容的不再......

阅读全文(5680) | 评论:0

[转]漫谈程序员与编程(2005-10-11 01:50:00)

摘要:北京《程序员》2001.05台北《 Run!PC》2001.06作者简介:侯捷,台湾电脑技术作家,着译评兼擅。常着文章自娱,颇示己志。个人网站:www.jjhou.com北京镜站:www.csdn.net/expert/jjhou--------------------------------------------------------------------------------「侯捷观点」进行了4期。通过这个专栏的作用,我开始接触大陆的电脑技术刊物《程序员》和电脑技术网站 CSDN,并累积了相当量的观察和感想。这个专栏前数期谈的都是技术,不是深度书评就是高阶技法。这一期让我们轻松一下,谈谈程序员(programmer)与编程(programming)。其中不少议题起因於读者来信的触发,许多观点我也已经回应於侯捷网站上。所以若干文字可能你曾经在侯捷网站上阅读过。有些看法也许读来刺眼,听来刺耳。但如果大家不把我视为外人,当能平心静气地思考。台湾存在许多相同的问题,我也时常为文针砭。有一句话这麽说:如果你想使人发怒,就说谎。如果你想使人大怒,就说实话。说实话的人来了,但愿你心平气和。急功近利是大忌一位读者写信给我,说他非常着急。他一个月挣300元人民币,家里情况又不好。他希望赶快把 VC/MFC 学会,进入 IT 产业挣钱。信写得很长,看着看着,我也不禁为他着急起来。有许多读者,虽然情况没有那麽急迫,燃眉之情却也溢於言表。不外乎都是希望能够尽快把某技术某技术学习起来。但是哪一样东西哪一样技术是可以快速学成的呢?能够快速学成的技术,人才也就必然易取易得,根据市场供需法则,也就不可能有很好的报酬。所以诸君当有心理准备,门槛高的,学习代价高,报酬高;门槛低的,学习代价低,报酬低。说起来是老生常谈了。这其中最可怕的心理在急功近利。从读者的来信,以及从 CSDN 上的众多帖文,我感觉,许许多多人学习 IT 技术,进入 IT 产业,是认为 IT 产业可以助你脱困,远离贫穷。是的,IT 产业有这个「钱」景,但你得有那份实力。要吃硬核桃,也得先估量自己的牙口。「好利」是基本人性,Acer 总裁施振荣先生大力提倡「好逸恶劳」之说,视为人性之本,进步的原动力。谁能说不是呢?好利可以,近利就不妙了。近利代表目光浅短,一切作为都因此只在小格局中打转。梨园有句话:要在人前显贵,就要在人後......

阅读全文(11035) | 评论:1

[转]从程序员到系统分析员(2005-01-03 20:56:00)

摘要:大家应该对这两个词很熟悉了,但是对词里包含的意义可能并不是特别清楚。首先必须说明的是,程序员和系统分析员不存在谁高级谁低级的分别,他们是两种职业,对职业技能的要求完全不同。所以厉害的程序员就是系统分析员的说法是不对的。当然,系统分析员的技能要求他必须要懂得如何写程序,但是他的重心在于如何把一个很大的项目切割成适合个人的小块,然后将这些小块组织起来。程序员的职责就是如何更好更快的实现这些小块。    在这章之前,我们讨论的都是一个合格的程序员应当具备的技能,当然不止那一些内容。之所以在这里插进来讨论系统分析员的事情,是因为我们的栏目叫做软件工程而不是程序员从入门到精通之类的。    在正式开始之前,我们还是来看在Thinking In Java中作者对分析和设计的一段精辟见解:分析和设计    面向对象的范式是思考程序设计时一种新的、而且全然不同的方式,许多人最开始都会在如何构造一个项目上皱起了眉头。事实上,我们可以作出一个'好'的设计,它能充分利用OOP提供的所有优点。    请原谅在这里突然出现了OOP这个词,他的意思是面相对象,虽然在之前没有提到,但是在现在OO概念满天飞的软件世界里,大家应该对他不会太陌生。这里我简要的说明一下。在之前我介绍的实际上都是在很早以前程序写作流传下来的经验(什么,教我们老古董,打他!),但是以前的非OO(就是基于过程)的软件设计方法目前在国际上已经很少采用,所以我这里讲软件设计的时候所有的概念都是基于OO的。即使OO的概念很简单的啦,大家思考一下,我们再学习C++的时候一开始使用的类不都是一些动物啦、正方形啦之类的,都是生活中的例子,对吧。其实OO就是我们看世界的一种方式。可是最早由于计算机技术的不发达,我们不得不用一些很奇怪的描述来表达我们的意思,只有这样计算机才能理解,很笨不是吗。比如我们必须使用参数、过程、函数。所以当时的软件设计方法都是基于过程的。举一个简单的例子来显示OO设计方法和基于过程的设计方法之间的差别:一句简单的日常短语--'我吃饭',用OO的方法来表述还是'我吃饭',可是如果用基于过程的方法来描述的话就变成'我吃饭(饭)',是不是很别扭呢。如果大家觉得对于......

阅读全文(4584) | 评论:0

[转]比尔·盖茨先生是否还写代码?(2005-01-01 13:52:00)

摘要:[转]              比尔·盖茨先生是否还写代码?  比尔·盖茨:   我还是喜欢写代码,在微软创办的早期,我实际上要审议所有人写的代码,我觉得很有意思,因为我知道所有的指令行。当然,我们已经过了这个阶段,我写的大部分代码都能够让我学到很多的东西,我们还写了一些软件,了解这么做有多困难。我的确希望减少大家指令量,有的时候难度很大,我说我可能周末来做你们这个工作,但是我想他们并不再相信我了,因为我已经有很长时间没有那么做了。......

阅读全文(5045) | 评论:0