
可能很多人對下面這個清單中的大部分内容都已經了解了,但其中必定有一些是你之前沒有看到過,或者沒有完全了解的,甚至有些你可能從來沒聽說過。
階段:如何在不影響使用者的情況下部署更新。有一個或多個可以用來改變架構、代碼或全部内容,并確定它們在可控範圍内實作部署的測試或臨時環境。有一種自動化的方式把更新部署到線上網站。最有效的實作方式是結合使用版本控制系統(cvs、subversion等)和自動建構機制(ant、nant等)。
不要直接向使用者顯示不友好的錯誤資訊。
不要用純文字的方式顯示使用者的電子郵件,因為他們可能會被垃圾郵件煩到死。
post 送出成功後進行重定向,以免重新整理造成重複送出。
<a></a>
永遠不要相信使用者的輸入,以及其他任何請求(包括cookies和隐藏域的值)。
保持系統更新到最新的更新檔。
確定資料庫連接配接資訊的安全。
讓自己了解最新的攻擊技術和會影響你平台的漏洞。
優化圖檔。不要使用20k的圖檔作為平鋪背景。
合并樣式表與腳本檔案以減小浏覽器連結數,同時提高 gzip 的壓縮能力。
減少浏覽器渲染頁面所需的http請求的總數量。
使用“搜尋引擎友好”的url,如 http://example.com/pages/45-article-title 而不是 http://ofexample.com/index.php?page=45。
在動态内容中,把 <code>#</code> 改成 <code>#!</code> ,然後在伺服器端使用<code>$_request["_escaped_fragment_"]</code>。換句話說 ./#!page=1 變成了 ./?_escaped_fragments_=page=1。此外,對于使用 ff.b4 或 chromium 的使用者,<code>history.pushstate({"foo":"bar"}, "about", "./?page=1");</code> 是一個非常棒的指令。是以,即使位址欄已經改變了,頁面也不會重新整理。
使用重定向(301)www.example.com 到 example.com(或者反過來),防止它們平分谷歌網站排名。
要知道有 badly-behaved 蜘蛛的存在。
了解浏覽器是如何處理javascript 的。
了解javascript 沙箱是如何工作的,特别是當你想使用 iframe 的時候。
盡可能多地了解你的部署平台。
在考慮感覺性能和架構的同時,考慮使用服務,如google libraries api,來加載架構,這樣浏覽器可以使用已經緩存的架構而不是從你的網站上下載下傳。
不要重複造輪子。在做任何事情之前,先搜尋相關的元件或者執行個體。99%的可能别人已經實作了并釋出出了開源的代碼。
在确定需求之前,盡量不要使用超過20個的庫,這是非常不利的。特别是用戶端web,儲存輕便、快速、靈活是最重要的。
要了解你花費20%的時間寫代碼而花費80%的時間來維護,是以寫代碼時一定注意。
建立一個好的錯誤報告解決方案。
建立一個别人可以提建議和批評的系統。
為未來的支援人員和維護人員建立良好的文檔。
日志要記錄已處理異常和未處理異常。分析日志輸出,因為它會顯示出你網站的關鍵問題。
這裡有些省略的東西并不是因為它們沒用,而是因為它們過于詳細或者超出了範圍,或者說的太遠了。當然,上面的内容可能也有一些遺漏或者錯誤。
本文來自雲栖社群合作夥伴“linux中國”,原文發表于2013-04-02.