[演算法] Eulerian's Theorem

- 尤拉路徑所指的是在一個圖中每一邊只能走過一次。


- 設G=(V,E)為一無向圖,G有尤拉路徑的充要條件是:G具有連通性而且恰有兩頂點的degree為奇數,其餘各頂點的degree皆為偶數。
尤拉路徑指的就是從圖中的某一個頂點出發,經過圖中的每個邊,而且每個邊只能經過一次。

- 設G=(V,E)為一無向圖,G有尤拉迴路的充要條件是:G具有連通性而且所有的頂點degree均為偶數。
尤拉迴路指的就是這個路徑的起點和終點是同一點。





* Good Web-Sites :
  1. http://xserve.math.nctu.edu.tw/people/cpai/carnival/bridge/index.htm

[軟體] Windows Sysinternals

今天要來介紹一個好用的軟體,而且還是微軟官方所發佈的軟體喔!(迷之聲:那要錢嗎...囧)



這個軟體的名稱叫做 Windows Sysinternals 。事實上,這是一個由很多實用小工具所組成的一個套裝軟體,不過檔案並不大,可以從這裡下載。裡面附上了許多實用的工具,例如可以監控目前載入的Process、查看目前對外連線的TCP數目、系統資訊......等等。蠻多工具都蠻好用的,檔案都不大,有需要的人可以自行下載來玩玩看。

[GWT] 中文阿中文


隨興所至測試了一下GWT的中文支援程度,沒想到連最基本的app都不能顯示中文...Orz



Google阿,你好歹有誠意一點吧!

button.addClickListener(new ClickListener() {
public void onClick(Widget sender) {
if (label.getText().equals(""))
label.setText("中文測試");
else
label.setText("");
}
});

[電影] 口白人生 - 面對、改變



這次看了一部叫做 《口白人生》 的電影。還蠻對我的胃口的,淡淡的、敘述式的電影情節、Boston或Seattle式的街景,整個就讓我很有興趣。看完之後也沒有讓我失望。是一部輕鬆但意義深遠的好電影。

片中的主角-威爾法瑞〔Will Ferrell〕一開始過著是相當制式化的人生。身為一個國稅局的員工,充滿數字的生活對他來說應該是稀鬆平常。連早上刷牙要刷幾次、幾點該出門到公車站等公車都算的清清楚楚、分毫不差。直到他發現天外飛來一句句口白,並且精準的描述了他的人生之後,他意識到人生開始起了變化...。



有時候我在想,我們所走的人生道路上,有沒有一個制式化的道路。更精確的說,不管我們做了什麼決定、遇到多少"偶發"的狀況,一個個看似平淡或驚喜的事件,是不是早就被安排好了?如果我的人生也像劇中的主角一樣,是被一個第三者以"不知情"的態度在描寫、並且分毫不差時,我會用什麼樣的思維去度過我剩下的人生?當我已經知道未來的一切發展、我已經預知道我何年何月何時何地會死去時,我的人生是否還會充滿意義?

劇中的男主角在看到小說,知道自己的死期之後,選擇坦然面對這樣的事實。撇開戲劇效果不談,我想自從他的人生出現了不知名的"口白"後,已經有了巨大的轉變。不再只是每天與數字為伍、不再每天過著制式化的生活而毫無樂趣。他決定用坦然的態度去度過接下來的日子,面對人生的發展,享受人生。

儘管這樣的事情也許不會發生在世界上(又或許存在只是我們不知道),但是可以給觀賞者一個省思。也就是說,當我們唉聲嘆氣、對人生絕的百般無奈、窮極無聊之時,也許我們該換個角度,去找出人生中具有意義、具有樂趣之處。換個角度、面對、享受,也許人生的結局就從現在開始改變。


[GWT] 自學GWT - 3 (檔案結構)

這一篇我想研究一下GWT的檔案結構。到底我們建立好一個application之後,裡面所有檔案的意義是什麼呢?既然想要研究,就不要"知其然不知其所以然",一知半解是不好的XD

OK,follow up.

