2009-07-20

網頁效能調校方向及工具 (Web Performance Tips & Tools) - YSlow, Google Page Speed


從Tim Berners-Lee發明WWW以來,Web已經過17、18個年頭的發展
其成長速度 是呈指數型的爆炸性成長
Web的爆炸性成長 讓Browser變成每人每天最常使用的軟體、介面
從最原始的資訊呈現用途 到現在成為一應用程式的平台
從 HTML5, O3D, Native Client, Chrome OS, ... 都可以感覺到,未來的Web 只會更重要...

一個好的網站 在效能面 是非常重要的
如果網頁回應速度太過、呈現速度太慢 即使有好的應用、好的內容 但還是會被使用者所唾棄。
那到底要怎麼建構一個效能佳的網頁? 有什麼好的實務作法(BestPractice)? 有什麼工具可以幫忙檢查?

下列的參考文章,分別是Yahoo & Google針對網頁開發在效能面的最佳實務作法說明,這些文章 提示了網頁開發者一些效能提升的重點(如: 降低Http Request 數,減少網頁及網頁組成之Size, Cache的使用, Http Compression的使用, Content Delivery Network的使用, 網頁及網頁組成在Server端的分散佈署, JavaScript、CSS 在網頁上的放置位置, ... 等),從基本的觀念、到建階的方法,資訊非常的完整且值得參考,對於網頁效能提升有興趣的人,絕對值得一看!!

此外,Yahoo 及 Google 也各自依各自所提的網頁效能的要點,製做了檢查、分析的工具,讓網頁開發者透過該工具即可很快的知道自已的網頁在效能上還有什麼需要調整改進之處(會產出recommendation report)。這兩個工具分別的 Yahoo YSlow(Firefox的plugin)、Google Page Speed(Firefox上firebug的plugin),順便一提,在這部分 Yahoo 的資訊分享及工具都比Google還快,Google在這點看來,是me too、是follower :Q 不過 看來 這兩個東西 都跟 Steve Souders有關... Steve 原本在 Yahoo 工作時 發展了YSlow,但 後來跳槽到Google ...
另外,若只是想單純的check 每個網頁、網頁組件的下載速度,Http Watch這個工具,也值得一試。


參考文章:
Yahoo: Best Practices for Speeding Up Your Web Site
Google: Web Performance Best Practices

檢測工具:
Yahoo! YSlow
Google Page Speed
Http Watch

以下,是拿 udn.com (聯合新聞網)為標靶,用YSlow, Google Page Speed來看看這個新網網站的首頁有什麼需要加強的部分 :Q 也讓讀者感受一下,這兩個Tool的威力..

YSlow:



Google Page Speed:




閱讀全文...

2009-07-15

[Notes] The Continuing Metamorphosis of the Web - 未來10年Web的發展重點


今年在馬德里舉辦的 18th WWW Conference
Google 的一位副總 Alfred Spector(VP Research and Special Initiatives)以The Continuing Metamorphosis of the Web為主題,提出他對未來5-10年Web的發展方向的看法,整個演講的主軸在於未來Web發展的三大方向 ---

1. Totally Transparent Processing
2. Distributed Computing
3. Hybrid, not Artificial, Intelligence

摘要如下:


1. Totally Transparent Processing
將 文字、圖片、聲音、影像 這些以不同形式存在的資料源、輸入
經過轉換後視為一體來處理、關聯
如: Voice Search, Translation, Voice to Text, Image Search, Image Recognition, ... 等應用,感覺非常的偉大。

2. Distributed Computing
Cloud Computing 為目前非常紅的東西
也可說這是 Web or Computing 演進到現在 而自然的一個產物
為了系統的scalability, performance, latency, resource utilization, availability, cost, ... 等考量,提供的運算資源要能快速的長大並易於管理
cloud computing 因應而起
Amazon E3, Google App Engine, Microsoft Azure, ... 等並提供這樣一個運算環境及商業方案

順待一題,過去幾年很火熱的Grid Computing, Utility Computing 早已萬佛歸宗
目前針對這種分散式的運算 Cloud Computing 算是一個共用的名詞了

3. Hybrid, not Artificial, Intelligence
這裡主要是講,除了傳統的人工智慧外,新的看法是混入「人的智慧」,也就是user-feedback or 利用user產出的資料來提供電腦運算時的「智慧」能力
像是 google translation, 最早期是用 RBMT(Rule-Based Machine Translation),
到目前已經是純用 SMT(Statistical Machine Learning)的方法來做機器翻譯。在圖形的關聯性也是,Google 已經在image search裡面埋下user feedback的機制,透過眾大網民的力量,建立最有效的關聯性資料。

以上~ 大概做的一些摘要,很多都非我專業領域,若有錯誤 可以指正、一起討論 :)

參考資料:
簡報: http://www2009.eprints.org/214/1/www2009azsv4FinalV3.pdf
簡報及影片: http://videolectures.net/www09_spector_cmw/


閱讀全文...

2009-07-09

第十張證照.. 感覺很空虛


上班後這幾年,斷斷續續的拿到了一些證照,今天剛好拿到第10張
其實,就我而言 拿證照 好像不會給我帶來什麼幫助
當我覺的拿證照很無聊時 又會閒個一兩年不去理他
這幾年 做很多事 都好像很沒有毅力...

曾經為了鍛鍊coding&problem solving 能力,開始在 UVA online judge 做 ACM 的程式題目
但也是斷斷續續,上一次 submit 通過 可能已經是一年多前的事了
完成的題數停留在59題很久了

投資理財也是 曾經連續多很多時間在看書、研究 現在也停了

技術面也是 只要是口碑好 popular 的技術, tool, methodology 就會涉獵一下
但 也因為時間的關係 大多看完一、兩本書 玩過了 就換別的 沒有持續 也沒有深入

對太多事情有興趣,一下看那個、一下看這個 太貪心的結果 是造成這個結果的主因吧

下面是我的證照,從 programming, networking, system administration, security, it service management, software quality, project management 的領域都有...

很雜吧 ?

RHCE
SCJP
CSQE
CIW Security Analyst
CCNA
PMP
BS 7799 LA
ITIL V3 Foundation
MCTS: .NET Framework 3.5 ASP .NET Applications
MCPD: ASP.NET Developer 3.5 on Visual Studio 2008


閱讀全文...