商业网站设计的误区

  不进行用户测试
  当开发出一个产品后,您必须进行良好的性能测试。包括界面测试及功能测试。性能测试直接关系到产品的质量及推出后的受欢迎程度。

  导航混乱
  混乱的导航设计,常常使浏览者感到困惑、迷失。因此事先必须对网站的整体架构有一个良好的规划。比如:在每个页面的顶部放上风格统一的导航条,底部一般放置公司信息及版权性文字。对于内容复杂的站点,可以提供一个站点地图,来明确地告诉浏览者,网站上信息的分类及用途。当然,您还必须在网站上提供一个关键字搜索引擎,这可以使用户以最少的时间找到他所感兴趣的信息。

  滚动的文本、循环播放的GIF及FLASH的滥用
  不要在网页上放置滚动播放的元素。它会使浏览者把注意放到图片上而静不下心来阅读文本。FLASH技术丰富了我们的网页,适当的应用它,可以带动起浏览者的情绪,提高网站的访问量及受欢迎程度。NIKE、Macromedia的网站就是非常好的例子。而现在,我们常常可以看到FLASH技术被滥用,当你看完那段与主题毫不相干的动画后,不知道你会怎么想?你还会为那段动画而喝采吗?也许你只会抱怨,浪费了我这么多时间。这实在是网页设计师的悲哀。

  网页艺术形式花哨,为了设计而设计,JAVA及JAVASCRIPT的滥用
  网页上放满了对内容没有任何辅助作用的图片。有些网站上会放置一些大图片,甚至BMP格式图片;或者使用大量的JAVA、JAVASCRIPT、DHTML。 造成了网页下载速度缓慢。相信没有一个用户会有兴趣长时间等待。用户不关心为什么下载时间这么长,速度这么慢,他们只会认为:这个网站不好,要花费我很多时间,而且长长出错,这个网站的服务很不好,不为用户着想。这样,用户对网站的信任度大大降低,相信以后很少会访问你的站点。

  速度缓慢
  一般而言,如果网页的下载时间超过15秒,浏览者将会自动放弃。

  使用帧
  在网页中使用帧破坏了基本的网页用户模式。产生了一系列的问题,用户不能收藏当前的页面、不能打印网页。

  网页在不同平台及浏览器上的兼容性
  好的网站,应该时时考虑到用户的感受。必须兼顾好网站在不同操作平台及浏览器上的兼容性。虽然,IE的用户占了绝大多数,但我们不能就此排除Netscape的用户,事实上国外及国内的大公司中很多专业人士仍在使用着Nestcape。否则,会给他们留下网站不够专业的印象。

  不注重团队合作
  团队合作的好坏直接影响到整个项目开发的效率。在实际工作中,这也是一个易被忽视的环节。可以说,在一个大项目的开发中,市场调研人员、编辑、界面设计人员、编程人员,能否进行良好的交流、沟通,决定了该项目开发的成败。很难想象在一个沟通都成问题的队伍中能够有好的产品被开发出来。

  使用边缘技术
  不要试图使用新技术来吸引用户。新技术可能吸引一小部分的技术工作者,但主流用户更加关心你的网站的内容是否具有价值、是否能够为他们提供有效的服务。使用新技术常常会使你的用户抱怨:当他们在访问你的站点时,系统突然崩溃,他们以后就再也不会访问你的站点。如果你的网站在某方面产生了一定的影响力和认可的话,那么你可以适当的运用一些新的技术。桌面出版早期时,人们常常会在一篇文章中用上二十多种字体,我们应该避免在网站建设上犯类似的错误。

  页面过长
  过长的页面需要更多的下载时间并且不利于用户捕捉有用的信息,过于长的页面需要用户移动滚动条,使用户感到疲劳、不耐烦、厌倦。你可以去看一下中国妇女报的网站,就可以知道这种经历有多痛苦。

  不标准的链接颜色
  如果你把“被访问过的链接”设置为“蓝色”(默认为暗红色)、“未被访问过的链接”设置为“暗红色”(默认为蓝色),这就会使浏览者感到迷惑。

  关闭右键功能
  对于连右键都要关闭的网站,纯属于小家之气,他们在设计时,考虑只是自己的利益,而根本不考虑给用户带来的感受。

  不标准的用户界面图形
  网站建设中必须坚持一致性原则,它可以增加易用性。比如:我们用一个“向左的箭头”表示“返回到前一页(pre)”,“向右的箭头”表示“进入下一页(next)”,那么我们就应该保证网站中的所有“向左的箭头”表示“pre”,“向右的箭头”表示“next”。那么,用户就会根据前面浏览网页时积累的经验来进行判断“pre”,“next”,一旦有一个页面上对两种标志的使用产生混淆,那么这种图形代表的意义便失效,用户会对“箭头”代表的意义表示怀疑,不信任,同时也浪费了用户的时间。

  目前,网上有部分元素(如:单选框和复选框)的设计违反了基本的用户图形界面设计标准。比如:在windows/macintosh/java用户界面标准中,“单选框”遵循如下原则,当你在一组选项中选取一个项目后,您必须按下“确定”按钮,才会使设置生效。而我们在网页上常常会看到很多的网页设计者直接在“单选框”上添加事件,也就是说,一旦你选择了“单选框”,马上就会跳出相应的结果。这种背离了标准用户界面设计的WEB设计,使网页的可使用性大大降低。

  避免使用类似于广告的设计
  用户浏览网页具有选择性,他们已经学会了忽视网页中类似于广告的东西。 相信没有几个人会喜欢网易上的弹出窗口吧。大部分用户对此的第一反应:这东西真讨厌,我要关闭它,否则太浪费时间了。因此,在我们的设计中,避免使用类似于广告的东西,显得颇为重要。

  到达最终页面要经过数次点击。
  虽然增加了page view,但这无疑增加了用户使用的复杂度。好的设计应该遵循“三次点击原则”,即网站中,由任一页面到达最终目的页面的点击次数不超过三次。

  擅自为用户打开过多的新窗口或者禁止某些标准元素的使用
  打开新窗口的目的是为了使用户不要离开自己的网站,但这显然是一种不明智的做法。
  你应该清楚的意识到这样一个事实:用户通常是打开几个浏览器,说不定还下载软件,听着CD,交错浏览几个网站,当你擅自为他打开过多新窗口时,很容易使他的机器崩溃,并且污染了他们桌面,这是极不道德的。

  有些设计者喜欢把网页设计成为全屏的,事实上,这在某种程度上会使用户受到惊吓。用户会抱怨:“怎么回事?菜单条呢?工具条呢?我怎样才能把这个东西关掉呀?”有的用户会使用alt+4把他关掉,而对于大部分的用户恐怕只会是ctrl+alt+del。

  显然,这并不是受欢迎的设计。

