Archive for the ‘英文’ category

第一次遇到Deadlock

二月 10th, 2009

凡事都要來個第一次,這兩天遇到一個deadlock,是我第一次遇到deadlock,其實很多deadlock都很明顯可以避免掉,但有些就不明顯,這次遇到的deadlock,是因為正在開發一個DirectShow的應用程式,我使用Python把核心部份寫好包裝成Extension給Python使用來加速開發,不然每次光等編譯就等到睡著

我使用DirectShow 的 Sample Grabber filter來抓取從DirectShow播放出來的音樂,DirectShow的graph會建立一個thread來處理事情,而它使用一個callback來回傳資料,好死不死,我的程式從Python的程式碼的Main thread呼叫graph的stop,但是stop似乎會等callback回傳,再來又好死不死的,callback因為要把資料丟回Python,要求Python的GIL,所謂的GIL就是Python直譯器的lock,整個Python行程只有一個,所以就變成下列情況

Main thread (hold GIL) -> call stop(Wait for callback) -> Callback acquire GIL -> GIL….(Hold by main thread)

囧…

這幾個笨蛋(設計的人比較笨),就這樣一直癡癡地等下去,等到天荒地老都沒有人會理他們,這真是悲慘….,所以在寫multi-threading的程式時一定要特別小心,明顯的deadlock當然是很容易避免,但是像這種文件上沒說清楚,隱涵著lock,又繞了一圈的情況,就很難一開始想到

Meta的意思

一月 31st, 2009

很多時候我們會見到一些英文用法,但是這些用法並不是單字,像是Meta,一開始我看見這個字首時都覺得一頭霧水,它那麼的常見,很多地方都出現meta,但是我卻不知道那個字首是什麼意思,很多書也都直接使用沒有任何解釋,直到後來好像在一本書上有解釋,我才瞭解meta的意思

Wiki: Meta

其實Meta這字首只要瞭解意思其實很簡單,他是指連接在後面的字詞,其關聯的的概念是那個字詞本身,這麼說很抽象,我自己也不知道自己在說什麼,我們來看一些例子就很好懂

meta-data 是由 meta + data組成,它的意思就是

關於資料的資料

講明白一點就是內容是用來記錄別的資料的資料,例如長度、類形等等…

再舉一個例子

meta-programming,有人翻做』超程式』還什麼的,不果不管翻什麼,要真的表達清楚是很不容易,這是在C++ template相關的書上看到的,meta-programming的意思就是

用來產生程式碼的程式設計手法

在一本C++ template的書中,它是一種利用template,用參數遞迴、特化樣版等各種方法,來達成編譯時期執行特定動作的技術,從某種程度來講,你寫的程式是用來產生程式碼,所以叫meta-programming,而超程式這個翻譯,瞭解他的意思後就比較容易明白

購買WebFaction網頁主機服務指導

十月 25th, 2008

比較國內和國外

每次說到國內和國外的主機商,我都想說』XX比雞腿』,真的是不能比,我們隨便找一家國內的知名主機商來和我這一系列ez2learn的網站所架在的主機商WebFaction比較看看

智邦生活館

WebFaction

智邦的年費要

1200 元新台幣

新台幣,我們來看WebFaction最低階的,五年約的主機,5.5美金每個月,一年就是66美金,以匯率以現在的33.3800654下去計算,一年是

2203 元台幣

重點在後面,我們來比比看同樣價格下有多少資源可以使用

智邦和WebFaction虛擬主機比較表
資源 智邦 WebFaction
最低價年費 1200 2203
硬碟空間 2GB 10GB
每月免費流量 10GB 600GB
價錢空間比 600 220.3
價錢流量比 120 3.67

很明顯地,怎麼算隨便一家國外的主機商都可以把國內的主機商打得死死的,怎麼比? 根本沒辦法比,而且除了這些可以數值化的價錢、資源可以比較,還有一些是沒辦法比較的,如同在我這個網站的主機商 : WebFaction中所提到的,他們有一個團隊的優秀客服,負責解決客戶在技術上遇到的問題,他們甚至建立了整個的知識庫來記錄這些問題,他們的客服都是很有經驗的,雖然我沒用過智邦,但另一家國內的主機商的客服來說,國內的主機商肯定辦不到找一群有經驗的客服來解決客戶遇到技術上的問題,這只是客服的部份,還有主機技術上的支援,不要說國內的主機,國外的主機都很少有支援Python、Ruby、TurboGears、Django等等國內較少見的網頁開發環境,國內有的就只有老掉牙的LAMP (Linux Apache MySQL PHP),會選擇WebFaction是因為他們支援TurboGears,因為WebFaction注重在於支援那些開發環境和客服,所以就流量和空間等等的資源上,已經算是比較沒有那麼強,有很多主機商如果只支援LAMP那樣的網頁環境的話,資源的差距那更是天差地遠,總合以上幾點的結論是,真的是』XX比雞腿』,怎麼比? 沒辦法比,國外的主機商市場那麼大,國內這麼小,價格和服務當然沒辦法比

