2007年6月2日 星期六

不允許的禁忌之愛-妹妹戀人

記憶中,除了幾年前的「在世界中心呼喊愛情」這部片外,這應該是第二次跑去看不該一個人看的電影了吧!

可是有時候,就是會有一股強烈的衝動,好像不去做就會吃不下飯,睡不著覺(當然看電影這回事,沒這麼離譜啦!)

前陣子看到這部片即將上映,跟「在世界中心…」一樣,一看到預告就想看。不過可惜的是,網路上沒辦法取得這片。

所以囉!那股期待與衝動,就在今天發酵了。不過老實說,一個人去看這部片有點怪,尤其是一個大男人去看這類型的純愛影片…那就…更怪了(當然這部片不能列為純愛片之一)!

那好吧!打電話約幾個朋友,要不一起去看。不過可想而知的是,朋友們都有自已的節目了,狀且我這算是臨時的邀約。
一般來說,只要是正妹,都應該會拒絕這種臨時的邀約。不然會讓人覺得,隨時都能找得到,隨時都能約出來,是不是沒有行情呀!當然我不是說我臨時約,約得出來的就沒有行情,不是正妹。我想表達的是,我這類變化永遠大於計劃的人。很多行動是臨時起義。當然想約人出來吃個飯、泡泡茶、聊聊天,碰釘子的機會是非常大的。如果真的有空,就給個機會囉!(對於我來說,我想約的人都是正妹)

雖是預料之中的事,我還是決定去看(因為隔天得忙其他事),於是乎出發到了西門町的樂聲戲院,還沒開場前先在西門町附近閒晃一下,看看許久未接觸的人群。想去買雙涼鞋,但沒看到喜歡的而作罷,16:50開場時間到後進場。我記起了這類型的電影我為什麼不想一個人看的原因了。

因為進場的人…完完全全是雙雙對對…就算是女生…也是二個人一起進場的。進場時戲院的燈還是開的,這種情況下…我似乎就像個異類。應該說尷尬到底了吧!不過有趣的是看電影的人,9成以上是女生(雙雙對對的女生)。男生帶女伴的反而不多。唯一一個不是雙雙對對又不是女的,應該只有我吧!再說一次尷尬到底了!

劇情什麼的我就不提了!有興趣的參考下面的網址吧,主題曲非常好聽是克莉絲朵凱兒唱的「直到永遠」,網址也列在下面囉!

詳細介紹: http://stars.udn.com/star/StarsContent/Content12278/
專輯MP3: http://www.badongo.com/cn/file/3235929
單曲MP3: http://www15.rapidupload.com/d.php?file=dl&filepath=26123

這部片看現場的感覺跟「在世界中…」有很大的差別,當時在看「在世界中…」時隱約會聽到有人掉眼淚,啜泣的小聲音。而「妹妹戀人」很明顯的…沒有…,因為雖然「妹妹戀人」拍出了一定程度的美感,但也拍出了一定程度的…「悶」。

散場時聽到一堆人交頭接耳的說對這片的感覺,幾乎都是反面的評價,我想應該是沒拍出女孩們所期待的愛情崇景的結局吧!當然親生哥哥跟妹妹的戀愛,是不被允許的禁忌之愛。不應該有個圓滿結局的,不過我也不希望是個悲劇收場,所以沒有結局的結局也許是最好的結局吧!看完這部分之後,在我內心的評價並沒有因此而扣分,只是滿可惜的,真的有些情節有點悶。雖然沒扣分,但若要推薦給人的話,已經從「非看不可」,轉變成「有空的話,看一下也不錯」。
不過若之後網路上找得到的話,我還是會收集這部片的,應該還會再看一次吧!


最後在劇中除了「榮倉奈奈」是我想看的之外,發現還有一位在劇照中沒出現,但很優的女配角「小松彩夏」,所以也找了這位女優的圖片,介紹給大家囉!
當我在找「小松彩夏」的資料時,我發現,其中一張圖片曾經當過我手機的桌布呢!另外大家有沒發現到,他曾經演過真人版的美少女戰士哦!呵呵!也許有空我會找來看看!

