Apache SSI 摘要

SSI是Server-Side Inclues的縮寫。 其意為,提供一個可含括(Includes)在html文件的控制指令,並能在伺服端(Server-Side)加以解析的功能。在閱讀本文前,我假設各位跟我一樣,了解SSI的用途,曾閱讀過Apache所提供的SSI文件(Module mod_include),並在使用時,和我碰到一樣的困擾。

在 C 程式中使用 MD5 library 及其應用

簡單地說, MD5 是一種單向雜湊(hashing)演算法,可將你所給予的任何長度字串,藉由 MD5 雜湊演算得出一個長度為 128 位元 (術語稱之為 "digest code")的計算結果。後述以鍵值稱呼 digest code。MD5 演算法,是由 RSA Data Security, Inc 公司所提出的。演算原理參閱 MD5 - Wikipedia

Make 工具使用簡介

Make 是一個歷史悠久且普遍的專案管理工具,從 DOS/Windows 到 Unix 都看得到其蹤影。儘管各系統上的 Make 工具不儘相同,但其描述方式,則大致相通。本文若未指明的內容,皆適用在 GNU make 、 BSD pmake 與 Microsoft nmake 。

此文是我以過去所整理的 Microsoft nmake 使用方法的文章為基礎所重編,後來的修改部份,主要在納入關於 GNU make 的內容。

如何以 semaphore 進行資源的共用互斥鎖定

在 Unix 系統中,資源的共用機制,通常以檔案鎖最為常見,也最為容易使用,只要使用 flock() 即可對檔案進行 LOCK_SH (共享鎖定)、 LOCK_EX (互斥鎖定)。但是其他的資源就沒這麼方便,例如共享記憶體完全沒有提供鎖定功能,此時就必須借助其他的行程間通訊機制進行協調,例如「號誌」(semaphore)。

本文即在說明,如何以號誌實作一個如 flock() 具有 LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB 四種參數的「資源共用互斥鎖定函數」。