以前爬文時常看到有網友利用 M42 轉接環將便宜質素又不錯的 M42 接環鏡頭轉接於 EOS 機身上
最近爬文看到有網友自行拆了 EOS Kit 鏡 EFS 18-55mm,量測其數位訊號,並且自行製作轉接環的電路板,使 M42 在手動對焦,當合焦時在對焦屏上也能發出合焦訊號指示。
非常的令人期待此接環電路板的量產上市。
隨手寫些想到的東西
以前爬文時常看到有網友利用 M42 轉接環將便宜質素又不錯的 M42 接環鏡頭轉接於 EOS 機身上
最近爬文看到有網友自行拆了 EOS Kit 鏡 EFS 18-55mm,量測其數位訊號,並且自行製作轉接環的電路板,使 M42 在手動對焦,當合焦時在對焦屏上也能發出合焦訊號指示。
非常的令人期待此接環電路板的量產上市。
經過一段時間的壓力測試以及實驗證明,前端 AP 透過 Bea WebLogic 8.1 sp3 的 Connection Pool 取得 JDBC Connection
為了證明是 Bea 的問題,我特地改寫程式,透過 Jakarta Commons DBCP 元件來取得 JDBC Connection,以便與原先程式透過 Bea ConnPool 取得連線的方式作為對照組。
下面是使用 Quest JProbe Memory Debugger 分別取得的 DBCP 與 WLS ConnPool 的 Heap Memory 曲線圖:
測試個案為持續發送 Online 簡訊,經過一個小時後觀察 Heap Memory 曲線。
可以看得出來 Heap memory 耗用量逐漸的上升
再來看看 OnlineService 使用 Jakarta DBCP 的情形
看得出來 Heap Memory 經過 JVM GC 皆可以正確的釋放出來
再來看看 BatchService 的情形,測試個案是兩個批次 Job 各同時處理 10 萬筆簡訊
BatchService 使用 WLS Connection Pool

跟 OnlineService 一樣平穩,至此我就確定 WLS 8.1 sp3 內部應該有 Memory Leak 的問題存在,於是求助 BEA。BEA Consultant 才給了一帖大補丸,要求上 Patch 後再觀察看看。
上了 Patch 之後,果然曲線就變得大不相同
OnlineService 使用 WLS Connection Pool + WLS8.1 sp3 patch

BatchService 使用 WLS Connection Pool + WLS8.1 sp3 patch

