閱讀全文
posted @ 2012-10-09 08:52 love1563 閱讀(2708) | 評論 (1) | 編輯 收藏
|
|||||||||||||||||||
摘要: J2EE層次設計架構實例的分析詳解
閱讀全文 posted @ 2012-10-09 08:52 love1563 閱讀(2708) | 評論 (1) | 編輯 收藏 摘要: 閱讀全文
posted @ 2009-02-23 16:41 love1563 閱讀(539) | 評論 (0) | 編輯 收藏 大數據是用scala語言,和java有些不同又比java強大,省去了很多繁瑣的東西,scala中的的接口用trait來定義,不同于java的接口,trait中可以有抽象方法也可以有不抽象方法。scala中的方法中還可以定義方法,這在java中是從來沒有的。
大數據未來幾年發展的重點方向,大數據戰略已經在十八屆五中全會上作為重點戰略方向,中國在大數據方面才剛剛起步,但是在美國已經產生了上千億的市場價值。舉個例子,美國通用公司是一個生產飛機發動機的一個公司,這家公司在飛機發動機的每一個零部件上都安裝了傳感器,這些傳感器在飛機發動機運作的同時不斷的把發動機狀態的數據傳到通用公司的云平臺上,通用公司又有很多數據分析中心專門接受這些數據,根據大數據的分析可以隨時掌握每一家航空公司發動機的飛行狀況,可以告知這些航空公司發動機的哪些部件需要檢修或保養,避免飛機事故,通過這種服務通用公司就產生了幾百億美元的產值。 現在正是學習大數據的最好機遇,不花一分錢就可以成為大數據高手,實現年薪50萬的夢想。 王家林的第一個中國夢:免費為全社會培養100萬名優秀的大數據從業人員! 您可以通過王家林老師的微信號18610086859發紅包捐助大數據、互聯網+、O2O、工業4.0、微營銷、移動互聯網等系列免費實戰課程, 目前已經發布的王家林免費視頻全集如下: 1,《大數據不眠夜:Spark內核天機解密(共100講)》:http://pan.baidu.com/s/1eQsHZAq 2,《Hadoop深入淺出實戰經典》http://pan.baidu.com/s/1mgpfRPu 3,《Spark純實戰公益大講壇》http://pan.baidu.com/s/1jGpNGwu 4,《Scala深入淺出實戰經典》http://pan.baidu.com/s/1sjDWG25 5,《Docker公益大講壇》http://pan.baidu.com/s/1kTpL8UF 6,《Spark亞太研究院Spark公益大講堂》http://pan.baidu.com/s/1i30Ewsd 7,DT大數據夢工廠Spark、Scala、Hadoop的所有視頻、PPT和代碼在百度云網盤的鏈接: http://pan.baidu.com/share/home?uk=4013289088#category/type=0&qq-pf-to=pcqq.group 王家林免費在51CTO發布的1000集合大數據spark、hadoop、scala、docker視頻: 1,《Scala深入淺出實戰初級入門經典視頻課程》http://edu.51cto.com/lesson/id-66538.html 2,《Scala深入淺出實戰中級進階經典視頻課程》http://edu.51cto.com/lesson/id-67139.html 3,《Akka深入淺出實戰經典視頻課程》http://edu.51cto.com/lesson/id-77672.html 4,《Spark亞太研究院決勝大數據時代公益大講堂》http://edu.51cto.com/lesson/id-30815.html 5,《云計算Docker虛擬化公益大講壇 》http://edu.51cto.com/lesson/id-61776.html 6,《Spark 大講堂(純實戰手動操作)》http://edu.51cto.com/lesson/id-78653.html 7,《Hadoop深入淺出實戰經典視頻課程-集群、HDFS、Yarn、MapReduce》http://edu.51cto.com/lesson/id-77141.html 8,《從技術角度思考Hadoop到底是什么》http://edu.51cto.com/course/course_id-1151.html “DT大數據夢工廠”團隊第一個中國夢:免費為社會培養100萬名優秀的大數據從業人員。每天早上4點起持續分享大數據、互聯網+、O2O、工業4.0、微營銷、移動互聯網等領域的 精華內容,幫助您和公司在DT時代打造智慧大腦,將生產力提高百倍以上! DT大數據夢工廠微信公眾號:DT_Spark,二維碼如下,期待大家加入! posted @ 2015-12-22 11:23 love1563 閱讀(106) | 評論 (0) | 編輯 收藏 大數據是用scala語言,和java有些不同又比java強大,省去了很多繁瑣的東西,scala中的的接口用trait來定義,不同于java的接口,trait中可以有抽象方法也可以有不抽象方法。scala中的方法中還可以定義方法,這在java中是從來沒有的。
大數據未來幾年發展的重點方向,大數據戰略已經在十八屆五中全會上作為重點戰略方向,中國在大數據方面才剛剛起步,但是在美國已經產生了上千億的市場價值。舉個例子,美國通用公司是一個生產飛機發動機的一個公司,這家公司在飛機發動機的每一個零部件上都安裝了傳感器,這些傳感器在飛機發動機運作的同時不斷的把發動機狀態的數據傳到通用公司的云平臺上,通用公司又有很多數據分析中心專門接受這些數據,根據大數據的分析可以隨時掌握每一家航空公司發動機的飛行狀況,可以告知這些航空公司發動機的哪些部件需要檢修或保養,避免飛機事故,通過這種服務通用公司就產生了幾百億美元的產值。 現在正是學習大數據的最好機遇,不花一分錢就可以成為大數據高手,實現年薪50萬的夢想。 王家林的第一個中國夢:免費為全社會培養100萬名優秀的大數據從業人員! 您可以通過王家林老師的微信號18610086859發紅包捐助大數據、互聯網+、O2O、工業4.0、微營銷、移動互聯網等系列免費實戰課程, 目前已經發布的王家林免費視頻全集如下: 1,《大數據不眠夜:Spark內核天機解密(共100講)》:http://pan.baidu.com/s/1eQsHZAq 2,《Hadoop深入淺出實戰經典》http://pan.baidu.com/s/1mgpfRPu 3,《Spark純實戰公益大講壇》http://pan.baidu.com/s/1jGpNGwu 4,《Scala深入淺出實戰經典》http://pan.baidu.com/s/1sjDWG25 5,《Docker公益大講壇》http://pan.baidu.com/s/1kTpL8UF 6,《Spark亞太研究院Spark公益大講堂》http://pan.baidu.com/s/1i30Ewsd 7,DT大數據夢工廠Spark、Scala、Hadoop的所有視頻、PPT和代碼在百度云網盤的鏈接: http://pan.baidu.com/share/home?uk=4013289088#category/type=0&qq-pf-to=pcqq.group 王家林免費在51CTO發布的1000集合大數據spark、hadoop、scala、docker視頻: 1,《Scala深入淺出實戰初級入門經典視頻課程》http://edu.51cto.com/lesson/id-66538.html 2,《Scala深入淺出實戰中級進階經典視頻課程》http://edu.51cto.com/lesson/id-67139.html 3,《Akka深入淺出實戰經典視頻課程》http://edu.51cto.com/lesson/id-77672.html 4,《Spark亞太研究院決勝大數據時代公益大講堂》http://edu.51cto.com/lesson/id-30815.html 5,《云計算Docker虛擬化公益大講壇 》http://edu.51cto.com/lesson/id-61776.html 6,《Spark 大講堂(純實戰手動操作)》http://edu.51cto.com/lesson/id-78653.html 7,《Hadoop深入淺出實戰經典視頻課程-集群、HDFS、Yarn、MapReduce》http://edu.51cto.com/lesson/id-77141.html 8,《從技術角度思考Hadoop到底是什么》http://edu.51cto.com/course/course_id-1151.html “DT大數據夢工廠”團隊第一個中國夢:免費為社會培養100萬名優秀的大數據從業人員。每天早上4點起持續分享大數據、互聯網+、O2O、工業4.0、微營銷、移動互聯網等領域的 精華內容,幫助您和公司在DT時代打造智慧大腦,將生產力提高百倍以上! DT大數據夢工廠微信公眾號:DT_Spark,二維碼如下,期待大家加入! posted @ 2015-12-22 11:22 love1563 閱讀(92) | 評論 (0) | 編輯 收藏 摘要: JessMA(原名:Portal-Basic)是一套功能完備的高性能 Full-Stack Web 應用開發框架,內置可擴展的 MVC Web 基礎架構和 DAO 數據庫訪問組件(內部已提供了 Hibernate、MyBatis 與 JDBC... 閱讀全文
posted @ 2013-11-24 07:49 love1563 閱讀(3448) | 評論 (0) | 編輯 收藏 apache svn:http://svn.apache.org/repos/asf
posted @ 2013-09-03 14:21 love1563 閱讀(2227) | 評論 (0) | 編輯 收藏 開發軟件時,我的主要目標之一是:要么防止將缺陷引入代碼庫,要么限制缺陷的生存期;換言之,要盡早找到缺陷。很顯然,越是了解如何編寫更好的代碼以及如何有效測試軟件,就越能及早地捕捉到缺陷。我也很想要一張能發現潛在缺陷的安全之網。 在本系列 八月份 的那期文章中,我得出了這樣的結論:將檢驗工具集成到構建過程(例如,使用 Ant 或 Maven)中,能夠建立起一種尋找潛在缺陷的方法。盡管這種方法使一致性成為可能并超越了 IDE,但它也有一點反作用。必須在本地構建軟件或等待 Continuous Integration 構建的運行。如果使用 Eclipse 插件,就可以在通過 Continuous Integration 構建或集成前 發現一些這樣的沖突。這就促成了我稱為漸進編程 的編程方式,在這種方式下,允許在編碼過程中進行一定程度的質量檢驗 ——再也不能比這個更早了! 本文涵蓋了我所認為的 “五大” 代碼分析領域:
可以用接下來的幾個靈活的 Eclipse 插件來揭示這些分析領域:
安裝 Eclipse 插件再簡單不過了,只需要幾個步驟。在開始之前,最好把該插件下載站點的 URL 準備好。表 1 是本文用到的插件的列表: 表 1. 代碼改進插件和相應的下載站點 URL
知道了這些有用插件的下載地址后,安裝插件就是一個極簡單的過程。啟動 Eclipse,然后遵循下列步驟:
請遵循上述這些步驟來安裝其他的 Eclipse 插件;只需改變插件名和相應的下載位置即可。 代碼庫的可維護性直接影響著軟件的整個成本。另外,不佳的可維護性還會讓開發人員十分頭痛(進而導致開發人員的缺乏)—— 代碼越容易修改,就越容易添加新的產品特性。像 CheckStyle 這樣的工具可以協助尋找那些可影響到可維護性、與編碼標準相沖突的地方,比方說,過大的類、太長的方法和未使用的變量等等。 使用 Eclipse 的 CheckStyle 插件的好處是能夠在編碼過程中了解到源代碼上下文的各種編碼沖突,讓開發人員更可能在簽入該代碼前真正處理好這些沖突。您也幾乎可以把 CheckStyle 插件視作一個連續的代碼復查工具! 安裝 CheckStyle 插件并做如下配置(參見圖 4):
Eclipse 重新構建工作空間,并在 Eclipse 控制臺中列示已發現的編碼沖突,如圖 5 所示: 圖 5. Eclipse 中 CheckStyle 的代碼沖突列表 ![]() 使用 CheckStyle 插件在 Eclipse 內嵌入編碼標準檢驗是一種很棒的方法,用這種方法可以在編碼時 積極地改進代碼,從而在開發周期的早期發現源代碼中潛在的缺陷。這么做還有更多的好處,如節省時間、減少失敗,也因此會減少項目的成本。沒錯,這就是一種積極主動的方式! Coverlipse 是一個用于 Cobertura 的 Eclipse 插件,Cobertura 是一個代碼覆蓋率工具,可以用它來評估具有相應測試的源代碼的比率。Cobertura 也提供一個 Ant 任務和 Maven 插件,但用 Cobertura,您可以在編寫代碼時 評估代碼覆蓋率。您見過這樣的模式嗎? 通過選擇 Eclipse 菜單項 Run 安裝 Coverlipse 插件并將其和 JUnit 關聯起來,該操作會顯示一系列運行配置選項,例如 JUnit、SWT 應用程序和 Java™ 應用程序。右鍵單擊它并選擇 JUnit w/Coverlipse 節點中的 New。在這里,需要確定 JUnit 測試的位置,如圖 6 所示: 圖 6. 配置 Coverlipse 以獲取代碼覆蓋率 ![]() 一旦單擊了 Run,Eclipse 會運行 Coverlipse 并在源代碼(如圖 7 所示)中嵌入標記,該標記顯示了具有相關 JUnit 測試的代碼部分: 圖 7. Coverlipse 生成的具有嵌入類標記的報告 ![]() 正如您所見,使用 Coverlipse Eclipse 插件可以更快地確定代碼覆蓋率。例如,這種實時數據功能有助于在將代碼簽入 CM 系統前 更好地進行測試。這對漸進編程來說意味著什么呢? Eclipse 的 PMD 插件提供了一項叫做 CPD(或復制粘貼探測器)的功能,用于尋找重復的代碼。為在 Eclipse 中使用這項便利的工具,需要安裝具有 PMD 的 Eclipse 插件,該插件具有 CPD 功能。 為尋找重復的代碼,請用右鍵單擊一個 Eclipse 項目并選擇 PMD | Find Suspect Cut and Paste,如圖 8 所示: 圖 8. 使用 CPD 插件運行復制粘貼檢驗 ![]() 一旦運行了 CPD,您的 Eclipse 根目錄下就會創建出一個 圖 9. Eclipse 插件生成的 CPD 文本文件 ![]() 靠人工來尋找重復的代碼是一項挑戰,但使用像 CPD 這樣的插件卻能在編碼時輕松地發現重復的代碼。 JDepend 是個可免費獲取的開源工具,它為包依賴項提供面向對象的度量值,以此指明代碼庫的彈性。換句話說,JDepend 可有效測量一個架構的健壯性(反之,脆弱性)。 除了 Eclipse 插件,JDepend 還提供一個 Ant 任務、Maven 插件和一個 Java 應用程序,用以獲取這些度量值。對于相同的信息,它們有著不同的傳遞機制;但 Eclipse 插件的特別之處和相應優點是:它能以更接近源代碼(即,編碼時)的方式傳遞這條信息。 圖 10 演示了使用 Eclipse JDepend 插件的方法:通過右鍵單擊源文件夾并選擇 Run JDepend Analysis。一定要選擇一個含源代碼的源文件夾;否則看不到此菜單項。 圖 10. 使用 JDepend Analysis 分析代碼 ![]() 圖 11 顯示了運行 JDepend Analysis 時生成的報告。左邊顯示包,右邊顯示針對每個包的依賴項度量值。 圖 11. Eclipse 項目中的包依賴項 ![]() 正如您所見,JDepend 插件提供了有助于不斷觀察架構可維護性變化的大量信息 —— 這其中最大的好處是您可以在編碼時看到這些數據。 “五大”代碼分析最后的一項是測量復雜度。Eclipse 提供一種叫做 Metrics 的插件,使用該插件可以進行許多有用的代碼度量,包括圈復雜度度量,它用于測量方法中惟一路徑的數目。 安裝 Metrics 插件并重啟 Eclipse;然后遵循下列步驟:
正如我之前提到過的,Eclipse Metrics 插件還提供了許多功能強大的度量值,有助于您在開發軟件的過程中改進代碼 —— 可見,它是一個漸進編程意義上的插件! 正如您從本文中看到的那樣,將“五大”測量方法,即編碼標準、代碼重復、代碼覆蓋率、依賴項分析和復雜度監控,用于改進代碼質量十分重要。但適合您的才是好的。請記住還有其他許多可用的 Eclipse 插件(比如 PMD 和 FindBugs)能夠幫助您在開發周期的早期改進代碼質量。不管您想要的工具或偏愛的方法是什么,重要的是:行動起來去積極改進代碼質量并讓手工代碼檢驗的過程變得更加有效。我估計您使用這些插件一段時間后,就再也離不開它們了。 學習
獲得產品和技術
討論
![]() Paul Duvall 是 Stelligent Incorporated 的 CTO,該公司利用有效的開發人員測試策略,以及能夠讓團隊盡早盡多地監視和提高代碼質量的持續集成技術,幫助其他企業解決軟件的質量問題。他還是 UML™ 2 Toolkit 一書的作者之一,目前正在與他人合作撰寫 Continuous Integration: Improving Software Quality and Reducing Risk (Addison-Wesley) 一書。 posted @ 2013-06-19 17:27 love1563 閱讀(2174) | 評論 (1) | 編輯 收藏 http://www.open-open.com/bbs/view/1320934157953/ 1. ctrl+shift+r:打開資源 這可能是所有快捷鍵組合中最省時間的了。這組快捷鍵可以讓你打開你的工作區中任何一個文件,而你只需要按下文件名或mask名中的前幾個字母,比如applic*.xml。美中不足的是這組快捷鍵并非在所有視圖下都能用。 2. ctrl+o:快速outline 如果想要查看當前類的方法或某個特定方法,但又不想把代碼拉上拉下,也不想使用查找功能的話,就用ctrl+o吧。它可以列出當前類中的所有方法及屬性,你只需輸入你想要查詢的方法名,點擊enter就能夠直接跳轉至你想去的位置。 3. ctrl+e:快速轉換編輯器 這組快捷鍵將幫助你在打開的編輯器之間瀏覽。使用ctrl+page down或ctrl+page up可以瀏覽前后的選項卡,但是在很多文件打開的狀態下,ctrl+e會更加有效率。 4. ctrl+2,L:為本地變量賦值 開發過程中,我常常先編寫方法,如Calendar.getInstance(),然后通過ctrl+2快捷鍵將方法的計算結果賦值于一個本地變量之上。 這樣我節省了輸入類名,變量名以及導入聲明的時間。Ctrl+F的效果類似,不過效果是把方法的計算結果賦值于類中的域。 5. alt+shift+r:重命名 重命名屬性及方法在幾年前還是個很麻煩的事,需要大量使用搜索及替換,以至于代碼變得零零散散的。今天的Java IDE提供源碼處理功能,Eclipse也是一樣。現在,變量和方法的重命名變得十分簡單,你會習慣于在每次出現更好替代名稱的時候都做一次重命名。要使 用這個功能,將鼠標移動至屬性名或方法名上,按下alt+shift+r,輸入新名稱并點擊回車。就此完成。如果你重命名的是類中的一個屬性,你可以點擊alt+shift+r兩次,這會呼叫出源碼處理對話框,可以實現get及set方法的自動重命名。 6. alt+shift+l以及alt+shift+m:提取本地變量及方法 源碼處理還包括從大塊的代碼中提取變量和方法的功能。比如,要從一個string創建一個常量,那么就選定文本并按下alt+shift+l即可。如果同 一個string在同一類中的別處出現,它會被自動替換。方法提取也是個非常方便的功能。將大方法分解成較小的、充分定義的方法會極大的減少復雜度,并提 升代碼的可測試性。 7. shift+enter及ctrl+shift+enter Shift+enter在當前行之下創建一個空白行,與光標是否在行末無關。Ctrl+shift+enter則在當前行之前插入空白行。 8. Alt+方向鍵 這也是個節省時間的法寶。這個組合將當前行的內容往上或下移動。在try/catch部分,這個快捷方式尤其好使。 9. ctrl+m 大顯示屏幕能夠提高工作效率是大家都知道的。Ctrl+m是編輯器窗口最大化的快捷鍵。 10. ctrl+.及ctrl+1:下一個錯誤及快速修改 ctrl+.將光標移動至當前文件中的下一個報錯處或警告處。這組快捷鍵我一般與ctrl+1一并使用,即修改建議的快捷鍵。新版Eclipse的修改建 議做的很不錯,可以幫你解決很多問題,如方法中的缺失參數,throw/catch exception,未執行的方法等等。 更多快捷鍵組合可在Eclipse按下ctrl+shift+L查看。 posted @ 2013-06-11 15:28 love1563 閱讀(1435) | 評論 (0) | 編輯 收藏 |
|||||||||||||||||||