百度百科加外链

1.创建新词条

  如果百度百科找不到相应的词条,那么你就可以创建了,这里注意几点:创建新词条前先了解百度百度词条的基本概况,比如,目录要明确,内容要客观,尽量搜集到全面的资料,减少以后被其他人修改的可能性,因为有时有人修改后会把你的扩展阅读的网站网址给去掉。

2. 修改编辑已有词条

  如果发现词条已经存在,那也是有可能做推广的。一些小技巧分享给大家:

  a.补充 在原来的基础上增加,这种通过的几率也是蛮大的。

  b .纠错 理论错误、错别字、标点、排版都可以研究研究,哪怕是一小点错误都可以改正。

  c.加词条链接 如果内容中出现一些词汇是跟本词条内容相关的,可以将这个词添加上百度百科相关阅读链接。

  d .加图片 好多词汇都是可以通过图片来做说明的,比如一种实物、一种现象都可以找到相关的图片。

  e.内容整合 有些词条编辑的内容虽然很全但有些乱,用户效果不好,你就可以将其改正。

老根的加外链方法

1. 免费提供有价值的资源

2. 写有关链接诱饵的内容

3. 写一篇权威的文章

4. 花10个小时搜集一个庞大的列表

5. 称赞和你交换链接的人(不会称赞别人)

6. 谈谈“博客技巧”(是个人来人往的地儿)

7. 标题中使用数字(数字是最容易被人记住)

8. 做两次拼写检查,确保内容的真实准确

9. 链接别人,他们会链接回来

10. 设计一个适合博客或者网站的模版

11. 写文章并投稿(加上你的博客网址)

12. 说话超出常理

13. 写一个完整的“指南”或“地图”

14. 发布一个Firefox扩展

15. 采访业界专家(要简单易行)

16. 使用Presell页(内容在你的网站上)

17. 在你的领域引发一场争论(冲人气的好方法)

18. 向专业网站投稿(有关你主题的大网站)

19. 向新闻界投稿(别忘加上你的博客网址)

20. 申请成为客座作者

21. 在论坛里留下地址(在允许留下链接的论坛)

22. 在论坛里留下feed(在提交你的feed地址后)

23. 在别人的博客上留下评论(每天尽可能的这样做)

24. 提交到类别目录

25. 提交到大型免费目录(每个人都在这里申请)

26. 邀请链接(你最好有好的资源,或者在你的领域有一定影响力)

27. 在留言簿里留言 (网上有千万个有PR值的留言簿)

28. 找到刊登你文章的网站,提供更深入的内容

29. 邀请朋友阅读一个新博客,如果评价不错,介绍一下这个博客。

30. 写感谢信(给你用过的每个产品写感谢信,必要时可以详细些)

31. 维护一个非营利性网站或公司(首先要确定他们有一个网站)

32. 为一个非营利组织做网站(我已经做了3个非盈利网站。也可能有报酬)