開始

為了熟悉指令的用法,我們在Command Line下,用applicationCreator去建立一個GWT的應用程式。(在這裡我們將此應用程式放在一個空的資料夾下,命名為Sample)

切換到Sample資料夾下,看看我們建立了什麼檔案。我們從圖中可以看到,利用applicationCreator建立的應用程式最原始有兩個檔案和一個資料夾。請看以下的解釋:
  • GWTApps-compile.cmd : 這個是一個簡單的shell script。如果你用記事本等軟體打開來看就會發現,其實不過是jdk的java指令罷了。而這個script主要的功用就是將我們的Java source code轉換成JavaScript。執行這個檔案之後,會產生一個www資料夾,會將產生的JavaScript放在裡面。
  • GWTApps-shell.cmd:這也是一個Shell Script。和前一個不同的是,這個script會執行hosted mode,也就是說它會產生一個類似瀏覽器的web server來執行我們的應用程式。(執行後會產生兩個資料夾:tomcat和.gwt-cache)
在src的資料夾下是我們所指定的package目錄,裡面有三個檔案,分別是GWTApps.gwt.xml、GWTApps.html和GWTApps.java。
  • GWTApps.java:這個就是我們的java原始檔案。我們可以在這裡撰寫我們的程式,最後會被轉換成JavaScript的就是這個檔案。
  • GWTApps.gwt.xml:這個xml檔案定義了我們的entry class在哪裡。也就是說我們要load進入web browser的是哪個module。
  • GWTApps.html:這是在執行的時候會被讀入的HTML頁面。
以上就是GWT最基本的檔案結構,看起來相當簡單吧!


[GWT] 自學GWT - 2 (Build in Eclipse)

這一篇要來談談怎麼樣在Eclipse裡面建置GWT的專案。

基本上我有點不太喜歡在Eclipse裡面搞這個有的沒的,因為會牽扯到path和classpath的問題。不過研究了快一個小時總算搞定了,當然要記錄一下,以茲紀念xD (其實是怕以後忘記...)

前言

GWT內部提供了兩個script來建立Eclipse的專案。分別是projectCreato和applicationCreator。我們只要在Command Line鍵入相對應的指令就可以Build好一個Eclipse的專案了。

開始吧

  • 建議先建立一個新的資料夾,最好不要在GWT原本的資料夾或是Eclipse的workspaces。這裡我們建立一個FirstGWTApps的資料夾,並且切換到該目錄下。
  • 接著使用projectCreator的指令去建立一個Eclipse的專案。指令的格式如下:
projectCreator -eclipse 專案名稱
  • 再來使用applicationCreator來建立我們的應用程式。指令的格式如下:
applicationCreator -eclipse 專案名稱 應用程式名稱
GWT建議我們的應用程式取名為xxx.xxx.client.應用程式名稱

  • 都建立好之後,就可以在Eclipse裡面Import我們的專案。
  • 最後選擇Run,Eclipse就會啟動一個Web Server來執行我們的專案囉!

[GWT] 自學GWT - 1

GWT已經Release很久了,現在才開始熟悉它好像有點慢XD
不過"亡羊補牢、猶時未晚",有開始總是好的嘛!對於我這個Google-addicter來說,當然要去了解一下GWT的用法囉! 廢話不多說,開始吧。

先來了解一下什麼是GWT。根據Google官方的解釋:
Google Web Toolkit (GWT) makes it easier to write high-performance AJAX applications. You write your front end in the Java programming language and GWT compiles your source into highly optimized JavaScript. Writing web apps today is a tedious and error-prone process. You spend 90% of your time working around browser quirks, and JavaScript's lack of modularity makes sharing, testing, and reusing AJAX components difficult and fragile. It doesn't have to be that way.

把關鍵字挑出來看,也就是說,GWT主要是用來進行JavaJava Script之間的轉換,我們只要用Java的語法去進行撰寫程式的動作,GWT Compiler會將我們的Java程式碼轉換成Java Script,這樣就不用去和Java Script進行奮鬥了。這對於完全不熟悉Java Script又想要開發AJAX應用程式的我來說,真是一大福音XD。