所以如果使用 WLS 8.1 sp3 的人,請小心勿觸 OOM 的地雷
前陣子工作上我所負責的系統一直出現 OOM Error (java.lang.OutOfMemoryError)
Tuning Garbage Collection with the 1.3.1 Java Virtual Machine
從以前就想在 Linux 上來執行 Windows 的應用程式,那時候想到的辦法是利用 Linux + VMWare,透過 VMWare 在 Linux 上再啟動一個 Windows based OS,於是就可以在這個 windows OS 來執行 Windows AP。但這種方法的缺點是資源耗用的比較多,PC 等級不強大概跑起來效率很差,像現在 Broso Linux 只是一台 Pentium 3 650 等級的 PC,如果想在上面多跑一個 VMWare 就很吃力了。
最近找到了另一個解決的辦法。Wine 是一個利用 Linux 各式 libraries 來實做 Windows API 的一個套件。Wine 就有點類似一個轉譯器,將 Windows API 轉為 Linux API,使其可以在 Linux 上來執行。聽起來很神奇,但我實際安裝後,
還真的可以執行 Windows AP,效能也還不差。
一個將程式應用在生活上的好例子,利用標準 HTTP 協定來達成台鐵自動訂票的需求!!
記得以前也寫過類似的程式,去 CNN 網站狂投公投綁大選的反對票,呵呵!!
已經很久沒坐火車了,這個程式雖然沒有 GUI 介面,不過應該不難使用,推薦給大家使用!!
—————————————————————-
研究了一下台鐵訂票的html, 裡面用到一個JavaScript檔
不過是用*.js的方式與html分開, 有興趣的人可以另存網頁
再打開來研究裡面的語法…
不過就我個人使用而言, 直接指定車次去訂票比較符合我的需求
所以我修改了Yoshi兄的code,並且做了一些精簡,
另外,把訂票需要的資訊(身分證字號,起站代碼,到站代碼…)與程式分開
寫在文字檔中, 當需要訂不同的票時只要修改此文字檔, 不需重新compile
第一次post程式 請指教
1 |
import java.net.*;
import java.io.*;
public class OrderTicket {
private static String url="http://railway.hinet.net/trw/ctno11.jsp?";
public static void add(String attribute, String value) {
if(url.endsWith("&") || url.endsWith("?")) {
url+= attribute + "=" + value;
}
else {
url+= "&" + attribute + "=" + value;
}
}
public static void order() throws IOException {
URL website = new URL(url);
int count=1;
while(true) {
System.out.println("開始第" + count + "次嚐試訂票...");
count++;
URLConnection connection = website.openConnection();
BufferedReader in = new BufferedReader(
new InputStreamReader(connection.getInputStream()));
String line=null;
String content="";
while( (line=in.readLine())!=null) {
content+=line;
System.out.print(".");
}
in.close();
if(content.indexOf("您的車票已訂到")!=-1) {
BufferedWriter bw = new BufferedWriter(new FileWriter("result.html"));
bw.write(content);
bw.close();
System.out.println("票己成功訂到,請讀取result.html檔。");
System.exit(0);
}
else {
System.out.println("票尚未訂到,一分鐘之後將會再次嚐試...");
try {
Thread.sleep(6000); //sleep 1 minute, and try it again later.
}catch(InterruptedException e) {
e.printStackTrace();
}
}
}//end while
}
public static void main(String[] args) throws Exception{
if (args.length != 1)
{
// Print message, pause, then exit
System.err.println ("Invalid command parameters");
System.in.read();
System.exit(0);
}
BufferedReader filein = new BufferedReader(new FileReader(args[0] ));
//BufferedReader filein = new BufferedReader(new FileReader("data.txt"));
int i=0;
String[] value = new String[10];
String[] attribute = {"personId",//身分證字號
"fromStation",//_站代碼
"toStation",//到站代碼
"getinDate",//乘車日期
"orderQty",//訂票張數
"trainNo",//車次代碼
"returnTicket"//是否訂來回票
};
while ((value[i] = filein.readLine()) != null) {
add(attribute[i],value[i] );
i++;
}
System.out.println(url);
/*
try {
order();
}
catch(IOException e) {
System.out.println("連線失敗,請檢查你的網路連線。");
}
*/
}
}
|
編譯完 需要另外新增一個文字檔案儲存訂票資訊
執行時的第一個參數為此文字檔案檔名
只剩三天就要出國了。不過還沒刷團費,機票護照還沒拿到,SPA 還沒訂到,行程都還不確定
上次去帛琉玩的時候,看著其他的團員人手一台防水相機,浮潛的時候盡情的將帛琉美麗的海底拍回來留念,心裡真是嘔啊!
這次要去巴里島玩,雖然沒跟團,但我們自己也安排了一趟泛舟,所以這次我就早早就想到得帶個防水相機同行,才能將泛舟時的歡樂情景也留影下來。研究了一會兒,當然最簡單就是買個 KODAK 水精靈立可拍防水相機
這種立可拍防水相機大約兩百元左右,不過這個可是傳統底片相機,拍回來沖洗後還需拿底掃再掃一次,才能得到數位影像,而且這種相機大概也別想要求影像品質了,主要訴求就是能夠讓你在水裡拍攝而已。
不過科技日新月異,漸漸的數位相機也被設計成可以在水裡攝影。方式分成兩種:
1.潛水盒,顧名思義就是類似一個盒子套在數位相機外面,而潛水深度可達 30 米 ~ 40 米。由於潛水深度夠深,所以潛水盒的防水性絕佳,操作得宜的話,幾乎不可能進水。但是缺點就是,必須針對所使用的數位相機型號來購買,而且價位很貴,大約八九千元,幾乎都可以再買一台 DC 了。
|
|
| Nicon CoolPix 7900 | Canon 300D |
2.防水數位相機,又分為生活防水與水中防水。生活防水以 Olympus μ 系列為代表,生活防水以符合日本 JIS4 防水標準(或稱為 IEC standard publication 529 IPX4),這種防水規格僅能防止從各角度濺來的水花,並不足以達到在水中攝影的要求。
而 Pentax 先前設計了 Optio 33WR/43WR 系列,符合 JIS7 的防水標準,可在水深一公尺處浸泡達 30 分鐘而不會進水。最近更新發表 Optio WP 系列數位相機,符合 JIS8 防水標準,不但可在水深一公尺處浸泡達 30 分鐘,更可同時在水中操作數位相機而不會進水。Pextax 原廠還為了 WP 系列相機設計了一個 H2OCamera 專屬網站,可以看得出 Pentax 在這個領域的企圖心。
在 Mobile01 有篇 Optio 43WR 的測試報告,看起來 43WR 不但水中浸泡不會進水,似乎在水中操作相機也不是問題。
對岸也有一篇 Optio 33WR 的測試報告,介紹也頗為詳盡,非常值得參考。
|
|
||||||||||||||||||||||
不小心在 http://weatherpixie.com 找到可以顯示即時天氣資訊功能
今天在網路上閒晃時逛來逛去又不小心看到這個 測試邪惡度 的網站

呼..真是好險,還好測試結果不是 100% EVIL,不然可真是令人監介啊。| 政黨 | 測試網址 | 邪惡度 | |
| 民主進步黨 | http://www.dpp.org.tw/index2.asp | ![]() ![]() |
看測試結果 |
| 中國國民黨 | http://www.kmt.org.tw/ | ![]() ![]() |
看測試結果 |
| 親民黨 | http://www.pfp.org.tw/ | ![]() ![]() |
看測試結果 |
| 新黨 | http://www.np.org.tw/ | ![]() ![]() |
看測試結果 |
| 台灣團結聯盟 | http://www.tsu.org.tw/ | ![]() ![]() |
看測試結果 |
| 無黨團結聯盟 | http://www.npsu.org.tw/ | ![]() ![]() |
看測試結果 |
| 建國黨 | http://www.taip.org/index.htm | ![]() ![]() |
看測試結果 |
| 泛紫聯盟 | http://www.justice.org.tw/index.htm | ![]() ![]() |
看測試結果 |
分享一則影片,超神的!!