這個問題就是典型的緩沖區(qū)溢出的問題。書上給了個netbsd中banner的例子以及應(yīng)該使用的正確函數(shù)。正確的應(yīng)該使用:strlcpy,strncpy,strlcat,fgets,snprintf,vsnprintf,getcwd;等。如果在vs下開發(fā),則可以利用*_s等。其中的例子:char message[MAXMSG]; if (*argv) { strcpy(message, *argv); while (*++argv) { strcat(message, " "); strcat(message, *argv); } nchars = strlen(message); } else {。。。} 正確的:char *message; if (*argv) { for(i=0, j=0; i < argc; i++) j += strlen(a

文章來源:
http://blog.csdn.net/mejy/archive/2008/01/24/2062731.aspx
今天例會提了個建議:就是將單個小模塊分配到每個人,當(dāng)然不是像涉及的面比較寬的那種功能或者涉及到系統(tǒng)架構(gòu)的東西,其實(shí)我提這樣的想法是有原因的。但是老大們反對這么做。我的理由很簡單:1、可能對于大的公司或者一個比較成熟的項(xiàng)目這么做是不合適,但是對于小的團(tuán)隊(duì)或者是處在十分尷尬位置的項(xiàng)目來說,我覺得是可行的。2、影響開發(fā)進(jìn)度或者失敗的原因通常可以總結(jié)為:(1)需求變更,(2)計(jì)劃不具體管理較混亂,(3)開發(fā)人員不努力或者技術(shù)不過關(guān)。(4)人員不夠 (5)對一個項(xiàng)目或者產(chǎn)品的長遠(yuǎn)不是很明確。3、其中大家說的一個理由是“一個人做某個功能如果該人員離職那么維護(hù)起來風(fēng)險(xiǎn)太大”,不能說沒有道理,但是我覺得系統(tǒng)維護(hù)的難易不是人員的問題,項(xiàng)目中的人員變動是不可避免的,如何減少人員流動姑且不論。一個好的或者清晰的架構(gòu)以及清晰的文檔只要做好交接工作,維護(hù)起來比一個不好的架構(gòu)要省很多的力量,如果架構(gòu)不好即使誰維護(hù)可能選擇的都是重構(gòu)。記得當(dāng)初我寫某管理模塊的時(shí)候,那時(shí)剛畢業(yè),技術(shù)很有限,代碼結(jié)構(gòu)太差,最后只好花了很多時(shí)間重構(gòu)了一把。 針對這個問題的另一面那

文章來源:
http://blog.csdn.net/mejy/archive/2008/01/21/2056659.aspx
1995年出現(xiàn)的Java語言確實(shí)是一門偉大的語言,盡管它也不是完美的語言,而C++是一門比較"古老"的預(yù)言了,Java中有很多值得C++借鑒的東西。不知道未來的C++ 0x標(biāo)準(zhǔn)出來以后,C++會變成怎樣?1.強(qiáng)大的反射機(jī)制和RTTI特性這個特性是當(dāng)前流行的J2EE framework的基礎(chǔ),如Spring,Hibernate,無不利用了Java強(qiáng)大的反射機(jī)制。Java可以在運(yùn)行期動態(tài)創(chuàng)建class,并且invoke某一個方法。MyClass helper = (MyClass) Class.forName(className).newInstance();最近 看高質(zhì)量的程序設(shè)計(jì)中提到反射機(jī)制, C#中有這個機(jī)制,得深入了解一下.2.內(nèi)建對多線程的支持和synchronized關(guān)鍵字C++標(biāo)準(zhǔn)本沒有提供比如創(chuàng)建thread的方法,不過現(xiàn)在出現(xiàn)了boost::thread應(yīng)該是將來的C++標(biāo)準(zhǔn)。Java中有synchronized這個關(guān)鍵字,這是一種很簡單,安全的鎖機(jī)制。多線程編程很重要,但是也很復(fù)雜。希望新的C++

文章來源:
http://blog.csdn.net/mejy/archive/2008/01/20/2055290.aspx
我看到的方法好像主要有2種,隨筆記錄一下,不知道是否還有第三種1.將構(gòu)造函數(shù)聲明為私有2.利用虛函數(shù),虛函數(shù)通常用在繼承中.Powered by ScribeFire.

文章來源:
http://blog.csdn.net/mejy/archive/2008/01/18/2050816.aspx
The following code is an example of receiving event notifications through WMI: #include "eventsink.h"int main(int iArgCnt, char ** argv){ HRESULT hres; // Step 1: -------------------------------------------------- // Initialize COM. ------------------------------------------ hres = CoInitializeEx(0, COINIT_MULTITHREADED); if (FAILED(hres)) { cout << "Failed to initialize COM library. Error code = 0x" << hex << hres

文章來源:
http://blog.csdn.net/mejy/archive/2008/01/17/2049064.aspx
在使用Xtreme界面庫時(shí),有些組件會在構(gòu)造時(shí)發(fā)生異常,例如CXTCheckListBox等解決方法是:在項(xiàng)目的.rc2文件中加入一句#include "XTToolkitPro.rc" 就可以解決了. Technorati Tags: Xtreme 異常Powered by ScribeFire.

文章來源:
http://blog.csdn.net/mejy/archive/2007/12/19/1953787.aspx
解析Cookie欺騙實(shí)現(xiàn)過程及具體應(yīng)用 2005-10-19 12:08:00 標(biāo)簽: 正如我們所知道的,在網(wǎng)絡(luò)詞匯中,cookie是一個特殊的信息,雖然只是服務(wù)器存于用戶計(jì)算機(jī)上的一個文本文件,但由于其內(nèi)容的不尋常性(與服務(wù)器有一定的互交性,且常會存儲用戶名,甚至口令,或是其它一些敏感信息,例如在江湖或是一些社區(qū)中,常會用cookie來保存用戶集分,等級等等)。因而成為一些高手關(guān)注的對像,借此來取得特殊權(quán)限,甚至攻克整個網(wǎng)站。本人出些拙作,以javascript中對cookie的應(yīng)用,來說初步說明cookie欺騙的實(shí)現(xiàn)過程及具體應(yīng)用。 一、cookie的建立 在講如何建立cookie之前,我們先來了解一下cookie的基本格式: cookiename+cookievalue;expire=expirationdategmt;path=urlpath;domain=sitedomain 其中各項(xiàng)以;分開,首先是指定cookie的名稱,并為其賦值。接下來分別是cookie的有效期,url路徑以及域名,在這幾項(xiàng)中,除

文章來源:
http://blog.csdn.net/mejy/archive/2007/12/03/1913298.aspx