2011年5月27日

[筆記]XNA無法撥放影片的問題

今天有人剛好問到 XNA 無法撥放影片的問題

在這邊順手紀錄一下

相信很多人在一開始練習 XNA 的 VideoPlayer 類別時,會踢到鐵板

明明我從網路上抓下來的影片都可以正常看,為何就是會出現這錯誤訊息呢?

Please make sure that the video is not DRM protected
and is a valid single-pass CBR encoded video file.


2011年4月12日

[筆記]SQL Injection And Stored Procedure (Search Note)

看到有人正在討論關於 Stored Procedure 是否能防止 SQL Injection
查了一些相關網頁,特別在此做了一些紀錄:

[Are stored procedures safe against SQL injection?]
關於 SQL 攻擊的簡單說明,以及預防方法(建議)
這篇還不錯,最後六點我大概翻譯一下:

2011年3月18日

[筆記][2011/03/10] 微軟 C++ 開發日活動

難得有機會可以聽到王老師講課,所以這次有去參加這個活動
C++ 開發日 活用 Visual Studio 2010 - 效能及開發速度全面提升

當然,對我個人來說,確實有不少收穫
目前還沒有看到官方放出的投影片,有些東西回想不起來 T_T
以下是整理的筆記:

2011年3月8日

[時事]九把刀、直銷與禪

今天,在網路上以及新聞上看到各式各樣九把刀與傳銷公司的消息
我想,一定有某些人在暗自竊笑「計画通り」吧 XD

這讓我想到一個以前讀過的禪學小故事

2010年11月25日

[筆記][2010/11/05]資料庫效能提升:SQL Server 2008 R2 效能調校工具實戰

拖到快要月底才弄出來 orz 以下是筆記節錄 :

* 專案的事前規劃是很重要的,可以有效地 cost down 費用,甚至是電力的使用量都可以省
(錯誤的規劃有可能導致無法收拾的結果,一定要注意!!)

* 64Bit 的 Windows Server 要配上 64Bit 的 SQL Server,不然會影響效能
(例如:避免在 64bit windows server 上安裝 32bit sql server ... 就杯具了)

2010年10月18日

[心得]sprintf and snprintf and buffer overflow 補充

補充上一篇的一個小地方

假使今天我要印的目標暫存區不是靜態陣列,而是動態 new 出來的該怎麼辦?

我直接把說明寫在註解中:

// 動態產生陣列
TCHAR* pBufTemp = new TCHAR[c_BUFFER_MAX+1];
// 這邊最容易犯錯的就是對指標位置 pBufTemp 直接使用 sizeof() 來取大小
// 你永遠都只會得到一個 int 的大小
sizeBuffer = sizeof(pBufTemp);                  // 4 - size of pointer
// 實際上要得知陣列大小,必須要將元素數量乘上單一元素大小
sizeBuffer = sizeof(TCHAR) * (c_BUFFER_MAX+1);  // 18
// 而做 zero initialize 的時候才會有正確的結果
memset(pBufTemp, 0, sizeBuffer);                // do not use sizeof(pBufTemp)

// 所以需要計算出來的元素數量如下
sizeCount = (sizeof(TCHAR) * (c_BUFFER_MAX+1)) / sizeof(TCHAR); // 9
// 事實上,這個值我們直接由宣告用的常數拿取就可以了
sizeCount = c_BUFFER_MAX+1; // 9

// 以下兩種呼叫都可以安全地複製
_sntprintf(pBufTemp, c_BUFFER_MAX, _T("%s"), c_CopyString);
// ok -> has zero end.
_sntprintf_s(pBufTemp, c_BUFFER_MAX+1, c_BUFFER_MAX, _T("%s"), c_CopyString);
// ok -> has zero end.

delete [] pBufTemp;
// 記得歸還 new 出來的記憶體區塊

以上

2010年10月14日

[心得]sprintf and snprintf and buffer overflow 測試與研究

[2010/10/18]Update : 修正一些錯誤,以及改變排版方式

史萊姆最近被一些問題困擾著 :
到底要怎樣才能確定 sprintf 不會 buffer overflow 以及有正確的 zero end 呢 ?
sprintf 與 sprintf_s 到底有何不同 ?
看見很多人的 char buffer 都用 [BUF_MAX+1] 來宣告 ... 為何要 +1 ?

這小小的問題一點一點地在心中擴大,為了避免連夢中都會出現
本著實驗的精神,我打開 VS2010 做了以下的測試 ...

(註:以下程式碼會採用 TCHAR 等 unicode 轉換相容語法)

2010年10月7日

[心得]Techdays2010 - Day3 Note (感想與筆記)

第三天選課 ... zzz

本來早上是選資料庫的課程的,但是經過保哥的課堂教室就不小心掉進去了 ...
啊啊啊啊!!老闆,我不是故意的啦!!(抱頭)

2010年10月6日