??xml version="1.0" encoding="utf-8" standalone="yes"?>久久精品国产亚洲av麻豆色欲,亚洲av一本岛在线播放,亚洲第一二三四区http://m.tkk7.com/wangdei1/bt下蝲与小?20zh-cnMon, 12 May 2025 08:56:48 GMTMon, 12 May 2025 08:56:48 GMT60JavaE序员需要了解的几个开源协议介l?/title><link>http://m.tkk7.com/wangdei1/archive/2008/12/18/247090.html</link><dc:creator>bt下蝲</dc:creator><author>bt下蝲</author><pubDate>Thu, 18 Dec 2008 05:55:00 GMT</pubDate><guid>http://m.tkk7.com/wangdei1/archive/2008/12/18/247090.html</guid><description><![CDATA[Mozilla Public License <p style="text-indent: 2em">MPL LicenseQ允许免贚w发布、免费修改,但要求修改后的代码版权归软g的发赯。这U授权维护了商业软g的利益,Q它要求Zq种软g得修Ҏ偿A献版权给该Y件。这P围绕该Y件得所有代码得版权都集中在发v开发h得手中。但MPL是允怿改,无偿使用得。MPL软g寚w接没有要求? <p style="text-indent: 2em"><strong>SD开源协?/strong> <p style="text-indent: 2em">BSD开源协议是一个给于用者很大自q协议。可以自q使用Q修Ҏ代码Q也可以修改后的代码作为开源或者专有Y件再发布?当你发布使用了BSD协议的代码,或则以BSD协议代码为基做二ơ开发自q产品Ӟ需要满三个条Ӟ <p style="text-indent: 2em">1. 如果再发布的产品中包含源代码Q则在源代码中必d有原来代码中的BSD协议? <p style="text-indent: 2em">2. 如果再发布的只是二进制类?软gQ则需要在cd/软g的文和版权声明中包含原来代码中的BSD协议? <p style="text-indent: 2em">3. 不可以用开源代码的作?机构名字和原来品的名字做市场推qѝ? <p style="text-indent: 2em">BSD代码鼓励代码׃nQ但需要尊重代码作者的著作权。BSD׃允许使用者修改和重新发布代码Q也允许使用或在BSD代码上开发商业Y件发布和销售,因此是对商业集成很友好的协议。而很多的公司企业在选用开源品的时候都首选BSD协议Q因为可以完全控制这些第三方的代码,在必要的时候可以修Ҏ者二ơ开发? <p style="text-indent: 2em"><strong>Apache Licence 2.0</strong> <p style="text-indent: 2em">Apache Licence是著名的非盈利开源组lApache采用的协议。该协议和BSDcMQ同样鼓׃码共享和重原作者的著作权,同样允许代码修改Q再发布(作ؓ开源或商业软g)。需要满的条gQ? <p style="text-indent: 2em">1. 需要给代码的用户一份Apache Licence <p style="text-indent: 2em">2. 如果你修改了代码Q需要再被修改的文g中说明? <p style="text-indent: 2em">3. 在g伸的代码?修改和有源代码衍生的代码?需要带有原来代码中的协议,商标Q专利声明和其他原来作者规定需要包含的说明? <p style="text-indent: 2em">4. 如果再发布的产品中包含一个Notice文gQ则在Notice文g中需要带有Apache Licence。你可以在Notice中增加自q许可Q但不可以表Cؓ对Apache Licence构成更改? <p style="text-indent: 2em">Apache Licence也是对商业应用友好的许可。用者也可以在需要的时候修改代码来满需要ƈ作ؓ开源或商业产品发布/销售? <p style="text-indent: 2em"><strong>GPL</strong> <p style="text-indent: 2em">GPL许可证是自由软g的应用最q泛的Y件许可证Qh们可以修改程式的一个或几个副本或程式的M部分Q以此Ş成基D些程式的衍生作品。必d修改q的档案中附有明昄说明Q您修改了此一案及Q何修改的日期?您必让您发布或出版的作品,包括本程式的全部或一部分Q或内含本程式的全部或部分所衍生的作品,允许W三方在此许可证条款下用,q且不得因ؓ此项授权行ؓ而收贏V? <p style="text-indent: 2em"><strong>LGPL</strong> <p style="text-indent: 2em">Linux是采用了GPL。GPL协议和BSD, Apache Licence{鼓׃码重用的许可很不一栗GPL的出发点是代码的开?免费使用和引?修改/衍生代码的开?免费使用Q但不允怿改后和衍生的代码做ؓ闭源的商业Y件发布和销售。这也就是ؓ什么我们能用免费的各种linuxQ包括商业公司的linux和linux上各U各L׃人,l织Q以及商业Y件公司开发的免费软g了? <p style="text-indent: 2em">GPL协议的主要内Ҏ只要在一个Y件中使用(“使用”指类库引用,修改后的代码或者衍生代?GPL协议的品,则该软g产品必须也采用GPL协议Q既必须也是开源和免费。这是所谓的”传染?#8221;。GPL协议的品作Z个单独的产品使用没有M问题Q还可以享受免费的优ѝ? <p style="text-indent: 2em">׃GPL严格要求使用了GPLcd的Y件品必M用GPL协议Q对于用GPL协议的开源代码,商业软g或者对代码有保密要求的部门׃适合集成/采用作ؓcd和二ơ开发的基础? <p style="text-indent: 2em">其它l节如再发布的时候需要伴随GPL协议{和BSD/Apache{类伹{? <p style="text-indent: 2em"><strong>Public Domain</strong> <p style="text-indent: 2em">公共域授权。将软g授权为公共域Q这些Y件包没有授权协议QQ何h都可以随意用它? <p style="text-indent: 2em"><strong>Artistic许可</strong> <p style="text-indent: 2em">使作者保持对q一步开发的控制?</p> <img src ="http://m.tkk7.com/wangdei1/aggbug/247090.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/wangdei1/" target="_blank">bt下蝲</a> 2008-12-18 13:55 <a href="http://m.tkk7.com/wangdei1/archive/2008/12/18/247090.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>|站前端优化一些小l验http://m.tkk7.com/wangdei1/archive/2008/12/04/244439.htmlbt下蝲bt下蝲Thu, 04 Dec 2008 12:31:00 GMThttp://m.tkk7.com/wangdei1/archive/2008/12/04/244439.htmlhttp://m.tkk7.com/wangdei1/comments/244439.htmlhttp://m.tkk7.com/wangdei1/archive/2008/12/04/244439.html#Feedback3http://m.tkk7.com/wangdei1/comments/commentRss/244439.htmlhttp://m.tkk7.com/wangdei1/services/trackbacks/244439.html着W??a >bt论坛的顺利结束的U风,我也来分享一下自己在前端优化斚w的一些些经?其实q些l验本n都是来自yahoo的优化原?不过l过ahuaxuan自n的实践和再次的思?把原来的原则都进行了分组和分?不过׃ahuaxuan bt涉及到的东西有限,q没有经历过全部的优化点,所以只把自己做q的拿出来和大家讨论讨论,其中不免加入自己一些观?希望大家指正.

先说说目?前端优化的目标是什?一个字:?两个?更快.那么下面我们来看看慢的网将会给我们带来什?
1. 慢的面可能会网站失L多的用户.

2. ?00ms意味着20%的用户将攑ּ讉K(google)

3. ?00ms意味着1%的用户将攑ּ交易(amazon)

4. ????ms意味着??%的用户将攑ּxx(your site)

所以我们的目标很明?是要网展现的速度更快.
l过ahuaxuan的实践和ȝ,其实要让|页展现更快只需要注意几个大的方?下面会一一描述q几个大的方?


[size=medium]1减少httph,我把它排在了W一?为啥要在W一点呢,很简?因ؓ它最重要.


如何做呢.让ahuaxuan带着大家分析一下这个问?从何处着手呢.ahuaxuan大声疑֑,我们要从数据开?ok,一般来?我们从变化性上把数据分成两U类?变和不变.那么不变的数据可以缓?变化的数据不能缓?q是一个常?也就是说要减我们的httphơ数q个目标可以转换成把数据分ؓ变化和不变化两个部分.不变化的数据不需要再ơ请?q样httph的次数就减少?下面我们分点来描q将数据分类的途径.


1. 合ƈ脚本文g
包括脚本,样式和图?可以有选择的把一些Js和css可以合ƈ成一个文?一些图片可以用css sprites技?q样做的原因是什?做过web开发的人都知道,js和css基本是不变的,是静态文?囄亦然.那么不变的文件如果适当的合q在一?会有什么效果呢?h的次C多次变成了一?q样httph的次数就减少?当时合ƈ之后,文g体积变大?会媄响速度?{?肯定会啊,不过q里是需要权衡的,比如?00份静态文?合ƈ?0份还是合q成1份这得看你得具体情况了.

2. 指定Expires或者Cache-Control,
对于静态内容:讄文g头过期时间Expires的gؓ“Never expire”Q永不过期)
动态页?在代码中dcache-control,表示多少旉之后q期,?
response.setHeader("Cache-Control", "max-age=3600");
如果使用了Expires文g_当页面内Ҏ变时必L变内容的文g名。通常是在文g内容后加版本?
q一Ҏ大多Ch都忽略得,之前很多人在坛子上发布自己得系l?q有demo,ahuaxuan跑过M?my god,一堆又一堆得js,css,既没有恰当得合ƈ,也没有设|过期时?每次h面都要重新下蝲q一堆又一堆的js,css.httph那叫一个多?无谓了流量就q样产生?

