為什麼你該在 Virtual Machine 中進行開發

前言

前幾天把我的筆電作業系統從 OS X 10.8 升級到 OS X 10.9, 結果導致一些軟體無法執行,像是原本使用 homebrew 安裝的 PHP 找不到一些相依的 libray, Apache 的設定也被回復至預設的設定等,導致在修正這些問題上花了不少時間,雖然最後順利修復了,不過整個過程真的覺得非常的挫折,也影響了原本的開發進度。有了這次的經驗,決定來研究如何在虛擬機中進行開發,來降低環境設定過程中的問題,進而加快設定時間讓整個開發流程更加順利。

Read more為什麼你該在 Virtual Machine 中進行開發

HTTP連線管理(2) – HTTP Connection Handling

本篇文章延續前一篇文章,重點整理 HTTP: The Definitive Guide一書的內容,主要著重在 HTTP Connection 的種類以及對於效能的影響。

Serial Connections

每一個 Request 會重新建立一個 Connection,根據之前所提到的影響 TCP 效能的因素(ex: slow start),可能會讓使用者覺得很緩慢。另一個是心理因素,實驗證明,雖然一次載入一個圖片比同時載入多個圖片來的快,但是使用者還是偏好同時載入多個圖片。

Read moreHTTP連線管理(2) – HTTP Connection Handling

HTTP連線管理(1) – TCP Performance Cosiderations

本篇文章重點整理HTTP: The Definitive Guide一書的內容,主要著重在影響HTTP效能的因素。

The TCP connection setup handshake

當你要建立一個HTTP連線前必須要先建立一個TCP連線,確保彼此可以開始溝通和傳輸資料,這個過程稱為TCP Connection Handshaking(Syn, Syn-Ack, Ack),所有的HTTP programmer並不會接觸到這個過程,當建立新的TCP連線時,他們所看到的是一小段的延遲。因此當傳輸的資料量很小時,幾乎會有一半甚至更多的時間在建立TCP連線。

Read moreHTTP連線管理(1) – TCP Performance Cosiderations