Monthly Archive7月 2010



無分類雜文 15 Jul 2010 04:37 pm

LiveReload:你的套版好幫手!

網頁設計師或者是程式設計師,無可避免的日常一定會遇到「切版」/「套版」的工作。做這些工作時,遇到最討厭的煩人事,除了「測各大瀏覽器相容性」,莫過於「邊切邊套按 Reload 重新整理瀏覽器整理到手抽筋」…。

要是檔案一變更,瀏覽器能自動更新就好了

這個願望從前只有在 Firefox 上的 firebug (或者一些 js console)上能夠實現,而且也僅止於暫時修改 html/css/js 預覽結果的用途。

這個問題,最近被 LiveReload 這個 rubygem 解決了!

在開始使用 LiveReload 前,你可以先觀看由 EnvyLabs 拍攝的示範影片,了解使用方式。相信我,裝了它之後你就會愛上它了。

LiveReload 的特點有:

1. 更改 CSS 以及 JavaScript 類檔案時,存檔可以所見即所得(不需 reload page)。
2. 更改 HTML 或者其他 server-side script ( Ruby / PHP / Python 等等…),存檔時也可以所見即所得(瀏覽器會自動 reload)。

所以當你螢幕夠大時,一邊開瀏覽器一邊開編輯器寫 code 測試,搭配上 LiveReload,切版 / 套版速度會馬上大大的暴增!

有些人也許會好奇 LiveReload 的運作原理是什麼?

基本上 LiveReload 就是一個 directory watcher,透過設定工作目錄底下的 .livereload 檔下的檔案類型,執行 livereload 後,它會自動 watch 裡面的更動。它同時也自帶一個 http server,開發者安裝了它的 browser plugin ( Chrome / Safari supported ),client 與 server 連接起來。當目錄裡檔案更動時,browser 就自動 reload。

首次執行時不需要設定任何 .livereload 檔,執行後會自動產生…
預設會 watch 這一些類型的檔案。


Watching: /Users/xdite/projects/playgame
- extensions: .html .css .js .png .gif .jpg .php .php5 .py .rb .erb
- excluding changes in: */.git/* */.svn/* */.hg/*

如果你有其他的需要,可以修改 .livereload 檔,exclude 或 extend。

至於執行平台方面,Mac 當然是完全沒問題。它也提供了 Linux 與 Windows solution…不過這方面我就沒有測試過了,也許大家可以玩玩看 :D

如果都不能用,那就買台 Mac 加入使用 Mac 的行列吧!XD

無分類雜文 10 Jul 2010 11:21 pm

使用 Amazon S3 + BitTorrent 永久分享檔案

剛剛看到 朱宅學恆在他的噗浪上面哀號他的主機每天的流量被開放式課程翻譯的演講用爆而束手無策。

螢幕快照 2010-07-10 下午11.06.03

我想一些人應該在巨大檔案的分享上應該也有類似的問題。其實如果手上有一點預算的話,這個問題是很好解決的。解法就是使用 Amazon 的 S3 服務搭配上 BitTorrent。

Amazon S3 (Simple Storage Service) 是由 Amazon 所提供的線上儲存服務。以簡單的方式比喻就是他是一個穩定快速的永久線上儲存空間。把檔案扔上 S3,再把檔案永久網址貼出來,問題就解決了。

它的基礎收費是儲存空間,每 GB 0.15 美元。傳輸費用是 每 GB 0.1 美元。超過 50TB 以後的計費方式可以看價目表。

螢幕快照 2010-07-10 下午11.13.55

至於怎樣把檔案上傳到 S3,可以找一下支援 S3 的 FTP client。如果是 unix 主機的話,有 s3cmd 這種東西…

搭配 BitTorrent

當然有人還是會靠北,放 S3 讓大家自由下載很像不關水龍頭一樣,被人濫用了就很傷荷包。Amazon 的 S3 有設計一項機制,它會將你的檔案製作成種子。

比如說你的原始檔案位址是:
http://s3.amazonaws.com/marcel/kiss.jpg
那麼種子位址就會是:
http://s3.amazonaws.com/marcel/kiss.jpg?torrent

你可以選擇將 torrent 另存新檔後再行發佈(可別笨笨的就將 ?torrent 的網址貼出去)。

這樣 Amazon S3 就可以充當檔案的永久種源,永遠不斷種。但是頻寬壓力卻不會都在你的 S3 帳單上。