2012-08-01

Quick Guide of Nginx

Install

http://wiki.nginx.org/Install

官方站上寫的很清楚,不過 Ubuntu 和 Mint 的部份,其實直接執行 sudo apt-get install nginx 就可以了,安裝很方便,Windows 更是方便,直接就是獨立程式直接執行就好。

Configuration

所有的設定都可以在 /etc/nginx.conf 裡頭設定,記住幾個原則,去查官方文件就可以進行各種設定:
  • Block 的階層關係: http -> server -> location
  • 所有的指令都有 context,查文件可以知道什麼指令應該用在什麼 context 裡,例如:alias 這個指令就只能用在 location 的 context 裡。
  • Config 檔裡的指令解析是有順序的,反正就是由上到下。
  • 指定 location 的 path 時,支援 Regular Expression,所以 有 "/" 和沒有 "/" 是有差別的,要特別注意。

可以查閱的文件:
  • http://wiki.nginx.org/Configuration - 這個頁面的 Reference 的部份就是用來查指令的,其他的部份就看需求,這裡的文件蠻豐富的很值得瀏覽,有需要再深入參考。
  • http://wiki.nginx.org/Modules - 這裡列出所有的 module,有些 module 是預設安裝,有些不是,如果要安裝部份額外 module 必需重新編譯,不支援 run-time 新增 module 功能。

2009-03-18

Bug Tracking System - Mantis vs Bugzilla

二月份,因為案子需求,公司內部的 Bug tracking system 功能不夠,所以要另外架設,怎麼說功能不夠? 第一,沒有英文界面;第二,無法開放公司網路之外的使用者登入 (用 AD 方式管理),以上兩點,可能有些人會覺得有些好笑,其實我自己心裡也是很想笑。因為一個百分之八十以上都是做國外客戶的 ODM/OEM 廠怎麼會搞出個沒有英文界面的 Bug tracking system? 而第二點,用 AD 做為管理,也是有點匪疑所思,如果今天的案子完全是公司內部自行開發,我想這沒什麼問題,可是事實上,公司的主力其實都在於代工的客戶,所以用這樣的系統架構,真的是很讓人無言。

既然問題出現了,總是要解決的,剛好這次案子我又有參與,以前也有點 maintain network server 的經驗,那就只好跳出來,主動負責這個 system 的架設。

由於 cost down 的關係,公司目前政策是不可能買外面那種要 license 的 bug tracking system,所以我就朝自由軟體授權的方向去找,如果有錢買,我倒是覺得 HP 的 Test Director(Mercury Quality Center) 相當好用了,不過沒錢,想想就算了,我找了很多,其中我挑出兩套做為候選,分別是 Mantis and Bugzilla。後來採部門內部投票,選出 Mantis。

其實我心裡也想著要用 Mantis 來架,雖然我以前玩 Firefox 時有碰過 Bugzilla,界面對我而言不陌生,但是仍然有許多因素讓我想用 Mantis。
  • Friendly user interface - 使用者通常會希望易懂的操作界面,易讀的 bug list。
  • Maintain - Mantis 用 PHP 寫成的,這對我或者對於日後要接手的人而言,都是比較容易進入狀況的語言,Bugzilla 用 perl 寫的,perl 雖然簡單,但是比起 C-like 的 PHP 而言,大部份的人對 PHP 的 source code 還是比較容易上手。( Perl 的 source code 其實不算是易讀性很強的 code,我被毒過...:P)
  • User training - 可能很少人想到這點,如果用 Bugzilla,要寫的 SOP 絕對會比 Mantis 多,如果有新進人員,那麼要讀這些 SOP 也是個負擔。Mantis 基本上不太需要什麼 SOP 的,雖然還是有 PM 跟我要,但是比起寫 Bugzilla 的 SOP,我覺得輕鬆很多。
總之,一套 Bug tracking system 如果能設計到讓 User 一碰就馬上上手,那樣是最好的。像 HP 的 Test Director (Mercury Quality Center),我們當初接觸時,完全沒有 Training,界面一摸,就可以直接 key bug 了。所以,這套 Mantis 架起來,我也朝這個目標去架設,界面和欄位名稱是一定改的,Workflow 也是必改的項目。接下來就是內部的一些特殊需求,例如一些特別的 QC 評估分數之類的,因為是 PHP 所以我改起來也比較好上手,所以,其實也沒碰到什麼大問題。

不過 Mantis 的權限控制一直蠻讓我 Care 的,Mantis 並沒有對於使用者的 Role 定義切換 bug status 的權限,例如:RD 不能將 bug 的 status 切換成 Closed,這應該是要 QA verify 過後,由 QA 來切換才對,但是 Mantis 本身沒有這樣的機制,所以,這部份變成要修改 source code,有大改的方法,也有小改的方法,重點是,我實在懶得改...=_=|||

我事情也是很多的吶 (公司又不加薪 XD),而且這樣的問題,其實內部協調好就好,應該不會有人故意亂切,而且又有 History 可以查,亂切的話,很容易查,查出來就扣 KPI !! 呵呵!

談到 KPI ( Kill Person Indicator ),不談也罷,也是個拉賽的東西...

最後結論就是,Mantis 好用啦!!

2009-03-13

各大廠智慧型手機市佔率

Nokia: 43.7%, -5.7%
RIM: 16.6%, 96.7%
Apple : 8.2%, 245.7%
宏達電: 4.2%, 58.4%

更詳細的公司和OS市佔率 http://www.gartner.com/it/page.jsp?id=754112

2008-09-09

Test Quest for Windows Mobile

在業界有一個非常常用的自動化測試工具,那就是 Test Quest。這套工具用一套自訂的 libraries 來讓工程師可以自訂 test cases 自動化,並且使用 C language,所以,只要會使用 C language 對於這套工具很能夠很快的上手,而且,它有一個最方便的功能,那就是自動產生 source code,只要你對手機執行一個動作,它就會自動為這個動作產生 source code,就這樣你可以做一連串的動作,產生相對應的 source code 然後再執行它,它就會自動為你執行這些動作。

那它的基本原理其實就是抓圖,沒有別的就是抓圖,它會自動抓取手機上的畫面,秀在一個視窗上,只要點這個視窗的任一點,它就會計算出你是點畫面的那一個地方,然後產出對映的 code,如果要判斷 Pass or Fail 那麼就是判斷做了一個動作後,下一個產生畫面是否正確,這和直接抓 API 的 return 值是不一樣,所以它產生的 log,和手機 host 端產生出來的 log 也完不一樣。那是不一樣層面的事情。它的 log 就是單純記綠你的動作是否正確。



這套工具可以做很多事情,最簡單的 Test cases 或重覆性的 Stress test 都能做,只是它判斷的依據很表面,就像一般 User一樣,只會注意到手機畫面上的變化。當一個 SQA 用這種工具找出來的問題,都一定要深入再分析,才能確定是那一部份真的出問題,除非,出現的問題真的是淺而易見的。

這套工具有更新版的出來,這個更新版的完全就不用寫 code,就用滑鼠拉一拉,把流程拉出來,就可以執行了,不過似乎目前好像聽到的都是用 Test Quest 居多就是了,我以前也是常用 Test Quest,簡直就像玩具一樣。XD

2008-09-03

Google Chrome 被公司擋了?

安裝完 Chrome 結果出現這個訊息.....


初歩研判是公司擋掉了,因為出現這個視窗後,Chrome 可以正常開啟,但是卻無法瀏覽任何網頁,辦法...還在想。

目前,只好回家再試了。