2007年7月26日

28歲紀念日

cake-1 27年前的今天是一個凡人的誕生日,這27年來他努力在平凡中展現不平凡,過去一年來他成長很多,一些從來不懂的事慢慢深刻的烙印在他的心中。

 

工作上

一年前的他,在永安捷運站旁賣命,一年後的他,賣命地點換成雙和 SOGO 上。

一年前的他,專注於鈴聲服務,一年後的他,已經跨越服務來到平台。

一年前的他,還是別人管轄下的小組員,一年後的他,變成自己管自己。

一年前的他,年輕氣盛認為沒有不可能的事,一年後的他,更堅定相信沒有不可能的事,但需要眾人的努力。

一年前的他,為了自己而努力,一年後的他,為了大家而努力。

一年前的他,沒聽過「格局」這兩個字,一年後的他,深刻體認到格局的重要。

 

生活上

一年前的他,是個標準宅男,六日很少出門,一年後的他,宅男身份依然不變,但卻多了一顆渴望出門體驗新鮮事的心。

一年前的他,還住在三坪大的難民營中,一年後的他,升級到住在凡人的住處,但卻少了每晚伴他入眠的電視。

一年前的他,不懂什麼是理財,一年後的他,每天關心經濟走向。

一年前的他,每天必上 PCDVD,一年後的他,每天還是上 PCDVD,但多收集了一堆 RSS 等著他看。

一年前的他,酷愛寫程式,六日在家還會自我練習,一年後的他,完全沒變。

一年前的他,還沒 JackForFun,一年後的他,每週都在 JackForFun 上 Just For Fun。

2007年7月17日

[Java] Synchronized 心得

最近寫程式遇到各個 Thread 之間共用資料保護的問題,做了點功課,寫下一些小筆記。
簡單介紹
Synchronized使用時,需指定一個物件,系統會Lock此物件,當程式進入Synchrnoized區塊或Method時,該物件會被Lock,直到離開Synchronized時才會被釋放。在Lock期間,鎖定同一物件的其他Synchronized區塊,會因為無法取得物件的Lock而等待。待物件Release Lock後,其他的Synchronized區塊會有一個取得該物件的Lock而可以執行。
各種用法
1. Synchronized Method
synchronized public void syncMethod() {

}

此種synchronized用法鎖定的物件為Method所屬的物件,只要物件被new出超過一個以上的Instance,就有可能保護不到Method內程式。但如果此物件只會被new出一個Instance,譬如new出來後就放到ServletContext,要用的時候從ServletContext中拿出來執行,就可以避免此情況。
2. Synchronized Static Method
synchronized static public void syncMethod() {

}

此種synchronized用法鎖定的物件為Method所屬的物件的Class,不管被new出幾個的Instance,都能夠保證同一個時間只會有一個Thread在執行此Method。
3. Synchronized(this)
public void syncMethod() {
  synchronized(this) {
    …
  }
}

此種synchronized用法與synchronized method用法一樣,都是鎖定Method所屬的物件本身。
4. Synchronized(SomeObject)
public void syncMethod() {
  synchronized(SomeObject) {
    …
  }
}

此種synchronized用法鎖定的是SomeObject,如果SomeObject是同一個Class的兩個不同Instance,那synchronized區塊內就有可能被同時執行。如果每一個Synchronized的SomeObject都是同一個Instance(或者SomeObject本身就是Static),就可以保證區塊內同時間只會有一個Thread執行。
當使用Synchornized(SomeObject)時,SomeObject本身處於被Lock狀態,但此時其他的Thread是可以去更改SomeObject裡面的值,Lock只是同步化的狀態,不表示不能更改資料。
使用時機
Synchronized的使用時機很難定義,比較常見的情況是,當程式中會取出某一個共用的物件且會判斷物件內容值,再更新物件內容,此情況大部分都需要synchronized保護。

2007年7月7日

Wii 上第一款真實棒球遊戲 - The Bigs

thebigs_000.jpg

玩過 Sports 的棒球迷肯定對於 Sports 中的棒球遊戲有點又愛又恨的感覺,愛的是 Wii 讓大家不用跑去打擊練習場也可以享受揮棒的快感,但恨的是那簡單、呆板的投、打過程只能稱得上半套的棒球遊戲。現在 Wii 上終於由 2K Sports 發行了一款像樣的棒球遊戲 - The Bigs

今天一開始拿到手就玩得不可自拔,到現在打字還會有點抖,這實在是太有體感的遊戲,投、打、跑、守備無一不用到體感。特別是每個動作幾乎都需要手猛力揮動,如果認真玩應該可以媲美雷曼兔的手酸程度。

↓進入遊戲第一畫面

 thebigs_001.jpg

↓遊戲選單

PALY NOW:快速開始
EXHIBITION:展覽
ROOKIE CHALLENGE:自創球員的育成模式
HOME RUN DERBY :全壘打比賽
ROSTERS:球員名單
OPTIONS:設定
LEARN THE BIGS:練習模式

thebigs_002.jpg

↓最多支援四人

thebigs_004.jpg

↓載入畫面

thebigs_003.jpg

↓投球畫面

按A或B即可啟動力量表,到最白色處放開可以投出 Perfect 球,但難的是這過程中還要由上往下揮動 Wii Remote,揮動的同時往左右轉動可投出不同的變化球。一開始有點難操作,習慣後覺得真的很像一般投手投球,比起 Sports 單純比加速度真實多了。

投球球種的綠色長條會因為你投出這種球,被打安打後而減少,等歸零時就無法投出此球種了。王哥哥伸卡球遊戲中設定五顆星。

