从DTD网络流量谈W3C管理员的郁闷、惆怅和纠结

DOCTYPE是Document Type(文档类型)的简写,在页面中,用来指定页面所使用的XHTML(或者HTML)的版本。DOCTYPE声明的写法遵循一定的规则,它指出阅读程 序应该用什么规则集来解释文档中的标记。HTML xmlns属性是在文档中定义一个或多个可供选择的命名空间。该属性可以放置在文档内任何元素的开始标签中,它定义了一个命名空间,浏览器会将此命名空间 用于该属性所在元素内的所有内容。

当我们在查看网页源文件的时候,在源文件顶部往往都能看到:

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN” ”http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>

或者

<html xmlns=”http://www.w3.org/1999/xhtml” …>

如上面的代码,都含有指向W3C网站服务器的关于HTML DTDs 和 命名空间相关的网页资源。W3C管理员的纠结正源于此。

我们注意到上面的刷蓝标签,其实并不是HTML中的超链接,他们是仅仅用来作为确认的URIs,这是以机器能读懂的方式告诉计算机“这个文档是 HTML”。并且,通常计算机软件程序并不需要去抓取这些URI资源,并且一定不需要反反复复地去抓取这些资源!然而,W3C服务器却接收到“令人震惊” 的“出奇地大”的对这些资源的请求:每天收到超过130,000,000次的请求,占用宽带使用350Mbps,仅仅是抓取几年未变样的资源文件。

这时,W3C管理员声音很哽咽,感觉得出这事对他影响很大,鬼斧很认真地接着听她讲下去,了解到:

这么大的网站访问请求,有绝大多数来自处理各种标记(HTML, XML, XSLT, SVG)的系统,如在验证DTD或schema的处理期间发起的请求。

要处理这么大的请求给W3C带来了昂贵的成本和代价:服务器!带宽!还要花费大量人力来分析这些请求数据、限制或阻止一些大量重复的请求。“很郁闷,我 们宁愿用这些钱去做其他事情!比如改进、完善W3C和WEB社区的软件和服务。而不是这样被耗这么多钱!”W3C管理员显然有点小怒了。 阅读全文 »

微博通讯和即时通讯的对决

周鸿祎说:三年前当Twitter刚 起步不久他便感觉到了,这玩意做下去将来可能颠覆点对点通讯,那么,这种颠覆是从哪里走来的,又可能走向哪里?百科关于twitter 的概念,定义其为即时信息的变种,而这篇是从email、IM的起源来分析微博客这种变种即时信息可能的发展走向:从颠覆即时通讯到颠覆一切通讯!

电子邮件信息从a@c.com发出,到b@d.com接收,依次经历了三次基本中转过程:a用户→c网站服务器→d网站服务器→b用户

即时通讯信息从a发出,到b接收,要简单一步:a用户→网站服务器→b用户

但是对于用户来说,无论是电子邮件还是即时通讯,都是信息从点到点的传输,这里不得不提起IM的发展史,如果没记错,在2005年底前后,MSN、雅虎 通等一大批即时通讯服务先后宣布互通互联,当然在中国,腾讯对此断然拒绝,假如腾讯加入了这场互通互联,那么今天即时通讯也会像电子邮件通讯一样,要依次 经历同样三次中转,并由此带来一些相关的新通讯协议问题。

百科上twitter的基本概念是即时信息的一个变种,请注意,是“即时信 息”的变种。今天,有关微博的新闻铺天盖地,我们再说微博颠覆了传统的点对点通讯,已经不算特别稀有的见解了。但是,我们可能有必要来探讨一下这个通讯规 则究竟颠覆在哪里,这对于通讯规则未来可能存在的进一步变化前瞻性预测有一定的参考意义。

对于电子邮件服务,协议的必要性源自于不同服 务器之间互通互联的要求,而普通用户对于这些并不想知道,最终我们最直观的感受就只剩下点→点的通讯,即时通讯一样如此,用户与服务器之间的数据传输完全 是幕后过程,纵然不同即时通讯服务之间实现了互通互联,用户的操作方式仍然不会变,换而言之,所谓颠覆了传统点对点通讯规则,所颠覆的最终必须表现为用户 看得见摸得着的操作方式。

我们知道,@规则是以twitter为首的微博客的基本通讯规则,这跟以QQ为代表的即时通讯看似截然不同, 但其实有本质的相似,@username 实际上可以包含两部分,一部分是表示发送信息的符号@,一部分是发送的对象,对比QQ,实际上不过是以一个简单的符号替代了打开一个新窗口来发送信息的操 作过程。 阅读全文 »

上海世博会插队的十种方法

(PS: 博主居然说不能让大陆人看到,这不是丢咱们的脸么……望一笑而过,别当真,SB会嘛,谁当真谁就是SB了)

转 弯处是个战斗点