Read More......

2007年6月1日 星期五

求婚大作戰

本來想寫一下「求婚大作戰」的,不過我發現有人更用心,參考下面的網址吧!
http://www.wretch.cc/blog/vinsonn&article_id=4858741
http://blog.makotow.com/read.php?1111

接下來2007年春季的日劇,會持續看的只有:
1.求婚大作戰
2.Liar Game
3.新娘與爸爸

其他的:
生徒諸君、情定大飯店…等我有空再看吧!

現在…我很想很想看剛上映的一部電影「妹妹戀人」

以下是今天看的第四集,第二顆鈕扣的故事截圖

Read More......

(2005.8月號-139期)_為企業導入開放原始碼解決方案_建構企業專案-使用Maven(2)

自動建立IDE開發環境設定

在「序言」中我們提到,我們很難將IDE開發環境的配置複製一份供其他開發人員使用,又或著說,在同一個開發團隊中的每位開發人員都有自己徧好的IDE,甲用Eclipse、乙用IntelliJ IDEA、丙用JBuilder…等,在這種情況下的環境配置就更難於統一了,若將IDE的配置也加入版本控制中,每位開發人員都有權限對環境做修改,這將造成更大的災難。




Maven解決了這個問題,還記得上述過程中建立的goal.txt檔嗎?開啟該檔並搜尋我們常見的IDE名稱。

列表07

[eclipse] Generate Eclipse project files

[idea] Generate IDEA project files

[jbuilder] Generate JBuilder project files

[jdeveloper] Generate JDeveloper project files

也就是說,我們可以使用Maven協助我們產生各種IDE開發環境的project files。試著執行 maven eclipse 或著 maven idea 等等,產生不同IDE的設定。

04-Eclipse開發環境

05-IntelliJ IDEA開發環境




進行後續的整合

現在我們對照之前使用ANT的資料結構,並依下圖將相關檔案複製到定位。

06

接著將所需的jar檔設定於mavenproject.xml內,而至於有那些jar檔需要被引用,參考表「設定01Ant build.xml檔「017-044」「094-138」行,完整的 project.xml 如下。

設定08-project.xml

<?xml version="1.0" encoding="UTF-8"?>

<project>

<pomVersion>3</pomVersion>

<groupId>jpetstore_maven</groupId>

<id>jpetstore_maven</id>

<name>JPetStore Application</name>

<currentVersion>1.0</currentVersion>


<dependencies>

<dependency>

<id>servletapi</id>

<version>2.3</version>

</dependency>

<dependency>

<groupId>aopalliance</groupId>

<artifactId>aopalliance</artifactId>

<version>1.0</version>

<properties>

<war.bundle>true</war.bundle>

</properties>

</dependency>

<dependency>

<groupId>axis</groupId>

<artifactId>axis</artifactId>

<version>1.2-RC3</version>

<properties>

<war.bundle>true</war.bundle>

</properties>

</dependency>

<dependency>

<groupId>axis</groupId>

<artifactId>axis-jaxrpc</artifactId>

<version>1.2-RC3</version>

<properties>

<war.bundle>true</war.bundle>

</properties>

</dependency>

<dependency>

<groupId>axis</groupId>

<artifactId>axis-saaj</artifactId>

<version>1.2-RC3</version>

<properties>

<war.bundle>true</war.bundle>

</properties>

</dependency>

<dependency>

<groupId>axis</groupId>

<artifactId>axis-wsdl4j</artifactId>

<version>1.2-RC3</version>

<properties>

<war.bundle>true</war.bundle>

</properties>

</dependency>

<dependency>

<groupId>burlap</groupId>

<artifactId>burlap</artifactId>

<version>2.1.7</version>

<properties>

<war.bundle>true</war.bundle>

</properties>

</dependency>

<dependency>

<groupId>hessian</groupId>

<artifactId>hessian</artifactId>

<version>3.0.1</version>

<properties>

