Time of Update: 2018-12-03
2 簡單原廠模式概述 簡單原廠模式並不屬於GoF 23個經典設計模式,但通常將它作為學習其他原廠模式的基礎,它的設計思想很簡單,其基本流程如下: 首先將需要建立的各種不同對象(例如各種不同的Chart對象)的相關代碼封裝到不同的類中,這些類稱為具體產品類,而將它們公用的代碼進行抽象和提取後封裝在一個抽象產品類中,每一個具體產品類都是抽象產品類的子類;然後提供一個工廠類用於建立各種產品,在工廠類中提供一個建立產品的Factory
Time of Update: 2018-12-03
我們在做項目的時候往往會使用到設定檔,為什麼呢?使用設定檔是不是能給我們帶來好處呢?答案是肯定的。如果我們把有可能需要改動的字串(如:資料庫連接字串)寫在設定檔中,那麼將來需要改動的時候,維護人員可以直接修改設定檔進行維護,而不需要將你的來源程式修改、重新編譯。 既然設定檔可以給我們帶來方便,那麼我們到底該如何添加、使用設定檔呢?
Time of Update: 2018-12-03
meego將ofono作為其Modem的中介層驅動,用來實現電話上網等與Modem和SIM卡相關的各種功能。來自百度百科的內容: oFono是由諾基亞與英特爾共同發起的計劃,希望號召開發人員共同參與GSM/UMTS手機相關的開放原始碼應用。oFono採用GPLv2授權,在應用程式介面(API)使用D-Bus介面,並整合第3方業者的電話軟體堆疊、行動數據機與儲存後端等。
Time of Update: 2018-12-03
迪米特法則來自於1987年美國東北大學(Northeastern University)一個名為“Demeter”的研究項目。迪米特法則又稱為最少知識原則(LeastKnowledge Principle, LKP),其定義如下:迪米特法則(Law of Demeter, LoD):一個軟體實體應當儘可能少地與其他實體發生相互作用。
Time of Update: 2018-12-03
3.3 負載平衡器的設計與實現 Sunny軟體公司承接了一個伺服器負載平衡(Load
Time of Update: 2018-12-03
我們對於防止學生重複登入機房收費系統的做法通常是在表中添加一個標記學生上機狀態的欄位,然後根據上、下機的操作來修改該欄位。那麼這麼做的問題是,但程式出現異常而奔潰時下機操作將不被執行。那麼也就是使用者就會一直處於線上狀態而無法登入。因此根據暫存資料表自動回收的特性,我們使用它來實現防止重複登入的功能。 先簡單介紹一下SQL
Time of Update: 2018-12-03
最近寫文檔的時候,遇到了一個小問題。我們的文檔,大部分都是通過EA產生的,而通過EA產生的文檔,好多表格格式不是很美觀。不是表格的高度不合適,就是字型顯示不盡人意,這些都必須去修改。當瀏覽了一遍文檔後,發現有好幾十個表格,這要是一一修改的話,那一上午就甭幹別的了,光做重複工作了。記得有這麼一句話:如果同一件事情,你重複做了三次,那麼,肯定有簡單的方法來避免這種無謂的重複。於是上網找了一下,果然,VBA完美解決了這個問題。下面就說說如何用VBA解決這個問題。1、開啟Word,點擊視圖——宏——查看
Time of Update: 2018-12-03
一直在學習軟體開發,但是,學習的都是應用軟體的開發,從來沒有接觸過系統軟體的開發。總感覺系統軟體比較神秘,居然能協調硬體裝置工作。這次自考學習了作業系統這門課程,雖然裡面並沒有涉及到作業系統具體的開發,但是對作業系統的工作原理有了一個大致的瞭解,還比較膚淺。從軟體開發的角度來看,僅僅是做了一個粒度比較粗的需求分析,離開發作業系統的距離還是很遙遠地。下面幾張圖是我對作業系統的一個總結:
Time of Update: 2018-12-03
IPv4 和 IPv6 的網路介面操作使用通訊端 ioctl 命令 層級: 中級Katiyar Manish (manish.katiyar@in.ibm.com), 軟體工程師, IBM, Intel, Microsoft,HPShweta Gupta (shwetagupta@in.ibm.com), 進階軟體工程師, IBM 2007 年 3 月 13 日瞭解更多關於通訊端 I/O 控制 (ioctl) 命令的內容,以及如何使用它們完成各種網路相關的操作.作業系統為通訊端、路由表、ARP
Time of Update: 2018-12-03
通訊協定中的RTS/CTS協議:即請求發送/允許發送協議,相當於一種握手協議,主要用來解決"隱藏終端"問題。"隱藏終端"(Hidden
Time of Update: 2018-12-03
SELECT裝置逾時用法小結目前各平台通用的設定socket connect逾時的辦法是通過select(),具體方法如下:1.建立socket;2.將該socket設定為非阻塞模式;3.調用connect();4.使用select()檢查該socket描述符是否可寫;5.根據select()返回的結果判斷connect()結果;6.將socket設回阻塞模式。 select,就是用來監視某個或某些控制代碼的狀態變化的,執行I/O多路轉換。select函數原型如下:int select(int
Time of Update: 2018-12-03
最近在我的mini2440開發板上試了友善新發布的linux2.6.29和qtopia2.2。確實不錯。可惜,友善還是沒有提供u-boot。不過,我移植好的u-boot可以正常引導友善的新核心。友善在qtopia2.2內整合了konqueror瀏覽器,可以實現mini2440上網瀏覽,我有電信的ADSL寬頻,但qtopia2.2好象沒有提供ADSL撥號的功能,於是,決定自已移植一個,以實現ADSL撥接。我的adsl貓是電信給的帶有無線路由的貓,是中信公司的。移植需要ra-pppoe和ppp。我用
Time of Update: 2018-12-03
windows表單的標題列無法直接通過一些預設的事件來控制,需要瞭解和WM_NCHITTEST相關的windows訊息。 以下樣本示範了最簡單的效果片斷: 他會把客戶區和標題列的效果互換,比如無法按住標題列拖動表單而是改為了安抓客戶區拖動,並禁用了關閉按鈕。 其中m.Result從-2到21都有定義,分別度應了整個表單的各個部位,比如1代表客戶區,8代表最小化按鈕等等。using System;using System.Windows.Forms;namespace
Time of Update: 2018-12-04
sybase bcp 錯誤大全 Sybase BCP 錯誤總結一. Bcp 錯誤ct_connect(): network packet layer: internal net library error: Net-Lib protocol driver call to connect two endpoints failedEstablishing connection failed.無法串連遠程伺服器cs_convert: cslib user api layer: common
Time of Update: 2018-12-04
上周在初始化一個PChar的時候,將fillchar使用錯誤.直接寫成varP:PChar;beginP:=StrAlloc(1024);FillChar(P,1024,0);....end;導致在程式運行時莫明其妙的地方報記憶體錯.仔細檢查後才發現,原來問題出在 FillChar(P,1024,0);這句上.正確的寫法是 FillChar(P^,1024,0);錯誤的代碼因為P是一個4位元組的指標,執行這句後程式將會溢出,錯誤的將其後的1020位元組的記憶體填0,而這個記憶體是不可預知的位置.
Time of Update: 2018-12-04
最近需要編譯不同平台的庫,因此比以前只開發C++程式關注底層更多點。先來看看術語runtime system的解釋。主要參考資料:http://en.wikipedia.org/wiki/Runtime_systemruntime system有時候就簡稱runtime, 但是runtime字面意義是啟動並執行時候發生的事情,範圍很廣。所以我這裡仍然用runtime
Time of Update: 2018-12-04
在Ubuntu裡配置ADSL很方便,sudo pppoeconf一路設定下去便可以了。然後使用pon dsl-provider命令啟動撥號,使用手動poff斷開撥號連線,而且,我們可以使用plog命令來查看串連日誌資訊。 但最近遇到一個特別奇怪的問題,每次上次一段時間,一般4~5分鐘,有時2~3分鐘,網路就斷了,使用pon dsl-provider命令重連,又可以連上,但過幾分鐘又斷了。使用plog查看,有如下資訊: Jun 30 08:16:28 Ubuntu-kde-pc pppd[5
Time of Update: 2018-12-04
VMware Player 4.0.4發布有一段時間了,這裡有一個簡短的教程教大家如何安裝最新版本的VMware Player。當然第一步先下載VMware Player 4.0.4(我下載下來檔案名稱為VMware-Player-4.0.4-744019.i386.txt,名稱不重要不影響安裝)執行sudo sh VMware-Player-4.0.4-744019.i386.txt 按照提示一步一步安裝即可。安裝完成後,需要下載一個補丁,防止player出現一個無法啟動服務的錯誤。執行
Time of Update: 2018-12-04
眾所周知,由於公用IP的短缺,我們在組建區域網路時,通常使用保留地址作為內部IP,這些保留地址Internet上是無法被路由的,所以在正常情況下我們無法直接通過Internet訪問到在區域網路內的主機。為了實現這一目的,我們需要使用VPN隧道技術。- 通常情況下,VPN網關採用雙網卡結構,外網卡使用公用IP接入Internet;- 如果網路一的終端A需要訪問網路二的終端B,其發出的訪問資料包的目標地址為終端B的IP (內部IP);-
Time of Update: 2018-12-04
0x8000 & GetKeyState(VK_SHIFT); 這句是判斷是否有按下shift鍵為什麼GetAsyncKeyState()&首先說明,有好多程式或書上是0x8000f,這個f不是十六進位的f而是代表浮點數。其實& 8000才是本質。小魚我整理後自己寫了點東西,總結一下首先介紹一下幾個概念:按位與運算子"&":是雙目運算子,其功能是參與運算的兩數各對應的二進位相與。只有對應的兩個二進位均為1時,結果位才為1