原创 系統架構設計筆記(32)—— 新舊系統的分析和比較

計算機技術飛速發展,日新月異,許多企業因爲業務發展的需要和市場競爭的壓力,需要建設新的企業信息系統。在這種升級改造的過程中,怎麼處理和利用那些歷史遺留下來的老系統,成爲影響新系統建設成敗和開發效率的關鍵因素之一。通常稱這些老系統爲

原创 說說 Docker 容器技術與虛擬化技術之間的關係

1 虛擬化技術分類 在計算機技術中,虛擬化 (virtualization) 是一種資源管理技術,是將計算機的各種實體資源,如服務器 、 網絡 、 內存及存儲等,予以抽象 、 轉換後呈現出來,打破實體結構間的不可切割的障礙,使用戶

原创 系統架構設計筆記(29)—— 項目的選擇與提出

組織在信息化的過程中,可能基於各種動機提出系統項目的建設,有關人員要根據這些動機,提出和確定信息系統的工作範圍,確定項目立項,提出系統選擇方案,給出選擇結果。 1 項目的立項目標和動機 企事業單位在其自身的經營管理過程中,對於項目

原创 說說 Docker 的三大核心概念

Docker 包括三大核心概念:鏡像(Image)、容器(Container)和倉庫(Repository)。 (1)鏡像 鏡像類似於虛擬機鏡像,可以把它理解爲一個只讀的模板。例如,一個包含 Nginx 應用程序的鏡像,其內部包含

原创 系統架構設計筆記(28)—— 軟件重用與基於架構的軟件設計

1 軟件重用 軟件重用技術是一種重要的軟件開發方法,雖然至今軟件重用技術還不夠成熟,離理想中的軟件工廠還有很長的路要走,但現有的一些重用技術(例如,中間件 、 應用服務器等)已經改變了開發過程。 1.1 軟件重用形式 軟件產品與其

原创 系統架構設計筆記(27)—— 敏捷方法

2001 年 2 月,在美國的猶他州, 17 位“無政府主義者”共同發表了《敏捷軟件開發宣言》,在宣言中指出: 儘早地、持續地向客戶交付有價值的軟件對開發人員來說是最重要的。 擁抱變化,即使在開發的後期。敏捷過程能夠駕馭變化,保

原创 探索 Java 註解

Java 註解讓我們可以在代碼中添加信息元數據,這樣這些元數據就可以實現與源代碼放在一處管理與維護,而且還可以表述程序所需的信息。 1 標準註解 Java 定義了 5 種標準註解,具體說明如下: 註解 JDK 版本 說明

原创 系統架構設計筆記(25)—— 軟件生命週期與開發模型

1 軟件生命週期 軟件生命週期也就是軟件生存的週期。同萬物一樣,軟件也有誕生和消亡,軟件生命週期就是指軟件自開始構思與研發到不再使用而消亡的過程。有關軟件生命週期的階段劃分,不同的標準有不同的規定。在 GB8566-88 ( 《

原创 系統架構設計筆記(26)—— 軟件迭代統一過程

統一過程( Unified Process , UP )是由 Rational 公司開發的一種迭代的軟件過程,是一個優秀的軟件開發模型,它提供了完整的開發過程解決方案,可以有效地降低軟件開發過程的風險,經過裁剪的 UP 可以適應各

原创 說說 Spring Boot 項目引導與測試原理

1 引導項目 因爲 Spring Boot 項目會以可執行 JAR 文件的形式來運行,所以 Spring Boot 項目會定義一個主類,主類中提供 main 方法,它會在 JAR 運行時被執行。這個主類以註解的形式綁定 Spri

原创 說說在 IDEA 中如何使用 DevTools 與 LiveReload 實現熱部署(包括代碼與靜態資源)

1 配置 Intellij IDEA 首先在 Intellij IDEA 中,開啓項目自動構建選項: 然後打開 Maintenance 選項卡,快捷鍵爲 Ctrl + Alt + Shift + /: 輸入快捷鍵後,選擇

原创 說說使用 Spring Initializr 構建 Maven 項目的原理

Spring Initializr 實際上是一個提供 REST API 服務的 Web 應用,使用它我們能夠生成一個基於 Spring 框架的項目結構骨架。還可以利用它添加我們所需要的組件或第三方框架依賴庫。比如在下圖中就可以選擇

原创 系統架構設計筆記(23)—— 系統性能計算與設計

1 系統性能計算 隨着計算機系統複雜度的不斷增長,性能指標也在不斷地增長,這也增加了衡量計算機系統性能的難度。如何在衆多指標中選取合適的性能指標,以及選擇何種衡量方法都成爲一項重要的課題,因此也衍生了各種性能評估體系。這裏主要介紹

原创 系統架構設計筆記(24)—— 系統性能評估

性能評估是對一個系統進行各項檢測,並形成一份直觀的文檔,因此性能評估是通過各項測試來完成的。評估的一個目的是爲性能的優化提供參考,而性能優化涉及的面很廣,也很複雜,而且永無止境。對於不同的應用程序,優化的方法會有一些區別。 1 基

原创 探索 JavaScript 作用域

JavaScript 是實際上是一門編譯語言。但 JavaScript 並沒有多少時間可供編譯,在大部分情況下,編譯會發生在 JavaScript 代碼執行前的幾微秒時間內。所以 JavaScript 引擎用了各種辦法(比如 J