2016年5月31日 星期二

ISO-8601 字串轉型成 Calendar

ISO 8601 是標準的日期時間表示法 [1],在一些有遵守標準的網站上,很容易看到這種以表示法表示的時間。
在 Java 裡,有一些不算困難的方法,可以把 ISO-8601 表示法的文字轉成對應的 Epoch Time
然後當然因為有了 Epoch Time,就可以進一步轉成 Calendar 或者 Date 等其他日期相關的類別。

2016年5月21日 星期六

(書籤) 清理 Ubuntu 的 /boot 磁區

其實在一般情況下,使用 autoclean 就可以自動清除不需要的 Kernel 了。
apt-get autoclean

參考資料:
  1. /boot partition is full

2016年5月19日 星期四

使用 JUnit 測試 private method

關於在 Unit Test 時,private method 到底是否應該測試的問題
應該是一個社群持續爭論中的問題~
相關的說法有部份可以參考看看 [1],這裡先跳過這個問題不管。
假設目標是要測試 private method,實務上可以利用 Reflection API 來達成 [2-3]。

2016年5月5日 星期四

檢查物件型態

一般在 Java 中,會用 instanceof 來檢查物件的型態
不過在對於 primitive type 時,無法使用這個檢查
另外當類別只能在執行期間才會知道的情況下,也沒辦法使用 instanceof
這時可以使用類別的 isAssignableFrom() 或者 isInstanceOf() 來檢查。

2016年5月2日 星期一

AWS DynamoDB SDK v2 基礎使用(一):基本認知

DynamoDB 是 Amazon 提供的 NoSQL 資料庫
不過就我最近使用的感覺,其實我覺得它比較像是「有 RDBMS 靈魂的 NoSQL」
換言之,我覺得它其實是個 RDBMS,只是稍微支援了一點 NoSQL 的功能而已。

關於 DynamoDB 的簡介就不細談了,網路上大概可以查到不少
主要想紀錄的是如何使用 DynamoDB 的 Java SDK。
陸續找了不少資料後,我覺得 DynamoDB 的文件 [1] 真是相當差勁。
官方文件給的範例非常地簡略,對於稍微複雜一點的指令就沒有說明該如何實作
Google 往往會找到許多過去的部落格文章、或者甚至是官方的部落格
然後會發現同一件事情有好幾種不同的實作方法,估計大概是新舊的 API 的差別
每種實作方法似乎都有一些優點跟缺點,對使用者來說雖然可以依照自己的需求做選擇
但對於多數剛開始使用 API 的開發者來說,可能只會跟我一樣頻頻想說「WTF」。

2016年5月1日 星期日

顯示器驅動程式停止回應

不知道從何時開始,電腦開啟某些遊戲一段時間就會一片黑
然後跳回桌面,右下角會顯示「顯示器驅動程式停止回應」。
這時遊戲大概畫面都會有點問題,有時這個問題會一直連續發生,最後會變成藍白畫面。
最初以為是驅動程式不穩定,不過換了很多個版本還是都沒有改善
今天又花了不少時間在找這個問題,不過找到國外的論壇的討論 [1]
其實只要移除掉 Windows 的 KB2685811 這個更新 [2] 就好了!

目前還沒有嚴謹地做過測試,不過至少我現在用 EVGA GTX650 的顯示卡
作業系統是 Windows 7,驅動程式降版到 310.90 WHQL,然後移除 KB2685811 更新
玩 Steam 版的俠客風雲傳可以成功通過最初的對話以及教學戰鬥了 XD。

2016-05-05 更新:實際上還是會出現驅動程式停止回應跟當機的狀況,但已經從原本十分鐘內掛掉,變成可以連續玩幾個小時後,才有可能掛掉。不過再加上 [3] 更改 TDR 以後就沒有再發生了。
2016-07-04 更新:310.90 WHQL 改玩 Steam 的信長之野望時還是一直出問題,後來用 DDU 移除重灌成 337.88 WHQL,目前看起來比 310.90 WHQL 穩定。

PS. 不過這個方法應該不適用  Windows 8,因為 KB2685811 這個更新本來就是給 Windows 8 的更新。

參考資料:
  1. Nvidia - Display driver has stopped responding and has recovered error
  2. Windows Vista、Windows Server 2008、Windows 7 及 Windows Server 2008 R2 的核心模式驅動程式架構 1.11 版更新
  3. Graphics driver stopped responding and has recovered....TDR fix
  4. "Display driver stopped responding and has recovered" error in Windows 7 or Windows Vista