部落客廣告聯播

2018年4月18日 星期三

Java泛型(Generic)的Covariant與Contravariant比較

在Java和C#中針對泛型(Generic)在Collection的運用上,都有covariant與Contravariant的觀念,主要針對的就是容器裡面放置的元素若有[父類-子類]的繼承關係時,要如何處理,以及會如何運作,有怎樣的限制。

書看了好幾遍,總是一直搞不懂。
但是我想直接 用程式碼來呈現, 看哪邊編譯能過,哪邊不能過,可能比較能了解到書上再說甚麼。 不多說,直接看下面的程式比較(有紅色底線的 就是編譯不過,錯誤的用法):

2016年4月13日 星期三

十年

職場上都打滾了快十年,
經歷了幾個老闆與長官,
面對了多少內外客戶,
共事了多少同事,
每每到了新的環境,每每多認識一個人,
就要一再的被重新懷疑與檢視,
做事總要一板一眼瞻前顧後的,這感覺沒人會喜歡。

既然都已經十年了,也差不多麻痹了,
哪怕再多一分懷疑再多一次檢視。來吧!!
事情對錯該如何做,早也不再青澀,這些擾人的在意。就去吧!!

2012年12月18日 星期二

Jackson library @JsonTypeInfo

如果使用Jackson library作marshaling(POJO to JSON payload) 然後再 unmarshaling(JSON payload to POJO)時,若POJO class內包含generic collection (如List<ParentInterface>), 那麼在轉型的時候因為型別資訊遺失,可能就會出現exception。
這時我們就又透過@JsonTypeInfo提供給Jackson library,告訴他在marshaling/unmarshaling時的collection內的concrete class object的行別資訊。
詳細請參考: http://stackoverflow.com/questions/11798394/polymorphism-in-jackson-annotations-jsontypeinfo-usage

2012年9月20日 星期四

關於IzPack 的Debugger

連結  http://blog.reil-online.de/2007/12/how-to-debug-variables-and-conditions.html 提到如何使用-DTRACE -DSTACKTRACE -DEBUG  來開啟IzPack的Debugger視窗。

但是使用和發現若在install.xml裡面若有<run -privileged="-privileged">則會造成Debugger視窗完全就不顯示。
所以在使用Debugger視窗時,建議可以把<run -privileged="-privileged">先拿掉。


2012年6月29日 星期五

好物推薦- WebScarab

在寫爬蟲程式爬別人的網頁時,最怕遇到的是不知道底下送出哪些request parameter和header。
所我我們這時就需要Sniffer工具來監看這些request、response之間的conversation。

在這推薦一套不錯的工具,是由OWASP提供的WebScarab, 詳細資訊請參照: https://www.owasp.org/index.php/Category:OWASP_WebScarab_Project

https://www.owasp.org/index.php/WebScarab_Getting_Started

WebScarab主要運作方式是運用Proxy來做攔截,
request --> Proxy(WebScarab, 攔截通訊) -->目標網站

裏頭還有很多好用功能, 大家一起來挖寶吧~