上面这句话,是我这次去世博深刻体认的一句话
而且这句话是在排队的时候听到大陆人亲口说出的…..
相信我的亲朋好友都知道,我在这个月13-16号跟老王来了一趟上海世博之旅
四天的行程,大概花了一天半在世博
到达上海的第二天下午三点多进园区,第三天早上九点半不到进园区(早起都是為了台湾馆)
进去了台湾、日本、英国、德国、义大利、俄罗斯、荷兰、古巴(其实古巴真的是衝数字用…)
台湾馆排了两次队,一次拿预约票,一次等入馆,总计1.7小时
日本馆排了足足3.5小时,英国馆0.5小时,德国馆1小时
义大利0.8小时,俄罗斯0.5小时,其他两个不用排
排队总时数达8小时,而在这八小时,充分地体验了大陆人高超的插队技术
下面将介绍他们各式各样的插队技巧,以表达我对他们深深的钦佩(不满)
(据说下雨天会好一点,不过我比较幸运,挑了好天气,还有一天是週六,所以严重不少…)

1. 姑娘在前面

他 们会疯狂往旁边钻,嘴巴裡面一边说著「我的姑娘在前面」
所谓的「姑娘」就是指女儿,当然,这边可以代换成家人、朋友诸如此类的
如果你好心让给他过,你事后会发现99%用这招的大陆人
他们的姑娘、家人或朋友,都是 god damn隐形人,你一辈子看不到…(╯‵□′)╯︵ ┴─┴

2.板凳是插队武器之首

在 热门场馆,一面至少要排三遍,然后总共排三面 阅读全文 »

商业计划书的21条军规

创业者们,商业计划书是你们找VC的敲门砖。没有一块有分量的敲门砖,怕你们敲不开VC的大门。

这世界上永远是来要钱的人多,能给出去的钱少,僧多粥少,融资是有门槛的。如果没有
一份有分量的商业计划书,你根本就进不了VC的门。而每一个VC的桌子上都有堆积如山的商业计划书,
所以你的机会是有限的,你面临着巨大的挑战,关键是你要能够脱颖而出。

注意:别误解我的意思,打动VC,从来就不是一份商业计划书就可以做到的事,商业计划书只能帮你打开VC的门,进门以后的事情还多得很,还要靠你的继续努力。今天我们单讲一件事:如何写一份有分量的商业计划书去砸VC的大门。

不客气地说,相当一部分创业者过分自信,他们并不了解投资人的思维方式,以为VC都是些盲目来送银子的冤大头,只要去侃、去忽悠就能搞到钱来。不是嘛,每天我电脑的邮箱里收到的商业计划书当中,相当一部分不外乎以下三大类型:

A)大排档类
估计是在网吧里花了一刻钟完成的,寒碜到了极点,白底黑字的PPT,总共不超过10页,除掉第一页标题和最后一页“Thank You!”以外,有7页是从网上拷贝和粘帖的关于“Web 5.0将改变我们大家的生存方式……iResearch预测到2050年,中国的Web5.0市场规模将达到5000个亿……我们将成为中国Web 5.0的最大的门户……”外加一页需花5000万元钱的消费清单。插入了商业计划书的附件之后,创业者在邮件里又补充了几句“之前没有写过商业计划书,在网上搜索了一下,说是商业计划书里面还要对公司目前的财务状况和人员构成做详细介绍,我们目前还处在筹划阶段,资金一到位,我们马上可以启动,是否下星期一上午我们可以和你面谈?”

兄弟们呀,不是我不喜欢简洁的风格、不是我不愿和你们见面,只是你不给我足够的有用信息,我没法判断这个项目是不是适合我们投资,要是每个创业者写个白条过来就要立刻见面,我的办公室大概也会挤成了劳动局的上访室了,从早到晚都接待不过来。

B)八股文类
用某个律师或财务顾问挂在网上招揽客户的那类“商业计划书模板”,写上洋洋80-100页的文字……可以想象创业者们在发出邮件前的那副得意的样子:“这份商业计划书写得够认真了吧?我花这么多工夫,你不好意思不从口袋里摸钱出来了吧?”花了半天时间读完,我发现自己还是一头雾水,不知道商业计划的核心内容在哪里?

溪不在深,有鱼则清。一份商业计划书写得好坏不在文字的多或少,即使你把每一个章节都写得面面俱到,但是关键内容含糊其辞,恐怕到头来还是白忙乎。我相信有那么一部分创业者是报着侥幸心态来碰运气的,以为文字多、篇幅长、貌似态度认真就可以蒙混过关忽悠到VC的钱? 阅读全文 »

敏捷项目管理工具初探

欲善其事,必先利其器”

——《论语·魏灵公》

敏捷开发的潮流并不是由敏捷工具来推动的,因为你可以仅使用命令行接口、单元测试工具和需求卡片来展开敏捷开发。但近年来,为了更好地支持敏捷开发,敏捷 工具也有了很大的发展。其中部分工具是直接面向新型项目管理方式的,特别是有些种类的工具已与敏捷开发密不可分。根据Forrester研究公司 (Forrester Research)高级分析师Carey Schwaber的研究结果,面向敏捷开发的项目管理工具、持续集成构建工具和自动测试工具已是敏捷开发不可或缺的工具。

