大家可能有使用過forever來管理process,今天我特別要介紹一款剛推出的process manager, PM2,他和forever一樣被使用在node.js上,不過最大的差別是他多了表格! 用過forever的人都知道,每次forever list的時候很常跑版,對應不到正確的pid,現在就讓我來介紹一下PM2吧。

 

安裝

使用npm安裝

npm install pm2 -g

 

文章標籤

橘子亂說話 發表在 痞客邦 留言(0) 人氣()

如何使用openGL畫出一個三角形呢 ? 

要構成一個三角形你需要三個點,由這三個點才能連成三條線,最後由這三條線形成三角形。

 

座標 Coordinate

橘子亂說話 發表在 痞客邦 留言(0) 人氣()

什麼是架構模式呢?總結來說,就是使程式有架構性的開發,目的是為了降底耦合,讓程式更有彈性,更容易維護或更貼近業務需求與目標。

 

Repository (Data-Centered, 類似資源中心)
描述 : 所有的data都是由central repository 管理 , 所有的components 不直接作用而是透過repository
使用時機 : 系統擁有龐大資料被產生且需要存儲時。
文章標籤

橘子亂說話 發表在 痞客邦 留言(0) 人氣()

能力成熟度模型整合(英文:Capability Maturity Model Integration,簡稱CMMI或「希邁」)是一個過程改進方法,它的目的是幫助組織改進他們的績效。「希邁」可以被用於啟動橫貫一個專案、一個部門或一個完整的組織的過程改進,同時他也存在兩種表現方式,「分階段的」(staged)「持續的」(continuous)

 

Staged
Staged 是一個綜合評估方式。分為1~5個階段,階段意義參考下表 : 

●  Initial:初始狀態,表示有經過CMMI評鑑。有管理,但沒有固定工作時程,仰賴組織成員本身能力,容易專案超時或預算超出。

文章標籤

橘子亂說話 發表在 痞客邦 留言(0) 人氣()

軟體配置管理(SCM)是指在開發過程中各階段,管理電腦程式演變的學科,它作為軟體工程的關鍵元素。已經成為軟體開發和維護的重要組成部分。SCM提供了結構化的、有序化的、產品化的管理軟體工程的方法。它涵蓋了軟體生命周期的所有領域並影響所有數據和過程。 配置管理是對產品進行標識、存儲和控制,以維護其完整性、可追溯性以及正確性的學科。

 

我列舉五項SCM主要的任務介紹給大家

Configuration Item Identification:標示配置項,正確標識軟體配置項對整個管理活動非常重要,對軟體開發過程中的所有軟體項目賦予唯一的標識符,便於對其進行狀態控制和管理。

●  由於大型專案會產生出很多文件,而有些文件要被維護很久,需要方便給人識別。

文章標籤

橘子亂說話 發表在 痞客邦 留言(0) 人氣()

Fagan's inspection 是一個結構化的過程,它嘗試在軟體開發的各個階段中發現開發檔案的缺陷,例如程式編碼,規範,設計等等。 它以Michael Fagan的名字命名,被認為是正式的軟體檢查發明者。

 

Steps : 

計劃(Planning):選擇檢驗小組的成員、準備文件和安排會議地點。

概觀(Overview)針對欲檢驗項目替檢驗小組作一般性文件的簡報。

文章標籤

橘子亂說話 發表在 痞客邦 留言(0) 人氣()

White-Box Testing (白箱測試)

又稱為結構測試,其測試方法是根據程式內的結構設計案例,分別驗證其行為的正確性。

通常使用Path testing進行,遍歷所有path。

 

Black-Box Testing (黑箱測試)

橘子亂說話 發表在 痞客邦 留言(0) 人氣()

初學者剛接觸程式語言時常會聽到Override與Overload,但常分不清其中的差別,我以兩個簡單的C++範例說明一下。

 

Override  覆載

建立一個Class 命名為Shape,並且他有一個public function為getShapeType,此時再建立一個class命名為Triangle,並繼承Shape,這時候改寫從Shape繼承下來的function,如此一來,原本class Shape呼叫getShapeType()的時候會回傳字串"Shape",而class Triangle繼承Shape並Override getShapeType(),因此變成回傳字串"Triangle"

class Shape
{  
    public void getShapeType()  
    {  
        return "Shape" ;
    }  
}  
  
class Triangle : Shape
{  
    public void getShapeType()  
    {  
        return "Triangle" ;  
    }  
}  
  

 

文章標籤

橘子亂說話 發表在 痞客邦 留言(2) 人氣()

 

定義 :

確保一個類別只有一個實體,並給它一個存取的全域點(Global Point)

 

使用案例 :

文章標籤

橘子亂說話 發表在 痞客邦 留言(0) 人氣()

這學期剛上完Design Pattern的課程,使用的教科書是 J. Vlissides. 1998. Pattern Hatching: Design Patterns Applied. Addison-Wesley Longman Ltd. 這本書的作者跟老師是很好的朋友,Gang of Four之一,作者提到書中所有的設計都離不開兩大宗旨, Favor object composition over class inheritanceProgram to interface not implementation ,這篇會稍微介紹紀錄一下兩個要點目的是什麼,之後再慢慢介紹其他的pattern。

 

Favor object composition over class inheritance

當需要重用程式碼時,比較好的方法應該是利用 Composition 而非 Inheritance,利用 Composition 物件只會透過自己 interface 訪問自己的功能,不會打破封裝,關聯性也較低。

 

橘子亂說話 發表在 痞客邦 留言(0) 人氣()