33. 网友帮助

34. 编制一个好工具

35. 发送邮件(开始是请教问题,或者帮助别人。然后请求一个链接)

36. 建立一个Del.icio.us帐户,开始保存书签. (Del.icio.us上受欢迎的页面也会带来大量的流量)

37. 联系使用产品的厂家或商家,争取链接到你的博客(和第36条–写感谢信,一起使用效果好)

38. 在Craigslist上发布内容

39. 评论一个产品或服务

40. 在Yahoo! Answers上发布内容

41. 加入地方商会(每个城市都有)

42. 加入BBB商业组织 (提交你的网站,多数具有成员目录,并有链接)

43. 与相似的,但没有竞争关系的公司联系,交换链接(向他们解释清楚,链接到你的网站,将会给他们带来的读者和回报)

44. 设计一个免费的模版或主题 (WordPress或CSS/XHTML的模版很受欢迎)

45. 写一个有价值的文章,并链接到Google Groups

天下民心已转 天下之器已易手

中国人总是不肯或者不愿承认,中国的文明在世界、人类的文明中,从来都是非主流的、从来都是属于旁支旁门的,真正的主流,一直都是以希腊文明为根的西方文明,承认这点,有什么可丢人的呢?也只有承认这点,像日本那样全盘西化,才是利国利民的根本。

近年大学拼命扩招,人人普及大学学位却又如何?近日很多大学生工资还不如民工,有些用工单位宁要民工不要学生,学位几乎成了废纸。人多本身确实是一种力量,但这力量也可以是负力量,如人力用不好,不善待人民。秦非亡于暴政,而是亡于复辟!看中国治乱相替的历史就会发现,只要别人不来折腾我们,我们就自己折腾自己。

这种低迷且更本不会发现真相的愚民,只会鼠目寸光的争做小便宜,你80后的都已经在奢求一切了,90后还不是会更惨。或许你还在傻傻的以为人定胜天,二八定律之类的真理。以后就是人吃人的世界,自己永远不会和抢饭碗的人连结起来洞穿民族性。这种历史的惯性太巨大。你屹立在山的那一边,看着看着,你就和制度一样公正、平衡了!

有官你不去当?当官你不去贪?可悲,一生的命就在房子上!还只能80平米!

我现在担心的只怕自己能力不够,给不了自己喜欢的人太多!命题很大,立意很差,论据不实,结论无根。谢谢!

2011年做SEO外链的5大优化趋势

  1,少用精确关键词做锚文本,注重锚文本的分散性。
  最近很多网站遭受惩罚,有可能是因为锚文本的过度优化。而12月的算法调整,更加注重品牌在结果页面的展现率。对于有一定知名度的公司来说,使用公司名称作为锚文本是一个不错的选择。减少完美锚文本的比例,有可能是2011年SEO发展的潮流。
  2,更加注重质量,而不是数量。
  这是一个老生常谈的话题。随着搜索引擎技术的逐步提高,更加注重外链的相关度,权威度,对于网站的长久发展是非常有利的。
  3,更加注重外链的权威度,而不是PR值。
  谷歌PR值更新在今年变得不确定,更新时间也逐步拉长,这样导致PR值不能准确反映一个网站的真正价值。国外现在逐步倾向用MozRank等新型数据模式来反映网站价值。相信PR值的重要性会进一步降低。
  4,更多的外链导向内页,而不是首页。
  这是外链发展的趋势,过多外链指向首页是可疑的,也表示你的内容页面价值十分贫乏。
  5,更加看重转化率,而不是网站排名。
  排名好的关键词有时候并不能为你带来利润,只有实实在在给你带来效益的东西才是好的。SEO行业也会更加注重数据分析,着陆页面优化这些关系ROI的东西。
  6,更加注重来自社交媒体的链接。看看微博有多火你就知道了!