<war.bundle>true</war.bundle>

</properties>

</dependency>

<dependency>

<groupId>hsqldb</groupId>

<artifactId>hsqldb</artifactId>

<version>1.7.2.2</version>

<properties>

<war.bundle>true</war.bundle>

</properties>

</dependency>

<dependency>

<groupId>ibatis</groupId>

<artifactId>ibatis-common</artifactId>

<version>2.0.8</version>

<properties>

<war.bundle>true</war.bundle>

</properties>

</dependency>

<dependency>

<groupId>ibatis</groupId>

<artifactId>ibatis-sqlmap</artifactId>

<version>2.0.8</version>

<properties>

<war.bundle>true</war.bundle>

</properties>

</dependency>

<dependency>

<groupId>jstl</groupId>

<artifactId>jstl</artifactId>

<version>1.0.6</version>

<properties>

<war.bundle>true</war.bundle>

</properties>

</dependency>

<dependency>

<groupId>ibatis</groupId>

<artifactId>ibatis-sqlmap</artifactId>

<version>2.0.8</version>

<properties>

<war.bundle>true</war.bundle>

</properties>

</dependency>

<dependency>

<groupId>commons-beanutils</groupId>

<artifactId>commons-beanutils</artifactId>

<version>1.7.0</version>

<properties>

<war.bundle>true</war.bundle>

</properties>

</dependency>

<dependency>

<groupId>commons-collections</groupId>

<artifactId>commons-collections</artifactId>

<version>3.1</version>

<properties>

<war.bundle>true</war.bundle>

</properties>

</dependency>

<dependency>

<groupId>commons-dbcp</groupId>

<artifactId>commons-dbcp</artifactId>

<version>1.2.1</version>

<properties>

<war.bundle>true</war.bundle>

</properties>

</dependency>

<dependency>

<groupId>commons-digester</groupId>

<artifactId>commons-digester</artifactId>

<version>1.5</version>

<properties>

<war.bundle>true</war.bundle>

</properties>

</dependency>

<dependency>

<groupId>commons-discovery</groupId>

<artifactId>commons-discovery</artifactId>

<version>0.2</version>

<properties>

<war.bundle>true</war.bundle>

</properties>

</dependency>

<dependency>

<groupId>commons-logging</groupId>

<artifactId>commons-logging</artifactId>

<version>1.0.4</version>

<properties>

<war.bundle>true</war.bundle>

</properties>

</dependency>

<dependency>

<groupId>commons-pool</groupId>

<artifactId>commons-pool</artifactId>

<version>1.2</version>

<properties>

<war.bundle>true</war.bundle>

</properties>

</dependency>

<dependency>

<groupId>commons-validator</groupId>

<artifactId>commons-validator</artifactId>

<version>1.1.3</version>

<properties>

<war.bundle>true</war.bundle>

</properties>

</dependency>

<dependency>

<groupId>taglibs</groupId>

<artifactId>standard</artifactId>

<version>1.0.6</version>

<properties>

<war.bundle>true</war.bundle>

</properties>

</dependency>

<dependency>

<groupId>struts</groupId>

<artifactId>struts</artifactId>

<version>1.2.4</version>

<properties>

<war.bundle>true</war.bundle>

</properties>

</dependency>

<dependency>

<groupId>springframework</groupId>

<artifactId>spring</artifactId>

<version>1.1.5</version>

<properties>

<war.bundle>true</war.bundle>

</properties>

</dependency>

</dependencies>


<build>

<nagEmailAddress>turbine-maven-dev@jakarta.apache.org</nagEmailAddress>

<sourceDirectory>src/java</sourceDirectory>

<unitTestSourceDirectory>src/test</unitTestSourceDirectory>

<unitTest>

<includes>

<include>**/*Test.java</include>

</includes>

<excludes>

<exclude>**/NaughtyTest.java</exclude>

</excludes>

</unitTest>

<resources>

<resource>

<directory>src/conf</directory>

<includes>

<include>*.properties</include>

</includes>

</resource>

