Software entities (class, modules, functions, etc.) should be open for extension, but closed for modification. Junior programmers create simple solutions to simple problems. Senior programmers create complex solutions to complex problems. Great programmers find simple solutions to complex problems. 註1:本部落格的範例程式碼在 2015 年以前的文章中,大多是以全型空白做縮排。如需服用,請自行用文字編輯器的取代功能把全型空白取代成半型空白。
- Bertrand Meyer
- Charles Connell
註2:本部落格的內容授權請參閱部落格底部的授權宣告。
2016年5月6日 星期五
2016年5月5日 星期四
檢查物件型態
不過在對於 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 的更新。
參考資料:
- Nvidia - Display driver has stopped responding and has recovered error
- Windows Vista、Windows Server 2008、Windows 7 及 Windows Server 2008 R2 的核心模式驅動程式架構 1.11 版更新
- Graphics driver stopped responding and has recovered....TDR fix
- "Display driver stopped responding and has recovered" error in Windows 7 or Windows Vista
2016年4月27日 星期三
Java 的基本物件複製
public class Test implements Cloneable {
public Object clone() throws CloneNotSupportedException {
return super.clone();
}
}
不過如果物件成員有包含比較複雜的成員
例如成員有包含另外一個也內含成員的物件的話,會有稍微複雜一點的狀況
可以參考 [1] 去實作。
參考資料:
2016年4月19日 星期二
2016年4月18日 星期一
2016年4月13日 星期三
2016年3月24日 星期四
自行架設 Wiki 引擎(一)補充:手動以 HTTPS 安裝 Foswiki
主要是描述以手動安裝的方式,將 Foswiki 整套安裝起來
其中會這麼做,主要是因為 Foswiki 的 Debian 套件很久沒人更新了。
2016年3月8日 星期二
使用 Selenium 與 HtmlUnit 時,忽略 script error 和 http statuscode 的方法
- 網站的 JavaScript 在解析過程有錯誤。
- 網頁本身失連、或者網頁內的任一連結(包含 JavaScript 檔、CSS 檔、圖片等外部連結)失連。