Schwaber等人也指出,当敏捷成为大型团队开发进行大型项目的主流开发方式时,这些自己临时组织起来的技术,如仅靠白板、电子表格和WIKI等将难 以满足需求。

Scrum作为当前业界最流行的敏捷软件开发方法之一,受到越来越多的关注。对于一个新的Scrum敏捷团队而言,选择合适的Scrum工具是保证成功实 施Scrum的关键一环,然而了解市面上种类繁多的各种工具并做出选择,是一件费时费力的事情。为帮助新团队更好地选择和使用Scrum工具,笔者最终选 定了一批国内外用户常用的Scrum工具,进行了简单比较,由于篇幅有限,不能详尽,希望能对中国的敏捷开发者有所帮助。

基础工具

白板

这是实施Scrum最简单直接的方式,用于每天的跟踪汇报,还是非常不错的,但是对Product Backlog支持明显不够,也没办法保留历史纪录,而历史纪录对于回顾还是非常重要的,毕竟Scrum的核心理念之一就是通过短期回顾,达到持续不断的 改善。

Excel

我们最初也用过,有很多现成的模板可以用,曾经写过一个Script,自动提取每天的Burndown Chart,自动发给指定的邮件地址列表。主要问题是当成员比较多的时候,同时修改一个共享Excel文件,会相互冲突,不好同步。如果需要模板,可以 到”敏捷软件开发随笔”http://scrumxp.blogspot.com 下载。

免费/开源工具

ScrumWiki

这个最初在一个项目上也用过,一开始感觉还不错。因为采用wiki模式,每个人都可以随时编辑,更新任务状态,比较适合分布式开发。但当你的需求变多变复 杂时,就不容易用了。后台脚本是用Perl写的,我们的一个外国同事还专门对它进行了修改,增加了好多功能,这样才好用起来。作为免费开源的软件,目前已 经没有人支持和维护,也不能支持中文。 阅读全文 »

软件构架实践(第2版)学习笔记

一、软件架构、架构模式、参考模 型、参考架构

1、对于软件架构定义有很多种,通用的定义是:某个软件或计算机系统的软件架构是该系统的一个或多个结 构,他们由软件元素,这些元素的外部可见属性以及这些元素之间的关系组成。

这里所说的某个元素的“外部可 见属性”是指其他元素对该元素所做的假设,如它所提供的服务、性能特征、错误处理、共享资源的使用,等等。

其他的定义包括:架构是一种高 层设计。架构是系统的总体结构。架构是一个软件或系统的组件、组件之间的相互关系以及管理其设计和演变的原理和方针的结构。架构是组件和连接器。

2、架构模式是对元素和关系类型以及一组对其 使用方式的限制的描述。

3、参考模型是一种考虑数据流的功能划分。

4、参考架构是映射到软件元素(它们相互协 作,共同实现在参考模型中定义的功能)及元素之间数据流上的参考模型。

5、软件架构、架构模式、 参考模型、参考架构之间的关系:

6、软件架构的重要性

(1)、架构是涉众进行交流的手段。

(2)、架构是早期设计决策的体现。

(3)、架构是可传递、可重用的模型。

7、架构定义中指出系统由多种结构构成的,下面列出一些常见的结构。

软件结构 关系 适用环境
分解 是一个子模块;与之共享秘密 资源分配、项目结构化和规划;信 息隐藏、封装;配置控制
使用 要求正确出现 设计子集;设计扩展
分层 要求正确的出现、使用服务、提供 抽象 增量式开发;在“虚拟机”可移植 性之上实现系统
是一个实例;共享访问方法 在面向对象的设计系统中,从一个 公共的模版中产生快速的、相近的实现
客户机-服务器 与之通信;依赖于 分布式操作;关注点分离;性能分 析;负载平衡
进程 与之并发运行、可能会与之并发运 行;排除;优先于等 调度分析;性能分析
并发 在相同的逻辑线程上运行 确定存在资源争用,线程可以交 叉、连接、被创建或被杀死的位置
共享数据 产生数据;使用数据 性能;数据完整性;可修改性
部署 分配给;移植到 性能、可用性、安全性分析
实现 存储在 配置控制、集成、测试活动
工作分配 分配到 项目管理、最佳利用专业技术、管 理通用性

二、质量属性

系统从设计、实现到部署的整个过 程中考虑质量属性的实现。质量属性包括下列三类:

(1)、系统的质量属性。(可用性、可修改性、 性能、安全性、可测试性和易用性)

(2)、受架构影响的商业属性。(上市时间、成 本和收益、所希望的系统生命期的长短、目标市场、推出计划、与老系统的集成)

(3)、与架构本身相关的一些质量属性。(概念 完整性、正确性与完整性、可构建性)

六个质量属性的战术列表: 阅读全文 »

下一页 »