Time of Update: 2018-12-07
一個對象可以用下面三種模式開啟:kForRead. An object can be opened for read by up to 256 readers as long as the object is not already open for write or for notify.kForWrite. An object can be opened for write if it is not already open. Otherwise, the open fails.
Time of Update: 2018-12-07
基於非mfc的組件的主函數為:/**//////////////////////////////////////////////////////////////////////////////// DLL Entry Pointextern "C"BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID /**//*lpReserved*/){ if (dwReason == DLL_PROCESS_ATTACH)
Time of Update: 2018-12-07
說這是一個完全的解決方案,其實有點誇大了,但這個方案確實可以緩解TCP伺服器遭受“拒絕服務的攻擊”時表現出的脆弱性。 當伺服器以Tcp的方式提供服務時,用戶端通過tcp串連上伺服器。這時,惡意的程式,也可以通過tcp串連我們的伺服器,如果惡意的程式採用迴圈與我們的伺服器建立成千上萬的串連,並在每個串連上都發送惡意的資料包給伺服器,慢慢就會導致伺服器資源耗盡而崩潰!
Time of Update: 2018-12-07
進入AutoCAD環境,系統已經自動產生一個預設的資料庫,包括9個符號表和一個有名對象字典。層表中已有一條0層記錄,塊表有“MODEL_SPACE”(模型空間)和“PAPER_SPACE”(紙張大小)兩條記錄。在AutoCAD資料庫中,一個實體實際上是該資料庫中的一條記錄,其儲存結構為鏈表形式。在塊表中存有分別指向模型空間和紙空間鏈表的指標,在模型空間鏈表中存有指向儲存實體的鏈表指標,儲存實體的表稱為塊表記錄。因此,產生一個實體物件的實質是向AutoCAD資料庫的塊表記錄中增加一條記錄。在ARX
Time of Update: 2018-12-07
AutoCAD的座標系分為全局座標系(World Coordinate System)和使用者座標系(User Coordinate System1
Time of Update: 2018-12-07
電腦中表示三維形體的模型,按照幾何特點進行分類,大體上可以分為三種:線框模型、表面模型和實體模型。如果按照表示物體的方法進行分類,實體模型基本上可以分為分解表示、構造表示CSG(Constructive Solid Geometry)和邊界表示BREP(Boundary Representation)三大類。 常用的分解標記法有:四叉樹、八叉樹、多叉樹、BSP樹等等。 構造表示的主要方法:掃描表示、構造實體幾何表示、特徵和參數化表示。 邊界表示的典型代表是翼邊結構。
Time of Update: 2018-12-07
VC6中使用CxImage這個庫. 編譯了他的原始碼,得到幾個.lib 我在VC6中引入這幾個lib.然後編譯,沒報錯! create一個cximage的時候,編譯就報錯。 下面是錯誤資訊: Creating library Debug/Test.lib and object Debug/Test.exp cximage.lib(ximaraw.obj) : error LNK2001: unresolved external symbol _dcr_cleanup_dcraw cximage.
Time of Update: 2018-12-07
對大多數大型系統而言,資料庫往往是最容易出現瓶頸的地方,而通過使用恰當的緩衝技術可以非常有效地減輕資料庫的負載。 將系統中用到的所有資料進行分類,分別對待不同種類的資料而不是一視同仁,有利於正確地做出緩衝哪些資料、以及如何緩衝的決策。
Time of Update: 2018-12-07
(本文轉自夢想風暴的blog)一個朋友發了封mail問了幾個問題,其中的一個是關於IoC和DI的:Inversion of Control和Dependency Injection
Time of Update: 2018-12-07
對於SqlServer資料庫,當有資料庫連接建立時,會觸發Audit login 事件;而當有某個資料庫連接關閉時,將觸發Audit logout 事件。 一.Audit logout 的Duration值 注意,在SQLSERVER的事件探查器中,我們通過觀察可以發現,Audit login 和 匹配的Audit logout 事件使用的是同一個SPID,而且Audit logout 事件記錄的StartTime正是Audit login事件產生的時間。有圖為證:
Time of Update: 2018-12-07
Time of Update: 2018-12-07
這段時間在對我們的棋牌系統做壓力測試,類比3000使用者同時線上的狀況。在這種情況下,資料庫伺服器的cpu消耗僅為2%左右(cpu是2*至強4核),記憶體佔用1.8G(實體記憶體共有4G),大概平均每秒鐘向資料庫中插入40多條記錄(三個表,包括遊戲主從屬記錄、利潤記錄等),還有數十次的select和update。另外,資料庫中遊戲記錄表和利潤記錄這兩個表的現有資料量都有1700萬左右,當前資料庫的總大小為37G。 在如此的情況下運行,cpu是比較平穩的,記憶體也很平穩,但是每當
Time of Update: 2018-12-07
寬字元處理函數函數與普通函數對照表 字元分類: 寬字元函數普通C函數描述 iswalnum() isalnum() 測試字元是否為數字或字母 iswalpha() isalpha() 測試字元是否是字母 iswcntrl() iscntrl() 測試字元是否是控制符 iswdigit() isdigit() 測試字元是否為數字 iswgraph() isgraph() 測試字元是否是可見字元 iswlower() islower() 測
Time of Update: 2018-12-07
本文討論針對大型資料表(記錄數2千萬以上)進行資料尋找與分頁的可行的高效方案。 首先,恰當的索引是必須的。 沒有索引的支援,在大資料表中進行查詢是不可思議的。關鍵點在於如何建立索引?1.建立正確的叢集索引(clustered index)。由於叢集索引的葉子節點就是記錄本身,所以選擇哪個索引為叢集索引非常關鍵。通過叢集索引掃描記錄更快。2.根據你的系統的需求總結常用的單個查詢條件或綜合性的查詢條件,對於常用的單個查詢條件建立單列索引,對常用的綜合性查詢條件建立聯合索引。
Time of Update: 2018-12-07
wchar_t*,wchar_t,wchat_t數組,char,char*,char數組,std::string,std::wstring,CString....#include <string>// 使用CString必須使用MFC,並且不可包含<windows.h>#define _AFXDLL#include <afx.h>using namespace std;//--------------------------------------------
Time of Update: 2018-12-07
裝SQL SERVER2000,結果在安裝到資料庫訪問組件(MDAC)時出現了錯誤提示: SQL Redist Command line option syntax error. Type Command /? for Help. 在微軟網站的解釋,說: This problem may occur if all the following conditions are true: • You run the SQL Server 2000 SP3 Setup.
Time of Update: 2018-12-07
為了能快速的顯示大影像,最近一直在學習GDAL,GDAL確實是一個功能強大的開源庫,其核心部分資料集和波段,下面這個圖很詳細的描述了它們之間的關係,還有其中的細節: GDAL的RASTERIO功能非常強大,簡短的一句話就能實現映像的顯示,但也是這個簡單函數,把我折騰的半死。在學習使用GDAL的過程中,非常感謝李林大哥和貟建明大哥,他們不厭其煩地解答我的疑問,提示關鍵性要點,使我在解決問題的過程中事半功倍。
Time of Update: 2018-12-07
在大型系統中,我們經常需要監視我們系統執行的效能狀況,當出現效能問題時,我們要能夠迅速地找到瓶頸在什麼地方。在程式的層面上來說,就是看哪個方法執行所消耗的時間很長。 使用動態代理可以非常方便的記錄方法執行的時間,比如,下面的,就是ESBasic.Emit.Aop.Interceptors.MethodTimeInterceptor截獲器記錄的片段:Code highlighting produced by Actipro CodeHighlighter (freeware)
Time of Update: 2018-12-07
動態代理的一個最主要的應用場合就是實現AOP - 截獲方法調用,加入自己的預先處理、後處理或Around處理。 我在ESBasic.Emit中實現了對這些截獲的支援。 首先,介紹兩個截獲者: /// <summary> /// IMethodInterceptor 對方法進行截獲並加入預先處理和後處理。 /// </summary> public interface IMethodInterceptor {
Time of Update: 2018-12-07
我在前文當泛型的參數類型是動態... 中以一個簡單的例子引出了動態代理,我們使用動態代理,主要是因為動態代理擁有這樣的能力--使得某個類型A在啟動並執行時候能轉化為一個指定的介面I,即使這個類型A在定義的時候並沒有從這個指定的介面I繼承。 這句話是什麼意思了? 還是回到當泛型的參數類型是動態...