原创 Linux Debian Ubuntu 環境變量配置

Linux  Debian  Ubuntu 下配置JAVA_HOME,MAVEN_HOME.   在網上查找這方面的資料,發現說在/etc/profile文件中設置,並說該文件時系統全局環境變量 但經過設置之後,註銷或重啓,這個設置並沒有

原创 軟件開發——軟技能(五、單元測試)

五、單元測試    通過單元測試在保證代碼質量方面非常有幫助。在Java方面,JUnit成爲了Java單元測試事實上的標準。    開發中發現的問題:    1.不知道何爲單元測試    2.寫main方法做方法測試    3.測試用例寫

原创 Maven編譯中Mybatis變量引起的問題及處理

Mybatis的動態SQL無疑給Java開發者帶來極大方便,其中用戶讀取變量值的符號有“#”和“$”。 而Maven配置文件(pom.xml)和Spring的配置文件中也是採用“$”讀取變量值。我們在項目開發中,要是一個不小心,項目配置

原创 軟件開發——軟技能(六、構建工具)

六、構建工具     在現代的Java項目開發中,項目的編譯構建很少是用JDK進行編譯了,而是使用相應的編譯構建工具。常見的有Java編譯構建工具有Maven,Gradle和Ant等。     Maven:Java項目中使用廣泛的構建工具

原创 軟件開發——軟技能(〇、基礎)

〇、基礎     基礎的重要性是毫無疑問的。然而在LZ閱讀過的Java代碼中,居然發現了在“if”的判斷中,將布爾型變量跟“true”或“false”進行等於比較的代碼。WTF?還有比這更扯淡的代碼嗎??還真有,就是在三目運算符的後面兩

原创 軟件開發——軟技能(七、持續集成)

七、持續集成     “持續集成”的概念已經不是什麼新鮮事物。但對於國內的很多軟件公司來講,可能就是個新東西,更別說使用到項目中。項目的編譯都很原始,發佈的話就更不用說了。就拿Java Web項目來說,很多公司都是採用Eclipse來打w

原创 使用Spring Data MongoDB 做聚合操作出現的問題及解決方案

前言 在MongoDB中,“$”符號是有特殊意義的,一般用來表示採取一些系統預定義的一些操作,比如比較操作。但是如果在記錄文檔中的key中出現“$”符號,會怎麼樣呢? MongoDB的方案 經測試,在MongoDB的命令行中,使用帶“$”

原创 軟件開發——軟技能(二、版本管理)

二、版本管理     版本管理工具的用途就不多說了。LZ想說的是,大部分開發人員用版本管理工具就是更新代碼和提交代碼,然而對於版本管理工具提供的其它功能的知道或使用則少的可憐。     在討論版本管理工具的其它功能之前,先明確一個問題:哪

原创 我的飛信發展方案(二)

1.4    “飛信”認證模式 飛信作爲全球最大的電信運營商推出的IM工具,早已實現與短信的互通,在能利用的電信資源方面,相較於其他互聯網產品,有着得天獨厚的優勢。然而飛信只是提供了短信密碼這一認證模式,並沒有大力使用,也沒有推廣這一認證

原创 軟件開發——軟技能(一、IDE)

一、IDE     現在的Java開發基本上都離不開IDE。Java的IDE主要是Eclipse,NetBeans,IntelliJ IDEA這三類。當然,使用人數最多的是Eclipse,評價最高的是IntelliJ IDEA。關於這三類

原创 Log4J和slf4j的debug日誌問題

很多人知道,在使用slf4j的過程中通常會引入兩個jar包,大概如下: <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api --> <dependency> <g

原创 軟件開發——軟技能(四、日誌)

四、日誌     從事與軟件相關工作的人,應該都聽過“日誌”一詞。這已經成了記錄程序運行、追蹤問題、調試等的最佳途徑。並且,各編程語言都形成了各自的日誌體系和相應的框架(Java是有的,其它開發語言猜測也有,以下以Java日誌討論日誌的問

原创 軟件開發——軟技能(三、註釋和文檔)

三、註釋和文檔     如第一節IDE中所述,絕大部分開源項目的源碼跟我們開發的項目源碼進行比較,在IDE中除了沒有需要優化的地方外,還有一個就是文檔註釋非常齊全且詳盡。LZ估計,在國內公司的軟件開發中,對代碼註釋的強調、要求不少,但在執

原创 飛信問題解決之道暨新一代互聯網發展趨勢

         之前寫過一篇文章叫《飛信現狀原因分析及脫困策略》,以一個關注互聯網多年的IT從業人員的身份,談了下中國移動飛信在現在狀況下的原因,給出了我認爲的脫困策略。然而怎麼脫困,這又是個值得探討的問題,這裏就再談談我的看法。 一.

原创 軟件開發——軟技能(背景)

    軟件的根本目的是爲了提高效率,遊戲除外。     這是在2015年4月期間領悟出來的。基於這一點,如果我們在軟件開發過程中,不注重工作效率和開發效率,那麼如何能夠讓自己開發的軟件的使用者(用戶)提高他的工作效率?換句話說,用戶購買