生產過程當中出現的問題正逐漸獲得中層和最高管理層的重視。不論是身爲開發人員仍是架構師,下列的事項都應該獲得你足夠的重視以免陷入將來的尷尬境地。你也能夠把它做爲排查問題的便籤。html
好比,沒有把批處理使用的線程數設置成可在屬性文件中配置。你的批處理程序不管在DEV環境中,仍是UAT(用戶驗收測試)環境中,均可以順暢無阻地運行,可是一旦部署在PROD 上,把它做爲多線程程序處理更大的數據集時,就會拋出IOException,緣由多是JDBC驅動版本不一樣,也多是#2中討論的問題。若是線程數目 能夠在屬性文件中配置,那麼使它成爲一個單線程應用程序就變得十分容易了。咱們再也不須要爲了解決問題而反覆地部署和測試應用了。這種方法也一樣適用於配置 URL、服務器和端口號等。java
好比,生產過程當中一個 典型的場景就是隻使用1到3個帳戶進行測試,而這個數量本應是1000到2000個的。在作性能測試時,使用的數據必須是真實而且未經裁剪的。不貼近真實 環境的性能測試,可能會帶來不可預料的性能、拓展和多線程問題。只有使用更大規模的數據集對應用程序進行測試,才能保證它正常運行並知足非功能屬性的 SLAs(服務水平標準)。ios
不容許出現服務調用超時和重試,將會對應用程序 的穩定性和性能形成不利地影響。須要進行適當的服務中斷測試。這一點十分重要,由於現在的應用程序可能是分佈式而且面向服務的,都須要大量的網絡服務。無限 地請求不可用的服務會損害應用程序。也須要對負載均衡器進行測試,以確保它能正常工做,使每一個節點達到平衡。面試
正如上文提到,網 絡服務隨處可見,從而使得黑客能夠輕易地利用它進行拒絕服務攻擊。因此,在使用安全套接層時,必須完成基本的驗證並使用Google skipfish等工具進行滲透測試。不安全的應用程序不只會威脅其自身穩定性,還可能會由於數據完整性問題對公司的聲譽形成負面影響,例如出現了客戶 「A」能夠瀏覽客戶「B」數據的狀況。sql
現在的網絡應用程序可能是豐富的單頁應用程序,它們使用JavaScript編程語言以及angular js這樣的框架。爲了使你建設的網站可以流暢地運行於不一樣的設備和瀏覽器之間,必須實現與之對應的設計。因此爲了確保你的應用程序能夠適用於全部設備和瀏 覽器,必須對其進行兼容性測試。數據庫
例如稅法、政府或行業相關要求、分類法等。可使用像Drools這樣的引擎來處理商業規則,它幫助你經過存入數據庫或 excel的形式,來外化這些商業規則。企業掌握了這些商業規則,就能以最少的變化和測試完成對稅法或相關要求地快速反應。編程
除了COS(知足的條件)這種由MindMap建立的形式以外,
敏捷開發
中還有1和2這兩種主要的文檔形式。瀏覽器
在項目截止日期來臨之際,經常由於急於部署項目而遺漏了這些事項。沒有經過Nagios和Splunk創建合適的系統監視機制不只會威脅到應用程序的穩定性,還會妨礙目前的診斷和未來的改進工做。安全
好比created_datetm、update_datetm、created_by、updated_by和時間戳,也沒有提供有條理的刪除記錄列,如能夠取‘Y’或‘N’的‘deleted’列或是能夠取‘Active’或‘Inactive’的 ‘record_status’列。服務器
致使在系統發生故障時,沒有辦法將系統恢復到部署前的穩定狀態。這個計劃須要反覆推敲並有相關團隊簽字保證。計劃包括了,退回到軟件先前的版本,去除插入到數據庫中的全部數據以及屬性文件的全部條目。
現現在,在說明對平臺的要求時,僅僅說「須要一臺Unix計算機,一個Oracle數據庫服務器,一個JBoss應用程序服務器」是遠遠不夠的。你的要求必須精確到
下面的12來自「David DeCesare」發自「java.dzone」的評論:
不少狀況下,開發者會在生產系統中使用一門想要學習的語言或某種工具。一般這不是最好的選擇。好比,爲已經其實是關係型的數據使用NoSQL數據庫。請記住,不管你採用哪一種工具,都須要在將來3到5年(甚至更長的時期)內維護你的產品。
這些領域包括識別並修復1)「併發問題」、2)事務問題、3)性能問題。不少次面試中,我靠着這3個方面的知識拿到了新的合同。
原文連接: dzone 翻譯: ImportNew.com - rookie_sam
譯文連接: http://www.importnew.com/15346.html