GWT的應用程式有兩種模式:Hosted ModeWeb Mode.
  • Hosted Mode:簡單來說,就是指本機端。我們可以在這裡用Java語言去撰寫應用程式,然後透過JVM去Compile。
  • Web Mode:在這個模式下,我們的應用程式被GWT Compiler轉換成JS和HTML。
要開始動手撰寫前,必須要先去下載GWT。下載回來之後,將檔案解壓縮會得到GWT的作業環境和Sample Code。根據GWT Tutorial的說法,GWT所提供的Sample都放在samples的資料夾下面。

下一篇我們來介紹一下要如何開始我們的第一個Sample!

[軟體技巧] Office 2007 轉 pdf

pdf檔案才是流通市面上的王道啊!不知道微軟是不是自己也覺得pdf格式比自家的docx、pptx...等等加上xml格式的office 2007來的好,Microsoft自己也release了一個可以將office 2007檔案格式轉換成pdf的小套件。

可以點選這裡下載
官方網站也可以下載,不過需要接受正版軟體的驗證。

[軟體技巧] Avira Antivir防毒軟體不要跳出更新視窗





有在用小紅傘防毒軟體的人應該都知道在更新病毒碼的時候,小紅傘會跑出一個令人心煩意亂的視窗。就算縮到最小還是會螢幕的右上角不斷提醒你:我現在正在更新喔^^*

有沒有辦法不要讓它顯示呢?
辦法當然是人想出來的囉!只要運用一點小小的技巧就可以了,請往下看吧。

Step 1 : 打開小紅傘的主視窗。


Step 2 : 選擇Scheduler標籤
Step 3 : 新加入一個job
Step 4 : 直接選擇下一步即可


Step 5 : 設定自己想要更新的時間區段
Step 6 : 重點來了!選擇Invisible的顯示方式。

這樣就大功告成啦!

[電影] 跳躍吧!時空少女


這個週末看了一部日本動畫,片名叫做-跳躍吧!時空少女

改編自日本很有名的作家-筒井康隆的作品,穿越時空的少女。
主要是在說一位高中生紺野真琴無意間發現自己有穿越時空的能力,她起初還無法控制這樣的能力,但漸漸習慣後,就把它當作是'上天的恩賜',開始用在許多雞毛蒜皮的小事上面,直到她有一天發現有一件重要的事情必須要回到過去時,卻已經沒有機會了......。

這部電影是斷斷續續在吃飯的時候看完的,一開始我還以為是宮崎駿的作品,沒想到居然不是。不過不知道是不是我的錯覺,日本的動畫感覺都很像阿。是說我非常喜歡宮崎駿先生的動畫,他的所有作品我都看過了。日本動畫那種獨有的魅力、淡淡的描述事情的方式,深得我心阿。

看完這部動畫之後,還是沒有讓我失望。

穿越時空的題材其實有點老梗了,不過這部動畫加上了很強的青春氣息,許許多多的地方都可以看出來主角身為一個高中生應該有的思維與行動。像是把能力用在唱十個小時的KTV、吃到妹妹偷吃的布丁、避免遲到...等等。孩是我會偷偷看一下股票的漲跌、考卷的答案呢?嘖嘖嘖,其實這樣的能力很可怕,我想都不敢想,可能剛擁有的時候會很興奮、很衝動的想要做一些事情,但是靜下心去思考就會發現這是很可怕的一件事情。

到底能不能改變歷史?

我覺得過去的就過去了,人生因而珍貴就是他擁有許許多多的記憶和無限可能的未來。如果歷史都可以隨意的竄改,那們活著的意義是什麼呢?就算沒有二次世界大戰,世界會更加美好嗎?Who knows?以歷史為鑑、以未來為仰。記住過去的教訓、爭取更好的未來。

Time waits for no one.

p.s. 台灣官方網站在此

[閒聊] 這是第一篇

這是第一篇測試的文章。