2008/01/11

證照

 

 

 

我不敢期望自己像大師一樣當一個無證照達人,

也不希望把證照奉為圭臬。

 

活了這麼大,參加過的證照考試也只有兩個,

一個是十幾年前的軟體設計丙級,筆試過了之後,沒有去考術科(當時術科考的是DOS和BASIC)

一個是這幾年考的SCJP,低空飛過。

 

證照對我來說,

是一個驗證自己對於平常在使用的技能,究竟是否達到一定的水準,而認證機構正好提供了這樣一個管道。另外一個因素就是興趣。

考軟設丙級的那時候,我是班上僅有幾個會寫程式的(高中文組),只是想去驗證一下自己到底程度在哪裡;

考SCJP是因為工作以來,一直在使用Java,卻始終跳脫不出抄抄改改的模式,

想藉著準備認證,讓自己對ava有更完整的認識。

 

我依然持續地想考各種認證,SCWCD、LPI、語文檢定等等,

但我不希望是被逼的,

更不希望為了特定目的,去背題庫來考一些我不覺得會有幫助的證照。

 

2007/10/16

不知道是好是壞

 

 

除了吃飯和少量的睡眠外,


從昨天早上到剛剛,幾乎是連續30小時的測試,

等於把 4758 RSA 相關的 API 又測了一遍,重新溫習。

 

協力廠商開發的SUIP、同事開發的元件,

SUIP 和元件交互的驗證,兩邊都不是我的程式,

待解的問題也不是我會用到的功能,

自己大費周章寫 4758 程式去驗證,好像有點多此一舉。

 

不過這好像是做專案常常會發生的狀況,總是會有 cover 不到的地方,

一邊聲稱做完UT,一邊則是已經上線使用的程式,

SUIP 和元件交互驗證驗不過,

作為中間的測試人(我也不知道為什麼是我在做這樣的測試),

是該直接把問題丟出去:"測不過,你們去協調吧!"?

還是該想辦法舉證出某一方的錯誤?

 

我選擇了後者,花費了很多心思和時間,

是協助問題的解決?還是增加了專案的成本?

不知道是好是壞。

 

 

2007/10/15

免費的頻寬限制軟體 NEGiES

 

 

版本:1.57(1.5.7才有中文化)




 

頻寬限制軟體,綠色軟體免安裝,是要付費的 NetLimiter 的替代品,但功能毫不遜色。

用來限制電腦上各個程式使用網路的頻寬,以免特定軟體佔用大量頻寬而拖慢上網的速度。

2007/10/02

過敏

 

 

 

最近一個月不知怎麼了,過敏異常嚴重,

常常渾身發癢,身上被抓的傷痕累累,可是又很難克制不去抓,

吃了一些過敏的成藥,也不見好轉,

一發作起來,根本無法靜下心做事情。

 

 

昨天下午決定請半天假去萬芳醫院看醫生,

才剛掛完號,馬上就接到客戶的 urgent call,production 的問題,

只好馬上衝回家收 mail,check 問題發生的原因,

等到確認問題解決回到醫院,已經過號了.......Orz

只好重新掛晚上的門診,87號......

等到10點多終於輪到我,看了診、領完藥已經將近11點了,

結果請了半天假,還是折騰到半夜,真累~

 

2007/09/06

我可能快瘋了

 

 

 

 

 

居然很認真地思考,

要不要花錢買一套 Microsoft Office 2007......

我可能快瘋了...... 

2007/08/20

jps - Java Virtual Machine Process Status Tool

 

 

 

無意間在 jini(99% jakarta)雅加達爪哇咖啡台灣總店 發現一個好用的 java tool,jps。
jps 是 jdk 5.0 之後提供的一個工具,

可以透過此工具取得目前系統上執行的 java 程式之系統訊息。

相關的 java 官方說明如連結:http://java.sun.com/j2se/1.5.0/docs/tooldocs/share/jps.html 

 


很多 java 程式需要知道自己是不是系統上唯一執行的程式,

大部分的解決方法是透過 bind 一個 socket port 來確保程式是唯一的,

但是若需要同時指定不同的設定檔執行好幾次同一支程式時,

單純用 socket port 來做識別,似乎就有其困難之處,且很多系統上,是不太允許程式隨便佔用 port 的。

 

透過 jps 搭配不同的參數,可以得知目前系統上 java 程式的細節,

例如 process id、程式 main class 的完整名稱(-l)、執行程式的參數(-m)、VM 的參數等等(-v),

 使用 -l 參數,可知道是否已經有相同的程式於系統中執行,

搭配 -m 參數,可知道是否有相同的程式使用了哪些參數在系統中執行,

使用 -v 參數,可以知道執行程式時的 vm 參數,例如 classpath、程式執行的路徑、以及記憶體的調適等。

 

若要用程式來處理的話,則如 jini(99% jakarta)雅加達爪哇咖啡台灣總店 所提到的,

使用 runtime.exec 來執行 jps,並取得其結果再做進一步分析,範例如下:





import java.io.*;

 

public class JPS_Test {
    public static void main(String[] args) {
        try {
            Runtime runtime = Runtime.getRuntime();
            Process process = runtime.exec("jps.exe -l -m -v");
            InputStream is = process.getInputStream();
            BufferedReader br = new BufferedReader(new InputStreamReader(is));
            String line;
            while ((line = br.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}




 

或是直接參考 Jps 的做法去取得資訊,

( Sun 已經公開 jdk 的 source 了,下載後,路徑是 \j2se\src\share\classes\sun\tools\jps\Jps.java )

不過這種做法就像使用特定 JCE Provider 去處理 Certificate 一樣,

要使用到 sun.xxx 的 package,而非 java 標準之 package,是沒有文件和官方支援的哦。

 

2007/08/04

先生,你要的酸辣湯在湯餃裡有。

 

 

 

有次跟朋友一起吃用餐,

我點了喝碗酸辣湯,朋友點了一份湯餃。

老闆說,先生,你要的酸辣湯在湯餃裡有,

吃那份湯餃就能喝到酸辣湯,實在看不出單點酸辣湯的用意何在,

所以老闆就把酸辣湯從菜單上劃掉了。

 

啥?!這是什麼狀況!

慶幸的是,這種事情在現實生活中肯定不會發生,

否則不是麵店很快倒掉,就是湯餃以後可能要以 license 數量(來客數)來計費了。

 

但是偏偏這種事情,就發生在最近的一個專案上,

開了需求要A, B 兩個功能,還給了一份規格書。

原本以為連規格都開好,應該很快就能夠確認相關的細節了,

結果拖了一週,廠商居然回信說,因為B的功能包含在A裡面,所以就不提供B的功能了。

A, B兩個功能的I/O根本就不同,使用的時機也不同,

在沒有經過確認之前,就這樣逕自拔掉別人的需求,

完全沒有辦法理解那個廠商到底在想什麼,真的是令人提笑皆非......