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日

2010年10月5日

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

第一天九月二十八日,剛好是我的生日
帶著興奮的心情,一大早就衝到了會場
也領到了前五百名才能拿到的限量贈品槌,這東西做得真好XD

這次的主軸有 Azure, IE9, WP7, SQL 等各式各樣不同領域的東西
也造成了我選課上的兩難,有許多課程都在同一個時段
加上BOF,實在是有夠難抉擇的 T_T

早上的大會主題演講,說到了很多東西,除了老調重彈的三螢一雲之外
還有看到 LyncServer 2010 的企業通訊整合平台展示
啊,還有提到 SQL 2008 R2 Server Warehouse Release 時間
大約會在十二月份

視訊的應用,多點觸控,Mobile(WP7),Office應用,SharePoint整合等
也都是這次的重點項目

最後出場的是一位外國人,他是用英文演講的
(補充:他是微軟MVP社群的全球總監, 感謝網友提醒~)
主題好像是 Communities New Model (社群的新模型)
說這在未來會有很大的影響力

不過我看到相當多人一聽到英文,就紛紛離席
明明講的是不錯的東西,有必要這麼急著離開嗎?讓人觀感很差的說
雖然我也不是全部都能馬上聽懂,不過還是盡力去聽他演講

其中有說,社群可被分為 Connector, Critic, Creater, Collector 四大類
並且對應 Access, Listen, Status, Tools 等
都是一些重要且實用的觀念,投影片上的圖片不錯,等官方放出囉 ~

看來我應該還是屬於 Connector 吧?希望能早日達到 Creater 的等級 XD

第一天選課 ... zzz

2010年9月21日

[筆記]Boost Lib Build with zlib for iostream

最近剛好要用到 zlib 解壓縮
恰巧看到 Boost.Iostreams 裡面剛好有 zlib 相關的包裝, 就稍微試用了一下...

沒想到居然給我出現
fatal error LNK1104: cannot open file 'libboost_zlib-vc80-mt-sgd-1_43.lib'
這個錯誤訊息

跑到 boost 的 stage 下找,果然 bjam 沒有幫我建置出 zlib 相關的東西
這到底是怎麼回事呢?

2010年9月9日

[分享](2010/09/09)民國⑨⑨年的⑨月⑨日 - チルノ特輯

這是今天在ニコニコ動画看到的影片,好可愛啊 ///



看不到 nico 的可以到 youtobe 上看看w

以下大量 Pixiv 圖串 :


嶄新 ... 蝴蝶結與翅膀可以用巧克力或是糖果 ...
說不定可以變成冰店的新菜色?!XD


這西瓜...www


噗友小二也有畫賀圖唷 ~ 不好意思你的圖被淹沒了(汗)


還有我最愛的小M的圖也有喔~~雖然時間超過了XD

2010年9月5日

[分享]我的噗浪(Plurk)的CSS自訂佈景主題設定

最近重新花了點時間好好整理我的噗浪佈景主題的 CSS 碼
之前只是複製了別人的東西然後改了一行背景就沒管了
沒想到因此少了很多東西(被隱藏) =w=a

先來簡單說明一下 CSS 設定的原理與語法:
首先, " /* " ... " */ " 表示註解
舉例來說: /* 這邊的東西會被忽略 */

.class_name - 用 " . " 表示類別名稱(CLASS)

#id_name - 用 " # " 表示自定名稱(ID)

{} - 用 " { " " } " 來框住整組的設定值

elem_name: elem_value; - 表示 [元素屬性]: [設定值];
" : " 用來分隔屬性與設定值, " ; " 表示宣告的結尾

就拿大張的 Loading 圖來改好了,以下是修改語法: