原创 系統架構設計筆記(39)—— 簡單分佈式系統設計

網絡極大地擴展了計算機的應用範圍,同時,由於升級到更強的服務器的費用常常遠遠高於購買多臺檔次稍低的機器,更何況雖然計算機有了長足的發展,可是單臺計算機的功能仍然十分有限,利用聯網的計算機協同工作,共同完成複雜的工作成爲相對成本較低

原创 系統架構設計筆記(38)—— 工作流設計

工作流技術的發展,經過多年的努力,取得了一定的成果。但在實際應用中,應用的企業還是較少,應用的範圍窄,效果不理想。 流程的設計是對設計者更高的挑戰,現實中對計算機所管理的流程需要靈活的定義 、 方便的路徑修改 、 容易使用,可是這

原创 系統架構設計筆記(37)—— 用戶界面設計

接口設計主要包括三個方面的內容:一是設計軟件構件間的接口;二是設計模塊和其他非人的信息生產者和消費者(如外部實體)的接口;三是人(如用戶)和計算機間界面設計。 軟件構件間接口的設計與架構的設計緊密相關,而設計模塊和外部實體的接口則

原创 說說如何使用 Canvas 繪製基本矩形

HTML5 提供的 canvas 元素,可以讓我們使用 JavaScript 在網頁上繪製圖像。畫布是一個矩形區域,我們可以控制其每一像素。canvas 擁有多種繪製路徑、矩形、圓形、字符以及添加圖像的方法。這次先說說如何繪製基本

原创 說說如何使用 Python 發送電子郵件

使用 Python 的 smtplib 模塊,就可以實現發送郵件。 1 電子郵件服務器 如果是網易 163 郵箱,我們可以在瀏覽器中登陸 https://mail.163.com/ 郵箱後,依次點擊 設置 → POP3/SMTP/

原创 說說 Python 的 round 函數

round( number ) 函數會返回浮點數 number 的四捨五入值。 具體定義爲 round(number[,digits]): 如果 digits>0 ,四捨五入到指定的小數位; 如果 digits=0 ,四捨五入到

原创 說說 JavaScript 中的冒泡與捕獲過程

W3C 規範中定義了3個事件階段,依次是捕獲階段 、 目標階段 、 冒泡階段。先捕獲,後冒泡,捕獲從上到下,就像石沉大海;而冒泡從下到上就像氣泡冒出水面。 先看個示例: html 頁面: <!DOCTYPE html> <html

原创 說說如何使用 Python 的 cProfile 模塊分析代碼性能

cProfile 模塊是自 python 2.5 以來標準版 Python 解釋器的默認性能分析器。它是一種確定性分析器,只測量 CPU 時間,並不包含內存消耗和其他與內存相關聯的信息。 代碼分析模板如下: import cPr

原创 系統架構設計筆記(33)—— 定義系統問題與歸結模型

軟件系統的目的是爲了解決問題,因此在建模之初最重要的步驟是對問題的分析與定義,並在此基礎上歸結模型,這樣才能夠獲得切實有效的模型。定義問題的過程包括:理解真實世界中的問題和用戶的需要,並提出滿足這些需要的解決方案的過程。 1 問題

原创 系統架構設計筆記(34)—— 需求分析與軟件設計

需求分析是軟件生命週期中相當重要的一個階段。根據 Standish Group 對 23000 個項目進行的研究結果表明, 28% 的項目徹底失敗, 46% 的項目超出經費預算或者超出工期,只有約 26% 的項目獲得成功。需求分析

原创 系統架構設計筆記(17)——網絡互連與常用設備

網絡互連是爲了將兩個以上具有獨立自治能力 、 同構或異構的計算機網絡連接起來,實現數據流通,擴大資源共享的範圍,或者容納更多的用戶。網絡互連包括局域網與局域網的互連 、 局域網與廣域網的互連 、 廣域網與廣域網的互連,這可以擴大資

原创 系統架構設計筆記(35)—— 結構化分析與設計

結構化分析與設計方法是一種面向數據流的需求分析和設計方法,它適用於分析和設計大型數據處理系統,是一種簡單 、 實用的方法,曾獲得廣泛的應用。 1 結構化分析 結構化分析方法的基本思想是自頂向下逐層分解。分解和抽象是人們控制問題複雜

原创 說說 JavaScript 中的 “!!” 語法

JavaScript 中的 ! 會將變量轉換成 boolean 類型,而 null、undefined 和空字符串會被轉換爲 false,其它轉換爲 true。 console.log(!null);//true console

原创 系統架構設計筆記(31)—— 系統方案的制訂和改進

通過在問題定義和歸結模型階段的工作,已經分析並定義了與系統開發目標相關的各種模型 、 分析出了系統的功能清單 、 性能要求等,解釋了 “ 系統目標是什麼 ” 的問題。在系統方案階段,主要完成的工作則是解釋 “ 系統如何實現 ” 的

原创 系統架構設計筆記(30)—— 可行性研究與效益分析

在項目計劃和選擇的過程中,需要完成的首要目標是對項目進行估算。項目估算的範圍涉及方方面面,例如項目或產品開發的範圍 、 投入和回報 、 項目風險 、 作用和意義等。在傳統軟件工程方法中,是以可行性研究的方式來組織項目的主要估算內容