<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?xml-stylesheet type="text/xsl" href="css/rss.xslt"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>陈欣混在北京</title><link>http://www.chenxinblog.com/</link><description>记录生活，工作中的点点滴滴</description><generator>RainbowSoft Studio Z-Blog 1.8 Spirit Build 80605</generator><language>zh-CN</language><copyright>Copyright© 2008 版权所有 陈欣京ICP备09019752号</copyright><pubDate>Tue, 13 Jul 2010 10:51:14 +0800</pubDate><item><title>UI规范说明文件</title><author>xin0211@gmail.com (chenxin)</author><link>http://www.chenxinblog.com/post/uispecification.html</link><pubDate>Tue, 13 Jul 2010 10:41:12 +0800</pubDate><guid>http://www.chenxinblog.com/post/uispecification.html</guid><description><![CDATA[<p>这是一个UI模板规范，在做B/S版应用程序时比较适用，其实这样的东西算不上什么正规的规范，只是为了适应我们现在面对的开发环境和组织流程做的一些权宜的努力，和解决了一些与程序沟通和接口的问题，尽量避免误会和摩擦。</p><p>一　适用环境和对象<br />二　必要性<br />三　技术原则<br />四　代码编写规范<br />五　页面模版使用规范</p><p>&nbsp;</p><p>一　适用环境和对象<br />本规范适用基于浏览器的B/S版软件项目开发工作。开发流程中的模版页面编写和模版文件套用工作必须遵照此规范执行。适用对象为开发编码人员、UI设计人员、模版编写人员、界面测试人员等。<br />基于客户端的C/S版软件开发工作不适用本技术规范。</p><p>二　必要性<br />本规范旨在制订开发编码人员和UI模版编写人员之间在工作交叉部分的技术标准，使他们遵循同一操作规范，利于交叉工作的平缓顺利交接。以标准化方式，提高沟通和技术协作的水平，提高工作效率。减少和改变责任不明，任务不清，和由此产生的信息沟通不畅、反复修改、重复劳动、效率低下的现象。</p><p>三　技术原则<br />代码规范化书写<br />代码规范化书写实现了脚本整体风格的一致，保证了同一个人不同时期写的脚本风格保持一致，以及同一个工作组中不同的开发人员编写的脚本风格保持一致。因为开发不可能在孤立中进行，所以代码规范化书写是项目组人员合作沟通的前提。</p><p>数据层、结构层、表现层分离<br />数据内容就是页面实际要传达的真正信息，包含数据、文档或者图片等。这里强调的&ldquo;真正&rdquo;，是指纯粹的数据信息本身。把信息内容以一种合适的方式格式化，简言之就是页面排版，例如：分成标题、作者、章、节、段落和列表等，使内容更加具有逻辑性，条理清晰易读易懂，叫做&ldquo;结构(Structure)&rdquo; 虽然定义了结构，但是内容还是相同的样式没有改变，例如标题字体没有变大，正文的颜色也没有变化，没有背景，没有修饰。所有这些用来改变内容外观的东西，称之为&ldquo;表现(Presentation)&rdquo; &ldquo;表现&rdquo;的作用使内容看上去漂亮、赏心悦目、打动人心！</p><p>　　所有HTML和XHTML页面就是由&ldquo;结构、表现和行为&rdquo;这三方面组成的。抽象一点理解，内容是基础层，然后是附加上去结构层和表现层，人对页面内容的交互及操作效果叫做&ldquo;行为（Behavior）&rdquo;,</p><p>对于数据、结构与表现相分离，最早是在软件开发架构理论中提出来的。UI设计师设计出页面模版，程序员负责内容数据的嵌入，数据可能是从数据库中提取出来，也可能是静态写入的提示性文字，最后形成一个新的页面展示给软件操作者。模版文件的结构利用HTML＋XHTML标签来定义，而所有涉及表现的东西通通剥离出来，把它放到一个单独的文件里，这个单独的文件就是CSS。</p><p>　　数据、结构与表现相分离的好处是：<br />程序员不需要过多的思考页面显示问题，而只需要根据模版效果把数据放入模版相应的位置。界面的结构和表现由UI设计师负责。填入结构的数据自觉套用设计好了的表现效果。最后呈现一个实现功能的完整界面。<br />表现层的分离保持整个软件界面视觉的一致性，使改版也变得非常简单，修改样式表就可以了；<br />由于结构清晰，数据层相对独立，对数据的集成、更新、处理和再利用也更加方便灵活；</p><p>四　代码编写规范</p><p>（一）目录结构及命名规则</p><p>目录结构规范<br />1、目录建立的原则：以最少的层次提供最清晰简便的访问结构。<br />2、根目录一般只存放index.htm以及其他必须的系统文件<br />3、在根目录中原则上应该按照系统的栏目结构，给每一个栏目开设一个目录，根据需要在每一个栏目的目录中开设一个images 和media 的子目录用以放置此栏目专有的图片和多媒体文件，如果这个栏目的内容特别多，又分出很多下级栏目，可以相应的再开设其他目录。根目录下的images用于存放各页面都要使用的公用图片，子目录下的images目录存放本栏目页面使用的私有图片<br />4、所有JS,ASP,PHP等脚本存放在根目录下的scripts目录<br />5、所有CGI程序存放在根目录下的cgi-bin目录<br />6、所有CSS文件存放在根目录下style目录<br />7、每个语言版本存放于独立的目录。例如：简体中文gb<br />8、所有flash, avi, ram, quicktime 等多媒体文件存放在根目录下的media目录<br />9、temp 子目录放客户提供的各种文字图片等等原始资料，以时间为名称开设目录，将客户陆续提供的资料归类整理。</p><p>文件和目录命名规范<br />1、文件命名的原则：以最少的字母达到最容易理解的意义。<br />2、每一个目录中包含的缺省html 文件，文件名统一用index.htm<br />3、文件名称统一用小写的英文字母、数字和下划线的组合，不得包含汉字、空格和特殊字符<br />4、尽量按单词的英语翻译为名称。例如：feedback(信息反馈)，aboutus(关于我们) 不到万不得已不要以拼音作为目录名称<br />5、多个同类型文件使用英文字母加数字命名，字母和数字之间用_分隔。例如：news_01.htm。注意，数字位数与文件个数成正比，不够的用0补齐。例如共有200条新闻，其中第18条命名为news_018.htm</p><p>图片的命名规范<br />1、名称分为头尾两两部分，用下划线隔开。<br />2、头部分表示此图片的大类性质。例如： 放置在页面顶部的广告、装饰图案等长方形的图片我们取名：banner ；标志性的图片我们取名为：logo ；在页面上位置不固定并且带有链接的小图片我们取名为button ；在页面上某一个位置连续出现，性质相同的链接栏目的图片我们取名：menu ；装饰用的照片我们取名：pic ；不带链接表示标题的图片我们取名：title 依照此原则类推。<br />3、尾部分用来表示图片的具体含义，用英文字母表示。例如：banner_sohu.gif banner_sina.gif menu_aboutus.gif menu_job.gif title_news.gif logo_police.gif logo_national.gif pic_people.jpg pic_hill.jpg.</p><p>4、有onmouse效果的图片，两张分别在原有文件名后加&quot;_on&quot;和&quot;_off&quot;命名</p><p>其它文件命名规范<br />1、js的命名原则以功能的英语单词为名。例如：广告条的js文件名为:ad.js<br />2、所有的CGI文件后缀为cgi。所有CGI程序的配置文件为config.cgi</p><p>（二）　html编写规则<br /><br />一般原则<br />1、在编写模版文件，排布结构表格之前，要思考一个最佳方案，表格的嵌套尽量控制在三层以内；要考虑程序套用的可实现性、通用性、灵活性、预见性，所有内容均采用积木式组织，可替换和删除，并对总体结构不会造成破坏性影响<br />2、尽量避免 &lt;colspan&gt; &lt;rowspan&gt; 两个标记，经验表明，这两个标记会带来许多麻烦<br />3、一个网页要尽量避免用整个一张大表格，所有的内容都嵌套在这个大表格之内。因为浏览器在解释页面元素时，是以表格为单位逐一显示，如果一张网页是嵌套在一个大表格之内，那么很可能造成的后果就是，当浏览者敲入网址，他要先面对一片空白很长时间，然后所有的网页内容同时出现。如果必须这样做，请使用 &lt;tbody&gt;标记，以便能够使这个大表格分块显示<br />4、排版中经常会遇到需要进行首行缩进的处理，不要使用全角空格来达到效果，规范的做法是在样式表中定义 p { text-indent: 2em; } 然后给每一段加上 &lt;p&gt; 标记，注意，一般情况下，请不要省略 &lt;/p&gt; 结束标记<br />5、原则上，我们禁止用 &lt;img width=? height=?&gt; 来人为干预图片显示的尺寸，而且建议 &lt;img&gt; 标签中不要带上width 和height 两个属性，这是因为制作过程中，图片往往需要反复的修改，这样可以避免人为干预图片显示的尺寸，尽可能的发挥浏览器自身的功能；但是这样的一个副作用是当网页还未加载图片时，不会留出图片的站位大小，可能会造成网页在加载过程中抖动（如果图片是插在一个固定大小的表格里的，不会有这个现象），尤其是当图片的尺寸较大时，这种现象会很明显，所以当预料到这种会明显导致网页抖动的情况会发生时，务必在最后给 &lt;img&gt;附上 width 和 height 属性<br />6、为了最大程度的发挥浏览器自动排版的功能，在一段完整的文字中尽量不要使用&lt;br&gt; 来人工干预分段<br />7、不同语种的文字之间应该有一个半角空格，但避头的符号之前和避尾的符号之后除外，汉字之间的标点要用全角标点，英文字母和数字周围的括号应该使用半角括号<br />8、为贯彻结构层和表现层分离的原则，严禁使用传统的HTML3.2/4.0控制表现的标签，例如&lt;font&gt;,&lt;b&gt;，还有本意用于结构后来被滥用于控制表现的标签，例如：&lt;h1&gt;,&lt;table&gt;等。所有的字号都应该用样式表来实现，禁止在页面中出现 &lt;font size=　&gt; 标记，&lt;b&gt;　&lt;/b&gt;　&lt;h1&gt;　&lt;/h1&gt;标记，严禁在结构页面写表现标签<br />9、不要在网页中连续出现多于一个的也尽量少使用全角空格（英文字符集下，全角空格会变成乱码），空白应该尽量使用 text-indent, padding, margin, hspace, vspace 以及透明的gif 图片来实现。<br />10、中英文混排时，我们尽可能的将英文和数字定义为verdana 和arial 两种字体<br />11、行距建议用百分比来定义，常用的两个行距的值是line-height:120%/150%<br />12、系统中的路径全部采用相对路径<br />13、为保证系统和浏览器的兼容性，当设置背景图片时，要坚持用双引号。<br />14、&ldquo;网页大小&rdquo;为网页的所有文件大小的总和，包括HTML文件和所有的嵌入的对象。页面大小保持在34K以下为合适</p><p>代码规则<br />head区标识（head区是指首页HTML代码的&lt;head&gt;和&lt;/head&gt;之间的内容）<br />1、公司版权注释<br />&lt;!--<br />Generator: 中软融鑫<br />Creation Data: 2005-8-1<br />Original Author: 张三<br />--&gt;</p><p>2、网页显示字符集<br />简体中文：<br />&lt;META. HTTP-EQUIV=&quot;Content-Type&quot; CONTENT=&quot;text/html; charset=gb2312&quot;&gt;<br />繁体中文：<br />&lt;META. HTTP-EQUIV=&quot;Content-Type&quot; CONTENT=&quot;text/html; charset=BIG5&quot;&gt;<br />英 语：<br />&lt;META. HTTP-EQUIV=&quot;Content-Type&quot; CONTENT=&quot;text/html; charset=iso-8859-1&quot;&gt;<br />?<br />3、简介<br />&lt;META. NAME=&quot;DESCRIPTION&quot; CONTENT=&quot;这里填您网站的简介&quot;&gt;?</p><p>4、网页的css文件定义，所有css文件尽量采用外部调用<br />&lt;LINK href=&quot;style/style.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot;&gt;</p><p>5、网页标题<br />&lt;title&gt;这里是你的网页标题&lt;/title&gt;</p><p>6、所有的javascript脚本尽量采取外部调用<br />&lt;SCRIPT. LANGUAGE=&quot;javascript&quot; SRC=&quot;script/xxxxx.js&quot;&gt;&lt;/SCRIPT&gt;</p><p>head区可以选择加入的标识<br />7、设定网页的到期时间。一旦网页过期，必须到fwq上重新调阅。<br />&lt;META. HTTP-EQUIV=&quot;expires&quot; CONTENT=&quot;Wed, 26 Feb 1997 08:21:57 GMT&quot;&gt;</p><p>8、禁止浏览器从本地机的缓存中调阅页面内容。<br />&lt;META. HTTP-EQUIV=&quot;Pragma&quot; CONTENT=&quot;no-cache&quot;&gt;</p><p>9、用来防止别人在框架里调用你的页面。<br />&lt;META. HTTP-EQUIV=&quot;Window-target&quot; CONTENT=&quot;_top&quot;&gt;</p><p>10、自动跳转。<br />&lt;META. HTTP-EQUIV=&quot;Refresh&quot; CONTENT=&quot;5;URL=http://www.yahoo.com&quot;&gt;<br />5指时间停留5秒。</p><p>11、网页搜索机器人向导.用来告诉搜索机器人哪些页面需要索引，哪些页面不需要索引。<br />&lt;META. NAME=&quot;robots&quot; CONTENT=&quot;none&quot;&gt;<br />CONTENT的参数有all,none,index,noindex,follow,nofollow。默认是all。</p><p>12、收藏夹图标<br />&lt;link rel = &quot;Shortcut Icon&quot; href=&quot;favicon.ico&quot;&gt;</p><p>13、搜索关键字<br />&lt;META. NAME=&quot;keywords&quot; CONTENT=&quot;关键字1,关键字2,关键字3,...&quot;&gt;</p><p>　　head区以下的标记<br />1、body标记<br />为了保证浏览器的兼容性，必须设置页面背景<br />&lt;body bgcolor=&quot;#FFFFFF&quot;&gt;</p><p>2、table标记<br />在写 &lt;table&gt; 互相嵌套时，严格按照的规范，对于单独的一个&lt;table&gt;来说，&lt;tr&gt;，&lt;td&gt;各缩进两个半角空格，结束标记和开始标记平齐。&lt;td&gt; 中如果还有嵌套的表格，&lt;table&gt;也缩进两个半角空格，如果&lt;td&gt;中没有任何嵌套的表格，&lt;/td&gt; 结束标记应该与 &lt;td&gt; 处于同一行，不要换行。<br />正确写法：<br />a\<br />&lt;table width=&quot;100%&quot;? border=&quot;0&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;<br />&lt;tr&gt;<br />&lt;td&gt;&amp;nbsp;&lt;/td&gt;<br />&lt;/tr&gt;<br />&lt;tr&gt;<br />&lt;td&gt;<br />&lt;table width=&quot;100%&quot;? border=&quot;0&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;<br />&lt;tr&gt;<br />&lt;td&gt;&amp;nbsp;&lt;/td&gt;<br />&lt;/tr&gt;<br />&lt;/table&gt;<br />&lt;/td&gt;<br />&lt;/tr&gt;<br />&lt;/table&gt;</p><p>b\<br />&lt;td&gt;&lt;img src=&rdquo;../images/sample.gif&rdquo;&gt;&lt;/td&gt;</p><p>　错误写法<br />a\<br />&lt;table width=&quot;100%&quot;? border=&quot;0&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;<br />&lt;tr&gt;<br />&lt;td&gt;&amp;nbsp;&lt;/td&gt;<br />&lt;/tr&gt;<br />&lt;tr&gt;<br />&lt;td&gt;&lt;table width=&quot;100%&quot;? border=&quot;0&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;<br />&lt;tr&gt;<br />&lt;td&gt;&amp;nbsp;&lt;/td&gt;<br />&lt;/tr&gt;<br />&lt;/table&gt;<br />&lt;/td&gt;<br />&lt;/tr&gt;<br />&lt;/table&gt;</p><p>　 b\<br />&lt;td&gt;&lt;img src=&rdquo;../images/sample.gif&rdquo;&gt;<br />&lt;/td&gt;<br />这是因为浏览器认为换行相当于一个半角空格，以上不规范的写法相当于无意中增加一个半角空格，如果确实有必要增加一个半角空格，也应该这样写：<br />&lt;td&gt;&lt;img src=&rdquo;../images/sample.gif&rdquo;&gt; &lt;/td&gt;</p><p>于同一个级别的 &lt;table&gt; 一定是左首对齐的，另外不允许没有任何内容的空的单元格存在，高度大于等于12px 的单元格应该 在 &lt;td&gt; 和 &lt;/td&gt; 之间写一个&amp;nbsp;，如果高度小于12px, 则应该 在 &lt;td&gt; 和 &lt;/td&gt; 之间插入一个1*1 大小的透明的gif 图片，这是因为某些浏览器认为空单元格非法而不会予以解释。如果代码顺序较乱，在DW中可以通过command-&gt;apply souce formatting进行重新整理！</p><p>3、Width 和height标记<br />一般情况下只有一列的表格，width 写在&lt;table&gt; 的标签内，只有一行的表格，height 写在 &lt;table&gt; 的标签内，多行多列的表格，width 和height 写在第一行或者第一列的 &lt;td&gt; 标签内。总之遵循一条原则：不出现多于一个的控制同一个单元格大小的height 和width, 保证任何一个width 和height 都是有效的，也就是改动代码中任何一个width 和height 的数值，都应该在浏览器中看到变化。<br />a、只一列的表格的width标记<br />&lt;table width=&quot;100%&quot;? border=&quot;0&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;<br />&lt;tr&gt;<br />&lt;td&gt;&amp;nbsp;&lt;/td&gt;<br />&lt;/tr&gt;<br />&lt;tr&gt;<br />&lt;td&gt;&amp;nbsp;&lt;/td&gt;<br />&lt;/tr&gt;<br />&lt;/table&gt;<br />b、只一行的表格的height标记<br />&lt;table width=&quot;100%&quot; height=&quot;30&quot;? border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt;<br />&lt;tr&gt;<br />&lt;td&gt;&amp;nbsp;&lt;/td&gt;<br />&lt;td&gt;&amp;nbsp;&lt;/td&gt;<br />&lt;td&gt;&amp;nbsp;&lt;/td&gt;<br />&lt;/tr&gt;<br />&lt;/table&gt;<br />c、多行多列表格的width和height标记<br />&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt;<br />&lt;tr&gt;<br />&lt;td width=&quot;100&quot; height=&quot;30&quot;&gt;&amp;nbsp;&lt;/td&gt;<br />&lt;td width=&quot;200&quot;&gt;&amp;nbsp;&lt;/td&gt;<br />&lt;td width=&quot;300&quot;&gt;&amp;nbsp;&lt;/td&gt;<br />&lt;/tr&gt;<br />&lt;tr&gt;<br />&lt;td&gt;&amp;nbsp;&lt;/td&gt;<br />&lt;td&gt;&amp;nbsp;&lt;/td&gt;<br />&lt;td&gt;&amp;nbsp;&lt;/td&gt;<br />&lt;/tr&gt;<br />&lt;/table&gt;</p><p>4、table的width属性</p><p>为遵循页面结构灵活性、通用性原则，table的width属性原则上全部写成100％或者不写width属性，不推荐写成其他非100％宽度属性。留空显示效果通过其给外部td施加style的padding属性实现。</p><p>　&lt;table width=&quot;100%&quot;? border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;<br />&lt;tr&gt;<br />&lt;td width=&quot;200&quot; bgcolor=&quot;#FF0000&quot; style=&quot;padding:20px; &quot;&gt;<br />&lt;table width=&quot;100%&quot; border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; bgcolor=&quot;#FFFFFF&quot;&gt;<br />&lt;tr&gt;<br />&lt;td&gt;table宽度100％&lt;/td&gt;<br />&lt;/tr&gt;<br />&lt;tr&gt;<br />&lt;td&gt;&amp;nbsp;&lt;/td&gt;<br />&lt;/tr&gt;<br />&lt;/table&gt;<br />&lt;/td&gt;<br />&lt;td&gt;&amp;nbsp;&lt;/td&gt;<br />&lt;/tr&gt;<br />&lt;/table&gt;</p><p>需要说明的是这里td的style虽然是css的写法，但不属于表现层的内容，而是属于结构层的内容，所以可以直接写在html标记中间。</p><p>5、数据列表表格代码写法<br />表格外加上一个&lt;div&gt;，并对&lt;div&gt;赋一个id，即&lt;div id =list&gt;，然后通过样式表对这个id下的所有html元素进行控制，<br />用&lt;th&gt;表示表头<br />设置每列宽度的位置在表头对应的&lt;th&gt;中，其中列表项中，字数最多或者字数不定的一项不设置宽度。<br />宽度的值依据列表项内容的多少来定，2个字的30px，三个字40px，时间、年月日（比如2004-11-11）80-120px,<br />类似于标题的列表项，表格对齐方式为左对齐（align=left）,时间，人名一般居中对齐，数据一般右对齐（align=right）。<br />对齐页面内容时不要用div来对齐，直接在td 或th中写align=&hellip;<br />表头文字一般不折行，方法是在&lt;th&gt;中加上nowrap,或者通过样式表来控制</p><p>&lt;table width=&quot;100%&quot; border=&quot;0&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;<br />&lt;tr&gt;<br />&lt;th width=&quot;30&quot; nowrap&gt;选择&lt;/th&gt;<br />&lt;th align=&quot;left&quot; nowrap&gt;标题&lt;/th&gt;<br />&lt;th width=&quot;80&quot; nowrap&gt;发表人&lt;/th&gt;<br />&lt;th width=&quot;120&quot; nowrap&gt;时间&lt;/th&gt;<br />&lt;th width=&quot;40&quot; nowrap&gt;大小&lt;/th&gt;<br />&lt;/tr&gt;<br />&lt;tr&gt;<br />&lt;td&gt;&amp;nbsp;&lt;/td&gt;<br />&lt;td align=&quot;left&quot;&gt;&amp;nbsp;&lt;/td&gt;<br />&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;<br />&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;<br />&lt;td align=&quot;right&quot;&gt;&amp;nbsp;&lt;/td&gt;<br />&lt;/tr&gt;<br />&lt;tr&gt;<br />&lt;td&gt;&amp;nbsp;&lt;/td&gt;<br />&lt;td align=&quot;left&quot;&gt;&amp;nbsp;&lt;/td&gt;<br />&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;<br />&lt;td align=&quot;center&quot;&gt;&amp;nbsp;&lt;/td&gt;<br />&lt;td align=&quot;right&quot;&gt;&amp;nbsp;&lt;/td&gt;<br />&lt;/tr&gt;<br />&lt;/table&gt;</p><p><br />（三）　css编写规则</p><p>css文件调用写法<br />1、所有的CSS的尽量采用外部调用，特殊情况才允许使用内置html写法。<br />&lt;LINK href=&quot;style/style.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot;&gt;</p><p>css文件结构组织<br />1、文件提头，css文件名称、时间、作者</p><p><br />2、　将不同目的和效果的CSS选择符分别编组，编组分层级使结构清晰，便于查对。并恰当地成块注释，注释要说明施加的页面文件的对象。顶级注释用*TOP*打头，次级注释不用。</p><p>　<br />.headtext {<br />font-size: 14px;<br />color: #ffffff;<br />font-weight: bold;<br />}?<br />.headtext a:link {<br />color: #ffffff;<br />text-decoration: none;<br />}<br />.headtext a:visited {<br />color: #ffffff;<br />text-decoration: none;<br />}<br />.headtext a:hover {<br />color: FED078;<br />text-decoration:none ;<br />}</p><p><br />#clientcard {<br />align:left;<br />}<br />#clientcard th {<br />height:20;<br />font-size: 12px;<br />color: #737373;<br />padding-left:10;<br />font-weight: bold;<br />background-attachment: fixed;<br />background:url(images/dot2.gif)</p><p>background-repeat: no-repeat;<br />background-position: left center;<br />}<br />#clientcard td {<br />height:20;<br />font-size: 12px;<br />color: #FD783A;<br />padding-right:25;<br />}</p><p>3、选择符分组的顺序是重定义的最先，伪类其次，自定义最后。便于自己和他人阅读。<br />例如：</p><p>BODY {<br />margin-left: 0px;<br />&hellip;　<br />}</p><p>TD {<br />font-size: 12px;<br />&hellip;<br />}</p><p><br />a:link {<br />color:?#484848;<br />text-decoration: none;<br />}<br />a:visited {<br />color: #484848;<br />text-decoration: none;<br />}<br />a:hover {<br />color:#BD0800;<br />text-decoration: underline;<br />}</p><p><br />.ltreename {<br />font-size: 14px;<br />&hellip;<br />}</p><p>类和ID命名规则<br />1、以功能和定义对象的位置，而不是外观为类和ID命名。例如创建了一个 .smallblue 类，后来打算将文字改大，颜色变为红色，这个类名就不再有任何意义了。所以，用更有描述性的名字如 .copyright 和.info-list更加合适。</p><p>单位<br />1、0不用单位<br />2、非零值要指明单位，指定字体、边距或大小时，必须指明所用的单位<br />例如： padding: 0 2px 0 1em;<br />3、特例：line-height不需要单位</p><p>字号大小<br />1、为了保证不同浏览器上字号保持一致，字号像素px来定义，一般使用中文宋体12px 和14.7px 这是经过优化的字号，黑体字或者宋体字加粗时，一般选用14.7px 的字号比较合适<br />例如： font-size: 12px;</p><p>顺序<br />1、a:link a:visited a:hover a:actived 要按照规范顺序写<br />2、边框(border)、边距(margin)和补白(padding)的简写次序为：顺时针方向从上开始，即 Top, Right, Bottom, Left。<br />例如： margin: 0 1px 3px 5px;表示上边距为零，右边距为1px，依此类推。</p><p>组合选择符<br />1、保持CSS短小对减少下载时间非常重要。尽量为选择符分组、利用继承(inheritance)以及使用简写(shorthand)来减少冗余。</p><p>使用图片<br />1、css中经常遇到使用图片的情况, 图片的路径一律采用相对路径。<br />例如：</p><p>.hurdlename {<br />font-size: 14px;<br />color: #0B43C2;<br />height:25px;<br />font-weight: bold;<br />background-image: url(images/rbar_bg.gif);<br />background-repeat: repeat-y;<br />text-indent: 12px;<br />}</p><p>.but1{<br />background-image: url(../images/but1.gif);<br />font-size: 12px;<br />color: #000000;<br />border: 0;<br />width:85px;<br />height:26px;<br />cursor: hand;<br />}</p><p>2、使用图片替换技术时要考虑与系统和文件结构的亲和力。如果引用css的所有文件不在同一级相对路径，就会出现css指定的图片无法显示的问题。在这种情况下不支持使用图片技术。建议采用filter技术<br />例如：</p><p>input.buttton {<br />filter:progid:DXImageTransform.Microsoft.Gradient(gradienttype=0, startcolorstr=#CFD1CF, endcolorstr=#EFEFEF);<br />border: #B5B6B5 1px solid;<br />font-size: 12px;<br />color: #000000;<br />cursor: hand;<br />height:24px;<br />background:#ffffff;<br />}</p><p>五　页面模版使用规范</p><p>页面模版使用规范的目的是统一和约定UI设计、界面工程师与不同的程序编码人员的行为方式，光有了书写代码的规范还不能完全解决界面套用的统一性问题。因为不同的编码人员对同一个模版的理解有可能不同，再加上个人工作习惯的不同，界面套用的结果往往很容易出现差异。哪怕是每人一点点差异，都可能使软件的质量收到很大的影响。</p><p>责任分工明确<br />1、 UI设计、界面工程师负责界面风格的设计和软件模版的编写，并监督界面套用的效果。对软件最终的界面负责。<br />2、 编码工程师负责软件业务逻辑的实现，软件模版的套用。对软件的数据和程序负责。<br />3、现实的情况是个别编码工程师在模版套用出现偏差后，在界面工程师提出修改意见的时候拒绝修改，以开发进度、时间不够为由搪塞，甚至主观认为&ldquo;这个（界面）不重要&rdquo;致使界面工程师的作用得不到应有的发挥，影响软件产品质量。<br />4、 解决办法是各负其责。界面问题提高重视程度，并纳入开发流程和进度管理之中。</p><p>界面模版交界过程<br />1、 模版文件制作完成后，在提交给编码工程师时，要简要说明模版的文件的使用说明和提醒。<br />2、 编码工程师和界面工程师密切合作，完全理解模版使用说明。<br />3、对界面结构层html的table嵌套关系理解清楚并明确和程序结合的用意。有和程序不相配合的情况，进一步和界面工程师讨论，获得解决方案。不得在界面工程师不知情的情况下随意修改table结构、定位属性和嵌套关系。这样做的坏处是虽然一个人解决了暂时的显示问题，但和其他编码工程师套用的结果出现不同。也不利于界面工程师控制总体界面。<br />4、 对表现层的界面元素和css文件选择符的对应关系。做到心中有数，理解一个模版文件，到套用其他文件时就能够举一反三。</p><p>　5、编码工程师完全理解了界面模版后，就能够顺畅的把数据层的内容放到结构层合适的位置，并指定表现层合适的选择符属性。完成界面套用工作。</p><p>模版说明的内容<br />1、 总体的界面结构<br />2、 页面板块的布局和定位table的写法<br />3、 table嵌套的方式的理由<br />4、 不同功能的界面显示单元说明和使用方法<br />5、 css文件中选择符的使用说明，一般的都能理解，个别特殊的要着重说明。</p><p>Css文件的版本控制<br />Css文件应引入版本控制的机制，项目组中应指定专人负责css文件的上传和修改。fwq的css文件和界面工程师的css文件应该同步更新。不支持编码工程师随意添加选择符修改css文件。谁都可以改就没有标准，没有版本控制就做很难做到界面统一　</p><p>转自：http://www.cnblogs.com/pcxpt/archive/2010/07/08/1773476.html</p><p>另外一篇文章，指出了此文中的几处问题：http://www.cnblogs.com/iingstan/archive/2010/07/09/1774352.html</p><p>不错的文章，推荐一下。</p>]]></description><category>好文分享</category><comments>http://www.chenxinblog.com/post/uispecification.html#comment</comments><wfw:comment>http://www.chenxinblog.com/</wfw:comment><wfw:commentRss>http://www.chenxinblog.com/feed.asp?cmt=235</wfw:commentRss><trackback:ping>http://www.chenxinblog.com/cmd.asp?act=tb&amp;id=235&amp;key=74d1dd01</trackback:ping></item><item><title>2010南非足球世界杯赛程表</title><author>xin0211@gmail.com (chenxin)</author><link>http://www.chenxinblog.com/post/2010nanfeishijiebei.html</link><pubDate>Fri, 11 Jun 2010 12:34:02 +0800</pubDate><guid>http://www.chenxinblog.com/post/2010nanfeishijiebei.html</guid><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp; 4年一次的足球世界杯终于来了，2010年6月11日第19届南非世界杯正式拉开大幕。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;世界杯的开幕式是在晚上8点整开始。然后晚上10点是第一次揭幕战，由东道主南非对墨西哥。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这次世界杯的时间比较合适，每天最少可以看两场世界杯比赛的直播，下班回家19:30能看一场，22:00能看一场，对于有些球迷，熬夜能看02:30的那一场或是通过电视或者网络收看世界杯比赛的重播。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 附上2010南非足球世界杯赛程表，了解世界杯的赛程，可以很方便的查询到自己喜欢的球队的足球世界杯比赛时间，好准时坐在电视机前或通过网络视频收看世界杯的直播。如果您喜欢，请收藏本网页。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我在手机上也安装了一个软件，可以方便的了解世界杯的赛程表，新闻，以及比分。使用ANDROID手机的用户可以到电子市场中下载&ldquo;我们的2010世界杯&rdquo;这个软件。</p><p><table class="tab_01" border="0" cellspacing="0" cellpadding="0" width="99%" align="center">    <tbody>        <tr>            <th class="first" scope="col">小组赛日期</th>            <th scope="col">时间</th>            <th scope="col">对阵</th>            <th scope="col">组别</th>            <th scope="col">比赛地</th>            <th class="last" scope="col">场次</th>        </tr>        <tr>            <td>6月11日 星期五</td>            <td class="nor"><span class="fred1"><font color="#e00303">22:00</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">南非</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">墨西哥</font></span></td>            <td class="nor">A1-A2</td>            <td class="nor">约翰内斯堡(足)</td>            <td class="nol"><span class="fred1"><font color="#e00303">01</font></span></td>        </tr>        <tr class="line2">            <td>6月12日 星期六</td>            <td class="nor"><span class="fred1"><font color="#e00303">02:30</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">乌拉圭</font></span> <span class="fred1"><span class="fred1"><font color="#e00303">VS</font></span></span><span class="blue"><font color="#003599">法国</font></span></td>            <td class="nor">A3-A4</td>            <td class="nor">开普敦</td>            <td class="nol"><span class="fred1"><font color="#e00303">02</font></span></td>        </tr>        <tr>            <td>6月12日 星期六</td>            <td class="nor"><span class="fred1"><font color="#e00303">19:30</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">韩国</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">希腊</font></span></td>            <td class="nor">B3-B4</td>            <td class="nor">伊丽莎白港</td>            <td class="nol"><span class="fred1"><font color="#e00303">04</font></span></td>        </tr>        <tr class="line2">            <td>6月12日 星期六</td>            <td class="nor"><span class="fred1"><font color="#e00303">22:00</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">阿根廷</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">尼日利亚</font></span></td>            <td class="nor">B1-B2</td>            <td class="nor">约翰内斯堡(埃)</td>            <td class="nol"><span class="fred1"><font color="#e00303">03</font></span></td>        </tr>        <tr>            <td>6月13日 星期日</td>            <td class="nor"><span class="fred1"><font color="#e00303">02:30</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">英格兰</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">美国</font></span></td>            <td class="nor">C1-C2</td>            <td class="nor">鲁斯腾堡</td>            <td class="nol"><span class="fred1"><font color="#e00303">05</font></span></td>        </tr>        <tr class="line2">            <td>6月13日 星期日</td>            <td class="nor"><span class="fred1"><font color="#e00303">19:30</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">阿尔及利亚</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">斯洛文尼亚</font></span></td>            <td class="nor">C3-C4</td>            <td class="nor">保罗瓜尼</td>            <td class="nol"><span class="fred1"><font color="#e00303">06</font></span></td>        </tr>        <tr>            <td>6月13日 星期日</td>            <td class="nor"><span class="fred1"><font color="#e00303">22:00</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">塞尔维亚</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">加纳</font></span></td>            <td class="nor">D3-D4</td>            <td class="nor">比勒陀利亚</td>            <td class="nol"><span class="fred1"><font color="#e00303">08</font></span></td>        </tr>        <tr class="line2">            <td>6月14日 星期一</td>            <td class="nor"><span class="fred1"><font color="#e00303">02:30</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">德国</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">澳大利亚</font></span></td>            <td class="nor">D1-D2</td>            <td class="nor">德班</td>            <td class="nol"><span class="fred1"><font color="#e00303">07</font></span></td>        </tr>        <tr>            <td>6月14日 星期一</td>            <td class="nor"><span class="fred1"><font color="#e00303">19:30</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">荷兰</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">丹麦</font></span></td>            <td class="nor">E1-E2</td>            <td class="nor">约翰内斯堡(足)</td>            <td class="nol"><span class="fred1"><font color="#e00303">09</font></span></td>        </tr>        <tr class="line2">            <td>6月14日 星期一</td>            <td class="nor"><span class="fred1"><font color="#e00303">22:00</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">日本</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">喀麦隆</font></span></td>            <td class="nor">E3-E4</td>            <td class="nor">布隆冯丹</td>            <td class="nol"><span class="fred1"><font color="#e00303">10</font></span></td>        </tr>        <tr>            <td>6月15日 星期二</td>            <td class="nor"><span class="fred1"><font color="#e00303">02:30</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">意大利</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">巴拉圭</font></span></td>            <td class="nor">F1-F2</td>            <td class="nor">开普敦</td>            <td class="nol"><span class="fred1"><font color="#e00303">11</font></span></td>        </tr>        <tr class="line2">            <td>6月15日 星期二</td>            <td class="nor"><span class="fred1"><font color="#e00303">19:30</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">新西兰</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">斯洛伐克</font></span></td>            <td class="nor">F3-F4</td>            <td class="nor">鲁斯腾堡</td>            <td class="nol"><span class="fred1"><font color="#e00303">12</font></span></td>        </tr>        <tr>            <td>6月15日 星期二</td>            <td class="nor"><span class="fred1"><font color="#e00303">22:00</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">科特迪瓦</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">葡萄牙</font></span></td>            <td class="nor">G3-G4</td>            <td class="nor">伊丽莎白港</td>            <td class="nol"><span class="fred1"><font color="#e00303">13</font></span></td>        </tr>        <tr class="line2">            <td>6月16日 星期三</td>            <td class="nor"><span class="fred1"><font color="#e00303">02:30</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">巴西</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">朝鲜</font></span></td>            <td class="nor">G1-G2</td>            <td class="nor">约翰内斯堡(埃)</td>            <td class="nol"><span class="fred1"><font color="#e00303">14</font></span></td>        </tr>        <tr>            <td>6月16日 星期三</td>            <td class="nor"><span class="fred1"><font color="#e00303">19:30</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">洪都拉斯</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">智利</font></span></td>            <td class="nor">H3-H4</td>            <td class="nor">内斯普利特</td>            <td class="nol"><span class="fred1"><font color="#e00303">15</font></span></td>        </tr>        <tr class="line2">            <td>6月16日 星期三</td>            <td class="nor"><span class="fred1"><font color="#e00303">22:00</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">西班牙</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">瑞士</font></span></td>            <td class="nor">H1-H2</td>            <td class="nor">德班</td>            <td class="nol"><span class="fred1"><font color="#e00303">16</font></span></td>        </tr>        <tr>            <td>6月17日 星期四</td>            <td class="nor"><span class="fred1"><font color="#e00303">02:30</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">南非</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">乌拉圭</font></span></td>            <td class="nor">A1-A3</td>            <td class="nor">比勒陀利亚</td>            <td class="nol"><span class="fred1"><font color="#e00303">17</font></span></td>        </tr>        <tr class="line2">            <td>6月17日 星期四</td>            <td class="nor"><span class="fred1"><font color="#e00303">19:30</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">阿根廷</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">韩国</font></span></td>            <td class="nor">B1-B3</td>            <td class="nor">约翰内斯堡(足)</td>            <td class="nol"><span class="fred1"><font color="#e00303">20</font></span></td>        </tr>        <tr>            <td>6月17日 星期四</td>            <td class="nor"><span class="fred1"><font color="#e00303">22:00</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">尼日利亚</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">希腊</font></span></td>            <td class="nor">B2-B4</td>            <td class="nor">布隆冯丹</td>            <td class="nol"><span class="fred1"><font color="#e00303">19</font></span></td>        </tr>        <tr class="line2">            <td class="line2">6月18日 星期五</td>            <td class="nor"><span class="fred1"><font color="#e00303">02:30</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">墨西哥</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">法国</font></span></td>            <td class="nor">A2-A4</td>            <td class="nor">保罗瓜尼</td>            <td class="nol"><span class="fred1"><font color="#e00303">18</font></span></td>        </tr>        <tr>            <td>6月18日 星期五</td>            <td class="nor"><span class="fred1"><font color="#e00303">19:30</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">德国</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">塞尔维亚</font></span></td>            <td class="nor">D1-D3</td>            <td class="nor">伊丽莎白港</td>            <td class="nol"><span class="fred1"><font color="#e00303">21</font></span></td>        </tr>        <tr class="line2">            <td>6月18日 星期五</td>            <td class="nor"><span class="fred1"><font color="#e00303">22:00</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">斯洛文尼亚</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">美国</font></span></td>            <td class="nor">C4-C2</td>            <td class="nor">约翰内斯堡(埃)</td>            <td class="nol"><span class="fred1"><font color="#e00303">22</font></span></td>        </tr>        <tr>            <td>6月19日 星期六</td>            <td class="nor"><span class="fred1"><font color="#e00303">02:30</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">英格兰</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">阿尔及利亚</font></span></td>            <td class="nor">C1-C3</td>            <td class="nor">开普敦</td>            <td class="nol"><span class="fred1"><font color="#e00303">23</font></span></td>        </tr>        <tr class="line2">            <td>6月19日 星期六</td>            <td class="nor"><span class="fred1"><font color="#e00303">19:30</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">荷兰</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">日本</font></span></td>            <td class="nor">E1-E3</td>            <td class="nor">德班</td>            <td class="nol"><span class="fred1"><font color="#e00303">25</font></span></td>        </tr>        <tr>            <td>6月19日 星期六</td>            <td class="nor"><span class="fred1"><font color="#e00303">22:00</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">加纳</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">澳大利亚</font></span></td>            <td class="nor">D4-D2</td>            <td class="nor">鲁斯腾堡</td>            <td class="nol"><span class="fred1"><font color="#e00303">24</font></span></td>        </tr>        <tr class="line2">            <td class="line2">6月20日 星期日</td>            <td class="nor"><span class="fred1"><font color="#e00303">02:30</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">丹麦</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">喀麦隆</font></span></td>            <td class="nor">E2-E4</td>            <td class="nor">比勒陀利亚</td>            <td class="nol"><span class="fred1"><font color="#e00303">26</font></span></td>        </tr>        <tr>            <td>6月20日 星期日</td>            <td class="nor"><span class="fred1"><font color="#e00303">19:30</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">巴拉圭</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">斯洛伐克</font></span></td>            <td class="nor">F2-F4</td>            <td class="nor">布隆冯丹</td>            <td class="nol"><span class="fred1"><font color="#e00303">27</font></span></td>        </tr>        <tr class="line2">            <td class="line2">6月20日 星期日</td>            <td class="nor"><span class="fred1"><font color="#e00303">22:00</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">意大利</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">新西兰</font></span></td>            <td class="nor">F1-F3</td>            <td class="nor">内斯普利特</td>            <td class="nol"><span class="fred1"><font color="#e00303">28</font></span></td>        </tr>        <tr>            <td class="line2">6月21日 星期一</td>            <td class="nor"><span class="fred1"><font color="#e00303">02:30</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">巴西</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">科特迪瓦</font></span></td>            <td class="nor">G1-G3</td>            <td class="nor">约翰内斯堡(足)</td>            <td class="nol"><span class="fred1"><font color="#e00303">29</font></span></td>        </tr>        <tr class="line2">            <td class="line2">6月21日 星期一</td>            <td class="nor"><span class="fred1"><font color="#e00303">19:30</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">朝鲜</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">葡萄牙</font></span></td>            <td class="nor">G2-G4</td>            <td class="nor">开普敦</td>            <td class="nol"><span class="fred1"><font color="#e00303">30</font></span></td>        </tr>        <tr>            <td>6月21日 星期一</td>            <td class="nor"><span class="fred1"><font color="#e00303">22:00</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">智利</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">瑞士</font></span></td>            <td class="nor">H4-H2</td>            <td class="nor">伊丽莎白港</td>            <td class="nol"><span class="fred1"><font color="#e00303">31</font></span></td>        </tr>        <tr class="line2">            <td class="line2">6月22日 星期二</td>            <td class="nor"><span class="fred1"><font color="#e00303">02:30</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">西班牙</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">洪都拉斯</font></span></td>            <td class="nor">H1-H3</td>            <td class="nor">约翰内斯堡(埃)</td>            <td class="nol"><span class="fred1"><font color="#e00303">32</font></span></td>        </tr>        <tr>            <td>6月22日 星期二</td>            <td class="nor"><span class="fred1"><font color="#e00303">22:00</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">墨西哥</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">乌拉圭</font></span></td>            <td class="nor">A2-A3</td>            <td class="nor">鲁斯腾堡</td>            <td class="nol"><span class="fred1"><font color="#e00303">33</font></span></td>        </tr>        <tr class="line2">            <td class="line2">6月22日 星期二</td>            <td class="nor"><span class="fred1"><font color="#e00303">22:00</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">南非</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">法国</font></span></td>            <td class="nor">A1-A4</td>            <td class="nor">布隆冯丹</td>            <td class="nol"><span class="fred1"><font color="#e00303">34</font></span></td>        </tr>        <tr>            <td>6月23日 星期三</td>            <td class="nor"><span class="fred1"><font color="#e00303">02:30</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">尼日利亚</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">韩国</font></span></td>            <td class="nor">B2-B3</td>            <td class="nor">德班</td>            <td class="nol"><span class="fred1"><font color="#e00303">35</font></span></td>        </tr>        <tr class="line2">            <td>6月23日 星期三</td>            <td class="nor"><span class="fred1"><font color="#e00303">02:30</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">阿根廷</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">希腊</font></span></td>            <td class="nor">B1-B4</td>            <td class="nor">保罗瓜尼</td>            <td class="nol"><span class="fred1"><font color="#e00303">36</font></span></td>        </tr>        <tr>            <td>6月23日 星期三</td>            <td class="nor"><span class="fred1"><font color="#e00303">22:00</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">英格兰</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">斯洛文尼亚</font></span></td>            <td class="nor">C1-C4</td>            <td class="nor">伊丽莎白港</td>            <td class="nol"><span class="fred1"><font color="#e00303">37</font></span></td>        </tr>        <tr class="line2">            <td>6月23日 星期三</td>            <td class="nor"><span class="fred1"><font color="#e00303">22:00</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">美国</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">阿尔及利亚</font></span></td>            <td class="nor">C2-C3</td>            <td class="nor">比勒陀利亚</td>            <td class="nol"><span class="fred1"><font color="#e00303">38</font></span></td>        </tr>        <tr>            <td>6月24日 星期四</td>            <td class="nor"><span class="fred1"><font color="#e00303">02:30</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">德国</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">加纳</font></span></td>            <td class="nor">D1-D4</td>            <td class="nor">约翰内斯堡(足)</td>            <td class="nol"><span class="fred1"><font color="#e00303">39</font></span></td>        </tr>        <tr class="line2">            <td>6月24日 星期四</td>            <td class="nor"><span class="fred1"><font color="#e00303">02:30</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">塞尔维亚</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">澳大利亚</font></span></td>            <td class="nor">D3-D2</td>            <td class="nor">内斯普利特</td>            <td class="nol"><span class="fred1"><font color="#e00303">40</font></span></td>        </tr>        <tr>            <td>6月24日 星期四</td>            <td class="nor"><span class="fred1"><font color="#e00303">22:00</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">意大利</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">斯洛伐克</font></span></td>            <td class="nor">F1-F4</td>            <td class="nor">约翰内斯堡(埃)</td>            <td class="nol"><span class="fred1"><font color="#e00303">41</font></span></td>        </tr>        <tr class="line2">            <td>6月24日 星期四</td>            <td class="nor"><span class="fred1"><font color="#e00303">22:00</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">巴拉圭</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">新西兰</font></span></td>            <td class="nor">F2-F3</td>            <td class="nor">保罗瓜尼</td>            <td class="nol"><span class="fred1"><font color="#e00303">42</font></span></td>        </tr>        <tr>            <td>6月25日 星期五</td>            <td class="nor"><span class="fred1"><font color="#e00303">02:30</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">丹麦</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">日本</font></span></td>            <td class="nor">E2-E3</td>            <td class="nor">鲁斯腾堡</td>            <td class="nol"><span class="fred1"><font color="#e00303">43</font></span></td>        </tr>        <tr class="line2">            <td>6月25日 星期五</td>            <td class="nor"><span class="fred1"><font color="#e00303">02:30</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">荷兰</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">喀麦隆</font></span></td>            <td class="nor">E1-E4</td>            <td class="nor">开普敦</td>            <td class="nol"><span class="fred1"><font color="#e00303">44</font></span></td>        </tr>        <tr>            <td>6月25日 星期五</td>            <td class="nor"><span class="fred1"><font color="#e00303">22:00</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">巴西</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">葡萄牙</font></span></td>            <td class="nor">G1-G4</td>            <td class="nor">德班</td>            <td class="nol"><span class="fred1"><font color="#e00303">45</font></span></td>        </tr>        <tr class="line2">            <td>6月25日 星期五</td>            <td class="nor"><span class="fred1"><font color="#e00303">22:00</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">朝鲜</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">科特迪瓦</font></span></td>            <td class="nor">G2-G3</td>            <td class="nor">内斯普利特</td>            <td class="nol"><span class="fred1"><font color="#e00303">46</font></span></td>        </tr>        <tr>            <td>6月26日 星期六</td>            <td class="nor"><span class="fred1"><font color="#e00303">02:30</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">西班牙</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">智利</font></span></td>            <td class="nor">H1-H4</td>            <td class="nor">比勒陀利亚</td>            <td class="nol"><span class="fred1"><font color="#e00303">47</font></span></td>        </tr>        <tr class="line2">            <td>6月26日 星期六</td>            <td class="nor"><span class="fred1"><font color="#e00303">02:30</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">瑞士</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">洪都拉斯</font></span></td>            <td class="nor">H2-H3</td>            <td class="nor">布隆冯丹</td>            <td class="nol"><span class="fred1"><font color="#e00303">48</font></span></td>        </tr>    </tbody></table></p><div class="space">&nbsp;</div><p><table class="tab_01" border="0" cellspacing="0" cellpadding="0" width="99%" align="center">    <tbody>        <tr>            <th class="first" scope="col">八分之一决赛日期</th>            <th scope="col">时间</th>            <th scope="col">对阵</th>            <th scope="col">组别</th>            <th scope="col">比赛地</th>            <th class="last" scope="col">场次</th>        </tr>        <tr>            <td>6月26日 星期六</td>            <td class="nor"><span class="fred1"><font color="#e00303">22:00</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">1A</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">2B</font></span></td>            <td class="nor">1A-2B</td>            <td class="nor">伊丽莎白港</td>            <td class="nol"><span class="fred1"><font color="#e00303">49</font></span></td>        </tr>        <tr class="line2">            <td>6月27日 星期日</td>            <td class="nor"><span class="fred1"><font color="#e00303">02:30</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">1C</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">2D</font></span></td>            <td class="nor">1C-2D</td>            <td class="nor">鲁斯腾堡</td>            <td class="nol"><span class="fred1"><font color="#e00303">50</font></span></td>        </tr>        <tr>            <td>6月27日 星期日</td>            <td class="nor"><span class="fred1"><font color="#e00303">22:00</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">1D</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">2C</font></span></td>            <td class="nor">1D-2C</td>            <td class="nor">布隆冯丹</td>            <td class="nol"><span class="fred1"><font color="#e00303">51</font></span></td>        </tr>        <tr class="line2">            <td class="line2">6月28日 星期一</td>            <td class="nor"><span class="fred1"><font color="#e00303">02:30</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">1B</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">2A</font></span></td>            <td class="nor">1B-2A</td>            <td class="nor">约翰内斯堡(足)</td>            <td class="nol"><span class="fred1"><font color="#e00303">52</font></span></td>        </tr>        <tr>            <td>6月28日 星期一</td>            <td class="nor"><span class="fred1"><font color="#e00303">22:00</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">1E</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">2F</font></span></td>            <td class="nor">1E-2F</td>            <td class="nor">德班</td>            <td class="nol"><span class="fred1"><font color="#e00303">53</font></span></td>        </tr>        <tr class="line2">            <td>6月29日 星期二</td>            <td class="nor"><span class="fred1"><font color="#e00303">02:30</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">1G</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">2H</font></span></td>            <td class="nor">1G-2H</td>            <td class="nor">约翰内斯堡(埃)</td>            <td class="nol"><span class="fred1"><font color="#e00303">54</font></span></td>        </tr>        <tr>            <td class="line2">6月29日 星期二</td>            <td class="nor"><span class="fred1"><font color="#e00303">22:00</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">1F</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">2E</font></span></td>            <td class="nor">1F-2E</td>            <td class="nor">比勒陀利亚</td>            <td class="nol"><span class="fred1"><font color="#e00303">55</font></span></td>        </tr>        <tr class="line2">            <td>6月30日 星期三</td>            <td class="nor"><span class="fred1"><font color="#e00303">02:30</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">1H</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">2G</font></span></td>            <td class="nor">1H-2G</td>            <td class="nor">开普敦</td>            <td class="nol"><span class="fred1"><font color="#e00303">56</font></span></td>        </tr>    </tbody></table></p><div class="space">&nbsp;</div><p><table class="tab_01" border="0" cellspacing="0" cellpadding="0" width="99%" align="center">    <tbody>        <tr>            <th class="first" scope="col">四分之一决赛日期</th>            <th scope="col">时间</th>            <th scope="col">对阵</th>            <th scope="col">组别</th>            <th scope="col">比赛地</th>            <th class="last" scope="col">场次</th>        </tr>        <tr>            <td>7月2日 星期五</td>            <td class="nor"><span class="fred1"><font color="#e00303">22:00</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">53场胜者</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">54场胜者</font></span></td>            <td class="nor">W53-W54</td>            <td class="nor">伊丽莎白港</td>            <td class="nol"><span class="fred1"><font color="#e00303">57</font></span></td>        </tr>        <tr class="line2">            <td>7月3日 星期六</td>            <td class="nor"><span class="fred1"><font color="#e00303">02:30</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">49场胜者</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">50场胜者</font></span></td>            <td class="nor">W49-W50</td>            <td class="nor">约翰内斯堡(足)</td>            <td class="nol"><span class="fred1"><font color="#e00303">58</font></span></td>        </tr>        <tr>            <td>7月3日 星期六</td>            <td class="nor"><span class="fred1"><font color="#e00303">22:00</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">51场胜者</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">52场胜者</font></span></td>            <td class="nor">W51-W52</td>            <td class="nor">开普敦</td>            <td class="nol"><span class="fred1"><font color="#e00303">59</font></span></td>        </tr>        <tr class="line2">            <td>7月4日 星期日</td>            <td class="nor"><span class="fred1"><font color="#e00303">02:30</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">55场胜者</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">56场胜者</font></span></td>            <td class="nor">W55-W56</td>            <td class="nor">约翰内斯堡(埃)</td>            <td class="nol"><span class="fred1"><font color="#e00303">60</font></span></td>        </tr>    </tbody></table></p><div class="space">&nbsp;</div><p><table class="tab_01" border="0" cellspacing="0" cellpadding="0" width="99%" align="center">    <tbody>        <tr>            <th class="first" scope="col">半决赛日期</th>            <th scope="col">时间</th>            <th scope="col">对阵</th>            <th scope="col">组别</th>            <th scope="col">比赛地</th>            <th class="last" scope="col">场次</th>        </tr>        <tr>            <td>7月7日 星期三</td>            <td class="nor"><span class="fred1"><font color="#e00303">02:30</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">57场胜者</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">58场胜者</font></span></td>            <td class="nor">W57-W58</td>            <td class="nor">开普敦</td>            <td class="nol"><span class="fred1"><font color="#e00303">61</font></span></td>        </tr>        <tr class="line2">            <td>7月8日 星期四</td>            <td class="nor"><span class="fred1"><font color="#e00303">02:30</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">59场胜者</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">60场胜者</font></span></td>            <td class="nor">W59-W60</td>            <td class="nor">德班</td>            <td class="nol"><span class="fred1"><font color="#e00303">62</font></span></td>        </tr>    </tbody></table></p><div class="space">&nbsp;</div><p><table class="tab_01" border="0" cellspacing="0" cellpadding="0" width="99%" align="center">    <tbody>        <tr>            <th class="first" scope="col">三四名比赛日期</th>            <th scope="col">时间</th>            <th scope="col">对阵</th>            <th scope="col">组别</th>            <th scope="col">比赛地</th>            <th class="last" scope="col">场次</th>        </tr>        <tr>            <td>7月11日 星期日</td>            <td class="nor"><span class="fred1"><font color="#e00303">02:30</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">61场负者</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">62场负者</font></span></td>            <td class="nor">L61-L62</td>            <td class="nor">伊丽莎白港</td>            <td class="nol"><span class="fred1"><font color="#e00303">63</font></span></td>        </tr>    </tbody></table></p><div class="space">&nbsp;</div><p><table class="tab_01" border="0" cellspacing="0" cellpadding="0" width="99%" align="center">    <tbody>        <tr>            <th class="first" scope="col">冠亚军决赛日期</th>            <th scope="col">时间</th>            <th scope="col">对阵</th>            <th scope="col">组别</th>            <th scope="col">比赛地</th>            <th class="last" scope="col">场次</th>        </tr>        <tr>            <td>7月12日 星期一</td>            <td class="nor"><span class="fred1"><font color="#e00303">02:30</font></span></td>            <td class="nor"><span class="blue"><font color="#003599">61场胜者</font></span> <span class="fred1"><font color="#e00303">VS</font></span> <span class="blue"><font color="#003599">62场胜者</font></span></td>            <td class="nor">W61-W62</td>            <td class="nor">约翰内斯堡(足)</td>            <td class="nol"><span class="fred1"><font color="#e00303">64</font></span></td>        </tr>    </tbody></table></p>]]></description><category>娱乐生活</category><comments>http://www.chenxinblog.com/post/2010nanfeishijiebei.html#comment</comments><wfw:comment>http://www.chenxinblog.com/</wfw:comment><wfw:commentRss>http://www.chenxinblog.com/feed.asp?cmt=234</wfw:commentRss><trackback:ping>http://www.chenxinblog.com/cmd.asp?act=tb&amp;id=234&amp;key=8e9ee7f5</trackback:ping></item><item><title>产品设计之密码安全</title><author>xin0211@gmail.com (chenxin)</author><link>http://www.chenxinblog.com/post/password.html</link><pubDate>Sun, 21 Feb 2010 08:31:48 +0800</pubDate><guid>http://www.chenxinblog.com/post/password.html</guid><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp; 网络密码是网络安全的重要组成部分，如果个人密码遭到了破解，使用了正常的密码在做不正常的操作，将会引起非常严重的后果。</p><p>&nbsp;&nbsp;&nbsp; 诚然，一些密码被破解问题和个人用户有不可推卸的责任，例如密码是生日或是111111或123456类似比较简单的密码，还有就是本身电脑中了记忆键盘敲击木马或是其他木马，本身的电脑安全就有问题，但是，在给个人用户积极做密码防盗的知识同时，从网站策划的角度来说，网络安全也应该通过技术的手段，去防范以及引导用户加强对密码的安全意识。</p><p>&nbsp;&nbsp;&nbsp;&nbsp; 简述下目前的几种方法。</p><p>&nbsp;&nbsp;&nbsp; 1.避免用户输入简单密码<br />&nbsp;&nbsp;&nbsp; 简单的密码很容易被密码穷举类软件暴力破解，在用户设置密码的时候，要提示或引导用户输入比较复杂的密码。例如可以使用以下几种策略：<br />&nbsp;&nbsp;&nbsp; 1)密码长度必须大于6位。<br />&nbsp;&nbsp;&nbsp; 2)密码不能使用纯数字密码。<br />&nbsp;&nbsp;&nbsp; 3)提示密码安全级别。<br />&nbsp;&nbsp;&nbsp; 4)用户名密码不能相同。</p><p>&nbsp;&nbsp;&nbsp; 2.使用软件盘输入密码<br />&nbsp;&nbsp;&nbsp; 在密码输入框旁边设置软件盘输入，这样可以有效避免通过击键记录破解密码。</p><p>&nbsp;&nbsp;&nbsp; 3.密码传输加密<br />&nbsp;&nbsp;&nbsp; 提供了密码安全控件，该安全控件实现了在SSL加密传输基础上对用户的关键信息进行再次的复杂加密，并可以有效防止木马程序截取键盘记录。</p><p>&nbsp;&nbsp;&nbsp; 4.数字证书<br />&nbsp;&nbsp;&nbsp; 通过电脑安装数字证书，确保只有使用数字证书的用户才可以登录系统。</p><p>&nbsp;&nbsp;&nbsp; 5.动态口令<br />&nbsp;&nbsp;&nbsp; 实现动态口令有三种方式：<br />&nbsp;&nbsp;&nbsp; 卡片式动态口令卡<br />&nbsp;&nbsp;&nbsp; 短信动态口令<br />&nbsp;&nbsp;&nbsp; 硬件设备动态口令</p><p>&nbsp;&nbsp;&nbsp; 6.USB KEY<br />&nbsp;&nbsp;&nbsp; 使用硬件设备USB KEY确保密码安全。</p><p>&nbsp;&nbsp;&nbsp;&nbsp; 其中1，2，3是比较简单容易实现的，4，5，6要根据密码的重要程度，以及用户对安全意识的重要性，去决定用什么方式去实现。</p>]]></description><category>产品研究</category><comments>http://www.chenxinblog.com/post/password.html#comment</comments><wfw:comment>http://www.chenxinblog.com/</wfw:comment><wfw:commentRss>http://www.chenxinblog.com/feed.asp?cmt=233</wfw:commentRss><trackback:ping>http://www.chenxinblog.com/cmd.asp?act=tb&amp;id=233&amp;key=1cfc86af</trackback:ping></item><item><title>山西长治地震消息为震中，波及了全国人民</title><author>xin0211@gmail.com (chenxin)</author><link>http://www.chenxinblog.com/post/changzhidizhen.html</link><pubDate>Sun, 21 Feb 2010 07:41:37 +0800</pubDate><guid>http://www.chenxinblog.com/post/changzhidizhen.html</guid><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 凌晨被电话叫醒，是同学打来的电话，他弟弟给他打电话说，长治传言地震，现在很多人都在南广场，让我打电话给家里人。我赶紧就给妈妈打电话，妈妈说刚出去外面了，外面好多人，待了一个多小时，外面太冷，又回来了。这个消息是屯留的朋友告诉她的。嘱咐了几句，让妈妈穿多点衣服，去外面逛逛，别在家待着。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 挂了电话，我也睡不着了，这种事情，真是宁可信其有，不可信其无。但我可以做的，只能先上网查查。百度没有搜索到什么消息，只有<a target="_blank" href="http://tieba.baidu.com/f?ct=&amp;tn=&amp;rn=&amp;pn=&amp;lm=&amp;cm=0&amp;kw=%B3%A4%D6%CE&amp;rs2=0&amp;sc=&amp;un=&amp;rs1=&amp;rs5=&amp;sn=&amp;rs6=&amp;myselectvalue=0&amp;word=%B3%A4%D6%CE&amp;submit=%B0%D9%B6%C8%D2%BB%CF%C2&amp;tb=on">百度贴吧</a>里很热闹，一晚上都是在谈论这个事情。在GOOGLE，看到的消息很多凌晨发的消息。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 总结下看到的消息，最初的来源，应该是屯留或是长子县那边传过来的，据说屯留某个大队，还用大喇叭广播了。还搜索到了1月26日，有人在潞城拍摄到的地震云。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 上网打开QQ后，发现了好几个长治的朋友在网上，简单聊了下以及在百度贴吧里看到的，2月21日这晚上，长治大街上热闹程度，要超过正月15，外面人山人海的很是热闹。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 得知消息的途径，大多是通过电话的方式通知互相传消息，照成移动线路繁忙，估计短信电话一直就没有停过吧。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 飞龙小区的保安用门铃叫醒了不少人，这也说明有点消息，就会通知更多的人。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 据说太原满大街也有不少人。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这次地震相比汶川地震的时候，感觉离我更近，汶川地震，过去就过去了，知道震中在哪，不会离自己太近。但这次是未知的情况，谁知道会有多远。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 一晚上的折腾就这样过去了，不知道有多少人是无眠之夜，先不说长治的起床多少，像我这样在外地的，应该很多人也是无眠夜吧。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 现在天已经亮了，大家该散的也散了，该去上班的也要去上班了，这次凌晨的地震演练活动也该结束了吧。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 此次地震消息，长治为震中，波及了全国人民，虽然（希望）地震没有发生，但是这种爱的奉献已经发生，大家互相传消息，进行了提前的演练活动，也算是一种精神吧。</p><p>&nbsp;</p><p>&nbsp;</p>]]></description><category>娱乐生活</category><comments>http://www.chenxinblog.com/post/changzhidizhen.html#comment</comments><wfw:comment>http://www.chenxinblog.com/</wfw:comment><wfw:commentRss>http://www.chenxinblog.com/feed.asp?cmt=232</wfw:commentRss><trackback:ping>http://www.chenxinblog.com/cmd.asp?act=tb&amp;id=232&amp;key=3e879740</trackback:ping></item><item><title>戒烟行动开始了</title><author>xin0211@gmail.com (chenxin)</author><link>http://www.chenxinblog.com/post/jieyan.html</link><pubDate>Sat, 20 Feb 2010 16:44:00 +0800</pubDate><guid>http://www.chenxinblog.com/post/jieyan.html</guid><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 一直没有想过戒烟，但事实证明，我还是走上了这条路，一条自己以前觉的没有必要的戒烟之路。<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 从初中开始抽烟吧，那个年龄的孩子，就是看见别人做什么，自己就想做什么。对于那个年龄的孩子，抽烟就是一个长大的标志，就是一个所谓男人成熟后要做的事情。<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 初中的孩子抽烟，就是一个典型叛逆的表现。家长是不会同意的，但就是越不让，但就偏要去做，就是这样的叛逆，就一直伴随着我以后的成长。那时候抽烟，总是偷偷摸摸的，经常从爸爸的已经打开的烟盒里，拿出一两根出来，慢慢的，这样已经不能满足需求，而变成从爸爸开封的一条烟中，从最后抽出一盒来，然后把前面的再放进去。这样的办法用过好多次，不知道是爸爸没有发现，还是对我睁一只眼闭一只眼。<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 学校附近，小卖铺里卖烟，也迎合了学生的心理，学生不会一盒盒买的，毕竟零花钱是有限的，这时候就出现了零卖烟的情况，一根根的卖烟，这也是促长小孩子抽烟的一个因素。我想和我一样有这样经历的人也是有很多的。<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 最让我抽烟难以忘记的有几个有意思的事。<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在学校，我们在操场集体抽烟，结果被班主任看到，过来问我们抽什么好烟，让我们给他发一根，那种尴尬的局面，现在想起来都觉的有意思。还有就是那会上课抽烟，和同学换座位到最后一排靠近后门的地方，那里比较透风，不容易被发现。偷偷的点上根烟和同学一起抽，现在想起来，这真是比较疯狂的事情。<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我那会在家一直是一个人一个屋子住，有段时间，一个朋友一直在我家住着，晚上我们就偷偷抽烟，把烟头扔在床下，有的时候，晚上都没有烟了，就会从床下翻一翻，哪根烟还剩下一点，都会再次点上&hellip;&hellip;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 上大学以后，虽然学校也不让抽烟，但相对来说，那会已经比较自由了，而也是那时候，我买烟开始成条的开始买。<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 上班以后，抽烟更是变的自由，谁也不会管。<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 一直以来，我抽烟不是那种特别凶的，基本抽烟都是有规律的。早晨起来，路上，到公司，上午，中午吃饭前后，下午2根，下班到车站，晚上回去2根。属于那种到什么时候，就好像应该抽烟了一样。<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 后来，我认识了老婆，因为她老爸不抽烟，所以她成长在没有抽烟的环境中，对我，也不是很喜欢我抽烟，但还是比较放任的那种，只要我不是抽的很厉害，也不是很管我。但结婚后，有好几次，老婆和我坦诚的聊天，希望我慢慢的戒烟，我每次都是比较敷衍的应付。我的想法就是抽烟虽然对身体不好，但也不至于那么的严重。所以我真的不想戒烟，抽烟对我来说，就好像是饭前洗手，没事就拿起一根来当个事做那么习惯， 那么正常的事情。<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 但老婆后来和我说的频率多起来，我总觉的虽然抽烟对我来说是一种习惯，但为了让老婆少生气，让我们不要为了这种小事情生气，我决定戒烟了。<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2010年2月8日凌晨，我连着不断的抽了几根烟，对于我平时的量，那些烟抽的让我恶心。然后去睡觉，早晨起来，我开始我的戒烟行动。<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 选择这个时间戒烟，对我来说是个挑战。过年本想开车回家，在路上，只要一休息，按以前的习惯，肯定是要抽烟的，我要从我最习惯抽烟的行为中强制自己忘掉。后来因为天气情况，做火车回家。一上火车，通行的朋友就让我和他去抽烟，我说自己戒掉了，把一种留在身上的半包烟还给了他。<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 过年回家的日子，大家抽的都是相对比较好些的烟，一出去吃饭，玩，就互相发烟，我忍住了，让自己在最诱惑，大家都抽烟的情况下选择了拒绝。在最习惯的过程中，自己需要比较大的毅力选择拒绝，我也做到了。<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 戒烟的感觉是什么，就好像嘴里很干，老想有点什么东西，我选择了吃东西，呵呵，这也是很多人说的戒烟后会发胖的原因吧。在做一个事后，总觉的缺点什么，这也大概就是烟吧。以前的习惯在脑子里出现，而另一个声音在告诉你，你已经戒烟了，这时候不应该抽烟，选择做点别的吧。脑子里总是两种想法在吵架，必须让戒烟的想法战胜习惯的想法。<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2010年2月20日，在我戒烟12天后，就在20分钟前，我点了一支烟，这不是在宣布我戒烟结束，而是尝试着让烟重新触觉我的神经。但抽第一口烟的时候，并没有那种期待久违的感觉，反而是让我一阵头晕，呵呵，这种感觉真不是我想象的那种。<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 记录下来，让我回忆一下我当烟民的经历，也告诉自己，没有什么办不到的，我戒烟初步成功了。一直在听别人说戒烟有多么困难，也见过不少广告介绍戒烟产品，老觉的戒烟是一种很可怕的事情。虽然只有12天的时间没有抽烟，但对我来说，就是一种成功了。戒烟的行动还在继续&hellip;&hellip;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 烟对于我以后的日子，还会存在的，不过那只会是偶尔的一种行为罢了，不会像以前那样，每天都要备着。<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 戒烟虽然很困难，但想做一样是可以做到的。陈欣，加油，你戒烟能行的。<br /><br />&nbsp;</p>]]></description><category>娱乐生活</category><comments>http://www.chenxinblog.com/post/jieyan.html#comment</comments><wfw:comment>http://www.chenxinblog.com/</wfw:comment><wfw:commentRss>http://www.chenxinblog.com/feed.asp?cmt=231</wfw:commentRss><trackback:ping>http://www.chenxinblog.com/cmd.asp?act=tb&amp;id=231&amp;key=bc6f162d</trackback:ping></item><item><title>35 个你也许不知道的 Google 开源项目</title><author>xin0211@gmail.com (chenxin)</author><link>http://www.chenxinblog.com/post/googlesource.html</link><pubDate>Mon, 28 Dec 2009 21:07:44 +0800</pubDate><guid>http://www.chenxinblog.com/post/googlesource.html</guid><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Google是支持开源运动的最大公司之一，它们现在总共<a href="http://code.google.com/hosting/projects.html" target="_blank"><font color="#888888">发布有超过500个的开源项目</font></a>（大部分都是利用它们的API来完成），<strong>本文将列举一些有趣的开源项目，其中很可能有不少你不知道。</strong></p><p>&nbsp;</p><h4>文本文件处理：</h4><p><a href="http://code.google.com/p/crush-tools/" target="_blank"><font color="#888888">Google CRUSH (Custom Reporting Utilities for SHell)</font></a></p><p>CRUSH是为命令行或shell scripts处理特定文字数据而制作的一系列工具，<a href="http://code.google.com/p/crush-tools/wiki/CrushTutorial" target="_blank"><font color="#888888">这里有指南</font></a>。</p><h4>C++库和源代码：</h4><p><a href="http://code.google.com/p/google-breakpad/"><font color="#888888">Google Breakpad</font></a></p><p>一个开源的多平台崩溃报告系统。</p><p><a href="http://code.google.com/p/google-gflags/"><font color="#888888">Google GFlags</font></a></p><p>Gflags是一个命令行标记的处理库，它可以替代getopt()，其内置对C++的支持比如string。<a href="http://google-gflags.googlecode.com/svn/trunk/doc/gflags.html" target="_blank"><font color="#888888">指南在此</font></a>。</p><p><a href="http://code.google.com/p/google-glog/" target="_blank"><font color="#888888">Google Glog</font></a></p><p>Glog库可执行应用级的登陆，提供基于C++式的登陆API，可用于Linux、BSD和Windows。<a href="http://google-glog.googlecode.com/svn/trunk/doc/glog.html" target="_blank"><font color="#888888">指南见此</font></a>。</p><p><a href="http://code.google.com/p/google-perftools/" target="_blank"><font color="#888888">Google PerfTools</font></a></p><p>这个工具可让开发创建更强大的应用程序，特别是那些用C++模版开发的多线程应用程序，包括TCMalloc, heap-checker, heap-profiler 和cpu-profiler。指南<a href="http://code.google.com/p/google-perftools/wiki/GooglePerformanceTools" target="_blank"><font color="#888888">见此</font></a>还有<a href="http://google-perftools.googlecode.com/svn/trunk/doc/index.html" target="_blank"><font color="#888888">这里</font></a>。</p><p><a href="http://code.google.com/p/google-sparsehash/" target="_blank"><font color="#888888">Google Sparse Hash</font></a></p><p>非常节省内存的hash-map。<a href="http://google-sparsehash.googlecode.com/svn/trunk/doc/index.html" target="_blank"><font color="#888888">指南见此</font></a>。</p><p><a href="http://code.google.com/p/omaha/" target="_blank"><font color="#888888">Omaha Google Update</font></a></p><p>Omaha，也就是Google Update，它可以保证你的软件随时升级到最新版本，目前很多Windows下的Google软件都是用Omaha升级的，包括Google Chrome和Google Earth，当然你也可以用于自己的应用程序。指南<a href="http://omaha.googlecode.com/svn/wiki/OmahaOverview.html" target="_blank"><font color="#888888">看这里</font></a>还有<a href="http://code.google.com/p/omaha/wiki/DeveloperSetupGuide" target="_blank"><font color="#888888">这里</font></a>。</p><p><a href="http://code.google.com/p/protobuf/" target="_blank"><font color="#888888">Protocol Buffers</font></a></p><p>Protocol Buffers是一种可扩展编码序列数据的方式，Google在几乎所有内部RPC协议和文件格式都使用了Protocol Buffers。<a href="http://code.google.com/intl/pl/apis/protocolbuffers/docs/overview.html" target="_blank"><font color="#888888">指南见此</font></a>。<a href="http://code.google.com/p/protobuf/wiki/ThirdPartyAddOns" target="_blank"><font color="#888888">它可以用于很多语言而且被一些IDE所支持，比如NetBeans</font></a>。</p><h4>互联网：</h4><p><a href="http://code.google.com/p/google-code-prettify/" target="_blank"><font color="#888888">Google Code Pretiffy</font></a></p><p>这是一个Javascript模块和CSS文件，它可以让HTML页面里的部分源码高亮显示，支持C/C++, Java, Python, Ruby, PHP, VisualBasic, AWK, Bash, SQL, HTML, XML, CSS, JavaScript, Makefiles和部分Perl，不支持Smalltalk和所有的CAML。<a href="http://google-code-prettify.googlecode.com/svn/trunk/README.html" target="_blank"><font color="#888888">例子见此</font></a>。</p><p><a href="http://code.google.com/p/spriteme/" target="_blank"><font color="#888888">SpriteMe easy CSS spirtes</font></a></p><p>SpriteMe使你可以更轻松的创造CSS Sprites（俗称雪碧）就是把网站要用到的图片都堆在一张图片里，用CSS控制调用哪个区域。<a href="http://spriteme.org/" target="_blank"><font color="#888888">它有一个自己的官网在这里</font></a>。</p><p><a href="http://code.google.com/p/reducisaurus/" target="_blank"><font color="#888888">Redacisaurus</font></a></p><p>Reducisaurus是一个压缩CSS和JS文件的网络服务，基于YUI压缩算法，运行于App Engine。</p><p><a href="http://code.google.com/p/jaikuengine/" target="_blank"><font color="#888888">JaikuEngine</font></a></p><p>JaikuEngine是一个运行于App Engine的微博系统，由<a href="http://www.jaiku.com/" target="_blank"><font color="#888888">jaiku.com</font></a>运营。要查看移动客户端的源码可以<a href="http://code.google.com/p/jaikuengine-mobile-client/" target="_blank"><font color="#888888">看这里</font></a>，<a href="http://code.google.com/p/jaikuengine/source/browse/trunk/doc/README.txt" target="_blank"><font color="#888888">这里还有介绍</font></a>。</p><p><a href="http://code.google.com/p/selector-shell/" target="_blank"><font color="#888888">Selector Shell</font></a></p><p>Selector Shell是一个基于浏览器的测试工具，它可以让你看到CSS在不同浏览器里的样式，用Javascript写的，<a href="http://selector-shell.appspot.com/" target="_blank"><font color="#888888">你可以在这里测试</font></a>。</p><p><a href="http://code.google.com/p/google-feedserver/" target="_blank"><font color="#888888">Google Feed Server</font></a></p><p>Google Feed Server是一个开源Atom发布协议服务，基于Apache Abdera框架，允许开发者快速为当前数据源（比如数据库）配置feed。指南<a href="http://code.google.com/p/google-feedserver/wiki/SettingUpADevelopmentEnvironment" target="_blank"><font color="#888888">见这里</font></a>和<a href="http://code.google.com/p/google-feedserver/wiki/DatabaseConfigurationForAFeed" target="_blank"><font color="#888888">这里</font></a>。</p><p><a href="http://code.google.com/p/soc/" target="_blank"><font color="#888888">Melange, the Spice of Creation</font></a></p><p>这个项目的目标是创建出一个适合开源贡献流程的框架，比如Google Summer of Code TM (GSoC)项目。使用这个框架你就可以用Google App Engine来运行Google Summer of Code项目，和其它类似项目比如Google Highly Open Participation TM Contest和GHOP。<a href="http://code.google.com/p/soc/wiki/GettingStarted" target="_blank"><font color="#888888">指南见此</font></a>。</p><p><a href="http://code.google.com/p/namebench/" target="_blank"><font color="#888888">NameBench</font></a></p><p>它可以查找最快的DNS服务器给你的电脑用，在Mac OS X、Windows和UNIX系统下都有命令行也有用户界面可以帮你测试，这是Google工程师用20%自由时间写出来的。</p><p><a href="http://code.google.com/p/ratproxy/" target="_blank"><font color="#888888">Rat Proxy</font></a></p><p>一个半自动化的大型被动网络应用安全审查工具，专为精确的探测而优化，<a href="http://code.google.com/p/ratproxy/wiki/RatproxyDoc" target="_blank"><font color="#888888">文档在此</font></a>。</p><p><a href="http://code.google.com/p/topdraw/" target="_blank"><font color="#888888">TopDraw</font></a></p><p>Top Draw是一个图形生成程序，使用简单的文字脚本，基于JavaScript编程语言，Top Draw可以创造出非常复杂和有趣的图形。支持Mac OS 10.5以上系统，使用XCode开发。</p><p><a href="http://code.google.com/p/etherpad/"><font color="#888888">etherpad</font></a></p><p>开源的EtherPad，这是一个基于网络的实时合作文档编辑器，这个项目主要是为了演示代码而开发，帮助那些想在自己服务器部署Etherpad的人使用，<a href="http://code.google.com/p/etherpad/wiki/Instructions" target="_blank"><font color="#888888">这里有如何安装的指南</font></a>。EtherPad使用JavaScript、Java和Comet服务器来建造实时协作服务。</p><p><a href="http://code.google.com/p/chromium/" target="_blank"><font color="#888888">Chromium</font></a></p><p>Chromium是开源版的Chrome浏览器，Chromium的目标是建立一个新一代的强大网络应用程序，它与Chrome有很多不同之处。<a href="http://code.google.com/p/chromium/wiki/LinuxBuildInstructions" target="_blank"><font color="#888888">这里有指导如何在Linux上编译Chromium</font></a>。</p><p><a href="http://code.google.com/p/v8/" target="_blank"><font color="#888888">V8 Googles open source JavaScript engine</font></a></p><p>V8是Google的开源JavaScript引擎，用C++写成，用于Chrome浏览器之上。V8使用ECMAScript的ECMA-262第三版可运行于Windows XP、Vista、Mac OS 10.5和使用IA-32或ARM处理器的Linux。V8可独立运行也可嵌入到任何C++程序里使用，<a href="http://code.google.com/intl/pl/apis/v8/build.html" target="_blank"><font color="#888888">这里有指南</font></a>。</p><p><a href="http://www.chromium.org/chromium-os" target="_blank"><font color="#888888">Chromium OS</font></a></p><p>Chromium OS是开源版的Chrome OS操作系统，提供快速、简单而安全的网络体验，<a href="http://git.chromium.org/" target="_blank"><font color="#888888">源码在此</font></a>。</p><p><a href="http://source.android.com/download" target="_blank"><font color="#888888">Android</font></a></p><p>Android是第一个免费、开源而且可完全自定义的移动平台，提供完整的堆栈：一个操作系统、中间件和重要的一用应用，它包含丰富的API可以让第三方开发者开发出强大的应用程序。</p><h4>MySQL工具：</h4><p><a href="http://code.google.com/p/google-mysql-tools/" target="_blank"><font color="#888888">Google MySQL Tools</font></a></p><p>各种管理、维护和改进MySQL数据库性能的工具，由Google编写，包括：</p><ul>    <li>mypgrep.py：一个类似pgrep的工具来管理MySQL连接</li>    <li>compact_innodb.py：可导出和重载所有表格的密集型innodb数据文件</li></ul><p><a href="http://code.google.com/p/google-mmaim/" target="_blank"><font color="#888888">Google mMAIM</font></a></p><p>mMAIM的目标是对MySQL的监控和分析更简单，且可以和任何环境整合使用。它可显示主/从同步状态，一些性能状态，可以返回大量show命令的状态等等。</p><h4>其它：</h4><p><a href="http://code.google.com/p/stressapptest/" target="_blank"><font color="#888888">Stressful Application Test (stressapptest)</font></a></p><p>Stressful Application Test试图让来自处理器和I/O到内存的数据尽量随机化，以创造出模拟现实的环境来测试现在的硬件设备是否稳定，Google就在使用它，现在是Apache 2.0许可，这里有<a href="http://code.google.com/p/stressapptest/wiki/Introduction" target="_blank"><font color="#888888">介绍</font></a>、<a href="http://code.google.com/p/stressapptest/wiki/InstallationGuide" target="_blank"><font color="#888888">安装向导</font></a>和<a href="http://code.google.com/p/stressapptest/wiki/UserGuide" target="_blank"><font color="#888888">指南</font></a>。</p><p><a href="http://code.google.com/p/pop-imap-troubleshooter/" target="_blank"><font color="#888888">Pop and IMAP Troubleshooter</font></a></p><p>它用于诊断并解决客户端到邮件服务器的连接问题。</p><p><a href="http://code.google.com/p/openduckbill/" target="_blank"><font color="#888888">OpenDuckBill</font></a></p><p>Openduckbill是一个Linux下简单的命令行备份工具，可用于监视文件/目录在有变化后是否标记为备份，并传输这些变化到本地备份目录、远程NFS导出分卷或是用rsync命令导出到远程SSH服务器。<a href="http://code.google.com/p/openduckbill/wiki/OpenduckbillReadme" target="_blank"><font color="#888888">见安装向导</font></a>。</p><p><a href="http://code.google.com/p/zxing/" target="_blank"><font color="#888888">ZXing</font></a></p><p>ZXing（发音类似Zebra crossing）是Java的开源多格式1D/2D条码图像处理库，目的是使用内置在手机上的摄像头拍照并对条码进行解码，而不必与服务器通讯，它被用于Android系统。这里有<a href="http://code.google.com/p/zxing/wiki/GettingStarted" target="_blank"><font color="#888888">向导</font></a>和<a href="http://code.google.com/p/zxing/wiki/GetTheReader" target="_blank"><font color="#888888">支持的设备列表</font></a>。</p><p><a href="http://code.google.com/p/tesseract-ocr/" target="_blank"><font color="#888888">Tesseract OCR Engine</font></a></p><p>Tesseract OCR引擎是1995年UNLV Accuracy测试的前三名之一，在1995和2006年之间它的进展不大，但依然是当前精度最高的OCR引擎。这个源码可读取二进制、灰阶或彩色图片并输出文字，内置一个TIFF阅读器可读取非压缩的TIFF文件，增加libtiff后也可读取压缩图片。<a href="http://code.google.com/p/tesseract-ocr/wiki/ReadMe" target="_blank"><font color="#888888">指南</font></a>和<a href="http://code.google.com/p/tesseract-ocr/wiki/FAQ" target="_blank"><font color="#888888">问答</font></a>。</p><p><a href="http://code.google.com/p/neatx/" target="_blank"><font color="#888888">Neatx Open Source NX server</font></a></p><p>Neatx是一个开源NX服务，类似NoMachine公司商业的NX服务。NX协议比VNX更强大，它们的区别主要在：</p><ul>    <li>NX是X11客户端所以不会发送位图</li>    <li>NX可兼容X、VNC和Windows版的Remote Desktop</li>    <li>NX可缓存数据</li>    <li>NX<a href="http://notatnik.mekk.waw.pl/archives/159-Neatx_-_instrukcja_instalacji.html" target="_blank"><font color="#888888">安装简单</font></a></li></ul><p>另外一个可选的项目可以看看Google的<a href="http://freenx.berlios.de/" target="_blank"><font color="#888888">FreeNx</font></a>。</p><p><a href="http://code.google.com/p/psvm/" target="_blank"><font color="#888888">PSVM</font></a></p><p>它是<a href="http://books.nips.cc/papers/files/nips20/NIPS2007_0435.pdf" target="_blank"><font color="#888888">这个文件</font></a>的代码，这是一个SVM的支持所有核心的版本，可多机并行运行，<a href="http://code.google.com/p/psvm/wiki/PSVMUsage" target="_blank"><font color="#888888">实例见此</font></a>。</p><p><a href="http://golang.org/" target="_blank"><font color="#888888">GO</font></a></p><p>Google开发的新编程语言，<a href="http://www.google.org.cn/posts/google-new-language-go.html" target="_blank"><font color="#888888">谷奥有报道</font></a>。</p><p><a href="http://code.google.com/p/google-collections/" target="_blank"><font color="#888888">The Google Collections Library for Java</font></a></p><p>这是一系列与Java 5以及更高版本有关的库，Google花钱给买过来了。</p><p><a href="http://code.google.com/p/google-styleguide/" target="_blank"><font color="#888888">Google styleguide</font></a></p><p>每个主流的开源项目都有它自己的向导形式，比如一系列的演示代码。如果这些代码都按照Style的形式来演示，会更友好。</p><p>Via <a href="http://blog.0x1fff.com/2009/12/35-google-open-source-projects-that-you.html" target="_blank"><font color="#888888">01fff Blog</font></a><br /><a href="http://www.google.org.cn/" target="_blank"><font color="#888888">谷奥探寻谷歌的奥秘 ( http://www.google.org.cn )</font></a>,</p><p>转自：<a href="http://news.csdn.net/a/20091228/216088.html">http://news.csdn.net/a/20091228/216088.html</a></p>]]></description><category>好文分享</category><comments>http://www.chenxinblog.com/post/googlesource.html#comment</comments><wfw:comment>http://www.chenxinblog.com/</wfw:comment><wfw:commentRss>http://www.chenxinblog.com/feed.asp?cmt=230</wfw:commentRss><trackback:ping>http://www.chenxinblog.com/cmd.asp?act=tb&amp;id=230&amp;key=16478b1d</trackback:ping></item><item><title>域名备案成了负担</title><author>xin0211@gmail.com (chenxin)</author><link>http://www.chenxinblog.com/post/yumingbeian.html</link><pubDate>Tue, 22 Dec 2009 15:27:01 +0800</pubDate><guid>http://www.chenxinblog.com/post/yumingbeian.html</guid><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;前几天，看到一则这样的新闻，让人看的有些心寒。新闻里讲，籍贯贵州的北京大学09届计算机学院本科毕业生王某因在京城无亲无故，工作一直没有落实，于是回到家乡遵义，向朋友借钱买了一台二手电脑，利用自己所学技术办了一个少儿教育培训网站，受到附近乡邻的赞扬和支持，正在初步产生效益时，网站却被贵州省通信管理局责令其服务器所在机房关停&mdash;&mdash;理由是 &ldquo;没有通过备案&rdquo;。小王连续提交三次备案都没有获得通过，而每次备案结果的审批时间却是工业和信息化部规定的漫长20天。在两个月审批未果的情况之下，小王进行了电话质询，得到的竟然是培训类网站需持当地教育部门相关证明才能办理备案手续，否则需出资1000元&ldquo;特别审批费&rdquo;。而当地教育部门更是变相索取 &ldquo;好处费&rdquo;。绝望之下的王某终于失去了理智，独自一人持水果刀来到贵州省通信管理局，将负责网站备案审批的机关处级干部刘某当场刺死。王某投案自首之后冷冷说了一句话是&ldquo;我并不后悔。是他们不让我依靠自力生存。&rdquo;</p><p>&nbsp;&nbsp;&nbsp; 这本来是一个好事情，大学生独立创业，但缺因为域名得不到备案而无法进行下去，而其中，还要受到&ldquo;特别审批费&rdquo;的门槛。王某的经历，我现在也遇到了。最近想注册个域名，做一个小站，保存一些资料。域名申请了，直接拿去备案，空间商给我的答复是北京地区备案时间需要20个工作日，我想这也是一种说法吧，因为之前我做过备案大概也是3天左右就可以备案成功。但过了大概一周时间，备案还没有下来。我就打电话到信息产业部，问一下具体情况。但得到的回复尽然是目前是系统审核，备案所需20个工作日，20个工作日后自动备案成功。<br />&nbsp;<br />&nbsp;&nbsp;&nbsp; 实在不理解备案是为了什么，备案的目的不是为了得到域名申请者的资料，在以后做到可以追溯到根源吗？备案的过程，就是一个简单的对信息真实性的审核，系统能判断什么，还不如人工打电话了解呢。更何况，20个工作日的时间也长了点。20个工作日就是一个月的时间，新域名的使用时间，因为备案白白浪费了一个月不能使用。真是遇上一个突发时间，想做个网站，用一个月域名去备案，再大的突发时间也要过去了。</p><p>&nbsp;&nbsp;&nbsp; 不能为了控制而控制，什么事情都是要讲一个效率。对备案的过程是一个好事，但是时间上，的确让人难以接受。最近很多站长都在为备案而奔波，为关站而焦虑，而手中有大量域名的米农，这些日子，肯定在想新的办法。也许为了备案而备案，就会逼着人们去造假，又让一群有关系的人，可以从中得利。</p><p>&nbsp;&nbsp;&nbsp; .cn的域名受到了管制，而国外没有备案的域名不能访问，也许，中国将会成为一个信息孤岛。有了备案的存在，建站的时间需要增加时间。原本10天可以做成的事情，现在也要等20天，也许可能会更长&hellip;&hellip;</p><p>&nbsp;&nbsp;&nbsp;&nbsp;</p><p>&nbsp;&nbsp;&nbsp;&nbsp;</p>]]></description><category>网络生活</category><comments>http://www.chenxinblog.com/post/yumingbeian.html#comment</comments><wfw:comment>http://www.chenxinblog.com/</wfw:comment><wfw:commentRss>http://www.chenxinblog.com/feed.asp?cmt=229</wfw:commentRss><trackback:ping>http://www.chenxinblog.com/cmd.asp?act=tb&amp;id=229&amp;key=dd37450b</trackback:ping></item><item><title>视频网站的春天即将来临？</title><author>xin0211@gmail.com (chenxin)</author><link>http://www.chenxinblog.com/post/payvideo.html</link><pubDate>Wed, 16 Dec 2009 13:57:53 +0800</pubDate><guid>http://www.chenxinblog.com/post/payvideo.html</guid><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BT被封，电影票太贵，盗版盘清晰度不高，网民想要看电影，视频网站无疑是一个比较好的选择。视频网站发展了几年，服务器，带宽成本高，收入仅靠嵌入式广告还未能让视频网站盈利。BT被封，给视频网站带来了新的机会。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;现如今，网络免费服务逐渐在转变成收费服务。网民在线免费看视频的时代，也许在不久的将来，又将成为历史。在享受了免费的诱惑后，付费也许是最终的结果。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;视频网站播放电影要收用户的钱，可盈利的方式很多，猜想一下未来视频网站的盈利模式。</p><p>1.仅提供少部分免费的在线视频，绝大视频将收费。<br />虽然说收费了，但是免费的资源还是应该有的。内容大多来自于网民自发上传的内容。</p><p>2.按观看视频的个数或观看时间收费。<br />看1个视频1元钱，看一个小时视频3元钱，讲采用多种收费方式对单个视频计费。</p><p>3.推出多种会员等级，通过会员等级区分价格和服务。<br />包月会员30元/月，可以看50个视频，包年会员300元/年，看1000个视频。银卡会员100元/月，随便看。讲采用多种会员等级，总会有一款套餐适合你。</p><p>4.预付费观看最新电影。<br />这个比较有意思了。视频网站虽然有播放电影的权利，但仍然需要获得版权。但版权费用可能比较高，而且购买后，是否有足够多的用户观看能收回成本，是视频网站需要核算成本的。在大片（比如张导的作品）宣传片推出的时候，网站推出介绍，并提供预付费的功能。提前付费，需要5元的电影，只需4元钱就可以观看，同时，需要先预付这个钱。可以拿预付的费用去购买版权，也许电影没有播放前，已经盈利了，何况在开始播放的时候，还有付费5元的用户去观看呢。</p><p>&hellip;&hellip;</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;随便写几点吧。办法很多，但收费这个大前提需要在什么样的环境下推出比较重要，何况，目前的视频网站也不是一家，竞争仍然很残酷。</p>]]></description><category>网络生活</category><comments>http://www.chenxinblog.com/post/payvideo.html#comment</comments><wfw:comment>http://www.chenxinblog.com/</wfw:comment><wfw:commentRss>http://www.chenxinblog.com/feed.asp?cmt=228</wfw:commentRss><trackback:ping>http://www.chenxinblog.com/cmd.asp?act=tb&amp;id=228&amp;key=651fdbf9</trackback:ping></item><item><title>BT被封，谁是受害者与收益者</title><author>xin0211@gmail.com (chenxin)</author><link>http://www.chenxinblog.com/post/btover.html</link><pubDate>Fri, 11 Dec 2009 14:37:11 +0800</pubDate><guid>http://www.chenxinblog.com/post/btover.html</guid><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这周互联网上最火的莫过于BT网站被广电总局查封的事情，闹的沸沸扬扬，网民之间和互联网媒体，对此谈论的最多，报道的也是最多的。&nbsp;</p><div style="text-indent: 21pt">早在2008年年初，广电总局就下发通知：&ldquo;提供视频服务的公司，都必须取得《信息网络传播视听节目许可证》，同时必须是国有独资或者被国资控股的公司&rdquo;。与此同时，网络中有很多关于视频服务的网站也被封，但并没有引起大家的注意。著名的BT分享网站海盗湾今年8月关闭，也只是在少部分人中引起来争论，直到BTCHINA被封，才让网民们深刻的感觉到，BT的日子不多了，免费下载电影的时代快要结束了。</div><div>&nbsp;</div><div style="text-indent: 21pt">BT网站被封，谁是受害者？</div><div style="text-indent: 21pt">&nbsp;</div><div style="text-indent: 21pt"><strong>BT网站</strong></div><div style="text-indent: 21pt">&nbsp;</div><div style="text-indent: 21pt">人家BT网站都被封了，肯定是受害者了。BT网站被封，也说明了互联网的一种模式也好，服务也好，将被迫成为一种历史。感谢曾经为BT网站的建设奉献的人们。</div><div style="text-indent: 21pt">&nbsp;</div><div style="text-indent: 21pt"><strong>地下翻译团队</strong></div><div style="text-indent: 21pt">&nbsp;</div><div style="text-indent: 21pt">越狱，LOST&hellip;&hellip;一部部精彩的美剧，相信您还有很深的印象吧，这都是翻译爱好者用最快的速度，通过BT网络分享给国内的网民。BT都不能用了，这些翻译小组也不用那么辛苦了，但我们也看不到精彩的电影了。感谢那些同步公布最新国外电影的翻译小组们，谢谢你们的分享精神。</div><div style="text-indent: 21pt">&nbsp;</div><div style="text-indent: 21pt"><strong>网民</strong></div><div style="text-indent: 21pt">&nbsp;</div><div style="text-indent: 21pt">都不能看BT下载了，网民将看不到精彩的美剧，看不到高清的电影，无法使用高速的下载工具，社会在退步吗？不，这个社会一直在进步，只是免费的时代逐渐在终结而已。网民们享受的免费午餐，在慢慢的减少。</div><div style="text-indent: 21pt">&nbsp;</div><div style="text-indent: 21pt"><strong>硬盘销售商</strong></div><div style="text-indent: 21pt">&nbsp;</div><div style="text-indent: 21pt">目前电影硬盘已经在几百G，甚至上T的容量了。如果不能下载电影，够卖如此大的硬盘还有什么用？中关村的硬盘价格会受此影响吗？</div><div style="text-indent: 21pt">&nbsp;</div><div style="text-indent: 21pt">&nbsp;</div><div style="text-indent: 21pt">那么BT网站被封，收益者到底是谁？</div><div style="text-indent: 21pt">&nbsp;</div><div style="text-indent: 21pt"><strong>电影制片商/电影院</strong></div><div style="text-indent: 21pt">&nbsp;</div><div style="text-indent: 21pt">虽然说在BT下载的时代，电影院的票房也一直不错，但相信，未来的电影院票房，将卖的更好 。与此同时，电影制片商也就可以获得更高的利润。</div><div style="text-indent: 21pt">&nbsp;</div><div style="text-indent: 21pt"><strong>在线视频网站</strong></div><div style="text-indent: 21pt">&nbsp;</div><div style="text-indent: 21pt">目前国内已经有十家获得视听拍照的视频网站，如<span style="color: black">激动网、东方宽频、光线传媒、酷</span><span style="color: black">6</span><span style="color: black">、悠视网、</span><span style="color: black">PPLIV E</span><span style="color: black">、六间房等。</span></div><div style="text-indent: 21pt">&nbsp;</div><div style="text-indent: 21pt">不能下载看电影了，就只能通过在线看电影了。将会有大量的流量转向视频网站，最初受益的可能是广告的收入，但在广电总局的持续打击下，BT的资源越来越少，而付费才能观看最新电影的收费模式可能就会出现，这难道就是视频网站一直在寻找的盈利模式吗？</div><div style="text-indent: 21pt">&nbsp;</div><div style="text-indent: 21pt"><strong>盗版光盘商</strong></div><div style="text-indent: 21pt">&nbsp;</div><div style="text-indent: 21pt">虽然说目前的网速在线看视频电影还能凑合看，但无法避免想看的电影的时候，是上网高峰时间，网速卡的无法流畅得看电影，或是干脆就上不了网。</div><div style="text-indent: 21pt">&nbsp;</div><div style="text-indent: 21pt">这个时候，就会想到沉寂几年的盗版光盘，BT的被封，也预示着盗版光盘重新崛起。网民将重新投入盗版光盘的怀抱中去。</div><div style="text-indent: 21pt">&nbsp;</div><div style="text-indent: 21pt">BTchina毕竟还是个人性质的网站，他的被封并不是结束。国内目前还有迅雷，VERYCD等这样正规化的公司，封他们并不是说封就封了，肯定会通过一个正常的流程。未来，也许通过网络渠道可以看的电影越来越少了，也许在被逼的状态下，又会衍生出一种商业模式，来延续这个生命。</div>]]></description><category>网络生活</category><comments>http://www.chenxinblog.com/post/btover.html#comment</comments><wfw:comment>http://www.chenxinblog.com/</wfw:comment><wfw:commentRss>http://www.chenxinblog.com/feed.asp?cmt=227</wfw:commentRss><trackback:ping>http://www.chenxinblog.com/cmd.asp?act=tb&amp;id=227&amp;key=564cb62b</trackback:ping></item><item><title>分享Google WAVE邀请</title><author>xin0211@gmail.com (chenxin)</author><link>http://www.chenxinblog.com/post/googlewave.html</link><pubDate>Thu, 03 Dec 2009 16:16:26 +0800</pubDate><guid>http://www.chenxinblog.com/post/googlewave.html</guid><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp; Google Wave 是 Google 的一款网络交流服务。它将电子邮件和即时通讯结合起来，使人们的交流更方便。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;第一次体验，装IE的GOOGLE CHROME插件没有安装成功，后来就干脆直接装了GOOGLE CHROME浏览器，否则IE浏览器的速度根本没有办法用。</p><p>&nbsp;&nbsp;&nbsp;&nbsp; 不多说了，这个目前已经有很多人写过相关文章了，搜索一下就可以了。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;现在我这里还剩7个邀请，分享给大家，需要的请留言说下你的EMAIL地址。</p>]]></description><category>网络生活</category><comments>http://www.chenxinblog.com/post/googlewave.html#comment</comments><wfw:comment>http://www.chenxinblog.com/</wfw:comment><wfw:commentRss>http://www.chenxinblog.com/feed.asp?cmt=226</wfw:commentRss><trackback:ping>http://www.chenxinblog.com/cmd.asp?act=tb&amp;id=226&amp;key=cef93aae</trackback:ping></item></channel></rss>
