Time of Update: 2018-12-03
負載平衡是由多台伺服器以對稱的方式組成一個伺服器集合,每台伺服器都具有等價的地位,都可以單獨對外提供服務而無須其他伺服器的輔助。通過某種負載分擔技術,將外部發送來的請求均勻分配到對稱結構中的某一台伺服器上,而接收到請求的伺服器獨立地回應客戶的請求。均衡負載能夠平均分配客戶請求到伺服器列陣,籍此提供快速擷取重要資料,解決大量並發訪問服務問題。這種群集技術可以用最少的投資獲得接近於大型主機的效能。 >網路負載平衡的優點 第一,網路負載平衡能將傳入的請求傳播到多達32台伺服器上,即可以使用最多3
Time of Update: 2018-12-03
一、函數chdir 函數原型:int chdir(const char*path); 功 能: 改變工作目錄 傳回值:成功返回0 ,失敗返回-1 用法舉例: int main(){ char* pDir = "/tmp"; int nRetCode = chdir(pDir); if (nRetCode == -1) { perror("chdir failed"); exit(-1);
Time of Update: 2018-12-03
這幾天忙著重寫,因為以前寫的時候沒有規劃好,寫的有點亂,自己看不下去了。而且代碼量也不大,於是開始重構,花了3天時間,終雩都搞定了。心裡長歎一口氣,現在看起來舒服多了。 以後無論寫什麼代碼,代碼量多少,最重要的還是要規劃好,做好設計,然後然後再開始寫。這樣寫出的代碼才利於維護,易於擴充。做什麼事情都應該留條後路,也就是說要易於擴充。雖然未來不可預見,但是多考慮些東西還是比較好的。
Time of Update: 2018-12-03
Base64是網路上最常見的用於傳輸8Bit位元組代碼的編碼方式之一,Base64要求把每三個8Bit的位元組轉換為四個6Bit的位元組(3*8 = 4*6 = 24),然後把6Bit再添兩位高位0,組成四個8Bit的位元組,也就是說,轉換後的字串理論上將要比原來的長1/3,轉換之後通過一個BASE64的碼錶就可以得到BASE64編碼。如果字串不是3的倍數的話,轉換時位元組不足的地方用‘=’代替。 BASE64碼錶: 索引對應字元索引對應字元索引對應字元索引對應字元0A17R34
Time of Update: 2018-12-03
一、mkdir函數 函數名: mkdir 功 能: 建立一個目錄 用 法: int mkdir(char *pathname); 二、fileno函數 函數名: int fileno(FILE *stream) 函數說明:fileno()用來取得參數stream指定的檔案流所使用的檔案描述符 傳回值 :返迴文件描述符 用法舉例: #include <stdio.h>int main(){ FILE *fp;
Time of Update: 2018-12-03
設定控制項的背景顏色,主要是針對對話方塊程式而言。方法是處理WM_CTLCOLOR訊息,然後返回一個畫刷即可。注意該畫刷只能供系統使用,所以應該獨立的設定一個變數。 改變靜態文本的背景顏色和其他的控制項還不一樣,主要方法是: HBRUSH KDialogPage7::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor){ HBRUSH hbr = KDialog::OnCtlColor(pDC, pWnd, nCtlColor)
Time of Update: 2018-12-03
一、vfprintf 函數名: vfprintf 功 能: 格式化的資料輸出到指定的資料流中 用 法: int vfprintf(FILE *stream, char *format, va_list param); 函數說明:vfprintf()會根據參數format字串來轉換並格式化資料,然後將結果輸出到參數stream指定的檔案中,直到出現字串結束 (‘/0’)為止。關於參數format字串的格式請參 考printf()。
Time of Update: 2018-12-03
模態對話方塊與非模態對話方塊的區別使用非模態對話方塊與使用模態對話方塊相似,但是也有一些重要的區別:首先,非模態對話方塊通常包含一個標題列和一個系統功能表按鈕。當您在Developer Studio中建立對話方塊時,這些是內定選項。用於非模態對話方塊的對話方塊模板中的STYLE敘述形如:STYLE WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
Time of Update: 2018-12-03
啟用PL/SQL時,每次第一次開啟表的時候會提示"動態執行表不可訪問,本會話的自動統計被禁止,V$SESSION,V$SESSTAT,V$STATNAME沒有被授權“,原因是目前使用者沒有許可權訪問這幾張表,所以沒有辦法進行統計.當然要給授權了.授權SQL如下:grant select on v_$statname to store;grant select on v_$sesstat to store;grant select on v_$session to
Time of Update: 2018-12-03
實現自訂listctrl一、綜述 Mfc內建的listctrl雖然能夠完成一些常用的操作,但是如果對於某些特定的應用,則無能為力,這時候,就學要對空間進行擴充,以實現滿足特定需要的功能。本文闡述了如何?具有自訂行高,而且能夠選擇和編輯的listctrl控制項。 二、實現 (1)實現自訂行高。 我們都知道,mfc內建的listctrl控制項的行高是固定的,不能夠自訂的進行改變。如果設定一個比較大位元影像,或者簡單的設定比較大號的字型,這些方法雖然能夠改變行高,但是沒有接觸到問
Time of Update: 2018-12-03
電腦圖形學中,即時陰影分兩類:Shadow Volume和 Shadow Maps。其本質為找到螢幕中未被光源照射到的象素,在繪製光照物體時,忽略這些象素。陰影的要素由光源,遮擋物與接受物組成。遮擋物也是陰影接受物之一。陰影與陰影空間的形成: 以光源為中心(或為方向),凡是被遮擋物表面遮擋掉的空間,都處於陰影之下。在沒有接受物時,此空間分為兩個部分。光照空間和陰影空間。陰影空間為:光源與遮擋物面向光源輪廓形成的不規則無限大的錐。
Time of Update: 2018-12-03
std::atexit函數用來註冊當程式終止時,調用的函數嗎,通常用來釋放資源。例如: #include "stdafx.h"#include <Windows.h>int* ptrq = NULL;void Release(){ printf("release"); free(ptrq); ptrq = NULL;} int _tmain(int argc, _TCHAR* argv[]){ptrq = (int*)malloc(sizeof(int) * 1); atexit(
Time of Update: 2018-12-03
KeePass原始碼分析1---編譯KeePass最近,在SourceForge.net上下了一個安全方面的原始碼KeePass,KeePass是一個可靠的密碼管理工具,能夠十分安全的管理自己的密碼,而且還是免費和開源的。KeePass是用vc++編寫的,原始碼地址:http://sourceforge.net/projects/keepass/files/。下載好原始碼之後,首先當然是編譯問題。由於KeePass使用了第三方庫:boost。所以還需要下載boost庫,編譯boost庫之後(有關
Time of Update: 2018-12-03
在程式視窗建立之後,POORMENU得到一個系統功能表的控制代碼:hMenu = GetSystemMenu (hwnd, FALSE) ; 第一次呼叫GetSystemMenu時,您應該為修改菜單作準備,將第二個參數設定為FALSE。使用四個AppendMenu呼叫來實作對菜單的修改:AppendMenu (hMenu, MF_SEPARATOR, 0, NULL) ;
Time of Update: 2018-12-03
淺析:setsockopt()1. 如果在已經處於ESTABLISHED狀態下的socket(一般由連接埠號碼和標誌符區分)調用closesocket(一般不會立即關閉而經曆TIME_WAIT的過程)後想繼續重用該socket:BOOL bReuseaddr=TRUE;setsockopt(s,SOL_SOCKET
Time of Update: 2018-12-03
一、基礎知識 1、 下面幾個是在編程領域裡經常使用的縮寫,請寫出他們的英文全寫,並翻譯成中文。注意是編程領域. (1) OS Operator System (2) VS Visual Studio ? (3) MS Microsoft (4) CS Client/Server ? (5) RTOS Real Time Operator System (6) SDK Software Development Kits (7) IDE Integrated Development
Time of Update: 2018-12-03
secureZeroMemory和ZeroMerory的區別 根據MSDN上,ZeryMerory在當緩衝區的字串超出生命週期的時候,會被編譯器最佳化,從而緩衝區的內容會被惡意軟體捕捉到。引起軟體安全問題,特別是對於密碼這些比較敏感的資訊而說。而SecureZeroMemory則不會引發此問題,保證緩衝區的內容會被正確的清零。如果涉及到比較敏感的內容,盡量使用SecureZeroMemory函數。 以下是在msdn上摘錄的 SecureZeroMemory
Time of Update: 2018-12-03
當產生記錄檔時,一般要記錄日誌事件發生的當前時區的時間。在C/C++語言,使用localtime便可以擷取當前時區的時間。舉例如下: #include <time.h>int _tmain(int argc, _TCHAR* argv[]){ time_t t = time(NULL); struct tm* tp = localtime(&t); printf("%d-%02d-%02d %02d:%02d:%02d/n", tp-
Time of Update: 2018-12-03
定義菜單要使用Developer Studio來給程式資源描述檔案添加菜單,可以從Insert菜單中選擇 Resource並選擇Menu(或者您可能已經知道了)。然後,您可以用交談式的方式定義菜單。菜單中每一項都有一個相關的 Menu Item Properties對話方塊,指出該項目的字串。如果選中了Pop-up複選框,該項目就會呼叫一個彈出式菜單,並且沒有ID與此項目相聯絡。如果沒有選中
Time of Update: 2018-12-03
最近在研究KeePass的原始碼,老外的大牛果然不同凡響,令人恐怖的宏到處都是。令我等菜鳥心服口服。不用我說,這個原始碼確實有許多值得學習的地方,首先這是一個基於外掛程式機制的程式。也就是只要按照它定義的規範就可以根據自己的需要為KeePass編寫外掛程式。這是不是很炫啊。記得我剛接觸到vs studio開發環境時,裝了原始檔控制總管外掛程式。然後就可以直接在vs studio中使用原始程式碼控制,這個功能讓我感到非常的神奇,後來才知道vs