那PHP呢?

如果你要用WebFaction跑PHP也是可以,WebFaction上面寫的Memory限制,是針對Python等網頁程式,PHP目前是不在限制之類的,所以PHP的網站不用擔心記憶體使用超過限制的問題,

那好幾個網站呢?

那如果說,你想架好幾個網站呢? 對於WebFaction來說也沒問題,如你所見,我的ez2learn.com下面的所有網站

易記學程式設計教學

WebChuan 網頁抓取函式庫

易記學 程式設計討論區

和這個部落格,全是架在同樣一個虛擬主機下,它的控制版面讓架站相當輕鬆容易,你要架多少個網站他沒有限制,只要流量和空間不超過限制就可以,就我網站目前那丁點流量和空間使用率,要超過限制實在很有難度,而且PHP的網站也不限記憶體使用率,所以事實上如果你拿來架PHP的話,可以弄一堆網站都沒問題

唯一的問題 : 英文

為什麼差這麼多,還是有人會買國內的主機服務,我想了想,答案大概就在於語言吧,畢竟不是每個人都懂得如何看懂英文網頁,和寫信用英文和客服溝通,事實上英文不用太好,只要看得懂,和寫出來對方看得懂就夠了,像我英文這樣破爛的人,都可以做得到,證明不是什麼難事,如果因為英文不好而花大錢當冤大頭不是很嘔嗎? 而且現在的主機商都有幾天內無條件退費的優惠,WebFaction的無條件退費天數是60天,也就是說你購買了服務之後,60天以內後悔了、覺得服務很爛、看客服不爽,各種理由,都可以無條件退費,以下我們指導如何購買WebFaction的虛擬主機服務

如何購買WebFaction網頁主機服務

首先,來到WebFaction的申請頁面,填寫你的基本資料

WebFaction填寫基本資料

WebFaction填寫基本資料

填寫你的姓名、信箱、地址、國家等等,關於地址,如果你不知道你所住的地方英文地址是什麼,沒關係,我也不知道,因為有線上中文地址轉英文地址的服務可以使用,請注意範例中寫的地址不是我家的,是我看見下面中華郵政的地址就隨手寫進去轉成英文當示範用,其中還有公司和VAT欄位,如果沒有可以不要填

接下來是關於你的網站的資料

WebFaction填寫網站資料

WebFaction填寫網站資料

User name是你的使用者名稱,你以後登入WebFaction的管理版面或是SSH都是用這個名稱,不能更改

Domain是你的域名,如果暫時還沒有的話,可以留白,他會給你一個<使用者名稱>.webfactional.com的域名,當然,當之後你有域名以後就可以更改設定

Software是一開始他們要幫你安裝的軟體,當然,你可以自己用他們的控制面版安裝或修改,相當的簡單,照著他們教學影片做,我只能說簡單到不行

If other: 如果你也想安裝其它軟體,一樣也可以寫在這裡,它們在開通帳戶時一樣會幫你安裝

Promo code or referer: 這裡是填寫推薦人,這裡是填寫我的id victorlin,這樣我可以得到一些回饋金:P

申請WebFaction填寫Plan

申請WebFaction填寫Plan

接著是選擇你要使用哪一個Plan,也就是,什麼等級的虛擬主機,在這裡示範我們選擇Shared1,也就是最便宜的虛擬主機,當然,如果你有需要,可以選擇更高級的,甚至是專屬主機,有什麼主機類形可以看他們的網頁這裡有寫,專屬主機的話,則是寫在這裡,然後是付款方式,可以選擇使用信用卡、金融卡或Paypal付款,在這裡我們選擇使用信用卡,Payment period是指多久付一次款,一次合約越久就越便宜,可以參照他們網頁上所寫的

WebFaction申請接受條款

WebFaction申請接受條款

接著你可以在Comments or special instructions裡寫你想他們幫你做的要的額外工作,例如安裝某些套件等等,最後勾選TOS and AUP接受他們的條款,就可以Next step填寫信用卡資料,完成之後,需要等收到他們來信告知帳戶開通完成,不會等太久,當時幾小時我就收到信馬上可以使用了

中港路上的外國妞 May I help you?

十月 3rd, 2008

中港路上的外國妞

剛剛在中港路等紅燈 聽見後面傳來不同的語言 轉過去看
原來是長得不錯的外國妞 拿著地圖 後面坐著另一個外國妞
在討論要怎麼走的樣子

» Read more: 中港路上的外國妞 May I help you?

給WebFaction的回信

十月 2nd, 2008

破爛英文

雖然我的英文很爛,但是七拼八湊讓對方聽懂應該還可以,只是每次對方聽懂了,感覺好像也就沒事了,但是其實有很多錯字、錯用和不通順在裡面,如果不管或許會一直錯用下去,如果我記錄下來,在寫完之後重新看過,找出錯誤來,或許才是進步的好方法

劇情提要 XD

這次WebFaction的系統發信來告知記憶體超出使用限制,所以回應解釋我的解決方案

» Read more: 給WebFaction的回信