21.mysql資料庫的資料型態numberic和double是不同的。
numberic只能表達最長65位元精度的定點數
而double可以描述的是允許的值是-1.7976931348623157E+308到-2.225073858507202503838250738250738250738250738250738250738250738250738250738250738213838338383838373073830738383738307383073833073823073832. E-308到1.7976931348623157E+ 308
雖然numberic的小數位數可以更長些,但是表達的值的範圍遠不及double。
就這些區別。
不能光考慮精度,同時要考慮值域範圍。
另外一個是定點,一個是浮點,運算時間效率也是不一樣的。
參考網友的答案。
22.程式碼中是否有必要使用程式碼區塊。
method a(){
{
}
}
有的結果,讀性變差了。
看到Boos部分地方使用了程式碼區塊,程式碼可讀性提高。
讓人糾結的是,一直以來不用程式碼區塊,個人傾向於在不同程式碼區塊的頭部,加上一行註釋,簡單描述一段程式碼的核心邏輯。
23.密碼的安全性問題。
表單輸入的密碼加密,安全控件,https,傳輸過程使用對稱加密,
程式內部增加校驗密碼的接口,讓「程式設計師也不知道實際的密碼」。
處於簡單考慮,前期沒有怎麼處理。
24.資金、利息等Double比較時,常會出現誤差。
我個人的一種想法時,資金保留到分的下一位“粒”,在四捨五入,或者只捨不入的情況下,也更精確。
Double相減,不與0直接比較,而是相減絕對值,與目標誤差,例如0.001比較。
25.VIM設定行號。
修改/etc/vimrc,增加一行配置 "set nu"。
這樣,每次開啟檔案就顯示了行號。
但是,又發現一個問題,有了行號,選擇直接複製的,帶了行號,貼上之後,還需要手動刪除行號,尼瑪。
26.最近p2p跑路平台太多,政府部門和第三方支付的擔憂比較大。
支付寶和財付通已經停止對不知名的p2p平台,提供第三方支付服務了。
某好友正在幫人開發p2p系統,第三方支付這一塊卡住了,只能找一家提供服務的第三方支付公司了。
要不然,幫客戶開發的系統賣不出去,鈔票無法到帳。
聽說國富寶還是可以接入的,這樣還好,可能是國富寶這種量級的,客戶不太多,還沒到挑選客戶的地步吧。
不知道,這是好事,還是壞事呢。
27.SpringMVC表單驗證。
網上說Spring自己也有一套驗證組件,spring-modules-validation.jar;沒有用過。
公司專案中,用的是Hibernate的Validator。我個人對Hibernate的印像是,比較大,很笨重。
我還是比較傾向於Jodd的vtor驗證組件。
http://jodd.org/doc/vtor/index.html
jar包非常小,還需要實踐看看。
28.Mybatis設定檔。
ChargeLogSummaryDao.xml
為了偷懶,直接copy然後修改的,結果只修改了部分內容,namespace沒有修改。
導致專案啟動的時候,總是提示ChargeLogDao.add已經存在。
找了半天,才定位到問題原因,透過搜尋「ChargeLog」。
29.Nginx設定檔測試是否正確。
nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is
nginx: configuration file /etc/ngin okcinx的過程中可能會發生文法錯誤,先檢查下,比較可靠~
30.Cache有2套實作。Cache定義快取接口,底層可以是Redis和Memcache,這是底層技術方面的選擇。
但是,要注意的是,同樣是Redis實現,業務方面也可以不同。
例如登入和Session相關業務與緩衝普通物件數據,需求是不一樣的。
用戶登入的數據,更加關鍵。
根據Boss的經驗,資料量過大的情況下,最舊的快取資料可能會被覆蓋。
對於普通的業務數據,完全是可以接受的。
但是,對於Session數據,則不行,會導致已登入使用者突然斷線。