企业网站建设&企业网页设计的流程技巧

  1、有利于提升企业形象

  一般说来,企业建立自己的网址,不大可能马上为企业带来新客户、新生意,也不大可能大幅度提高企业业绩。毕竟,企业用于网站的费用很底,期望极底的费用能马上为企业带巨大的收益是不现实的,企业网站的作用更类似于企业在报纸和电视上所做的宣传企业本身及品牌的广告。不同之处在于企业网站容量更大,企业可以把任何想让客户及公众知道的内容放入网站。此外,相对来说,建立企业网站的投入比其它广告方式要低得多。当然,网站和广告是两种不同的宣传方式,各有不同作用,它们之间更多的是互相补充,而不是排斥,企业如拥有自己的网址,应在网络(INTERNET)中推介该网址,并把具体的内容放入网站。

  2、使企业具有网络沟通能力

  在中国,人们对互联网络往往有所误解,以为电子信箱就是互联网络,有的企业将电子邮件地址当成网址,并印在名片上。实际上,电子邮件只是互联网络最常用、最简单的功能之一。互联网络真正的内涵在于其内容的丰富性,几乎无所不有。对企业来说,具有网络沟通能力标志是企业拥有自己的独立网站,而非电子信箱。

  3、可以全面详细地介绍企业及企业产品

  企业网址的一个最基本的功能,就是能够全面、详细地介绍企业及企业产品。事实上,企业就可以把任何想让人们知道的信息放入网址。如企业简介、企业的人员、厂房、生产设施、研究机构、产品外观、功能及使用方法等,都可以展示于网上。

  4、可以与客户保持密切联系

  在美国,每当人们想知道某企业有什么产品、服务或新产品、服务,甚至只是想知道该企业有什么新闻时,他们就会习惯性的进入该企业的网址。因为大多数企业已经把所有的产品、服务信息发布于网上,并且定期在网上发布有关企业的新闻信息。由于互联网络这种高科技的媒介进入中国时间不长,中国企业与客户之间现在暂时还不习惯于这种联系方式。但随着越来越多的企业对互联网络认识的加深,在网上发布产品和信息这种现况将发生巨大改变 ,目前已经有越来越多的中国企业具有自己的网络能力,并逐渐习惯于利用网络与客户进行沟通。

  5、可以与潜在客户建立商业联系

  这是企业网址最重要的功能之一,也是为什么那么多国外企业非常重视网站建设的根本原因。现在,世界各国的经销商主要都是利用互联网络来寻找新的产品和新的供求,因为这样做费用最低、效率最高。原则上,全世界任何人,只要知道了企业的网址,就可以看到企业的产品和服务。因此,关键在于如何将企业网址推介出去。一种非常实用、有效且常用的方法是将企业的网址登记在全球著名的搜索引擎上,则可以使潜在客户能够容易地找到企业和企业的产品。这正是商业上通行的做法,而且已被证明是十分有效的。

  6、可以降低通迅费用

  对于企业来说,每年的通迅费用,尤其是涉及到进出口贸易的通迅费用,是一笔非常庞大的开支。利用企业网站所提供的集团电子信箱,可以有效地降低通迅费用,这是企业建立网站的另一个益处(利用E-mail通迅的费用仅为市话费用)。

  7、可以利用网站及时得到客户反馈的信息

  客户一般是不会积极主动地向企业反馈信息的。如企业在设计网站时,加入客户与企业联系的电子邮件和电子表格,因使用极其方便,一般来说,客户习惯于使用这种方式与企业进行联系。因此,企业可以得到大量的客户意见和建议,将有利于企业的蓬勃发展。

加快DEDEcms网站生成速度

文章生成速度慢这几天看到的主要原因   就是 {数据库/模板/服务器}

数据库     索引的优化   和   分表的处理

模板     重复读取数据的标签太多

服务器   这些一般大家都会,虚拟主机的不用,个人独立主机的可以看看关于服务器的优化教程

        

       这是优化完的效果截图

我先给大家从模板的地方入手处理

/——————————-模板处理优化————————————-/

优化模板的话,主要看你自己的栏目设计到用不用二级,如果是二级的话

大家可以建立一个主数据的调取东西例如     {图片,css,/plus/} 这些东西可以用一个独立的域名做

例如:

http://code.yousite.com/css/网站ccs

http://code.yousite.com/img/网站皮肤图片

http://code.yousite.com/plus/search.php

                                                                       .

                                                                       .

                                                                       .

                       {等等许多能固定的内容方便以后做成大网站好升级的规划}

然后再做模板的时候尽量不要用

{dede:global.cfg_templeturl/}

{dede:field name=‘phpurl’/}

