[食譜好菜] 替 Selenium WebDriver 加上 Proxy 的設定來加快測試的速度

我們使用 Selenium WebDriver 在做 Web Testing 的時候,測試對象往往已經是接近 Production 的狀態,多少會使用一些外部資源,像是 cdnjs.cloudflare.com、ajax.googleapis.com 的 CDN 服務,萬一網路不給力,整個測試行程 run 下來會多很多時間,這時候我想到可以架設 Proxy Server 來專門服務 Selenium,藉由 Proxy Server 降低存取外部資源的延遲時間,如果我們公司內部已經有架好的 Proxy Server 當然就不需要我們自己動手了。

...繼續閱讀 »

[創意菜色] 問題不是 Abstract 與 Interface 的區別這麼單純而已

前些陣子有人問我「Abstract 與 Interface 的區別?」,腦袋中閃過過去所有使用過 Abstract 及 Interface 的情境,整理之後給出我實務上設計的時候是怎麼操作 Abstract 與 Interface 的答案,回頭想想這樣有點文不對題,對方似乎也沒有得到答案,不過這樣的過程讓我有種見山不是山的感覺,促使我回頭想想在思考這個問題答案的過程當中不單純的點是什麼?以及為何我給出這樣的答案?

...繼續閱讀 »

[料理佳餚] C# Microsoft.Hadoop.WebClient 讀取 Hadoop Archives(HAR Files)

Hadoop HDFS 是透過 Block Size 的設定來決定對一個檔案切割的大小,HDFS 預設的 Block Size 是 128mb,意思就是說當一個檔案超過 128mb 時,就會被切成至少 2 個 Block 以上存放。

但是在海量圖檔的情況之下,一個圖檔通常不會超過 128mb,一個檔案還是佔用了一個 Block 個數,實際佔用的磁碟空間是依照檔案的實際大小沒錯,可是檔案的實際大小未達到 Block Size 的設定值時,還是硬生生地佔用了 1 個 Block 個數,當 Block 的數量太多的時候,對於 Hadoop Name Node 的記憶體空間就會有相當大程度的耗損。

...繼續閱讀 »