q一点在企业应用的系l中也时有发?比如我们使用extjs作ؓ前端的技?400多k?每打开一个页面都导入,下蝲q个js,够无聊的.那么童子们可能就要问?静态文件ؓ啥不用apache,lighttpd{呢,{?用了又怎么?不设expire或者max-age不是一栯下蝲,最好的Ҏ是写一个filter,再filter中判?如果url满一定的条g(比如W合配置文g中的正则表达?,那么p|一个max-age,q样ok,太简单了,几行代码可以搞?快哉.

3. ~存Ajaxh
~存的方法同动态页?ajaxh需要用get方式,url长度?k(ie)限制(posth有两个过E?1发送请求headers,2发送请求数?Ҏhttp规范,geth只会发送一个tcp?.--------q一D话来自yahoo,先不其真假,我们从另外一个方面来考虑一下ؓ什么最好用get方式,讲一个ahuaxuanl历q的事情,之前有一个项目的ajaxh使用了post方式,后来发现l常出错,而且抛出了squid的错?因ؓ我们的网站用了squid,问题出在这里了,从http协议上可以了解到,method=post是指把数据提交到服务器上?那么squid的一个特性是不会~存posth(事实上它实不应该缓?因ؓq样会违反http协议中的语义),把ajaxhҎget方式之后,一切恢复如?

4. U除重复的js
重复的js导入也有可能Die重新加蝲该脚?没啥好说?照做.

5. 避免重定?/span>
有一U经常被|页开发者忽略却往往十分费响应旉的蟩转现象。这U现象发生在当URL本该有斜杠(/Q却被忽略掉时。这时候会q回一?01的状态码,然后览器重新发起一ơ请?在企业应用里,重定向是我们在企业应用中常用的技?不过用在|站目?您可要小心了,因ؓ普通的重定向其实是server在response header中设|http status=302,览器收C?判断出是302,会重新发送一个请?目标地址是前一ơ返回中指定的地址.在网站项目中如果可以不用重定向就别用?如果您做企业应用目,ok,关系不大,您就攑ֿ?#8221;?#8221;?

节,ahuaxuan把减httphơ数分ؓ了以?个小?每个点之后附加一些实?大家可以Ҏq些Ҏ判断自己的项目是否可以有优化的地?


使用cdn
让内Ҏ靠近用户,q有啥好说呢,原理很简?是Ҏ用户览器所在机器的ip来判断哪些服务器ȝhq?览器会再次去请求这些最q的机器.一般的cdn服务商是通过开发自qdns server来达到这个目的的.不过q个是通常情况?技术实力比较高,或者场景比较特D的公司会开发自qcdn.当然不管怎么?使用cdn肯定可以佉K面响应更?也包括音?视频,囄,文本文g,{等{等)

减小q回数据的体U?/span>
1. 使用gzip压羃q回数据
Gzip压羃所有可能的文gcd是减文件体U增加用户体验的单方法。比如本?00k的文?压羃一下之后只?0k-100k,那么|络的流量就立刻下来?压羃的代h服务器端要压~文?需要消耗cpu,览器需要解压文?也需要消耗cpu,不过对于Cq么nb的pc,来说,览器解压一下数据带来的cpu消耗简直不g?所以您压?不过压的时候要心?有的览器在特定场景下会出去一些小bug,D面不正?比如ie6在跨域的时候可能会有些麻?把这部分数据的gzipL可以了.

2. 最化js文g和css文g
压羃js可以使用JSMin或者YUI Compressor,后者同时可以压~css,q个也没啥好说的,照做?

3. css和js独立成外部文?
其实q一点也可以看成是区分不变数据和变化数据.很多人喜Ƣ在面商写很多很多的js和css,q些数据其实都是不会变化的数?也就是说q些数据也是可以~存在浏览器上的,通过把它们独立成外部文g,可以把这些数据缓存v?q样做看上去是增加的h的次?但是׃W一ơ请求之后该部分数据已经被缓?所以第二次无需再请求后?减少了网l带宽的开销.

优化Cookie

1. 减小cookie体积
能不攑ְ别放?为啥呀,cookiep钥匙?只有出门和回家得时候才?但是一整天你都要带在n?ȝ?
2. 合理讄Cookie?
׃二域名可以拿到一U域名得cookie,那么如果,而二U域名之间确不能怺׃ncookie,所以合理得讄cookie得域名也可以避免无必要得带宽费和响应速度得增?
3. 讄合理的cookieq期旉
该过期就q期,不要让不必要的数据一直带在n上走来走?
4. 使用域分?
为图片或者其他静态资源文件用子域或者徏立新的独立域?甌新的域名),避免无必要的cookie传输,当然也是要在有必要得情况?囄cȝ站肯定有必要,javaeye上得囄q没有用域分离,所以我们得cookie其实会带到坛子得囄服务器上?每次h囄都是如此(不过q好,坛子里没有什么图?所以这斚w的浪费不?.

结,其实cookie上得问题,单词h看上M不是什么大问题,好像是无所谓得事情,那么几十个byte,至于?不过大家都听说过水滴石穿,l锯木断的故?所以该做的,我们q是要做,正所?勿以善小而不?勿以恶小而ؓ?
优化览器加?
1. css攑֜面剙加蝲
把样式表攑֜文底部的问题是在包括Internet Explorer在内的很多浏览器中这会中止内容的有序呈现。浏览器中止呈现是ؓ了避免样式改变引L面元素重绘。用户不得不面对一个空白页面?
      HTML规范?楚指出样式表要放包含在页面的<head />区域内:“?lt;a />不同Q?lt;link />只能出现在文的<head />区域内,管它可以多ơ用它”。无论是引v白屏q是出现没有样式化的内容都不值得d试。最好的Ҏ是按照HTML规范在文 ?lt;head />内加载你的样式表?

2. js攑֜面底部加蝲
脚本带来的问题就是它L了页面的q下蝲。HTTP/1.1 规范Q浏览器每个L名的q行下蝲内容不超q两个。如果你的图片放在多个主机名上,你可以在每个q行下蝲中同时下?个以上的文g。但是当下蝲脚本Ӟ览器就不会同时下蝲其它文g了,即便是主机名不相同?

Js攑֜底部加蝲其实q不影响览器展C页?除非用户会在js加蝲完成之前p用某个jsҎ,比如说页面刚展现C?但是恰好q一半里有一部分是调用了q未下蝲的js,q个时候就会出问题?如果童子们遇到这U情?可以把这部分js先加?

    
ȝ一下下:以上q些优化点其实只是前端优化的部分内容,不过Ҏ80/20原则,q些优化点已l覆盖了80%的情况了,同时前端优化其实也不是什么复杂的东西,原理上是很简单的,更多的是需要我们的实践,因ؓ我们可能会碰到各U各L问题,而很多的q些问题其实一般是预测不到?只有遇到q才知道.
说的不对的地方请大家拍砖,或者童子们也可以把自己的经验在q里和大家分享一?代表其他童子表示十分的感?

当然,׃ahuaxuan水^有限,文章中难免有不到之处,q望不吝指正,谢谢.


bt下蝲 2008-12-04 20:31 发表评论
]]>
癑ֺ遭遇中国|络反垄断调查第一?/title><link>http://m.tkk7.com/wangdei1/archive/2008/11/09/239564.html</link><dc:creator>bt下蝲</dc:creator><author>bt下蝲</author><pubDate>Sun, 09 Nov 2008 14:08:00 GMT</pubDate><guid>http://m.tkk7.com/wangdei1/archive/2008/11/09/239564.html</guid><wfw:comment>http://m.tkk7.com/wangdei1/comments/239564.html</wfw:comment><comments>http://m.tkk7.com/wangdei1/archive/2008/11/09/239564.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/wangdei1/comments/commentRss/239564.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/wangdei1/services/trackbacks/239564.html</trackback:ping><description><![CDATA[<div id="umoywoy" class="postBody"><font face="楷体_GB2312">企业向国家工商d甌对百度滥用市场支配地位进行反垄断调查Qƈ?.7亿元|款</font> <a >bt</a>吧? <p>  本报记?韦文z?/p> <p>  目前Q国内对癑ֺ的竞h名虽然诟病颇多,但在制约手段的徏立上处于真空状态,~Z相应的措施。在业界评论家看来,如果国内搜烦控制舆论没有相关的法律法规来制裁QL一天,|络自由也将会本的附属?<a >色即是空</a></p> <p>  2008q的q个U天Q对北京癑ֺ|讯U技有限公司(以下U百?来说Q可谓多事之U?/p> <p>  10?1日,在U末的最后这几天Q受沛_唐山Zh信息服务有限公司法定代表人王冠珏的委托,北京市邦道律师事务所李长青律师,把一册厚?1?6开本的《反垄断调查甌书》,送到了国家工商d反垄断处一位官员手中,甌对百度滥用市场支配地位的反垄断调查。据q位官员告诉他,q是反垄断法实施以来Q发生在|络领域的第一例?/p> <p>  而在此之前,9?日,淘宝|?#8220;为杜l不良商家欺?#8221;Q首ơ向外界宣布屏蔽癑ֺ搜烦链接Q向其公正性公开提出抗议Q??2日,癑ֺ因被披露涉嫌收取300万元保护费屏蔽三鹿奶_负面新闻,被卷入震惊全国的“三鹿问题奶粉”事g之中Q成为公众口诛笔伐的对象?/p> <p>  更早一些,在今q的U初Q因质疑“竞h排名”的猫腻,癑ֺp深圳律师黄维领告上法院,如果不是癑ֺ提出辖权异议,此案恐怕已在深圛_田Zh民法院开庭审理?/p> <p>  “发难”一接一场,面对来自南北的不断夹击,癑ֺq个“全球最大的中文搜烦引擎”Q如何将q股诉讼潮化险ؓP巧渡搜烦引擎行业所面的经营模式之囎ͼ化解新技术带来的法律NQ成Z界关注的焦点?/p> <p>  <strong>异常变化</strong></p> <p>  2007q初Q曾?0q经营药品生意的唐山人王冠珏Q在工商局登记注册了唐׃hZ息服务有限公司,创办了一个普及医药知识及招商的网站———全民医药网?/p> <p>  Z提高|站的点ȝQ增加客量Q全民医药网和百度河北代理商{了一个《竞h名协议》?/p> <p>  所?#8220;竞h排名”Q就是搜索引擎商推出的一U业务。当用户搜烦一些常用词语时Q从搜烦引擎服务商购C服务的厂商的名字׃排在搜烦的前列。每当用LL索的l果q入厂商的主|Q厂商就要向搜烦引擎服务商缴U一ơ费用,也就是搜索引擎的q告收入?/p> <p>  全民医药|和癑ֺ{订的这个竞h名,参与旉?008q?月至9月䆾Q金?.9万元Q排位于W?名,点击一ơ最低hgؓ0.55元,最高ؓ3.8元?/p> <p>  参与竞h的最初几个月Q是全民医药|和癑ֺ的蜜月期。全民医药网做的全国厂家招商、招会员Q在癑ֺ搜烦排第一名。他们网站的客流Q高峰时日浏览量?000ơ,每月固定客户?000人的比例上涨?/p> <p>  谁知前景开始看好的时候,因ؓ全民医药|要改版Q?月至8月,全民医药|把竞h支付h调到最低时Q异怾开始出C?/p> <p>  7?日一上班Q商务部l理李娟慌慌张张地跑来告诉王冠珏,“今天在百度里输入全民医药|的|址Q链接一下子H然了Q以前的八万多条信息Q只剩下了一个页?条记?#8221;?/p> <p>  wؓ商h的王冠珏qQ访问量是|站的生命,新客h不了Q老客户不会来Q做免费的广告,商家也不会干。从癑ֺ来的讉K量一直占全民医药|?0%的客量Q如果不及时改变q种异常变化Q全民医药网只能?#8220;坐以待毙?#8221;</p> <p>  Z解决面?#8220;灭顶之灾”Q作为百度的一个客P王冠珏赶紧让技术部长王q岭Q给癑ֺ总部和百度石家庄代理商发信和ȝQ反映这一异常变化。但癑ֺ的电话始l打不通。最后好不容易收C矛_庄百度的回信Q?#8220;通常q种变化是正常的Q是完全自动的,q不表示会对个别|站q行惩罚?#8221;</p> <p>  可是Q让王冠珏焦虑不已的是,C7?0日,全民医药|的日访问量骤减Q从前一日的2961IP骤减?01IP。而后来以2008q??0日ؓ分界点的前后两个月对比,全民医药|的月访问量从前一个月?8095IP锐减?8340IPQ日均访问量?936IP锐减?11IPQ会员已l在|上搜不到全民医药网Q网站几乎没人来光顾了。再和百度联p,一炚w信都没有?/p> <p>  7?4日,焦虑不已的王冠珏不得不再ơ给癑ֺM哀求:“q是你们客服说的是因ؓpȝ自动更新Q但更新也不能差距这么大呀Q现在几乎就在百度里找不到带着全民医药|域名的内容?#8230;…请帮我们查出原因Q速回邮g或致c?#8221;</p> <p>  但直到现在,他也没有{来癑ֺ的邮件或回电?/p> <p>  <strong>“降权惩罚”</strong></p> <p>  9月初Q王冠珏l全民医药网换了一个域名,希望癑ֺ能够收录他们|站Q但是一个月q去了,一条记录都没有?/p> <p>  2008q??5日,王冠珏在查询h、雅虎对全民医药|的收录情况Ӟl果分别昄?690条及3000多条Q而其他的包括有道、搜狗,都比癑ֺ多?/p> <p>  面对q种异常Q王冠珏真是百思不解。经q走访大量的|站Q咨询行内专Ӟ阅大量资料后,发现他们也遭遇过cM的结果?/p> <p>  一些站长告诉他Q之前在癑ֺ做了竞h排名Q如果后来不做,很容易就被百度屏蔽了。比如:重庆某知名民营医院在建立自己的网站后Q在癑ֺ、谷歌、雅虎等搜烦引擎上搜索排名一直排W一。但是,从今q?月开始,用百度竟然再也搜索不到医院网站了Q但用谷歌、雅虎却能够搜烦刎ͼ而且q是排位W一。这让医院感到十分疑惑,便以各种方式向百度反映这一情况Q但都未得到令h信服的答复。迫于无奈,医院负责紧投钱参加百度的竞h排名Q很快,医院的网站又“奇?#8221;在百度上出现了?/p> <p>  2005q?0月至2006q?月,365数码|曾在百度做竞h排名q告。而当他们停止l费Q不再在癑ֺ上投攑ֹ告后Q竟然被癑ֺ“屏蔽”?/p> <p>  据中搜网的技术专家介l,所有的搜烦l果都可以进行h工干预,所谓屏蔽就是在搜烦E序中嵌入针对特定信息的“黑名?#8221;Q从而机器自动不去抓取指定域名的网,从而实现自q营销目的?/p> <p>  王冠珏的一位网友还告诉他,其代理的客户大部分在行业中有较强的媄响,|站也都h相当的流量。在购买癑ֺ关键词竞价之前,在百度搜索页左边的排序中Q基本都能排在前几名Q而在购买了百度的关键词竞h务后Q反而在首页很难扑ֈ?/p> <p>  “昄Q百度在非付费的自然排序中有意下降客L排名Q目的就是希望这些客户对于关键词竞hq种付费服务产生依赖?#8221;王冠珏的|友说?/p> <p>  因此Q早?005q_一些网站站长甚至结成了“反百度联?#8221;Qƈ且获得了信息产业部备案序?豫ICP?5009507)。据《瞭望》报道,联盟的发起h郭振东,2004q发现自己创办的文学|站h鱼社癑ֺ屏蔽。此后,他在与百度上公司员工的接触中获悉,只要?000元就能将被封的网站解,q承诺在一q内不再屏蔽。因此,他认为百度之所以对|站q行屏蔽Q是Z推广癑ֺ的竞h名服务,遂发?#8220;反百度联?#8221;Q收集百度公司对待站长和|友不公正的证据?/p> <p>  “没在癑ֺ做竞h名广告前Q还可以在百度上搜烦?65数码|,现在却搜不到了。早知道q样Q还不如一开始就不做呢?#8221;?65数码|负责h认ؓQ百?#8220;杀”365数码|的目的Q在于迫使其l箋交钱l百度做竞h排名q告?/p> <p>  “最令h不服气的是,用什么评定中网站该不该被屏蔽,q一pd的标准都是百度自己在操作Q外人无法知道,更无法考证和干涉?#8221;一位网友告诉王冠珏?/p> <p>  看一看他人,比一比自己,王冠珏彻底明白了Q因q|站开始有?000以上的客量Q它一看你的IPq么高,开始能赚到钱,Z么还不到我这里来交钱Q便l你的网站来了个“降权惩罚?#8221;</p> <p>  但百度企业市场部ȝ舒迅曑֯“屏蔽”一说断然否认:“癑ֺ搜烦引擎上是否收录一个网站,与这个网站是否参与百度竞h名推q没有Q何关pR百度收录的中文|站数是全球最多的Q但q不承诺收录每一个网站?#8221;</p> <p><strong>癑ֺ垄断</strong> </p> <p>  “癑ֺ一?#8221;Q几乎已l成为广大网民最为常见的习惯性搜索?/p> <p>  ?月䆾以来Q不断有客户问王冠珏Q?#8220;在网上ؓ什么搜不到你们|站Q?#8221;|民一般都使用癑ֺQ他们认为在癑ֺ搜不刎ͼ是在网上搜不到?/p> <p>  李长青律师认为,癑ֺ的屏蔽行为对其他|站之所以构成封杀是基于其获得的市场支配地位?/p> <p>  据相兌料表明,2008q第2季度Q百度占据中国搜索引擎市Z额的64.4%。第3季度Q坐拥中国搜索市2/3份额。到今年10?3日,癑ֺ|站发布公司新闻Q已l在中国搜烦引擎市场E稳占据70%以上市场份额。虽然它不过是一个工P但它现在形成了一个霸ȝC。将Ҏq远抛在后面?/p> <p>  《反垄断法》第19条第一Ƅ一规定,有下列情形之一的,可以推定l营者具有市场支配地位:一个经营者在相关市场的市Z额达C分之一的。上q资料表明,癑ֺ已经完全获得了中国搜索引擎市场的支配C?/p> <p>  正是因ؓ癑ֺh了这L市场CQ其屏蔽行ؓ才具有了杀其他|站的能量和效果。百度也利用此DQ赢得了巨大的收益:2007q_癑ֺq收入ؓ17.444亿元人民币,?006q增?08.2%。而其2008q第二季度的财报昄Q收入突破一亿美元?/p> <p>  记者一位在北京l营|站的朋友则认ؓQ对于众多中网站来Ԍ其绝大多数的量都来自于癑ֺ搜烦引擎q个“入口”。因为绝大多数网民往往只能C|站的名Uͼ然后通过搜烦到达该网站。因此,摆在众多|站面前的一个现实问题是Q网站流量的讉K入口已经被百度这些大搜烦巨头所垄断Q网站的生杀大权事实上已l被掌握在了别h手中。一旦被搜烦引擎“屏蔽”Q就很有可能D|站失去量。对于搜索引?#8220;竞h排名”的方式,中小|站虽然不满Q但Z生存Q大多数都敢怒不敢言?/p> <p>  现在摆在他们面前的只有两条\Q如果想逃避被百度封杀的厄q,要么屈服于它Q参与竞hq,d宰割Q要么向反垄断部门D报,或到法院赯Q通过打官司,L公正?/p> <p>  对王冠珏而言Q摆在他面前的这两条路,没有一条坦途?/p> <p>  <strong>“生死之战”</strong></p> <p>  在Ȓ;l望的时候,8?日v施行的《反垄断法》,让王冠珏瞬间下定了决心:“我看C希望。只要法律是公正的,哪怕我p|Q也要去摸这个老虎屁股。否则,你投入再多,由它来主宎ͼq种状况永远也无法改变?#8221;</p> <p>  10?1日,在送往国家工商d反垄断处的《反垄断调查甌书》中Q李镉K律师认ؓQ百度对其他|站的封杀Q是滥用市场支配C的行为,造成两个严重的社会后果:其一、百度的杀行ؓ在实际上消灭了许多网l经中的市场竞争主体,从根本上破坏了公q的市场竞争U序Q严重损害了C会M市场l济的活力;其二、出于商业目的h工干预搜索结果的行ؓ损害了社会大众的利益Q不W合公众对于信息公开、客观的要求。其行ؓ与敲诈勒索无二。这U网l霸权主义,不仅应该受到道义上的谴责Q而且应该受到行政和法律的制裁?/p> <p>  他徏议:执法机构对百度用的搜烦技术规则和搜烦q程q行调查Q制定搜索技术规范和搜烦市场服务规范Q强化对搜烦引擎服务的管理;责o癑ֺ停止其滥用市场支配地位封杀其他|站的违法行为,q处?.7444亿元人民币的|款(《中华h民共和国反垄断法》第47条规定:l营者违反本法规定,滥用市场支配C的,由反垄断执法机构责o停止q法行ؓQ没收违法所得,q处上一q度销售额癑ֈ之一以上癑ֈ之十以下的罚ƾ?007q百度全q营业收入ؓ17.444亿h民币Q根据以上规定,可以对其处以1.7444亿元人民币的|款)?/p> <p>  中国互联|协会互联网政策与资源工作委员会学术专家胡钢曑֯媒体表示Q搜索引擎的“推广方式”?#8220;赞助商链?#8221;在本质上依然属于q告。但׃崭新性,搜烦引擎处在广告法的监盲区,q得搜索引擎服务商得以明目张胆地大?#8220;擦边?#8221;?/p> <p>  中国政法大学副教授吴景明则认为,我国《广告法》第13条早已规定:q告应当h可识别性,能够使消费者L明其为广告。而搜索行业的竞h排名未能被明划归到q告范围Q类似搜索引擎这cL技术应用带来的问题该如何适用法律Q目前尚无定论,“q凸显我国相关立法的滞后”?/p> <p>  互联法网ȝ赵占领也认ؓQ?#8220;q类事g反映出我国互联网领域q存在很多法律空白或争议之处。比如广告法和反不正当竞争法如何适用于网l环境下Q搜索引擎运营商在用h有购买竞h名的情况下,不收录用L|站I竟该如何定性?是否属于强制交易行ؓQ这都需要提供证据来证明搜烦引擎q营商此丄初衷是ؓ了达成交易?#8221;</p> <p>  目前Q国内对癑ֺ的竞h名虽然诟病颇多,但在制约手段的徏立上处于真空状态,~Z相应的措施。在业界评论家看来,如果国内搜烦控制舆论没有相关的法律法规来制裁QL一天,|络自由也将会本的附属品?/p> <p>  现在Q也许是政府部门着手解册个问题的最x间?0?1日,李长青律师送材料到国家工商d反垄断处Ӟ一位官员告诉他Q?#8220;内部也正在开会,研讨q方面的问题呢?#8221;</p> <p>  在等待行政申L果的同时Q他正忙着攉证据Q准备一旦时机成熟,要与癑ֺ对簿公堂Q展开一场面寚w?#8220;生死之战”。?#8220;一旦这个口子打开了,救活的就不仅仅是全民医药|这一家了Q而是所有的中小|站和中国的互联|经?#8221;李长青律师说?</p> <style type="text/css"> .pb{} .pb textarea{font-size:14px; margin:10px; font-family:"宋体"; background:#FFFFEE; color:#000066} .pb_t{line-height:30px; font-size:14px; color:#000; text-align:center;} /* 分页 */ .pagebox{overflow:hidden; zoom:1; font-size:12px; font-family:"宋体",sans-serif;} .pagebox span{float:left; margin-right:2px; overflow:hidden; text-align:center; background:#fff;} .pagebox span a{display:block; overflow:hidden; zoom:1; _float:left;} .pagebox span.pagebox_pre_nolink{border:1px #ddd solid; width:53px; height:21px; line-height:21px; text-align:center; color:#999; cursor:default;} .pagebox span.pagebox_pre{color:#3568b9; height:23px;} .pagebox span.pagebox_pre a,.pagebox span.pagebox_pre a:visited,.pagebox span.pagebox_next a,.pagebox span.pagebox_next a:visited{border:1px #9aafe5 solid; color:#3568b9; text-decoration:none; text-align:center; width:53px; cursor:pointer; height:21px; line-height:21px;} .pagebox span.pagebox_pre a:hover,.pagebox span.pagebox_pre a:active,.pagebox span.pagebox_next a:hover,.pagebox span.pagebox_next a:active{color:#363636; border:1px #2e6ab1 solid;} .pagebox span.pagebox_num_nonce{padding:0 8px; height:23px; line-height:23px; color:#fff; cursor:default; background:#296cb3; font-weight:bold;} .pagebox span.pagebox_num{color:#3568b9; height:23px;} .pagebox span.pagebox_num a,.pagebox span.pagebox_num a:visited{border:1px #9aafe5 solid; color:#3568b9; text-decoration:none; padding:0 8px; cursor:pointer; height:21px; line-height:21px;} .pagebox span.pagebox_num a:hover,.pagebox span.pagebox_num a:active{border:1px #2e6ab1 solid;color:#363636;} .pagebox span.pagebox_num_ellipsis{color:#393733; width:22px; background:none; line-height:23px;} .pagebox span.pagebox_next_nolink{border:1px #ddd solid; width:53px; height:21px; line-height:21px; text-align:center; color:#999; cursor:default;} </style> </div> <img src ="http://m.tkk7.com/wangdei1/aggbug/239564.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/wangdei1/" target="_blank">bt下蝲</a> 2008-11-09 22:08 <a href="http://m.tkk7.com/wangdei1/archive/2008/11/09/239564.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[译稿]Web 开发终极工L:120?Web 开发工?(? http://m.tkk7.com/wangdei1/archive/2008/11/06/239102.htmlbt下蝲bt下蝲Thu, 06 Nov 2008 11:51:00 GMThttp://m.tkk7.com/wangdei1/archive/2008/11/06/239102.htmlhttp://m.tkk7.com/wangdei1/comments/239102.htmlhttp://m.tkk7.com/wangdei1/archive/2008/11/06/239102.html#Feedback0http://m.tkk7.com/wangdei1/comments/commentRss/239102.htmlhttp://m.tkk7.com/wangdei1/services/trackbacks/239102.htmlMashable bt搜集的最?Web 开发工LQ包括拖攑ּ Web E序创徏工具Q代码库Q项目管理,试E序Q以及支持各U编E语a的框Ӟ?nbsp;Ajax ?Ruby ?Python。这是第二部分?

  参考与资料


COfundOS - 一个讨论开源YӞL投资的^台?http://www.5a520.cn
Mac Yenta - 独立 Mac 开发者的C会化网l^?br /> CorkDump - 一个关于常用资源(代码片段QCSSQFlash {)讨论ѝ?br /> All Developers Network - 开发者社会化|络
CodePlex - 来自微Y的开源项目托站?br />

UnmatchList - 开发设计者的资源?br /> developerAnalytics - C会媒体评h与报告,帮助你发现有潜力的社会媒体应用?br /> CollabFinder - 一个供开发设计者协同工作的地方?br /> 试Q监控,Bug 跟踪Q项目管?



CloudStatus - ?Web 上最行云服务进行观?br />
BetaBitz - 一个帮助你L Beta 试者的地方

observu - 免费的网站与服务器监服?br />
UserFix - Bug 报告与功能请求站?br />
OctaGate SiteTimer - 用来试你的站点的访问时?br />


Cuzillion - 单的面试与检查程?br />
Mob4Hire - Z的移动应用程序需要大量测试?br />
Beanstalk - 一个托的服务Q用来浏览跟t版本控Ӟ包含对Basecamp 以及 Campfire {同cL务的集成?br />
BUGtrack - 目理QBug 跟踪

UserZoom - 用户体验试q_


devunity - 曾是一?Beta ?Bug 跟踪服务Q现已成为社会化开发^?br /> BuiltWith - 对Q何站Ҏ供技术分析与 SEO 信息服务
fixx - Bug 跟踪Q包含移动设备界面与协同功能
BugWiki - 一个简易的 Bug 跟踪pȝ
litmus - Z Web 的测试程序,在不同浏览器上检查你的设?


Bugtagger - 一个包含标{机制的 Bug 跟踪E序Q方便找到每?Bug 是与什么相关的
FEED Validator - 验证你的 Atom, RSS 以及 KML 聚合服务
pastebin - Debug 工具允许你协同工作以扑ֈ问题所?br /> JUnit.org - 一个测试框Ӟ~写q执行自动测试程?br />   Ruby 以及 Ruby on Rails 资源与工?


Open Source Rails - 一个用来展C基于开?Ruby on Rails 站点的地?br /> Exceptional - Rails E序异常跟踪与管理工?br /> TuneUp - 使用 Rails 插g查你的程序的性能
heroku - Ruby on Railsq_Q无需安装配置Q直接在览器中写代码?br /> RSpec 1.1.8 - Ruby 的开发框Ӟ包括 Scenario 框架与代码示例框?



Lovd By Less - 一个开源的 Ruby on Rails C会|络q_
Merb - 一?Ruby 框架Q包含广泛功?br /> Camping - 一?Ruby 微框?br />   Ajax, Java & JavaScript 资源与工?


Javxs - 在线工具Q将 HTML 转换?JavaScript
frevvo - 一?Ajax 表单创徏工具Q包?XML 支持与拖攑ּ控制
AjaxDaddy - Ajax E序演示
WaveMaker - 可视化,开?Ajax 所见即所得编辑器
AppJet - JavaScript E序~写q_



SproutCore - 一?JavaScript 框架Q用来创建桌面质量的 Web E序
Bungee Connect - Ajax Web E序q_Q跨览器支?br /> Spring - 企业 Java 应用q_Q旨在提高开发效率与E序质量
jQuery - 一个用?Ajax Web 开发的 JavaScript 库?br /> KSS - 使用该框Ӟ无需~写M代码可以开发基?javaScript ?UI
    PHP 资源与工?


Flow3 - 一个最初用?TYPO3 5.0 ?PHP 框架Q但可以独立使用
Prado - 一个基于组件的 PHP 5 ~程框架Q面向对象,事g驱动
  Perl 资源与工?


Mason - Z Perl ?|站开发引擎,包含 Debug, 模板{工?br />   Flash 资源与工?


OpenLaszlo - ?Internet q_Q结?Flash ?DHTMLQ但只需一ơ编?br />   Python 资源与工?


GTK+ - 一个用?Python ?GUI 开发工具套?br /> Wing IDE - 专业?Python 开发环境,提供30天试?br /> Cheetah - 一个开源的Q基?Python 的模板引擎与代码生成工具



bt下蝲 2008-11-06 19:51 发表评论
]]>
[译稿]Web 开发工L:120?Web 开发工?? http://m.tkk7.com/wangdei1/archive/2008/11/06/239101.htmlbt下蝲bt下蝲Thu, 06 Nov 2008 11:50:00 GMThttp://m.tkk7.com/wangdei1/archive/2008/11/06/239101.htmlhttp://m.tkk7.com/wangdei1/comments/239101.htmlhttp://m.tkk7.com/wangdei1/archive/2008/11/06/239101.html#Feedback0http://m.tkk7.com/wangdei1/comments/commentRss/239101.htmlhttp://m.tkk7.com/wangdei1/services/trackbacks/239101.html q是 Mashable bt搜集的最?Web 开发工LQ包括拖攑ּ Web E序创徏工具Q代码库Q项目管理,试E序Q以及支持各U编E语a的框Ӟ?nbsp;Ajax ?Ruby ?Python。这是第一部分?

Web E序创徏c?br />

DreamFace - 一个用来创Z性化 Web E序的框架?br />
Organic Incentive - 以拖攑ּ界面创徏 Web Cg http://www.5a520.cn

dbFLEX - 商务E序开发^台?br />
app2you - 在线创徏与定?Web E序?br />
Qrimp - 一个便宜的数据库^収ͼZ你周围的数据Q如 ExcelQ创建应用程序?





Lightspoke - 拖放式程序创建工P动态过滤,排序Q真正的关系数据库后台?br />
Tersus - 可视化程序创建工P无需~写代码?br />
Qt - 跨^台应用程序框Ӟ可以同时开发应用与界面?br />

代码库与代码搜烦




byteMyCode - 代码搜烦

Snipplr - 帮你存储Q管理所有代码片Dc?br />
ErrorKey - 错误代码搜烦引擎?br />
findJAR.com - JAR 文g搜烦

github - 代码库,既支持公׃码,又支持私Z码,Uh代码通过 SSH 以及 SSL 讉K?br />


merobase - 搜烦lg?br />
Codebase - 代码库,技术支持与安装部v跟踪E序?br />
CONFiles - 配置文g的在U存储与分n

CodeSnippets - 公共代码库,也支持私Z?br />
GWT-Ext - 免费的,可下载的Cg?br />

开发环境,q_与框?


SocialGO - C会化网l托^収ͼ包括消息Q视频聊天,会员资料Q照片分享,博客{?br /> Pringo - C会化网l^収ͼ功能包括视频QMP3 支持Q图片库Q圈子,podcasting {?br /> slinkset - 一个用于创建社会化新闻站点的在U^?br /> iWidgets - C会?Syndication q_Q允怽你的内容聚合到C会化网l?br /> WackWall - 一?Hosted 的社会化|络q_




WhiteLabelDating.com - 一个创建约会,C会|络Q社区站点的q_Q允总自己公司的名义创建?br /> ONEsite - C会|络q_Q包括博客,照片与视频库Q评分与标签Q消息板Q私人消息等
jinity - 免费的社会网l^収ͼ包括消息板,聊天Q圈子,日志Q投,新闻{?br /> Magnify.net - |站视频工具Q包括全套媒体工?br /> ShoutEm - 微博客与C会|络q_



Soceeo - C会|络q_Q包含文件分享,新闻Q投等
Swift - Ud站点创徏工具Q包括多U设计选项Q支?RSS FeedQ多媒体{?br /> SnappVille - C会|络q_Q包括组Q博客工Px消息{?br /> Ning - C会|络q_Q允怋用自q品牌Q包括会员资料,事g列表Q甚?Facebook 集成?br /> mixxt - C会|络q_Q包括事Ӟ论坛{?
zembly - 一个用来创建社会应用的的^収ͼ目前处于 Beta 版?a >Yuku - 一个社区^収ͼ可定Ӟ拥有很强大的pȝ理工具SocialEngine - Z PHP 的社会网l^収ͼ功能包括 multi-part profilesQ子|,搜烦友好 URLQ博客,圈子{?a >Cappuccino - 一个用来创建桌面品?Web E序的开源框?a >Jaws - 一个用户友?CMS q_?  l合开发工?


Tabifier - 对你的代码进行自动羃q?br /> Sms2do - 一个用来评和演示 SMS E序的免费工兗?br /> Pretty Printer - 源代码格式化工具Q支?PHP, JavaScript, CSS {?br /> Jitterbit - 一个开源集成方案,提高可扩充性与性能
Bitizer - 二进Ӟ十进Ӟ16q制QBase 36 以及 ASCII 转换工具



thmbnl - 昄你站点中那些链接|页的羃略图
ID Selector - 一?OpenID 工具
consoleFISH - 免费的,Z Web ?SSH 服务器访?br /> form site - 用来创徏自定义表?br /> 99Polls - 用来创徏投票与调?br />


Warehouse - 一个非常漂亮的代码库浏览服务,支持多代码库以及非常完善的权限控?br /> rendur 2.1 - 一个沙qQ让你一边写代码Q一边生成页?br /> Languify - 译理pȝ
ROR Sitemap Generator - ֐思义Q这是一?ROR |站地图生成工具
MicroMaps - 用来生成交互式地图,攑֜你的|站



Newsfeed Maker - Z的网站或博客创徏 News Feed
WriteMaps - |站地图在线生成工具
Project Kenai - 免费的开源项目或代码托管站点
Launch Splash - Zq没有开通的|站免费生成一个欢q页?br /> Browser Shell - Z览器的 SSH 工具
foigo - 创徏自定义表单,调查Q以及数据库AggData - Premade lists for your development projects.SnapCasa - |站~略囑ַ?a >Versionshelf - 代码库安全管?  Mashups ?APIs


The Echo Nest - 音乐相关的开发服?APIQ包括歌手资料,音乐推荐{功?br /> Zeep Mobile - Z的站Ҏ加基于文本的消息pȝ
Clickatell - 一个短消息|关Q让你的|站通过多中q接方式发短消息
Nonoba - 在线游戏开?APIQ支持多玩家?br /> Zong - Ud支付q_Q包含开?API



Web Shots Pro - 一?APIQ开发者可用来在他们的E序中添加网站羃略图?br /> Pushpin - 一个简单易用的在线地图 APIQ支持大量标C及众多其它功?br /> Datamash - Create widgets and mashups for your site with information anywhere on the Web.借助|络上的众多信息Z的站点创?widgets ?mashups
Spicy Pipes - Mashup builder.



bt下蝲 2008-11-06 19:50 发表评论
]]>
google的归?http://m.tkk7.com/wangdei1/archive/2008/11/05/238901.htmlbt下蝲bt下蝲Wed, 05 Nov 2008 13:57:00 GMThttp://m.tkk7.com/wangdei1/archive/2008/11/05/238901.htmlhttp://m.tkk7.com/wangdei1/comments/238901.htmlhttp://m.tkk7.com/wangdei1/archive/2008/11/05/238901.html#Feedback0http://m.tkk7.com/wangdei1/comments/commentRss/238901.htmlhttp://m.tkk7.com/wangdei1/services/trackbacks/238901.html

原文作者:miguelcarrasco
原文链接Q?a target="_blank" closure_hashcode_="447">Who Wants To Beat-Google?
译Q?a target="_blank" closure_hashcode_="448">猪?/font>

谁不x败Google呢?很宏伟的目标Q但怎样做到呢?每个人对此都有自qҎ。微软一度要?40亿美元收购YahooQ,q在R&D投资 bt几十亿,U늄财力如此雄厚Q他能做CQ有为需要更多的|页索,有h认ؓ应当有更好的界面Q这个问题的{案仁者见仁,见智?br />
    而且现在来做qg事情Q打败GoogleQ再合?/font>不过。随着l济危机的来_大批大批的web 2.0 公司卛_破Q那些仅仅依赖互联网生存的公怹卛_倒闭。即便强如Google也在d受到了冲击,其股价去q?00元每股Q而今跌到286Q作者发E时Q。现在看来,互联|免费的午餐已经消失?br />
    然而微软却一直保持着强劲的势_因ؓ他非常多元化而且在一个领域做得实在太优秀了—?span>软gQ他有着难以惌的moneyQ手中有难以|信的全球智慧h(接近100,000雇员Q,同时他还拥有最富有梦想的一些领D在q筹帷幄。如果有谁能够做出更好的搜烦引擎Q那毫无疑问是微Y。而Google会退~么Q当然也不会?br />
C交图(Social GraphQ?/strong>

Facebookl常谈论的Social Graph着实强大,因此Facebook得以?span>了解你。他知道你的朋友是谁、你住在哪里、你在哪儿工?#8230;…他有囄、video以及你感兴趣的东ѝ他甚至知道你在哪个C交圈、你惛_加什么活动。因而可以说Facebook比你的朋友都了解你?br />
搜烦怎么了(What’s Wrong With Search Today?Q?/strong>

    当我试着?#8220;GAC”一cȝ来搜索的时候,q回的结果o我感到荒唐——加拿大抵制协会QGeological Association of CanadaQ。我是一个Y件开发者,Facebook、Twitter和LinkedIn 都知道这一点,但是GoogleҎ一无所知。所以返回的有效搜烦寥寥无几。我妈妈搜烦一个关键词跟我搜烦一个关键词得到的返回完全相同。但是我妈妈喜爱 的是手工艺,?span>喜欢的是软g开发,我们应该得到不同的结果才寏V?br />
    Z么没有h利用C交囄数据呢?单纯拯Google搜烦模式、换个Logo是行不通的Qh们更换搜索需要理由。在搜烦中添加内Ҏ是出路?br />
    比尔盖茨在过ȝ几年里一而再再而三地提刎ͼ搜烦的道路还很长。几个月前我听到的解x案——新的界面、一直鼠标滚动的搜烦l果Qnever ending scrollingQ,q些昄不是比尔盖茨惌的。Scrolling endlessly所以你׃用选页了?q显然不是解x式?br />
    微Y真正应当做到的是Q当用Google和Live Search搜烦的时候,Live Searchq回的结果更好。而且不是好一点,要好很多才行?br />
微Y能做什么(So What Can Microsoft Do?Q?/strong>

    毫无疑问Q微软有业内最优秀的开发者、架构师和工E师Q同样也有大W大W的钱可以投到搜索中Q这一点从?span>购买YahooQ?p够看出来Q。然而微软要惌得搜索战所~少的东西也很明了:他们需要创意和行动路线Q也?#8220;作战计划”。Windows, Internet Explorer和OfficeQ微软当q都不是W一个,但他做出了比其他操作pȝ更好的操作系l,比其他office套g更好的office套gQ比?他浏览器更好的IEQ而且他还让所有这些应用能够无~地q行在一赗所以如果微软拥有战略,q且能够正确实施QLive Search会q速得到难以想象的市场占有率?/p>

Live Search 与Facebook兌QLive Search and Facebook ConnectQ?/strong>

    微Y应当充分利用Facebook connectQƈ之与Live Search兌。用Facebook connectQFacebook用户能够在Microsoft Live Search中关联到他们?span>资料数据和认证证书。通过兌搜烦、结合用L资料数据Q这个搜索就?#8220;l极搜烦引擎”?br />
Microformats是搜烦?span>未来QMicroformats are the future of SearchQ?/strong>

    Microformats比其他Q何浏览器都好Q以hCalander, hCard?hReview开?/font>。如果你q从未听qMicroformatsQ赶紧查查,你就会知道他Z么这么重要。到目前为止Q网l上大部分的数据都是完全无序的。D个例子你输入“Contact Miguel Carrasco”搜烦Q你会搜?span>我的博客但仅此而已。但你想要找到的是我的联pd片。下面是我用hCalander Microformat来ؓWinnipeg.net User Group创徏一个事件的实例?br />
   1: <div class="vevent" id="hcalendar-Winnipeg-.net-User-Group-September-Event">
   2:     <a class="url" >
   3:     <abbr class="dtstart" title="2008-09-30T06:00-06:0000">September 30, 2008  6</abbr> –
   4:     <abbr class="dtend" title="2008-09-30T08:00-06:00">8am</abbr> : 
   5:     <span class="summary">Winnipeg .net User Group September Event</span> at
   6:     <span class="location">17th Floor - One Lombard Place - Winnipeg, Manitoba, Canada</span></a>

   7:     <div class="description">What could possibly be better than enjoying some free pizza and pop with your peers while be entertained / educated by a presentation on a single .Net topic? Well, how about an open forum that includes some of the hottest topics in software development to date?! To keep the meeting energized, we will be limiting each topic to 20 minutes, and what's more, each topic will have a subject matter expert on hand to facilitate the session.
   8: 
   9:     Come prepared with questions, project stories, and ideas to one of the most unique user group sessions we have ever had.
  10: 
  11:     Topics will include:
  12: 
  13:     What is BizTalk
  14:     A Real World Silverlight Application
  15:     What is NHibernate
  16:     Why Continuous Integration Is Critical
  17:     Open Forum Free-for-All Session</div><div class="tags">Tags:
  18:     <a rel="tag" >winnipeg</a><a rel="tag" > user group</a><a rel="tag" > .net</a><a rel="tag" > microsoft</a></div>
  19: 
  20: </div>

    一个支持Microformat的搜索引擎可以在搜烦l果中得到正的信息Qƈ且链接到|址来ؓ事g注册?br />
完美的搜索界面(The Complete Search InterfaceQ?/strong>

    大家也许都忘CQGoogle刚诞生出来的那会Q没有blogsQVideo也不大,Facebook和其他社交网l还在娘胎呢。然而搜索的未来在于内容。h们每月花Ҏ百上千个钟头在社交网l、新|址和博客。他们持l地向这些玩意中提供了大量他们的信息Q喜Ƣ什么?朋友是谁Q下周做什么?现在什?span>心情Q未来三周可能去哪玩……

    我个人就臛_在网l上使用臛_20U不同的C交服务Q所以说搜烦引擎不能只返l我单的数据Q而应当利用这些数据返l我我想要的内容。比如,我已l在|上吵了好几天说我下周要去迈阿密?br />
    在FacebookQ我创徏了几个我要在迈阿密参加?span>zdQ在DiggQ我dugg了几个水中呼吸器的信息;在Last.fmQ我创徏了几个标题ؓ“Miami Plane Ride”的音乐列表。在Facebook我从朋友那儿收到了几个回帖称我不应当错过q阿密的几个酒吧和蟩舞俱乐部。其他朋?span>推荐了那儿的几处hWQ还l了照片?br />
    如果我去Google搜烦跌׃部,最上的三个搜索结果跟我要扄一点关p都没有。如图:



11
    正如我说的,没有一个搜索结果对我有用,是不是我的搜索条件太为难Google了?于是我又输入?#8220;Miami”Q让我们再看看结果:


囄22

    现在L我得C一些结果能让我看到q阿密的跌׃部,但是哪个是朋友推荐我的呢Qؓ什么我要的l果不能直接出现在我的面前?Z么没有图片,或者最好再有videoQ消费者的评论在哪儿呢Q?br />
    使用Live Complete Search,Q输?#8220;跌׃?#8221;Q迅速在我的搜烦l果中出C内容Qƈ且将l果局限到了迈阿密。ƈ不是因ؓ我想去迈阿密Q搜索才得到q样的结果,而是因ؓ我twitter了我的朋友问他们q阿密最好的跌׃部在哪儿Q因此,搜烦扑և了我惌的结果?br />


囄33

    W一条结果是Nikki BeachQ正是我朋友告诉我的那个。搜索中q有一张图片,他们留给我的评论也能在搜索页面中看到Q还有电话号码也以microformats的Ş式出?在网中Q我q能够在q儿使用Twitter, Digg或?Facebook得到更详l的信息。而且QLive Complete Search知道我在Last.FM创徏了一个Miami播放列表Q所以还在搜索中加入了一个链接?br />
    当然q只是个例子Q但我想从中你已l能够看C_N?br />
Building Live Social Profile
    Google已经证明你ƈ不需要拥有所有的数据Q因为有Z提供而Google只是帮你扑ֈ它们Qo人感到发W的是许多企业纷U克隆Google的方法?微Y有互联网上第一位的IM——MSN MessengerQ每个用户都有一个Live 账号Q有些hq有Live Spaces的̎受我不知道你怎样Q但在我看来使用Live Spaces的ƈ不多。我点击了一下我MSN的好友,发现很多Z未用qLive SpacesQ即使有使用的hQ可能用的几率也不及Facebook之类的百分之一?br />
    我的是微软应当设法将Live Spaces变成人气旺盛的(“Live”Q?SpacesQ从而用户可以通过互联|将他们的社交状况传上去Q这创Z个终极社交档案(social profileQ和l极个h|页Qsocial “my page”Q?br />

囄44
界面QThe Proposed InterfaceQ?/strong>

    的Live Search的界面非常简单。它默认提供完整的搜索容量,包含互联|上的一切ƈ搜索结果放在合适的位置。比如,使用完全搜烦Q你会得C些网c?blog、帖子和一些视频,也可能有写Digg文章。如果只x索自qC交囑֑Q没问题Q只需要点?#8220;Social”Q搜索结果马上只呈现Z你有关的 l果?br />
    而且QLive Search的界面中能够插入许多qo器,比如“搜烦”?#8220;儿童”。学校可以管理网l从而只允许“搜烦”模式Q父母可以管好自q孩子只允?#8220;儿童”?式。通过Live Spaces?Live Profileq接q些pȝQ微软将创徏出比Google PageRank强大许多的搜索,用户的天q也开始摆向了q边?br />


囄55
搜烦的最l思想QFinal Thoughts on SearchQ?/strong>

    希望你能够意识到Q社交内宏Vmicroformats、和一个能够提供整个网l的完美界面是搜烦的下一ơ飞跃。拥有更加接q社交图的搜索结果比PageRank或者PageRank的克隆更Ҏl计互联|?/p>

bt下蝲 2008-11-05 21:57 发表评论
]]>
blogbus之现?http://m.tkk7.com/wangdei1/archive/2008/11/03/238308.htmlbt下蝲bt下蝲Mon, 03 Nov 2008 03:34:00 GMThttp://m.tkk7.com/wangdei1/archive/2008/11/03/238308.html

毋庸|疑Q对于所有研I互联网新媒体公司的同仁们而言Qblogbus是一个绝佳的案例Q他不是BT bsp?/p>

1Q在门户BSP大Dq攻下,专业BSP日渐没落。blogbus偏安于上P能发展的有声有色Q不易。刚看到Jenny发的blogbus六周q的zd。可以说Qblogbus的发展\U值得所有web2.0公司学习?br />

 ~者注Q如在百度中搜烦 甜性ӆ?/font>Q?a >色即是空 q色放出现的问题说知道了?/p>

2Qblogbus能走到现在,跟公司团队的黄金l合关系很大。资q互联|h士:横戈Q资深媒体研I专Ӟ武?/font>Q资深广告营销界h士:jenny。我惻I国内所有希望通过互联|赚qweb2.0公司都应该参考下q种团队。不是思\、见地。还?a >资源Q客L说教?/p>

3Qblogbus走出的商业模式,是未来很长一D|_不少国内2.0公司必须的一步。原因很单,中国互联|广告规模虽然上涨很快,但依然停留在初阶段Q缺乏专业细分的q告|络Q代理)公司推动。加上客戯知度较低Qweb2.0公司必须肩负推动q告挖掘的重仅R?/p>

4Q所以,l分的广告网l(代理Q公司在国内会越来越有前景,其中一部分会来源于公关公司的升U,另一部分会来自于当下大量掌握q告客户投放资源?A公司Q再有一个就是新媒体或者是C会化媒体公司自w,在这点上blogbus和feedsky都是个例子?a target="_blank" closure_hashcode_="361">David Wolf?/font>Q?#8220;中国的问题在于我们点子的太简?#8221;Q其实更准确点说是缺专营的广告营销公司?/p>

5Q所以,有h会问Qblogbus是广告公司,q是互联|公司?其实Qblogbus作ؓ一个新媒体或者是C会化媒体^収ͼ已经聚集了百万的h,背靠q些人群挖掘Z不小的商业h|q已l说明了一切。很多更大用户量U的公司Q尚不及此。你说google是互联网公司Q还是广告公司?除了不断膨胀的互联网业务Qgoogle也正在成为更大的q告代理或分销商。所以,我说q,新媒体要变成q告公司?/p>

6Qblogbus最q推出的几个业务Q非常值得把玩。一个是Zblogq_推出的SNS功能Q我非常认同武挥的说法Q因为用户和营销需求去增加blogq_的互动功能,昄SNS是增加互动关联的成熟方式。但l不是把blog变成一个SNSq_?/p>

7Q另一个更有意思的则是《城客》,单说Q城客是一个依托于blogbusq_的杂志;它其实是blogbusU上资源的一个g伸(内容低成?现有用户)Q这也是我看好它的一个因素;赶y的是Q同期还有一个纯_w整合|上内容的印h志《博客天下》。Ş式相同,思\却是q异?/p>

8Q我记得Qblogbus下面q有一个做口碑营销?#8220;吆喝?/font>”?/p>

9Qblogbus会成ZU现象,其是在冬天?/p>

bt下蝲 2008-11-03 11:34 发表评论
]]>
TreeMap的用及注意事项http://m.tkk7.com/wangdei1/archive/2008/10/30/237693.htmlbt下蝲bt下蝲Thu, 30 Oct 2008 12:59:00 GMThttp://m.tkk7.com/wangdei1/archive/2008/10/30/237693.htmlhttp://m.tkk7.com/wangdei1/comments/237693.htmlhttp://m.tkk7.com/wangdei1/archive/2008/10/30/237693.html#Feedback1http://m.tkk7.com/wangdei1/comments/commentRss/237693.htmlhttp://m.tkk7.com/wangdei1/services/trackbacks/237693.htmlTreeMap是红黑树法的实?实现了SortedMap接口,要注意的是它不在使用哈希?存储方式是一个特D的二叉?有关U黑?
http://baike.baidu.com/view/133754.htm  http://www.bt285.cn

q篇文章介绍的不?我之前没有听说过二叉?我就是看q篇文章加上看一下TreeMap的源代码才搞懂红黑树法?

 

q里不打研ITreeMap的源代码?因ؓ完全是一个算法的实现,如果对这个算法不了解,肯定看不?我也有很多地方不是没有完全看明白,q里p谈TreeMap的用吧.

 

 

TreeMap的声?public class TreeMap extends AbstractMap implements SortedMap,Cloneable, java.io.Serializable
所以我们要知道SortedMap接口:
SortedMap表示的是一个排序的Map
public interface SortedMap extends Map
增加了几个方法的定义
SortedMap headMap(Object toKey)
SortedMap tailMap(Object fromKey)
SortedMap subMap(Object fromKey, Object toKey)
Object firstKey()
Object lastKey()

 

 

既然TreeMap是有序的,自然要求元素是可以比较大的,如果构造函数指定Comparator的话,׃用这个Comparator比较大小,如果没有指定Comparator的话,׃用自然排?元素要实现Comparable接口).如果q两个都不可?q着出错?

现看一下该接口的定?
public interface Comparable{
   public int compareTo(Object o);
}
该接口定义类的自焉?实现该接口的cd可以按这U方式排?
一般要?
e1.equals((Object)e2)和e1.compareTo((Object)e2)==0h相同的?
q样的话我们q自然序和equals一?
q个接口有什么用?
如果数据或者List中的元素实现了该接口的话,我们可以调用Collections.sort或者ArraysҎl他们排?

如果自然序和equals不一致的?如果出现在Sorted Map和Set里面,
׃出现预想不到的逻辑错误,可能你调用add的时候添加不?而集合里面确没有q个元素.具体的讨接口哈希表的应用.

 

 

 

public interface Comparator {
  int compare(Object o1, Object o2);
  boolean equals(Object obj);
}

定义了两个方?其实我们一般都只需要实现compareҎp?因ؓc都是默认从Objectl承
所以会使用Object的equalsҎ.
Comparator一般都作ؓ一个匿名类出现,对于没有实现Comparable的对象的集合,排序的时?br /> 需要指定一个Comparator.

q里举例说明
对于实现了Comparable的类我们q最单的Integer
List list=new ArrayList();
list.add(new Integer(3));
list.add(new Integer(53));
list.add(new Integer(34));
Collections.sort(list);

对于没有实现Comparable?我们qObject,按照hashCode大小来排?
List list= new ArrayList();
list.add(new Object());
list.add(new Object());
list.add(new Object());
Collections.sort(list,new Comparator(){ public int compare(Object o1, Object o2){
                    return (o1.hashCode()-o2.hashCode());
})

因ؓ是二叉树,所以一般查找时间复杂度?o(lg(n)),q个效率当然没有HashMap的效率高.不过TreeMap比HashMap功能强大,如果不需要排序的话当然不会用TreeMap,如果需要排序的?HashMap无法胜Q,当然要用TreeMap?它可以求子Map.所以这个是适用场合问题,无法比较他们.
 
另外,我们也习惯了,有Map׃跟一个Set,我们都可以猜到TreeSet和通过TreeMap实现的一个SortedSet的实?不过我觉的TreeSet好像比TreeMap用的场合多一?求子集是很常用的呀!!



bt下蝲 2008-10-30 20:59 发表评论
]]>
java的File#renameTo(File)Ҏ的陷?/title><link>http://m.tkk7.com/wangdei1/archive/2008/10/27/236807.html</link><dc:creator>bt下蝲</dc:creator><author>bt下蝲</author><pubDate>Mon, 27 Oct 2008 02:15:00 GMT</pubDate><guid>http://m.tkk7.com/wangdei1/archive/2008/10/27/236807.html</guid><wfw:comment>http://m.tkk7.com/wangdei1/comments/236807.html</wfw:comment><comments>http://m.tkk7.com/wangdei1/archive/2008/10/27/236807.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://m.tkk7.com/wangdei1/comments/commentRss/236807.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/wangdei1/services/trackbacks/236807.html</trackback:ping><description><![CDATA[<p>以前我一直以为File#renameTo(File)Ҏ与OS下面?move/mv 命o是相同的Q可以达到改名、移动文件的目的。不q后来经常发现问题,真的?a >bt</a>,File#renameTo(File)Ҏ会返回失?false)Q文件没有移动,又查不出原因Q再后来q脆弃用该方法,自己实现一个copyҎQ问题倒是再也没有出现q?<br /> <br /> 昨天老板同学又遇到这个问题,File#renameTo(File)Ҏ在windows下面工作的好好的Q在linux下偶又q了。回到家我扫了一遍JDK中File#renameTo(File)Ҏ的源代码Q发现它调用的是一个本地的Ҏ(native method)Q无法再跟踪下去。网上有该方法在window下是正常的,在linux下面是不正常的。这个很难说通,SUN不可能搞U^C一致的代码出来啊?<br /> <br /> 后面在SUN的官方论坛上看到有h提到q个问题“works on windows, don't work on linux”Q后面有人回复说?#8220;file systems”不一栗究竟怎么不一样呢Q还是没有想出来... <br /> <br /> 后面在一个论坛里面发C某h关于q个问题的阐qͼ<br /> In the Unix'esque O/S's you cannot renameTo() across file systems. This behavior is different than the Unix "mv" command. When crossing file systems mv does a copy and delete which is what you'll have to do if this is the case. <br /> <br /> The same thing would happen on Windows if you tried to renameTo a different drive, i.e. C: -> D:<br /> l于明白咯?<br /> <br /> 做个实验Q?<br /> </p> <li><span>File sourceFile = </span><span id="uacmgou" class="keyword">new</span><span> File(</span><span id="ccegckk" class="string">"c:/test.txt"</span><span>);   </span></span></li> <li><span>File targetFile1 = </span><span id="eueqcai" class="keyword">new</span><span> File(</span><span id="ecewqom" class="string">"e:/test.txt"</span><span>);   </span></span></li> <li><span>File targetFile2 = </span><span id="kicuwea" class="keyword">new</span><span> File(</span><span id="qykwqoc" class="string">"d:/test.txt"</span><span>);   </span></span></li> <li><span>System.out.println(</span><span id="gewykiy" class="string">"source file is exist? "</span><span> + sourceFile.exists()   </span></span></li> <li><span>    + </span><span id="gysmgus" class="string">", source file => "</span><span> + sourceFile);   </span></span></li> <li><span>System.out.println(targetFile1 + </span><span id="emyiuso" class="string">" is exist? "</span><span> + targetFile1.exists());   </span></span></li> <li><span>System.out.println(</span><span id="mkysmuq" class="string">"rename to "</span><span> + targetFile1 + </span><span id="ekmeqwm" class="string">" => "</span><span>  </span></span></li> <li><span>    + sourceFile.renameTo(targetFile1));   </span></li> <li><span>System.out.println(</span><span id="aoquwua" class="string">"source file is exist? "</span><span> + sourceFile.exists()   </span></span></li> <li><span>    + </span><span id="ecwgkqw" class="string">", source file => "</span><span> + sourceFile);   </span></span></li> <li><span>System.out.println(targetFile2 + </span><span id="kiaceck" class="string">" is exist? "</span><span> + targetFile2.exists());   </span></span></li> <li><span>System.out.println(</span><span id="gwqamaa" class="string">"rename to "</span><span> + targetFile2 + </span><span id="iqkegmm" class="string">" => "</span><span>  </span></span></li> <li><span>    + sourceFile.renameTo(targetFile2));  </span></li> <pre class="java" style="display: none" name="code">File sourceFile = new File("c:/test.txt"); File targetFile1 = new File("e:/test.txt"); File targetFile2 = new File("d:/test.txt"); System.out.println("source file is exist? " + sourceFile.exists() + ", source file => " + sourceFile); System.out.println(targetFile1 + " is exist? " + targetFile1.exists()); System.out.println("rename to " + targetFile1 + " => " + sourceFile.renameTo(targetFile1)); System.out.println("source file is exist? " + sourceFile.exists() + ", source file => " + sourceFile); System.out.println(targetFile2 + " is exist? " + targetFile2.exists()); System.out.println("rename to " + targetFile2 + " => " + sourceFile.renameTo(targetFile2)); </pre> <br /> <pre class="java" style="display: none" name="code"> </pre> <p><br /> <br /> <strong>注意看结果,从C盘到E盘失败了Q从C盘到D盘成功了。因为我的电脑C、D两个盘是NTFS格式的,而E盘是FAT32格式的。所以从C到E是上面文章所说的"file systems"不一栗从C到D׃同是NTFS分区Q所以不存在q个问题Q当然就成功了?/strong> <br /> <br /> 果然是不能把File#renameTo(File)当作moveҎ使用?<br /> <br /> 可以考虑使用apachel织的commons-io包里面的FileUtils#copyFile(File,File)和FileUtils#copyFileToDirectory(File,File)Ҏ实现copy的效果。至于删除嘛Q我惛_果要求不是那么精,可以调用File#deleteOnExit()ҎQ在虚拟机终止的时候,删除掉这个目录或文g?<br /> <br /> BTW:File是文件和目录路径名的抽象表示形式Q所以有可能是目录,千万心?<br /> 下面我写的一个实现方?br /> </p> <p>/**<br />   * 使用FileChannel拯文g<br />   * <br />   * @param srcFile<br />   * @param destFile<br />   * @throws IOException<br />   */<br />  public static void copyUseChannel(File srcFile, File destFile)<br />    throws IOException {<br />   if ((!srcFile.exists()) || (srcFile.isDirectory())) {<br />    return;<br />   }</p> <p>  if (!destFile.exists()) {<br />    createFile(destFile.getAbsolutePath());<br />   }</p> <p>  FileChannel out = null;<br />   FileChannel in = null;<br />   try {<br />    out = new FileOutputStream(destFile).getChannel();<br />    in = new FileInputStream(srcFile).getChannel();<br />    ByteBuffer buffer = ByteBuffer.allocate(102400);<br />    int position = 0;<br />    int length = 0;<br />    while (true) {<br />     length = in.read(buffer, position);<br />     if (length <= 0) {<br />      break;<br />     }<br />     // System.out.println("after read:"+buffer);<br />     buffer.flip();<br />     // System.out.println("after flip:"+buffer);<br />     out.write(buffer, position);<br />     position += length;<br />     buffer.clear();<br />     // System.out.println("after clear:"+buffer);<br />    }</p> <p>  } finally {<br />    if (out != null) {<br />     out.close();<br />    }<br />    if (in != null) {<br />     in.close();<br />    }<br />   }<br />  }<br /> </p> <img src ="http://m.tkk7.com/wangdei1/aggbug/236807.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/wangdei1/" target="_blank">bt下蝲</a> 2008-10-27 10:15 <a href="http://m.tkk7.com/wangdei1/archive/2008/10/27/236807.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>c而不是Java适合于作Z要编E教学语a?/title><link>http://m.tkk7.com/wangdei1/archive/2008/10/14/234295.html</link><dc:creator>bt下蝲</dc:creator><author>bt下蝲</author><pubDate>Tue, 14 Oct 2008 11:38:00 GMT</pubDate><guid>http://m.tkk7.com/wangdei1/archive/2008/10/14/234295.html</guid><description><![CDATA[<font size="3">CSDN首页推荐了一文章,说两位退休的国大学教授上书反对Java作ؓ~程教学语言Q对此我表示高度认同。对于JavaQ我q不反感Q而且怿它在工业应用中的C不可取代Q但是,我一直反对将Java作ؓ主要的编E教学语aQ因为教学语a承担着与生产语a不同的Q务,它必能够帮助学生奠定坚实的技术基Q塑造核心技术能力。在q方面,<a >Java</a>不能够胜仅R?br /> <br /> 1990q代中期以前Q美国的计算机编E入门教育以PascalZ。我的一位美国程序员朋友至今q怀念他与PascalZ的高中年代。到?990q代中后期,׃ANSI C语言“U正”了早期C语言的一些不适合~程教学的问题,因此成ؓ很多国高中和大学编E入门课的教学语a?998q_国指导~程教学的一个协会推荐将C++作ؓ入门教学语言Q在当时引v很大的反响,认ؓ是编E教育方面的一个重要进步。但遗憾的是QC++非常复杂Q而当时C++语言的教育体pd非常不成熟,因此很多地方的教学方法不得当Q把学生q速拖入无Ҏ际的语言l节当中Q引起了学生痛苦的抱怨。大U经q两三年不成功的实践之后Q在本世U初Q美国计机教育界普遍接受Java作ؓ~程入门语言。此后在很短的时间里QJavaq速成为美国高中和大学里的首选编E教学语aQ老师教得LQ学生学得甜蜜,所以这个局面一直持l到现在?br /> <br /> 而在中国QBASIC语言及其变体一直到1990q代中期都还?#8220;法语言”评的主要教学内容,充分折射出当时中国计机教学与工业应用之间的p。只是到?990q代后期QC语言才确立了在中国工U计机~程入门教育中的LC。到现在为止Q大部分工科学生?#8220;必修”“CE序设计语言”q门评。不q事实上Q根据我的了解,q门评的M教学质量相当p糕Q大部分学生可以说是满怀希望而来Q两手空I去。在q种情况下,中国高校计算机编E入门教育已l开始悄悄向Javaq渡了。据我所知,有一些名校已l开始将Java设ؓ~程入门评Qƈ且认是与国际接轨q步标志?br /> <br /> 在我的朋友圈子里Q大多数真正的一U开发者和技术领D,对于Java作ؓ入门教学语言?#8220;发展方向”都持质疑态度。他们中很多人目前主要的工作都集中在Java上,因此q种态度q来自所谓语a宗教情AQ而是来自他们招聘和实际工作中的感受。他们发玎ͼ只学习Java、C#、VB{?#8220;C”~程语言的学生,_于拿来MQ长于整合和快速开发,思维z跃Q生产效率高Q让他们来做直截了当的、有章可循的、非研究性和非创新性的工作比较合适,但是基础不扎实,对计机pȝ的理解薄弱,处理l节和矛盄能力不Q一旦他们熟悉的套\用不上,则缺自d析问题、解决问题的知识、能力和l验?br /> <br /> 今天看到两位教授?#8220;上书”Q才知道原来他们也有同感。只不过q两位教授说的更直白Q直接反对将Java作ؓ入门~程语言Q而是冒天下之大不韪,公然号召开历史倒RQ要求退回到C、C++、Lisp和Ada厅R?br /> <br /> 我是支持两位教授的。我认ؓQJava、C#、VB和其它虚拟机之上的语a都不适合作ؓ专业E序员的入门教学语言。在中国q非常缺乏具有创新和独立解决问题的高水^E序员的局面下Q我们应该认真做好的事情是努力提高C/C++的教学质量,而不是图快活转向Java?br /> <br /> 教学语言的选择是至关重要的事情。作为大多数学生W一U需要认真学习理解的~程语言Q教学语a会成ؓ他们中间很多人的“~程母语”Q深深地烙印在学生的思维方式中。这个编E母语要帮助学生破除计算机和软g的神U感Q徏立对于程序的基本认识和对计算机模型的最初理解。在后箋专业基础译֒专业评的学习中Q这门编E语a应该作ؓ主要工具贯穿始终Q帮助学生认识计机pȝQ掌握算法与数据l构技能,熟悉操作pȝ概念Q理解编译原理知识,理解软g抽象及Y件设计的基本思想Q完成一定量的课E及译֤目实践Q徏立正的软g开发实践习惯。不但如此,q种教学语言必须是工业界的主语aQ否则学生学非所用,学习动力无法保证?br /> <br /> 按照q个标准来衡量,Java适合于作Z要的~程教学语言吗?我不q么认ؓ。首先,我承认Java在教学上有一些优势,比如其开发环境和工具支持非常成熟Q有助于培养学生正确的编E习惯;Java是当今第一工业L语言Q标准类库非常全面,可以q速地开发具有实际用途的E序Q有助于Ȁ发和保持学生的兴;而在数据l构、算法、编译原理的教学斚wQJava也毫不落于下风,在Y件抽象设计(面向对象Q方面,Javaq有着明显的优势;特别是在q行~程的教学方面,Java 1.5 concurrency包提供的优势是压倒性的。尽有如上q些优势Q但Java作ؓ教学语言存在着一个致命的~陷Q即它是一个虚拟机语言Q这一点就以把它从教学语a的名单上L。作Z个虚拟机语言QJava对开发者隔l了下层的真实系l,从而构造了一个近乎完的环境Q在q个环境里,世界上只有一U机器,一个操作系l,内存是无限的Q所有的机器都具有相同的字节序和一致的cdU定Qؓ了设计的优美而牺牲速度永远是正义行为,从反到q行时自动加载,从完备的容器cdl一字符~码Q一大堆漂亮的功能都可以不费吹灰之力唾手而得。要是这个世界上每台计算机都是一个Java机器Q每编EQ务都可以在这样一个近乎完的环境中开发,那毫无以为,Java是最合适的~程教学语言。但是事实上呢?q样一个完的环境是Java力量的源泉,但这却不是真实的世界。在真实世界里,我们可能面对非常原始的环境,苛刻的运行时限制Q复杂多变的pȝ环境Qo人窒息的l节鬼Q要对付q些东西Q需要开发者具有在应对复杂性,自己构造环境,在诸多限制条件下L解决Ҏ的能力。而这U能力,被无Ch无数ơ地证明是Y件开发、特别是软g创新的核心能力。把Java作ؓ教学语言Q恰CDq种核心能力的缺失。除此之外,如果耐心观察的话Q不隑֏玎ͼ几乎在Q何Y仉域里的创新性成果都首先是由C/C++语言实现的,原因很简单,Java是站在C/C++基础之上的,只有C/C++先把大\开QJava才能够顺势而上?br /> <br /> 相反Q尽C/C++语言作ؓ教学语言有很多的不Q比如不同环境下开发模式差异大Q细节繁多,开发效率低Q容易犯错,试和调试困难,学习者难以保持动力,{等Q但是这些问题都可以解决。而C/C++的关键优点,是能够让学习者在真实的计机抽象上、在大量的细节和矛盾中学会思考,学会解决问题Q学会了解真实的pȝQ知轻重Q明生死Q从而徏立核心能力。掌握了C/C++ <a >bt</a>语言Q再d习和理解Java、C#、Python、Ruby和其它语aQ就比较Ҏ辑ֈ更高的境界。反之,如果习惯了舒舒服服h在完世界里当阔,那就很难有勇气面对真实的世界。当Ӟ很多开发者认为,现在更重要的能力是理解业务、整合现有资源的能力Q而不是处理底层细节的技术。这U说法放在个n上没有问题,但是不能成ؓ整个~程教育的指导思想。我们需要各个层面上的h才,_N业务和设计的架构师固然很重要,但能够在底层作出创新成果的编E高手实际上更ؓE~和珍贵Q很多时候也能够创造更大的价倹{而且Q更重要的是Q一个精通系l知识的开发者在往上走的时候不会遇到大的障,而一个只知道Dl合?#8220;高设计?#8221;Q往往q往下看的勇气都没有?br /> <br /> Java的另外一个问题,是其所倡导的繁琐设计风|一个对象套一个对象,一个对象叠一个对象,概念之间彼此横七竖八C怾赖,Zؓ刉出一大堆貌似_、实则篏赘的所谓设计。这个问题我已经批评q多ơ,q且怿q股歪风一定会最l被Z抛弃QJava最l会归于质朴。但是在q一天到来之前,Java对于初学者来_很可能蒙住他们的双眼Q他们看不到Y件设计中最可贵的简单性和优美的统一Q体会不到数据和E序的统一。在q一点上QC表现的非常好Q而C++如果教学得体Q可以做的更好?br /> <br /> 当然Q这q不是ؓ现在的C/C++教学辩护。恰恰相反,从我了解的情冉|看,目前普通高校的C/C++教学质量非常令h担忧。学生学不会Q而且学没有兴,老师则感到教h很棘手,q于现实情况往往选择敯了事。反而是教JavaQ无论如何学生还能学C点东西,对就业也有直接的帮助。至于学生的核心能力实Q发展后劲不等问题Q就让他们在现实工作中自p军_。坦率地_q种x也很有道理。不q,从教学角度来_我认师们还是应该积极考虑如何提高C/C++的教学质量。毕竟学生阶D|十分宝贵的,基础不在q个时期夯实Q将来想弥补Q就不是完全不可能Q也付出十倍的代h。本着对学生职业生涯的负责态度Q还是应该帮助学生达到这个阶D应该达到的目标。在两位教授的公开信里Q也充分表达个意思?br /> <br /> 我赞成的~程教育q程Q应当是以C/C++Q基本上是CQؓȝQ诏Iv法、数据结构、系l原理、编译和数据处理、Y件设计和lg技术等关键知识领域Q让学生能够从根本上理解C软gpȝ的原理和构造,q过有效的练习徏立正的软g设计观念和良好的工程实践习惯。在q个基础上,无论来是深入学习C++Q还是进入Java的繁荣世界,或者拥抱Python、RubyQ甚至于走向Web开发,都会心领会Q势如破竏V?br /> <br /> </font> <img src ="http://m.tkk7.com/wangdei1/aggbug/234295.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/wangdei1/" target="_blank">bt下蝲</a> 2008-10-14 19:38 <a href="http://m.tkk7.com/wangdei1/archive/2008/10/14/234295.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>лǵվܻԴȤ</p> <a href="http://m.tkk7.com/" title="亚洲av成人片在线观看">亚洲av成人片在线观看</a> <div class="friend-links"> </div> </div> </footer> վ֩ģ壺 <a href="http://wwby66636.com" target="_blank">Ʒ㽶߹ۿ</a>| <a href="http://hbjpxnyqckj.com" target="_blank">һػ¼Ѳŷ</a>| <a href="http://cdlsy.com" target="_blank">91ɫŮԴվ</a>| <a href="http://nxjyyj.com" target="_blank">ձ߹ۿ</a>| <a href="http://goldwellib.com" target="_blank">aëƬ߻վ</a>| <a href="http://qvod-player.com" target="_blank">ɫһëƬ޻Ƭȫ</a>| <a href="http://35419470.com" target="_blank">պ˳վ</a>| <a href="http://116com.com" target="_blank">һ߹ۿ</a>| <a href="http://ahtxjk.com" target="_blank">޹ľƷ</a>| <a href="http://hkcp168.com" target="_blank">ˬָ߳ëƬѿ</a>| <a href="http://99880524.com" target="_blank">ɫƷһ</a>| <a href="http://gzbaida.com" target="_blank">ɫˬƵ</a>| <a href="http://hkcp168.com" target="_blank">һëƬѿ</a>| <a href="http://h7277.com" target="_blank">һƷƵ</a>| <a href="http://beidemei.com" target="_blank">Ůڵ</a>| <a href="http://zkqzdq.com" target="_blank">˳ۺ</a>| <a href="http://g8zb.com" target="_blank">߹ۿѻɫַ</a>| <a href="http://dddd20.com" target="_blank">޹Ѽһ</a>| <a href="http://cao9999.com" target="_blank">mvߵӰ</a>| <a href="http://51a88.com" target="_blank">޸Ƶ</a>| <a href="http://www003924.com" target="_blank">ѹaƬ</a>| <a href="http://179228.com" target="_blank">һëƬѹۿշ</a>| <a href="http://wankufan.com" target="_blank">޾ƷĻ</a>| <a href="http://6123fa.com" target="_blank">þþþùƷվ</a>| <a href="http://my55572.com" target="_blank">޾Ʒվ߲</a>| <a href="http://liexion.com" target="_blank">ѹۿĻ</a>| <a href="http://wwwly6080.com" target="_blank">ѿվ߿</a>| <a href="http://tsj68.com" target="_blank">þ91˳ɵӰվ</a>| <a href="http://56v6.com" target="_blank">ƬվŮ</a>| <a href="http://btintemet.com" target="_blank">޹ۺϾƷ</a>| <a href="http://b7277.com" target="_blank">޾Ʒרþþ</a>| <a href="http://shbailongma.com" target="_blank">99ѹۿƵ</a>| <a href="http://zaidongmaixi.com" target="_blank">պƷAƬձ</a>| <a href="http://dxj588.com" target="_blank">va߹ۿ</a>| <a href="http://okgou58.com" target="_blank">þѹƵ</a>| <a href="http://2xpp.com" target="_blank">AV㽶һ</a>| <a href="http://srvz83.com" target="_blank">޾ƷþþþþðĦ</a>| <a href="http://56ms.com" target="_blank">ԻȫƵվ</a>| <a href="http://zzhjnmzp.com" target="_blank">av˾Ʒ</a>| <a href="http://1777000.com" target="_blank">aרav鶹</a>| <a href="http://ccc16938.com" target="_blank">שש</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>