thebigs_006.jpg

↓Perfect 時會出現投球軌跡

thebigs_007.jpg

↓穆大帥下場,台灣之光上場

thebigs_005.jpg

↓賽後比數

這場原本只要比五局,但平手的情況下一路打到八局上因為道奇啟用 Power Play 模式,打出一隻全壘打,我就以一分飲恨。王哥哥後援三局 3K,只被挨了那一隻全壘打失分。

thebigs_009.jpg

↓可以選擇比賽球場,Yankee Stadium

thebigs_011.jpg

↓舊金山巨人著名的可口可樂招牌和大手套

thebigs_010.jpg

↓練習模式

列出所有可以投出的球種

thebigs_014.jpg

更多圖片:http://www.flickr.com/photos/jackforfun/tags/thebigs/

 

比賽中畫面上方各自有能量條,當打者打出安打、投手三振對方能量條會增加,當能量條從黃色變到黃色時可開啟 Power Play 模式。如果在打擊時進入 Power Play,只要打到球就是全累打,投手的話所有球種綠色條會全滿,投球時的力量表白色區域會變大。

↓Jeter Power Play 下打出全壘打

 

比賽過程中沒有重播,但只要有好守備就會出現慢動作畫面

↓看看 Cano 被撞飛的 Slow Motion 吧

 

本壘攻防戰出現本壘攻防戰時不只會出現慢動作,這時還要上下快速揮動 Wii Remote,比誰的力氣大(畫面中下會出現雙方的對抗條),如果是跑壘員獲勝,補手球就會被撞掉,安全回壘得分。反之則出局。(好巧,我一場比賽中出現兩次,一勝一敗)

↓Posada 輸了
class="snap_preview"

↓這次贏了

 

遊戲嘛~不必太講究真實性,看看這個一顆星守備,我第一場比賽就出現兩次一顆星守備。而且幾乎每個人都是金手套得主,游擊反手接到起身空中傳球 out,在 The Bigs 中這叫基本配備。

 

2K Sport 當初就是從美商藝電手上搶手美國大聯盟的獨家遊戲約,所以已經一、兩年沒看到 MLB 200X 出現了,取而代之的是 The Bigs,The Bigs 其實有同步發行在 XBox 360、PS3 上,但我沒其他主機無從比較。

投球方面一開始真的很難上手,但進入練習模式多投幾次應該就可以漸漸抓到 Perfect 的訣竅,第一次在比賽中投出 Perfect 的感覺真是無可言喻。但比賽中即使投出 Perfect 也有可能被打出安打,Perfect 只是對手揮棒落空的機率變高而已。

打擊方面大家關心的應該是揮棒時需要針對內外角、高低球做不同的揮棒姿勢嗎?這之前在 PTT 上有人討論過,因為 Wii Remoter 硬體的限制,很難判斷那麼精細的事情,所以猜測很難達到。沒錯,我自己玩了一場比賽下來,只要揮棒時間抓對,幾乎都可以打到球。接下來只能看 7/19 發行的實況野球14能不能有所突破了。

守備可說是整個遊戲最難的地方(不知道有沒有自動模式可以啟動),我手動守備時,只要對手打到外野一定是安打,差別在於幾壘安打而已。但打到內野時只要好好傳球,很容易讓對手出局,因為每個人好像都是金手套,最難的轉身躍起傳球也是超快。

對手打擊時只要有點速差+控球不差,其實很好拿到 K,只要守備不要太慌張,就可避免大量失分,這樣贏球應該不難。

這真是款很容易入迷的棒球遊戲,強烈建議一定要去玩一玩,當運動也好。

2007年7月1日

羅技滑鼠送修

我的羅技 MX518 滑鼠,最近不知怎麼了,左鍵有點不太靈光,有時候點一下會變成點兩下、或是拖拉到一半會自動放開。這種情況好像是滑鼠的通病,我的上一隻滑鼠微軟光學閃靈鯊 3.0也是發生一樣的情況且過保固後,逼不得已讓他退休了。但 MX518 才用兩年,還在保固內,讓他退休豈不是對不起我的荷包,於是找個時間把他打包打包準備送修。

MX518送修前

羅技官網上找不到維修資訊,網路上找了一下,在 Mobile01 上找到了一篇「羅技滑鼠怎麼送修」,參考網友的說明,寫了一張問題描述夾在包裹內寄到羅技客服去處理。

送修後接近一個月的時間內幾乎無聲無息,沒有任何人通知我,我的滑鼠怎麼了,好歹也是花了快 1500 買的,想說這星期再沒消息就要打電話去問問看。結果 6/28 星期四下午羅技客服來電,說他們檢查過我的滑鼠的確有問題,向我確認地址後,星期五早上我就收到了滑鼠。羅技客服的效率不怎麼好(6/4 - 6/28),倒是宅配通的效率不錯。

根據網友的送修經驗,只要送修確認有問題幾乎都是送回新品,甚至羅技有可能因為原產品不再生產而主動升級寄回新產品。但我的 MX518 市面上還買得到,也就不奢望羅技會好心到幫我主動升級,只要送修回來的是可以用的滑鼠我就阿彌陀佛了。

MX518送修後

送修回來的包裝雖然舊舊的,外表還被貼了一張維修品換新的貼紙,但滑鼠本身倒是全新的,唯一的差別是滑鼠底部被貼了一張保固貼紙。

接上電腦後測試一切正常,我的滑鼠又回來了,感覺真好。羅技不愧是大廠,送修不囉唆,確認有問題直接換新。當初花了快 1500 果然值得。

Related Posts Plugin for WordPress, Blogger...