</resources>

</build>

</project>


並在maven.xml加入以下的設定

設定09-maven.xml

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns:j="jelly:core" xmlns:ant="jelly:ant" default="war">

<postGoal name="java:compile">

<copy todir="${maven.build.dest}">

<fileset dir="${pom.build.sourceDirectory}">

<include name="**/*.xml"/>

</fileset>

</copy>

</postGoal>

</project>


完成以上設定後於命令下執行maven重新建立war檔。

__ __

| / |__ _Apache__ ___

| |/| / _` V / -_) ' ~ intelligent projects ~

|_| |___,_|_/___|_||_| v. 1.0.2


build:start:


war:init:


war:war-resources:

[mkdir] Created dir: D:JProjectjpetstore_maventargetxdocletwebdoclet

[mkdir] Created dir: D:JProjectjpetstore_maventargetxdocletwebdocletWEB-INF

[copy] Copying 143 files to D:JProjectjpetstore_maventargetxdocletwebdoclet

[copy] Copying 1 file to D:JProjectjpetstore_maventargetxdocletwebdocletWEB-INF


java:prepare-filesystem:

[mkdir] Created dir: D:JProjectjpetstore_maventargetclasses


java:compile:

[echo] Compiling to D:JProjectjpetstore_maven/target/classes

[echo]

==========================================================


NOTE: Targetting JVM 1.4, classes

will not run on earlier JVMs


==========================================================


[javac] Compiling 73 source files to D:JProjectjpetstore_maventargetclasses

Note: D:JProjectjpetstore_mavensrcjavaorgspringframeworksamplesjpetstorewebstrutsBaseActionForm.java uses or overrides a deprecated API.

Note: Recompile with -deprecation for details.

[copy] Copying 7 files to D:JProjectjpetstore_maventargetclasses


java:jar-resources:


test:prepare-filesystem:

[mkdir] Created dir: D:JProjectjpetstore_maventargettest-classes

[mkdir] Created dir: D:JProjectjpetstore_maventargettest-reports


test:test-resources:


test:compile:


test:test:


war:webapp:

[echo] Assembling webapp jpetstore_maven

[mkdir] Created dir: D:JProjectjpetstore_maventargetxdocletwebdocletWEB-INFlib

[mkdir] Created dir: D:JProjectjpetstore_maventargetxdocletwebdocletWEB-INFtld

[mkdir] Created dir: D:JProjectjpetstore_maventargetxdocletwebdocletWEB-INFclasses

[copy] Copying 1 file to D:JProjectjpetstore_maventargetxdocletwebdocletWEB-INFlib

[copy] Copying 1 file to D:JProjectjpetstore_maventargetxdocletwebdocletWEB-INFlib

[copy] Copying 1 file to D:JProjectjpetstore_maventargetxdocletwebdocletWEB-INFlib

[copy] Copying 1 file to D:JProjectjpetstore_maventargetxdocletwebdocletWEB-INFlib

[copy] Copying 1 file to D:JProjectjpetstore_maventargetxdocletwebdocletWEB-INFlib

[copy] Copying 1 file to D:JProjectjpetstore_maventargetxdocletwebdocletWEB-INFlib

[copy] Copying 1 file to D:JProjectjpetstore_maventargetxdocletwebdocletWEB-INFlib

[copy] Copying 1 file to D:JProjectjpetstore_maventargetxdocletwebdocletWEB-INFlib

[copy] Copying 1 file to D:JProjectjpetstore_maventargetxdocletwebdocletWEB-INFlib

[copy] Copying 1 file to D:JProjectjpetstore_maventargetxdocletwebdocletWEB-INFlib

[copy] Copying 1 file to D:JProjectjpetstore_maventargetxdocletwebdocletWEB-INFlib

[copy] Copying 1 file to D:JProjectjpetstore_maventargetxdocletwebdocletWEB-INFlib

[copy] Copying 1 file to D:JProjectjpetstore_maventargetxdocletwebdocletWEB-INFlib

[copy] Copying 1 file to D:JProjectjpetstore_maventargetxdocletwebdocletWEB-INFlib

[copy] Copying 1 file to D:JProjectjpetstore_maventargetxdocletwebdocletWEB-INFlib

[copy] Copying 1 file to D:JProjectjpetstore_maventargetxdocletwebdocletWEB-INFlib

[copy] Copying 1 file to D:JProjectjpetstore_maventargetxdocletwebdocletWEB-INFlib

[copy] Copying 1 file to D:JProjectjpetstore_maventargetxdocletwebdocletWEB-INFlib

[copy] Copying 1 file to D:JProjectjpetstore_maventargetxdocletwebdocletWEB-INFlib

[copy] Copying 1 file to D:JProjectjpetstore_maventargetxdocletwebdocletWEB-INFlib

[copy] Copying 1 file to D:JProjectjpetstore_maventargetxdocletwebdocletWEB-INFlib

[copy] Copying 1 file to D:JProjectjpetstore_maventargetxdocletwebdocletWEB-INFlib

[copy] Copying 81 files to D:JProjectjpetstore_maventargetxdocletwebdocletWEB-INFclasses


war:war:

[echo] Building WAR jpetstore_maven

[jar] Building jar: D:JProjectjpetstore_maventargetjpetstore_maven.war

BUILD SUCCESSFUL

Total time: 11 seconds

Finished at: Sun May 15 15:18:10 CST 2005


目前為止我們已經成功建立完成一個可佈署的jpetstore_maven.war檔,接著將War檔複製進%TOMCAT_HOME%/wabapps,接著同之前的動作,啟動HSQLDB,再啟動Tomcat

使用瀏覽器鍵入以下網址,http://localhost:8080/jpetstore_maven/

我們已經成功的將建置環境由ANT移轉至Maven了!


07-Maven建置的JPetStore


Maven的自我文件化能力

到目前為止,筆者並未帶出Maven太多細節的觀念,純粹以實作與比較的方式讓讀者了解,Maven的能耐。

而就筆者所知,許多OpenSource的專案由以往使用Ant建置漸漸轉向使用Maven,而新的Project更是直接採用Maven作為專案管理工具。

本次的實作讀者們可清楚的了解以下幾點:

  • Maven使用POM管理專案優於Ant建置人員必須自行建置專案邏輯。

  • Maven設置dependencies tag使函式庫的相依性受到了管理優於Ant必須自行管理相依性與版本

  • Maven將所有需要的函式庫置於localrepository內,優於Ant必須將函式庫一起封裝。

  • Maven可產生大多數IDE開發環境設定。

  • Ant可做到的事,Maven皆可做到,並能做到更多。


在本篇文章的最後,我們來展示Maven的自我文件化能力。

我們在命令列鍵入maven site

D:JProjectjpetstore_maven>maven site

__ __

| / |__ _Apache__ ___

| |/| / _` V / -_) ' ~ intelligent projects ~

|_| |___,_|_/___|_||_| v. 1.0.2


build:start:


site:

中間省略

Validating downloads.html

[echo] Generating D:/JProject/jpetstore_maven/target/docs/linkcheck.html from D:JProjectjpetstore_maventargetlinkcheckdocslinkcheck.xml

BUILD SUCCESSFUL

Total time: 49 seconds

Finished at: Sat May 21 18:27:46 CST 2005

當建置完成後,開啟jpetstore_maven/target/docs/index.html

讀者們看完下圖後,應該可以了解,為什麼稱Maven為專案管理工具,而不是像Ant稱為專案建置工具吧!

08-專案首頁

09-專案管理資訊

10-專案建置報表

11-API

12-原始碼

13-單元測試報表



相關資源

1.Jakarta Ant官方網站:http://ant.apache.org/

2. Jakarta Maven官方網站:http://maven.apache.org/

3.Ant實作手冊(Java Development with Ant)-博碩出版

4.專案管理: Maven 讓事情變得簡單:http://www-128.ibm.com/developerworks/cn/java/j-maven/

Read More......