商業網站設計的誤區

  不進行用戶測試
  當開發出一個產品后,您必須進行良好的性能測試。包括界面測試及功能測試。性能測試直接關系到產品的質量及推出后的受歡迎程度。

  導航混亂
  混亂的導航設計,常常使瀏覽者感到困惑、迷失。因此事先必須對網站的整體架構有一個良好的規劃。比如:在每個頁面的頂部放上風格統一的導航條,底部一般放置公司信息及版權性文字。對于內容復雜的站點,可以提供一個站點地圖,來明確地告訴瀏覽者,網站上信息的分類及用途。當然,您還必須在網站上提供一個關鍵字搜索引擎,這可以使用戶以最少的時間找到他所感興趣的信息。

  滾動的文本、循環播放的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和廣告服務器等等)、全文檢索、搜索、等等。