原创 軟件設計原則之——依賴倒置原則

什麼是依賴倒置?直接上概念的話,非常不好理解。首先要知道什麼是依賴?我們上班要坐車,吃飯需要用碗筷,我需要使用這些東西才能達成某項目的,那麼我就是依賴於這些東西。反映在代碼內就是A類使用B類。下面的代碼Worker工人就是依賴於Tool

原创 設計模式23講-01:單例模式

  單例模式,說穿了就是整個程序的生命週期內,不管怎麼調用,只會創建一個實例。都有哪些場景用了單例呢:   數據庫連接池是單例的(注意是管理連接的池,不是連接) Spirng的Bean是單例的 網站的計數器是單例的   單例模式有多種寫法

原创 tcpdump: eth1: No such device exists(SIOCGIFHWADDR: No such device)

問題背景: 使用命令抓包 sudo tcpdump -i eth1 host 123.123.123.123 and port 9527 -w xxx.cap 提示 tcpdump: eth1: No such device exis

原创 使用Java ftpclient 下載文件損壞無法打開

問題背景: 最近做ftp對接的需求,文件下載下來後,打開提示文件損壞。直接用ftp命令登錄下載下來的文件就沒問題。說明是java程序的問題。百度一下很快就找到了解決方案。 解決方案: 在下載或上傳文件之前,設置文件編碼類型爲二進制文件,問

原创 FTP登錄成功但無法LIST和下載文件的問題排查

問題背景: 最近有一個系統對接需求,採用了古老的ftp交換文件方式來對接。於是我用了commons-net包的3.6版本來進行ftp的連接和文件的傳輸。連接ftp成功,登錄也沒問題,但是在傳輸文件的時候會卡住,程序沒有往下走,一段時間後拋

原创 [轉]Java Web項目靜態資源(css/js/img)引用404問題

一、WEB-INF目錄   WEB-INF目錄是不對外開放的,外部沒辦法直接訪問到(即不能通過URL訪問)。只能通過映射來訪問,比如映射爲一個action或者servlet通過服務器端跳轉來訪問到具體的頁面。這樣可以限制訪問,提高安全性。

原创 MAC查看文件所在路徑

把文件拖入terminal窗口就能看到文件路徑。

原创 使用 tk.Mybatis 做查詢報錯ORA-00932: inconsistent datatypes: expected - got CLOB

同事做查詢接口的時候,遇到一個bug,錯誤信息是: ORA-00932: inconsistent datatypes: expected - got CLOB 這個看起來就很玄乎了,不過似乎和clob有關。百度了一下,都說是clob在定

原创 Mybatis啓動報錯: No typehandler found for property xxxx 的另一種可能(由CLOB類型導致的問題)

背景:搭了一個demo項目啓動的時候Mybatis報錯錯誤信息:Caused by: java.lang.IllegalStateException: No typehandler found for property xxx排查過程:在

原创 PowerDesigner使用VBScript把表結構導出爲Excel

前面有篇文章介紹瞭如何把Excel編寫好的表結構導入到PowerDesigner(見鏈接:PowerDesigner從Excel導入表結構),在實際的工作中,這兩者的互相轉化,是經常的事情。這裏給出對應於那篇文章中約定好的Excel格式的

原创 Eclipse 快捷鍵記錄

1.大小寫轉換ctrl+shift+x   轉爲大寫    ctrl+shift+y   轉爲小寫

原创 PowerDesigner使用VBScript腳本設置表屬主

系統如果比較大,表會特別多,手寫建表語句效率太低了,正常來說,建表語句都是生成的。就會有童靴用PowerDesigner來生成建表語句。有些公司的運維會要求開發在建表語句內必須加入屬主。一個一個加,不管是在Powerdesigner內加還

原创 mybatis異常 :元素內容必須由格式正確的字符數據或標記組成。

錯誤原因:mybatis查詢的時候,需要用到運算符 小於號:< 和  大於號: >,在mybatis配置文件裏面,這種會被認爲是標籤,所以解析錯誤錯誤實例:select <include refid="Base_Column_Li

原创 velocity foreach 判斷是否是最後一個

爲了做代碼生成工具,得用velocity寫模板,寫唄。經常有在循環內判斷是否是最後一個元素的需求,使用 $foreach.hasNext 或 $foreach.last就可以完成這種邏輯,不需要什麼count。下面是一個例子:這段代碼使用