这些还有关于   有{dede:field 的文件, 可以直接写成实际地址,如果是有二级域名的站,写在一个主调取的域名站上

可以不用上下片文章标签,毕竟文章有针对性, 很少人点击上下文章那个,除非是图片站

相关内容可以取舍这个根据使用者选择

至于   推荐   热点的   可以由自由列表处理

例如做一个整站固定的样式然后 用自由列表做出来

图例子:

再文章模板里面写  

图例子:

{dede:include filename="自由列表生成的文件地址 ismake=‘no’/}   这里的ismake简单的说就是只里面的东西是否还需要处理   两个选择 yes   no           no就是直接显示里面的内容

{dede:include file="/temp/liuxingfushi.html" ismake=‘no’/}     我自己在模板的文件夹下又建立了一个temp文件,用来储存每天需要更新的文件

   如果直接在模板文件夹下面的话 不用写/     直接写成{dede:include file="liuxingfushi.html" ismake=‘no’/} 即可

每天生成一次那个 自由列表的对应文件就可以了

还有dedecms里面提供了一个广告的管理插件,我总觉得也是鸡肋,生成时候肯定也受到多多少少的影响

所以我的广告都是直接自己建立好的放在一个文件夹里面{为了防止以后忘记那个文件是那个页面的广告可以建立一个记事本对应广告文件的说明}

这样下来 模板的优化就算是做完了   注意的就是: {尽量少用{dede:field}标签处理数据,和一些如果能用自由列表完成的全部用自由列表完成了}

/——————————数据库处理优化———————————————/

可能是因为官方有所保留吧,官方的默认索引不是最优化的,需要大家手动修改下

如果是有自己独立服务器的话建议用Navicat for MySQL 的客户端软件连接到MySQL Server数据上进行管理操作。

转载一个人的数据库优化教程

个人认为:凡是要排序的字段(比如文档主表的 sortrank、senddate、pubdate、click、goodpost、badpost)和查询条件的字段(比如:typeid,ismake)以及文档ID都要建立索引,如果有一个没有建立,将严重影响MySQL运行效率,导致生成HTML时速度慢。

当系统启用了审核机制以后,标识文档审核属性的字段ismake必须建立索引。

注意:click这个字段,记录文档点击量,此字段值更新频繁,建立索引后对系统维护索引带来一定的负荷,我已经试验了不只是慢,很慢,所以大家不要给这个加索引,大家自己权衡。有人说频繁更新的字段建立索引会容易导致数据库损坏,这个我还没有遇到过,需要考证。

下面是主表索引建立的截图

可能有些人看到那个有个教程是删除typeid的字段这个大家自己研究看看删除了索引好点还是留着好点,我自己留着

这样优化的话,最低生成速度差不多1分钟能上7到8百片文章速度

如果其他人还有什么优化高招可以自己补上大家一起学习进步

整理及优化CSS代码的7个原则

  作为网页设计师(前端工程师),你可能还记得曾经的那个网页大小建议:一个网页(包括HTML、CSS、Javacript、Flash和图片)尽量不要超过30KB的大小,随着互联网的日益庞大,网络带宽也在飞速发展,很多设计师已经不再考虑这条30KB的理想准则。随着越来越受欢迎的CSS布局和Javascript对网站用户体验的强化,使得这种现象越来越普遍,尤其是对于大型网站来说,仅仅一个CSS文件就已经超过了30KB的上限。

  但是即便如此,现在也有很多准则来帮助你在完成CSS布局后进行CSS代码的压缩和优化。CSS代码优化的目的并不仅仅是减少CSS文件的大小,它还能让你的CSS代码更有条理、更高效。在彬Go,你将会学到更多关于CSS代码优化的知识,这能帮你更熟悉CSS代码的规范性。熟悉这些概念还能让你成为更全面的网页设计师,从而写出更优化的CSS代码。

1.使用简写

  如果你现在还对简写一点都不了解,那你就又写落伍了,不过幸好,学起来并不是很难。使用简写是一种让代码减少的最简单方法。没有比现在更适合实践代码简写的时候了,还等什么,一起来看看吧。

  Margin、border、padding、background、font、list-style和outline 都是可以进行简写的属性。CSS简写就是不再使用不同的相类似属性的声明…

p { margin-top: 10px;

     margin-right: 20px;

     margin-bottom: 30px;

     margin-left: 40px; }

你可以把它们简写成这样:

p { margin: 10px 20px 30px 40px; }

浏览器可以通过不同数量的属性值来解释你定义的CSS代码,请看图解:

CSS优化-简写

上面的简写图解说明的是依据不同的属性值可以进行不同的缩写,这种方法同样适用于padding和Border-width属性。

Font的简写对于缩小代码量很有帮助,而且能让你少打很多字母; )

CSS优化-简写

Font简写的例子。注:如果没有定义某个属性值的话,将继承副级元素的定义或使用默认值。

如果你对以上简写方法已经了如指掌,你还可以看看以下两个简写教程(英文),也许会对你有所帮助:

1.CSS Shorthand Guide(CSS简写指导)

2.Efficient CSS with shorthand properties(高效CSS属性的简写)


2.避免使用Hack

CSS-代码优化

Jon Hick的博客 hicksdesign.co.uk/journal 使用浏览器条件性注释

  Hack是一个糟糕的东西,它会为不同浏览器定义一样的代码,使得CSS繁冗。现在我们知道使用条件性注释来代替hack,他们在IE6和IE7中是被认可的,甚至IE团队也推荐这样使用。使用条件性注释服务于符合浏览器特性专用的CSS代码,因此,更小的、核心的CSS代码用来服务于遵从标准的浏览器,只有需求条件出现的时候(比如IE),才会去下载额外的CSS文件!

下面来看看IE6使用条件性注释的代码范例:

<!–[if IE 6]>

       <link rel=”stylesheet” type=”text/css” href=”ie6.css” mce_href=”ie6.css”>

<![endif]–>

  这段代码使得IE6去下载额外的ie6.css解析它专用的css代码。同样的,如果针对IE7只用把上面的6与7替换就行了。


3.使用留白

  无论是为了自己阅读还是二次开发,都要让CSS保持良好的可读性,留白就充当了关键的角色。

  我们不鼓励你为了得到一个更小的CSS文件,就去掉所有的空白格式,如tab,换行,空格等。这里推荐嵌套的代码使用一个tab缩进,所有属性独立一行。

CSS-缩写

  对比上图中的两种CSS书写格式,哪一种格式能让你更加节约阅读和修改的时间呢?留白的效果显而易见,它会让你更容易管理代码。


4.移除多余的结构(frameworks)和重设(resets)

CSS-简写

Nathan Smith的 960 Grid System CSS framework使用的重置规则

  如果你选择使用CSS framework,包括你自己写的,如果你去检查代码一定会发现该framework包含的一些规则并不适用于你当前的文件,它们是可以被删除的。

  由此可以想到的还有reset,YUI Grid CSS使用的reset和Eric Meyer’s 重设(Reset) 目前都很流行, Resets能够移除不同浏览器的默认样式,使得页面在各个浏览器之间的表现一致。但是它们通常包含了一个大的网站需要的所有属性,一些例如<pre>,<code>,<sub>,<dfn>,<var>等等属性对于普通网站来说根本不会用上,删掉那些你用不上的。Eric Meyer也会鼓励你这样做!

  framework和reset会很好的帮助你的工作,但是如果不去掉那些你用不上的使用,反而会拖累你页面的效率和可读性。


5.让CSS能保证日后的维护

Doug Bowman的 stopdesign.com CSS 为层使用特殊的选择器

  另一种优化CSS代码的方法是按照你的习惯将CSS生命分成清晰的结构块。将CSS文件的声明用注释分隔开并进行排版,可以更方便自己在很长时间以后重新审理这个CSS文件,到那时你的效率会高出许多。

  然而,暴风彬彬更崇尚那种拆分布局风格,也就是给每种布局一个单独的CSS文件。Andy Clarke的《超越CSS》(Transcending CSS)一书也是提倡这种方法。


6.记录你的工作

CSS-优化

David Shea在他的网站mezzoblue.com中详细讲解了标记指导(markup guide).

  如果你是一个设计团队中的一员,那么让你的代码保持规则的一致性并能与其他成语建立良好的沟通是相当重要的,而且还要建立一种网站的标准。例如,团队中的某个成员想出了一个比较不错的网站标签切换界面,记录下来这些想法和注解会帮助团队的其他成员再次使用这种效果,这样能够避免HTML或CSS代码的臃肿。

  记录工作主要包括标记向导(markup guides)和样式表向导(style sheet guides),这种工作并不仅仅适用于团队,也同样适用于一个人的设计工作(一个人的”团队”)。毕竟,在完整一个设计项目之后,经过一年甚至更长的时间,当你再回来看到这些曾经自己写的代码时,也一样会觉得很陌生。将来你会通过自己曾经的记录了解到在那些CSS结构是如何让网页表现的,或那个网页对表单按钮的起到副作用。

  记住,一定要养成为CSS写注释的习惯。


7.压缩使用

  为了使得浏览器节省更多下载个载入时间,压缩是一个不错的解决方案,但是仅限于发布的时候。YUI Compressor 和CSSTidy 就是这样方面的专家,他们能够去除多余的代码,校验属性互相覆盖的错误。

许多流行的编辑器,比如BBEdit, TextMate, 和 TopStyle 都能够帮助你格式化你的CSS代码成你想要的样子。你还能通过服务器压缩技术使用PHP处理你的CSS。你可以找到更多的CSS优化和压缩的CSS工具

  有一点,这些程序尽可能会降低错误的发生,但并不是完美的。同样,最好不要用他们去处理包含CSS hack的文件。这也是另一个让那些hack储存在另外的文件里的原因。


总结

  整理和优化代码不仅是为了你的CSS文件大小,还包括了维护性和可读性。以上的原理并不只是针对CSS,它们还能应用到HTML,Javascript以及其他编程语言。CSS文件不只是为了呈现给你网站的最终用户。上面的原理可以帮助用户体验以及开发者经验。运用这些原则到你未来的项目中,一定能够获得重大的成效。

转载自:
http://blog.bingo929.com/7-principles-optimized-css.html

整理收集的一些书签网摘,超级实用。

bd http://cang.baidu.com/
谷歌 http://www.google.com/bookmarks/
雅虎 http://myweb.cn.yahoo.com/
QQ http://shuqian.qq.com/
有道 http://shuqian.youdao.com/
新浪vivi http://vivi.sina.com.cn
live http://faborites.live.com/
和讯 http://bookmark.hexun.com/
天极 http://bms.yesky.com/
搜狐 http://z.sohu.com/
eyou http://link.eyou.com/
CSDN http://wz.csdn.net/
好诶 http://www.haoei.com/
bd币 http://www.baidub.com/wz/
银沙 http://bookmark.yinsha.com/
35766 http://www.35766.com/
首页网 http://www.sooyle.com/
好网角 http://www.wang1314.com/
网摘 http://www.diywz.com/
抽屉 http://www.chouti.com/
龙凤 http://www.lf023.com/
一览袋袋 http://daydai.elanw.com/
Facorites http://www.favorites.cn/
纯我 http://www.chunw.com/
豌豆 http://www.onedoor.cn/
爱威海 http://ok.iweihai.cn/

千万级 nTB级 大型网站系统架构分析

千万级的注册用户,千万级的帖子,nTB级的附件,还有巨大的日访问量,大型网站采用什么系统架构保证性能和稳定性?

首先讨论一下大型网站需要注意和考虑的问题。
数据库海量数据处理:负载量不大的情况下select、delete和update是响应很迅速的,最多加几个索引就可以搞定,但千万级的注册用户和一个设计不好的多对多关系将带来非常严重的性能问题。另外在高UPDATE的情况下,更新一个聚焦索引的时间基本上是不可忍受的。索引和更新是一对天生的冤家。
高并发死锁:平时我们感觉不到,但数据库死锁在高并发的情况下的出现的概率是非常高的。
文件存储的问题:大型网站有海量图片数据、视频数据、文件数据等等,他们如何存储并被有效索引?高并发的情况下IO的瓶颈问题会迅速显现。也许用RAID和专用存贮服务器能解决眼下的问题,但是还有个问题就是各地的访问问题,也许我们的服务器在北京,可能在云南或者***的访问速度如何解决?如果做分布式,那么我们的文件索引以及架构该如何规划。

接下来讨论大型网站的底层系统架构,来有效的解决上述问题。

毋庸置疑,对于规模稍大的网站来说,其背后必然是一个服务器集群来提供网站服务,例如,2004年eBay的服务器有2400台,估计现在更多。当然,数据库也必然要和应用服务分开,有单独的数据库服务器集群。对于像淘宝网这样规模的网站而言,就是应用也分成很多组。

下面,就从服务器操作系统与Web服务器、数据库、服务器集群与负载均衡、缓存、独立的图片服务器、其它等几个方面来分析大型网站的系统架构。

服务器操作系统与Web服务器

最底层首先是操作系统。好的操作系统能提高好的性能、稳定性和安全性,而这些对大型网站的性能、安全性和稳定性都是至关重要的。
淘宝网(阿里巴巴): Linux操作系统 + Web 服务器: Apache
新浪:FreeBSD + Web 服务器:Apache
Yahoo:FreeBSD + Web 服务器:自己的
Google: 部分Linux + Web 服务器:自己的
百度:Linux + Web 服务器: Apache
网易:Linux + Web 服务器: Apache
eBay: Windows Server 2003/8 (大量) + Web 服务器:Microsoft IIS
MySpace: Windows Server 2003/8 + Web 服务器:Microsoft IIS

由此可见,开源操作系统做Web应用是首选已经是一个既定事实。在开源操作系统中Linux和FreeBSD差不太多,很难说哪个一定比另外一个要优秀很多、能够全面的超越对手,应该是各有所长。但熟悉Linux的技术人员更多些,利于系统管理、优化等,所以Linux使用更广泛。而Windows Server和IIS虽然有的网站使用,但不开源,而且需要购买微软的一系列应用产品,限制了其使用。总之,开源操作系统,尤其是Linux做Web应用是首选已经是一个既定事实。

常用的系统架构是:
Linux + Apache + PHP + MySQL
Linux + Apache + Java (WebSphere) + Oracle
Windows Server 2003/2008 + IIS + C#/ASP.NET + 数据库

数据库

因为是千万人同时访问的网站,所以一般是有很多个数据库同时工作的,说明白一点就是数据库集群和并发控制,数据分布到地理位置不同的数据中心,以免发生断电事故。

主流的数据库有Sun的是MySQL和Oracle。

Oracle是一款优秀的、广泛采用的商业数据库管理软件。有很强大的功能和安全性,可以处理相对海量的数据。而MySQL是一款非常优秀的开源数据库管理软件,非常适合用多台PC Server组成多点的存储节点阵列(这里我所指的不是MySQL自身提供的集群功能),每单位的数据存储成本也非常的低廉。用多台PC Server安装MySQL组成一个存储节点阵列,通过MySQL自身的Replication或者应用自身的处理,可以很好的保证容错(允许部分节点失效),保证应用的健壮性和可靠性。可以这么说,在关系数据库管理系统的选择上,可以考虑应用本身的情况来决定。

MySQL数据库服务器的master-slave模式,利用数据库服务器在主从服务器间进行同步,应用只把数据写到主服务器,而读数据时则根据负载选择一台从服务器或者主服务器来读取,将数据按不同策略划分到不同的服务器(组)上,分散数据库压力。

服务器集群与负载均衡

服务器群集中每个服务结点运行一个所需服务器程序的独立拷贝,而网络负载均衡则将工作负载在这些主机间进行分配。负载均衡建立在现有网络结构之上,它提供了一种廉价有效的方法扩展服务器带宽和增加吞吐量,加强网络数据处理能力,提高网络的灵活性和可用性。它主要完成以下任务:解决网络拥塞问题,服务就近提供,实现地理位置无关性 ;为用户提供更好的访问质量;提高服务器响应速度;提高服务器及其他资源的利用效率;避免了网络关键部位出现单点失效。

常用的服务器集群和数据库集群负载均衡实现方法:
CitrixNetScaler的硬件负载均衡交换机做服务器集群的负载均衡。
MySQL Proxy做MySQL服务器集群的负载均衡并实现读写分离。其实现读写分离的基本原理是让主数据库处理事务性查询,而从数据库处理SELECT查询。数据库复制被用来把事务性查询导致的变更同步到集群中的从数据库。
CDN: 几乎在各大网站都有使用该技术。例如,使得你的网站在各省市访问更快,其原理是采取了分布式网络缓存结构(即国际上流行的web cache技术),通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的cache服务器内,通过DNS负载均衡的技术,判断用户来源就近访问cache服务器取得所需的内容,解决Internet网络拥塞状况,提高用户访问网站的响应速度,如同提供了多个分布在各地的加速器,以达到快速、可冗余的为多个网站加速的目的。

缓存

众所周知,使用缓存能有效应对大负载,减少数据库的压力,并显着提高**应用程序的性能,如果某个用户多次请求同一资源,则可以从缓存返回该资源,从而避免了重新从服务器或数据库请求该资源而产生的系统开销。缓存可以通过减少获取请求的资源所需的时间,提高应用程序性能。缓存还可以通过减少到服务器的往返次数,降低网络通信量。尽管缓存可以提高性能,但它也增加了返回到应用程序的资源可能变得陈旧的风险。这意味着,返回的资源可能与假设没有使用缓存的情况下,服务器有可能发送的资源并不完全相同(即取得“脏数据”)。

即便如此,简单的缓存策略也能大大提升网站性能。例如,Youtube把首页最新的视频列表缓存60秒,也就是说60秒内并发的request都是从缓存读取的,大大减少了数据库压力。再加上CDN,使得Youtube首页的并发访问速度很快。

单机内存缓存、文件缓存、数据库缓存等的策略都是可以很简单的实现的,例如可以使用微软的Caching Application Block,但如何在集群环境中使多个缓存、**缓存并保存同步是个重大问题。大型网站一般都使用缓存服务器群,并使用**缓存。业内最常用的有:
Squidcache,Squid服务器群,把它作为web服务器端前置cache服务器缓存相关请求来提高web服务器速度。Squid将大部分静态资源(图片,js,css等)缓存起来,直接返回给访问者,减少应用服务器的负载
memcache,memcache服务器群,一款分布式缓存产品,很多大型网站在应用; 它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,Memcached自管理这些HashTable。因为通常网站应用程序中最耗费时间的任务是数据在数据库的检索,而多个用户查询相同的SQL时,数据库压力会增大,而通过memcache的查询缓存命中,数据直接从memcache内存中取,每次缓存命中将替换到数据库服务器的一次往返,到达数据库服务器的请求更少,间接地提高了数据库服务器的性能,从而使应用程序运行得更快。它通过基于内存缓存对象来减少数据库查询的方式改善网站系统的反应,其最吸引人的一个特性就是支持分布式部署。有关memcache,以下文章可以参考:参考1,参考2,参考3官方站点。
e-Accelerator,比较特殊,PHP的缓存和加速器。是一个免费开源的PHP加速、优化、编译和动态缓存的项目,它可以通过缓存PHP代码编译后的结果来提高PHP脚本的性能,使得一向很复杂和离我们很远的 PHP脚本编译问题完全得到解决。通过使用eAccelerator,可以优化你的PHP代码执行速度,降低服务器负载,可以提高PHP应用执行速度最高达10倍。

独立的图片服务器

无论从管理上,还是从性能上看,只要有可能,尽量部署独立的图片服务器。这几乎成为常识了。具备独立的图片服务器或者服务器集群后,在 Web 服务器上就可以有针对性的进行配置优化。

其他

一个互联网应用,除了服务器的操作系统,Web Server软件,应用服务器软件,数据库软件外,我们还会涉及到一些其他的系统,比如一些中间件系统、文件存储系统(图片服务器,视频服务器,管理服务器,RSS和广告服务器等等)、全文检索、搜索、等等。