<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-13062312</id><updated>2011-11-27T16:52:32.896-08:00</updated><category term='linq'/><category term='wiki'/><category term='javascript'/><category term='se'/><category term='java'/><category term='perl'/><category term='AJAX'/><category term='trac report'/><category term='xslt'/><category term='COM'/><category term='msbuild'/><category term='nunit'/><category term='Test'/><category term='config'/><category term='vb'/><category term='misc'/><category term='Tool'/><category term='c#'/><category term='design pattern'/><category term='trac'/><category term='report'/><category term='excel'/><category term='paralell'/><category term='agile'/><category term='sql'/><category term='DSL'/><category term='html'/><category term='vs2010'/><category term='unittest++'/><category term='windows'/><category term='CruiseControl'/><category term='asp.net'/><category term='.net'/><category term='vim'/><category term='statistics'/><category term='c++'/><category term='名人'/><category term='subversion'/><category term='database'/><title type='text'>阿司卡程思筆記</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://askalee.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default?start-index=101&amp;max-results=100'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>107</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-13062312.post-8888521346891350309</id><published>2011-11-22T06:45:00.001-08:00</published><updated>2011-11-22T06:55:53.414-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c++'/><title type='text'>利用sregex_iterator找出所有符合指定regular expression的子字串</title><summary type='text'>&lt;&lt;程式&gt;&gt;


#include &lt;regex&gt;
#include &lt;string&gt;
#include &lt;iostream&gt;
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
 try{
  regex re("\\d++");
  string input("123 23 435 asd 000");
  sregex_iterator ite(input.begin(), input.end(), re);
  sregex_iterator iteEnd;
  for(; ite != iteEnd; ++ite){
   cout &lt;&lt; "found: " &lt;&lt; ite-&gt;str() &lt;&lt; " at " &lt;&lt; ite-&gt;position() &lt;&lt; " length " &lt;&lt; ite-&gt;length() &lt;</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/8888521346891350309'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/8888521346891350309'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2011/11/include-include-include-using-namespace.html' title='利用sregex_iterator找出所有符合指定regular expression的子字串'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-5537945072284042093</id><published>2011-05-09T23:04:00.001-07:00</published><updated>2011-05-09T23:04:57.363-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><title type='text'>在c#中正確處理Unicode</title><summary type='text'>程式碼:         string s = "哈\uD950\uDF21高";   Console.WriteLine("string length:" + s.Length);   TextElementEnumerator textEnum =              StringInfo.GetTextElementEnumerator(s);   while (textEnum.MoveNext())   {       Console.WriteLine("word {0}: {1}",                textEnum.ElementIndex,       textEnum.Current.ToString());   }           * This source code was highlighted with Source Code </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/5537945072284042093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/5537945072284042093'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2011/05/cunicode.html' title='在c#中正確處理Unicode'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-4558144197457752081</id><published>2011-01-25T20:06:00.001-08:00</published><updated>2011-01-25T20:06:22.574-08:00</updated><title type='text'>Doxgen筆記</title><summary type='text'>格式:  /**     * @warning A Warning!!      */  </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/4558144197457752081'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/4558144197457752081'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2011/01/doxgen.html' title='Doxgen筆記'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-7013461931719572244</id><published>2011-01-10T21:57:00.001-08:00</published><updated>2011-01-11T07:48:17.385-08:00</updated><title type='text'>在Microsoft Access筆記中</title><summary type='text'>參照到使用者介面物件     [Forms]![Questions]![RawData 子表單].Form![answer]    取得目前使用者     http://www.utteraccess.com/forum/CurrentUser-returns-Admi-t1201126.html :     Have you implemented Access' security? Because the built-in CURRENTUSER function returns the ACCESS user, not the WINDOWS user. If you haven't implemented Access' workgroup security, everyone is an "ADMIN" user. If you want to get the name of </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/7013461931719572244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/7013461931719572244'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2011/01/microsoft-access.html' title='在Microsoft Access筆記中'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-4603474490990346063</id><published>2010-10-24T05:33:00.001-07:00</published><updated>2010-10-24T05:33:14.685-07:00</updated><title type='text'>Visual Studio的編譯會受Windows SDK版本設定的影響</title><summary type='text'>幾個簡單檢視目前Windows SDK版本的方法:     方法一: 開啟Visual Studio Command Prompt, 下echo %windowssdkdir%指令    方法二: 開啟vc專案，找到”Include Directories”之類的設定項目，在編輯畫面的Macros中檢視 $(WindowsSDKDir)   Windows SDK版本設定如果不正確，可能會導致vc專案編譯失敗，出現類似像windows.h找不到的錯誤訊息。  修正方式:      在windows SDK目錄下，使用以下命令來設定(以下命令將SDK版本設定為v7.0A):     C:\Program Files\Microsoft SDKs\Windows\v7.1\Setup&gt;WindowsSdkVer.exe -version:v7.0A   參考資料     WinSDK bug</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/4603474490990346063'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/4603474490990346063'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2010/10/visual-studiowindows-sdk.html' title='Visual Studio的編譯會受Windows SDK版本設定的影響'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-1289389653610408670</id><published>2010-08-10T18:48:00.001-07:00</published><updated>2010-08-10T18:48:02.995-07:00</updated><title type='text'>嘗試在VS2010中使用C++0x的shared_ptr以及lambda expression搭配STL container</title><summary type='text'>#include &lt;iostream&gt;     #include &lt;vector&gt;      #include &lt;memory&gt;      #include &lt;algorithm&gt;   using namespace std;   class Base{     public:          int m_i;          Base(int i):m_i(i) {}          ~Base(){ cout &lt;&lt; m_i &lt;&lt; "~Base()" &lt;&lt; endl; }      };   class Derived: public Base{     public:          Derived(int i):Base(i) { }          ~Derived(){               cout &lt;&lt; "~Derived()" &lt;&lt; endl;</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/1289389653610408670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/1289389653610408670'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2010/08/vs2010c0xsharedptrlambda-expressionstl.html' title='嘗試在VS2010中使用C++0x的shared_ptr以及lambda expression搭配STL container'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-4600590238727928699</id><published>2010-07-08T21:19:00.001-07:00</published><updated>2010-07-08T21:19:41.064-07:00</updated><title type='text'>莫名其妙的簡繁轉換</title><summary type='text'>葉:叶   舊:旧    盡:尽  </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/4600590238727928699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/4600590238727928699'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2010/07/blog-post.html' title='莫名其妙的簡繁轉換'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-323719438439973365</id><published>2010-06-06T08:40:00.001-07:00</published><updated>2010-06-06T08:40:54.414-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c++'/><category scheme='http://www.blogger.com/atom/ns#' term='msbuild'/><category scheme='http://www.blogger.com/atom/ns#' term='vs2010'/><title type='text'>在VS2010中，指定clean solution或project前執行某些指令</title><summary type='text'>由於vs2010 IDE似乎沒有直接支援這樣設定，因此採用Import Project的方式，以便明確地看出這是額外加上去的指令。     在 *.vcxproj file中Import Project:     &lt;Import Project="Extra.targets"/&gt;    建立Extra.targets file, 內容為:     &lt;?xml version="1.0" encoding="utf-8"?&gt;      &lt;Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"&gt;       &lt;Target Name="BeforeCppClean"&gt;         &lt;Exec Command="echo </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/323719438439973365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/323719438439973365'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2010/06/vs2010clean-solutionproject.html' title='在VS2010中，指定clean solution或project前執行某些指令'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-6279969105602851603</id><published>2009-12-24T01:05:00.001-08:00</published><updated>2009-12-24T01:05:56.595-08:00</updated><title type='text'>64 bit windows registry redirector and reflection</title><summary type='text'>定義:     redirector: 讓32 bit與64 bit程式使用相同的registry key存取不同的registry實體    reflection: 自動同步相同registry key的32 bit與64 bit registry實體   各registry key詳細的redirection與reflection狀況需參考 Registry Keys Affected by WOW64。  其他注意事項:     registry寫入時，如果開頭為%ProgramFiles%或%commonprogramfiles%，會視情況自動改寫為"%ProgramFiles(x86)%"或"%commonprogramfiles(x86)%"。    以下目錄也會視情況被改寫: %windir%\system32, %SystemRoot%\system32,  C:\</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/6279969105602851603'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/6279969105602851603'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2009/12/64-bit-windows-registry-redirector-and.html' title='64 bit windows registry redirector and reflection'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-6148894136887321366</id><published>2009-12-23T21:59:00.001-08:00</published><updated>2009-12-23T21:59:04.488-08:00</updated><title type='text'>64 bit windows file system redirector</title><summary type='text'>32bit軟體存取路徑時的重新導向原則     %windir%\System32 -&gt; %windir%\SysWOW64    %windir%\lastgood\system32 -&gt; %windir%\lastgood\SysWOW64    %windir%\regedit.exe –&gt; %windir%\SysWOW64\regedit.exe    注意: 如果過程中觸發了UAC prompt, 則上述重新導向都不會發生。將會發生32bit軟體試圖執行64bit DLL或其他程式的問題。         若要避免此問題，需在該32bit程式中直接引用SysWOW64      其他注意事項     應用程式應使用SHGetSpecialFolderPath來取得%ProgramFiles%路徑    取消或啟動重新導向: </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/6148894136887321366'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/6148894136887321366'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2009/12/64-bit-windows-file-system-redirector.html' title='64 bit windows file system redirector'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-3735273284232129708</id><published>2009-12-10T23:15:00.001-08:00</published><updated>2009-12-10T23:15:58.307-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CruiseControl'/><category scheme='http://www.blogger.com/atom/ns#' term='xslt'/><title type='text'>在Webdashboard上建立link直接連接到造成此次build的subversion revision頁面</title><summary type='text'>在header.xsl的&lt;xsl:template match="/cruisecontrol/modifications/modification"&gt;區塊中加入以下片段:  &lt;xsl:if test="changeNumber"&gt;    &lt;tr&gt;       &lt;td class="header-label" valign="top"&gt;         &lt;nobr&gt;ChangeSet of XXXXX&lt;/nobr&gt;       &lt;/td&gt;       &lt;td class="header-data"&gt;           &lt;a&gt;             &lt;xsl:attribute name="href"&gt;     http://xxxx/changeset/&lt;xsl:value-of select="changeNumber"/&gt;            &lt;/xsl:attribute&gt;</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/3735273284232129708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/3735273284232129708'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2009/12/webdashboardlinkbuildsubversion.html' title='在Webdashboard上建立link直接連接到造成此次build的subversion revision頁面'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-139679076357860174</id><published>2009-12-01T23:26:00.001-08:00</published><updated>2009-12-01T23:26:20.276-08:00</updated><title type='text'>windows上Python第一次使用步驟</title><summary type='text'>編輯與執行python程式     下載python    執行IDLE (Python GUI)    Ctrl+N編輯新python程式或Ctrl+O開啟已經存在的python程式    F5執行   撰寫python unit test程式     import sys     import unittest     def SayHello(name):         return "hello " + name     class TestSayHello(unittest.TestCase):          def testHelloAska(self):              self.assertEqual("hello Aska", SayHello("Aska"))          def testHelloWorld(self):</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/139679076357860174'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/139679076357860174'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2009/12/windowspython.html' title='windows上Python第一次使用步驟'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-4595700800995153697</id><published>2009-09-01T03:07:00.001-07:00</published><updated>2009-09-16T20:04:15.046-07:00</updated><title type='text'>Tomcat安裝後無法進入管理介面</title><summary type='text'>預設的C:\Program Files\Apache Software Foundation\Tomcat 6.0\conf\tomcat-users.xml有問題，需修改成類似以下的內容：  &lt;?xml version='1.0' encoding='utf-8'?&gt;    &lt;tomcat-users&gt;       &lt;role rolename="manager"/&gt;       &lt;role rolename="admin"/&gt;       &lt;user name="管理者名稱" password="管理者密碼" roles="admin,manager" /&gt;     &lt;/tomcat-users&gt;  </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/4595700800995153697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/4595700800995153697'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2009/09/comcat.html' title='Tomcat安裝後無法進入管理介面'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-1247517530592872915</id><published>2008-10-21T23:04:00.001-07:00</published><updated>2008-10-21T23:04:01.404-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><category scheme='http://www.blogger.com/atom/ns#' term='nunit'/><title type='text'>某些測試在特定機器上老是出現假警報怎麼辦</title><summary type='text'>  在指定機器上關掉該假警報測試  [Test]    public void Test(){  if (Environment.MachineName.ToUpper() == "BAD MACHINE")        Assert.Ignore("this test caused false alarms on BAD MACHINE");   }  </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/1247517530592872915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/1247517530592872915'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2008/10/blog-post.html' title='某些測試在特定機器上老是出現假警報怎麼辦'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-4320939548297999899</id><published>2008-04-16T21:15:00.001-07:00</published><updated>2008-04-16T21:15:01.146-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='trac report'/><title type='text'>限制TRAC report中出現的ticket的時間</title><summary type='text'>changetime - strftime('%s','2008-04-01 02:34:56')  </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/4320939548297999899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/4320939548297999899'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2008/04/trac-reportticket.html' title='限制TRAC report中出現的ticket的時間'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-2927291744301086630</id><published>2008-04-11T21:40:00.001-07:00</published><updated>2008-04-11T21:52:31.281-07:00</updated><title type='text'>使用Microsoft Virtual PC 2007 來輔助測試安裝檔</title><summary type='text'>準備工作  使用MS Virtual PC安裝一個乾淨的Windows XP Install Virtual Machine Additions 在設定中開啟"Enable Undo Disks"。（為了還原硬碟狀態） 在設定中指定一個Shared Folder。 （為了複製程式到Virtual Machine中） 複製一些需要的安裝工具到Shared Folder，安裝這些工具到Virtual Machine中。 確認一切無誤後，關閉virtual machine，選擇"Turn Off and Save Changes"。記得勾選"Commit Changes to the Virtual Hard Disk"。 測試安裝檔  包裝安裝檔 開啟virtual machine。 複製安裝檔在Virtual Machine用的Shared Folder。 安裝安裝檔 要關閉Virtual</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/2927291744301086630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/2927291744301086630'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2008/04/microsoft-virtual-pc.html' title='使用Microsoft Virtual PC 2007 來輔助測試安裝檔'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-1694135275238000679</id><published>2008-03-22T02:19:00.001-07:00</published><updated>2008-03-22T02:19:27.463-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Test'/><category scheme='http://www.blogger.com/atom/ns#' term='nunit'/><title type='text'>Nunit中避免category寫錯的小技巧</title><summary type='text'>一般category的使用方式如下： [Test, Category("IntegrationTest")]void Test1(){.....} ---------------- 一個避免寫錯與免記憶負擔的技巧： 建立一個namespace，內含一些class，用來表示所有測試的category： namespace TestCategory{    class UnitTest : CategoryAttribute { }      class IntegrationTest : CategoryAttribute { }} 使用方式： [Test, TestCategory.IntegrationTest]void Test1(){.....}  </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/1694135275238000679'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/1694135275238000679'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2008/03/nunitcategory.html' title='Nunit中避免category寫錯的小技巧'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-101683746849251758</id><published>2008-03-01T00:47:00.001-08:00</published><updated>2008-03-01T00:47:45.220-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim'/><title type='text'>vim簡易使用說明</title><summary type='text'> 插入：i 附加：a 左右：hl 上下：kj 複製游標所在行：yy 還原：u 貼上：p 不儲存直接離開：:q! 刪除游標所在字元：x 刪除游標所在文字，然後進入插入模式：ciw  </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/101683746849251758'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/101683746849251758'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2008/03/vim.html' title='vim簡易使用說明'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-6241376001211131155</id><published>2008-02-28T00:57:00.001-08:00</published><updated>2008-02-28T01:00:24.305-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='statistics'/><category scheme='http://www.blogger.com/atom/ns#' term='CruiseControl'/><category scheme='http://www.blogger.com/atom/ns#' term='config'/><category scheme='http://www.blogger.com/atom/ns#' term='report'/><title type='text'>設定CruiseControl.NET產生統計報表</title><summary type='text'>CruiseControl預設不會產生專案統計報表。 欲獲得統計報表，最簡單的設定方式是在ccnet.config中，在欲產生報表的project的&lt;publishers&gt;區段加入&lt;statistics/&gt;。如下所示： &lt;publishers&gt;    &lt;xmllogger/&gt;    &lt;statistics/&gt;&lt;/publishers&gt;  專案執行成功後，可以在幾個地方看到統計資料報表：   Dashboard的"View Statistics"網頁  log目錄中的report.xml檔案  log目錄中的statistics.csv檔案 要客製化報表內容可以使用如下的設定方式： &lt;statistics&gt;    &lt;statisticList&gt;        &lt;statistic name="TestCount" xpath="count(//MyTests/Test)"/&gt;</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/6241376001211131155'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/6241376001211131155'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2008/02/cruisecontrolnet.html' title='設定CruiseControl.NET產生統計報表'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-7494581622322880735</id><published>2008-02-26T06:13:00.001-08:00</published><updated>2008-02-26T06:13:17.359-08:00</updated><title type='text'>使用命令列指令指定測試的Nunit類別</title><summary type='text'>測試程式: [TestFixture]public class Class1{    [Test, Category("c1")]    public void test1()    {        Console.WriteLine("test1");    }      [Test, Category("c2")]    public void test2()    {        Console.WriteLine("test2");    }      [Test]    public void test3()    {        Console.WriteLine("test3");    }  }   指令與結果： C:\Program Files\NUnit 2.4.3\bin&gt;nunit-console.exe c:\temp\cl2\bin\Debug\cl2.</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/7494581622322880735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/7494581622322880735'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2008/02/nunit.html' title='使用命令列指令指定測試的Nunit類別'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-4749767975219852777</id><published>2008-02-24T21:45:00.001-08:00</published><updated>2008-02-24T21:45:10.406-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c++'/><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><title type='text'>從命令列執行visual studio編譯功能</title><summary type='text'>devenv "MySolution.sln" /build Release /project MyProject /projectconfig Release   上述用法主要用於編譯C++專案，若要編譯C#或VB.NET專案，可以使用msbuild  </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/4749767975219852777'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/4749767975219852777'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2008/02/visual-studio.html' title='從命令列執行visual studio編譯功能'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-7010712430263401721</id><published>2008-02-19T18:44:00.001-08:00</published><updated>2008-02-19T18:44:04.066-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='trac'/><title type='text'>在TRAC報告中顯示更新時間</title><summary type='text'>SELECT p.value AS __color__,   id AS ticket, summary, version, milestone, t.type AS type,    (CASE status WHEN 'assigned' THEN owner||' *' ELSE owner END) AS owner,   Datetime(Datetime(changetime,'unixepoch'), 'localtime') as changed,   time AS created,   changetime AS _changetime, description AS _description,   reporter AS _reporter  FROM ticket t, enum p  WHERE status IN ('new', 'assigned', '</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/7010712430263401721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/7010712430263401721'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2008/02/trac.html' title='在TRAC報告中顯示更新時間'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-7439502977206342378</id><published>2008-02-02T05:58:00.001-08:00</published><updated>2008-02-02T05:58:42.890-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CruiseControl'/><title type='text'>在Dashboard主頁上顯示客製化報告</title><summary type='text'>&lt;?xml version="1.0" encoding="utf-8"?&gt;  &lt;xsl:stylesheet version="1.0"    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"&gt;    &lt;xsl:output method="html"/&gt;    &lt;xsl:variable name="report.list" select="//我的測試報告"/&gt;    &lt;xsl:template match="/"&gt;     &lt;!-- 有內容才顯示報告 --&gt;    &lt;xsl:if test="count($report.list)&gt;0"&gt;      &lt;table class="section-table" cellpadding="2" cellspacing="0" border="0" width="98%"&gt;        &lt;</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/7439502977206342378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/7439502977206342378'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2008/02/dashboard.html' title='在Dashboard主頁上顯示客製化報告'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-4889617050148105581</id><published>2008-01-18T23:52:00.001-08:00</published><updated>2008-01-18T23:52:53.283-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CruiseControl'/><category scheme='http://www.blogger.com/atom/ns#' term='unittest++'/><title type='text'>CruiseControl Dashboard顯示UnitTest++測試結果</title><summary type='text'>&lt;?xml version="1.0" encoding="utf-8"?&gt;  &lt;xsl:stylesheet version="1.0"    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"&gt;  &lt;xsl:template match="/"&gt;    &lt;xsl:apply-templates select="//unittest-results"/&gt;&lt;/xsl:template&gt;  &lt;xsl:template match="unittest-results"&gt;    &lt;html&gt;    &lt;body&gt;      &lt;h3&gt;        UnitTest++測試了&lt;xsl:value-of select="@tests"/&gt;筆資料,&lt;xsl:value-of select="@failedtests"/&gt;筆失敗,費時&lt;xsl:</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/4889617050148105581'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/4889617050148105581'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2008/01/cruisecontrol-dashboardunittest.html' title='CruiseControl Dashboard顯示UnitTest++測試結果'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-6305265067681680430</id><published>2008-01-15T18:49:00.000-08:00</published><updated>2008-01-15T18:52:15.048-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='subversion'/><title type='text'>追蹤subversion comment訊息錯誤</title><summary type='text'>使用subversion相關的client工具時，如果發現comment內容有問題，想要追蹤時，可以直接到svn server上察看「repository目錄/db/revprops」，內含所有revision的comment。</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/6305265067681680430'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/6305265067681680430'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2008/01/subversion-comment.html' title='追蹤subversion comment訊息錯誤'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-8005619409533202465</id><published>2008-01-11T06:59:00.000-08:00</published><updated>2008-01-11T07:01:02.414-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='trac report'/><title type='text'>TRAC顯示某里程碑中ticket進度</title><summary type='text'>SELECT   owner AS __group__,   (CASE status WHEN 'closed' THEN 'color: #aaaaaa'                ELSE ''         END) AS __style__,   (CASE status WHEN 'assigned' THEN 4                ELSE 3         END) AS __color__,   id AS ticket,   (CASE status = 'closed'      WHEN 0 THEN      (CASE (round(julianday(substr(tc.value,7,4) ||                '-' || substr(tc.value,1,2) || '-' ||                </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/8005619409533202465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/8005619409533202465'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2008/01/tracticket.html' title='TRAC顯示某里程碑中ticket進度'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-8819954064802539919</id><published>2008-01-09T22:44:00.000-08:00</published><updated>2008-01-09T22:55:11.550-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='trac report'/><title type='text'>TRAC依使用者顯示所指定里程碑的工作狀況</title><summary type='text'>以下指令可用在TRAC上建立一個「依使用者顯示所指定里程碑的工作狀況」的報告。依使用者分群依priority排序已經closed的ticket會排到最後面，同時以灰色字顯示已經assigned的以藍色底顯示SELECT   owner AS __group__,   (CASE status WHEN 'closed' THEN 'color: #aaaaaa'                ELSE ''         END) AS __style__,   (CASE status WHEN 'assigned' THEN 4                ELSE 3         END) AS __color__,   id AS ticket,   status,   priority,   summary,   component,   t.type AS type,</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/8819954064802539919'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/8819954064802539919'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2008/01/trac.html' title='TRAC依使用者顯示所指定里程碑的工作狀況'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-2817788901105908304</id><published>2008-01-09T20:11:00.000-08:00</published><updated>2008-01-09T22:24:34.732-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='database'/><title type='text'>sqlite使用筆記</title><summary type='text'>database檔案:  *.db連接db:  sqlite3   foo.db區分sqlite指令與SQL指令sqlite指令以「.」開頭，比如說「.tables」用來列出所有table。「.help」用來列出可用的sqlite指令。SQL指令按照一般方式直接下，以「;」結尾。</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/2817788901105908304'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/2817788901105908304'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2008/01/sqlite.html' title='sqlite使用筆記'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-7433084045837197164</id><published>2007-12-04T21:41:00.001-08:00</published><updated>2007-12-04T21:46:18.809-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><title type='text'>Compiler Features of VB9 and C# 3.0</title><summary type='text'></summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/7433084045837197164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/7433084045837197164'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/12/compiler-features-of-vb9-and-c-30.html' title='Compiler Features of VB9 and C# 3.0'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_LHXyCMFkFbo/R1Y67j6GNII/AAAAAAAAAeY/0xeGF0p5Akw/s72-c/CompilerFeaturesCs3Vb9.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-8780777714130118016</id><published>2007-12-04T21:39:00.001-08:00</published><updated>2007-12-04T21:39:35.452-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='paralell'/><title type='text'>Intel Go Parallel Videos</title><summary type='text'>Intel Go Parallel Videos:http://www.devx.com/go-parallel/Door/36013Concurrency Learning Curve:http://www.oreillynet.com/windows/blog/2007/11/concurrency_learning_curve.html</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/8780777714130118016'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/8780777714130118016'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/12/intel-go-parallel-videos.html' title='Intel Go Parallel Videos'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-4883097581375762827</id><published>2007-10-06T06:40:00.000-07:00</published><updated>2007-10-06T06:57:47.845-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='se'/><title type='text'>70%的程式碼都是多餘無用的</title><summary type='text'>70%的程式碼都是?:http://www.infoq.com/news/2007/10/reducing-code-wastehttp://smoothspan.wordpress.com/2007/09/04/70-of-the-software-you-build-is-wasted-part-1-of-series-of-toolplatform-rants/C++程式碼並沒有比C程式碼來得具有重用性: http://paulspontifications.blogspot.com/2007/09/composability-and-productivity.html</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/4883097581375762827'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/4883097581375762827'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/10/70.html' title='70%的程式碼都是多餘無用的'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-480925919748043214</id><published>2007-10-06T06:20:00.000-07:00</published><updated>2007-10-06T06:23:58.086-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql'/><title type='text'>使用SQL Server 2005執行遞迴查詢</title><summary type='text'>SQL Server 2005的新功能Common Table Expressions (CTE)可以用來作遞迴的SQL查詢;WITH MenuCTE(MenuKey, ParentMenuKey, MenuName) AS(-- Anchor QuerySELECT MenuKey, ParentMenuKey, MenuName FROM Menu WHERE MenuKey = 1UNION ALL-- Recursive QuerySELECT m.MenuKey, m.ParentMenuKey, m.MenuName FROM Menu m INNER JOIN MenuCTE r ON m.ParentMenuKey = r.MenuKey)SELECT MenuKey, ParentMenuKey, MenuName FROM MenuCTE參考資料：http://</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/480925919748043214'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/480925919748043214'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/10/sql-server-2005.html' title='使用SQL Server 2005執行遞迴查詢'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-4011515457417833091</id><published>2007-09-21T20:56:00.001-07:00</published><updated>2007-09-21T20:56:42.964-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='excel'/><title type='text'>使用COUNTIF計算符合條件的資料個數</title><summary type='text'>       　 　 　  　 　 　  　 O 　  　 X 　                X個數 1 COUNTIF(B1:B4, "X")  O個數  1 COUNTIF(B1:B4, "O")  非X個數 3 COUNTIF(B1:B4, "&lt;&gt;X")  (錯誤)非X個數 4 COUNTIF(B1:B4, "&lt;&gt; X")  X或O個數 2 COUNTIF(B1:B4, "O") + COUNTIF(B1:B4, "X")</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/4011515457417833091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/4011515457417833091'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/09/countif.html' title='使用COUNTIF計算符合條件的資料個數'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-8321958596250408089</id><published>2007-09-04T20:57:00.001-07:00</published><updated>2007-09-04T20:57:43.053-07:00</updated><title type='text'>軟體專案成功率</title><summary type='text'>根據StandishGroup的研究報告, 軟體專案的成功率甚低。 First CHAOS report       1994       16%"Extreme CHAOS"         2001       28%Most recent CHAOS      2003       31% 相關文件：  最早的StandishGroup報告  InfoQ專訪StandishGroup chariman - Jim Johnson Turning Chaos into Success (1999)  Failure Rate - Statistics over IT projects failure rate. </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/8321958596250408089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/8321958596250408089'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/09/blog-post.html' title='軟體專案成功率'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-5215840032291005287</id><published>2007-08-11T00:18:00.000-07:00</published><updated>2007-08-26T20:32:08.034-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Test'/><title type='text'>AB Split Testing</title><summary type='text'>據說Google與Amazon都是使用AB Split Testing來決定其網站功能、外觀介紹與優缺點分析使用AB Split Testing來測試該使用哪種Adsense格式AB TESTING A WEB AD – A CASE STUDYAB Testing: Too Little, Too Early?相關Google Techtalk:http://video.google.com/videoplay?docid=-7039469220993285507http://video.google.com/videoplay?docid=-6459171443654125383</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/5215840032291005287'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/5215840032291005287'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/08/ab-split-testing.html' title='AB Split Testing'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-4477395969418216042</id><published>2007-08-02T23:48:00.001-07:00</published><updated>2007-08-02T23:48:13.707-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='design pattern'/><title type='text'>Design Pattern的文字貓漫畫</title><summary type='text'>原作（日文） http://www.hyuki.com/dp/cat_index.html 翻譯 http://www.javaworld.com.tw/jute/post/view?bid=44&amp;id=4433&amp;tpg=1&amp;ppg=1&amp;sty=1&amp;age=0#4433</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/4477395969418216042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/4477395969418216042'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/08/design-pattern.html' title='Design Pattern的文字貓漫畫'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-2706925259935612378</id><published>2007-08-01T23:22:00.000-07:00</published><updated>2007-08-01T23:24:32.843-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><title type='text'>讀取news server</title><summary type='text'>http://www.ietf.org/rfc/rfc0977.txthttp://www.codeproject.com/cs/internet/csnewsserverlist.asphttp://www.codeproject.com/cs/internet/nntpcomponent.asp</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/2706925259935612378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/2706925259935612378'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/08/news-server.html' title='讀取news server'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-680542862716884944</id><published>2007-07-30T08:37:00.000-07:00</published><updated>2007-07-30T09:13:31.519-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DSL'/><title type='text'>DSL(Domain Specific Language)相關資訊</title><summary type='text'>判斷某東西是DSL還是一般API: http://www.oreillynet.com/onlamp/blog/2007/05/the_is_it_a_dsl_or_an_api_ten.htmlAnders Noras' Blog:  http://andersnoras.com/blogs/anoras/default.aspx</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/680542862716884944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/680542862716884944'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/07/dsldomain-specific-language.html' title='DSL(Domain Specific Language)相關資訊'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-2062972859887564138</id><published>2007-07-28T00:50:00.000-07:00</published><updated>2007-07-28T00:51:07.826-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>WindowsXP 系統登陸原理及其驗證機制概述</title><summary type='text'>http://www.dgi.com.tw/polo/Forum/detail.asp?TitleID=20&amp;tid=112&amp;postname=admin</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/2062972859887564138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/2062972859887564138'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/07/windowsxp.html' title='WindowsXP 系統登陸原理及其驗證機制概述'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-8490281325826739268</id><published>2007-07-27T06:40:00.000-07:00</published><updated>2007-07-31T23:04:49.070-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><title type='text'>常見檔案、目錄操作</title><summary type='text'>不錯的整理：http://silenceangelwaitingfor.spaces.live.com/blog/cns!47F284FC052C0DE0!442.entry檢驗帳號是否對某個檔案有NTFS存取權限:這個問題似乎沒有好的解答https://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1851064&amp;SiteID=1也許從這篇可以得到解答: http://www.codeproject.com/csharp/accessctrl3.asp?df=100&amp;amp;forumid=180919&amp;exp=0&amp;select=1350552#Accesscheck存取檔案、目錄ACL            FileSecurity fSecurity = File.GetAccessControl(@"c:\temp");</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/8490281325826739268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/8490281325826739268'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/07/blog-post_27.html' title='常見檔案、目錄操作'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-6672854498533409901</id><published>2007-07-22T23:41:00.001-07:00</published><updated>2007-07-22T23:41:31.355-07:00</updated><title type='text'>在命令列編譯Visual Studio C++專案</title><summary type='text'>devenv MyProject.vcproj /rebuild debug 如果需要參照到額外的include檔案或library檔案，則使用以下格式 devenv MyProject.vcproj /rebuild debug /useenv 同時記得設定INCLUDE以及LIB環境變數</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/6672854498533409901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/6672854498533409901'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/07/visual-studio-c.html' title='在命令列編譯Visual Studio C++專案'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-2255040855614803903</id><published>2007-07-22T19:00:00.001-07:00</published><updated>2007-07-22T19:00:22.514-07:00</updated><title type='text'>使用VS2005的XML IntelliSense</title><summary type='text'>XML檔案  使用適當的xml namespace, 如:&lt;rootelement xmlns=http://mysite/oo/&gt;  指定該namespace所對應的XML Schema檔案, 如:&lt;rootelement   xsi:http://www.w3.org/2001/XMLSchema-instance  xsi:schemaLocation="http://mysite/oo  c:\temp\ooxx.xsd"/&gt;表示http://mysite/oo這個namespace的Schema描述在ooxx.xsd這個檔案中。 XML Schema檔案  指定Target namespace, 如:  &lt;xs:schema   targetNamespace="http://mysite/oo"  xmlns:xs="http://www.w3.org/2001/</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/2255040855614803903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/2255040855614803903'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/07/vs2005xml-intellisense.html' title='使用VS2005的XML IntelliSense'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-5316800343458157772</id><published>2007-07-16T02:20:00.000-07:00</published><updated>2007-07-25T01:03:24.584-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><title type='text'>砍掉Process</title><summary type='text'>在.NET中砍掉一個process最直覺的方法就是使用Process class的Kill method。如果測試幾次應該會發現，有些時候在Kill method回傳後，process事實上還沒真的被砍掉。為了確認process已經被砍掉可以在Kill之後呼叫WaitForExit，如下：p.Kill();p.WaitForExit();不過在實際使用時，似乎還是有一些process還是沒有砍掉的狀況，需要再進一步地研究。references: * http://www.dotnet247.com/247reference/msgs/47/237175.aspx</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/5316800343458157772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/5316800343458157772'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/07/process.html' title='砍掉Process'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-1231554011423552648</id><published>2007-07-12T22:06:00.000-07:00</published><updated>2007-07-17T07:08:40.067-07:00</updated><title type='text'>快速建立網站</title><summary type='text'>Office Live Tour for Developers: NorthwindInn.com</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/1231554011423552648'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/1231554011423552648'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/07/blog-post.html' title='快速建立網站'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-23370097710670750</id><published>2007-07-12T22:05:00.001-07:00</published><updated>2007-07-17T07:09:35.713-07:00</updated><title type='text'>快速建立資料庫使用者介面</title><summary type='text'>Visual Studio Orcas Express: Object-Relational Designer in 7 Minutes</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/23370097710670750'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/23370097710670750'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/07/blog-post_12.html' title='快速建立資料庫使用者介面'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-2875790805745232896</id><published>2007-07-12T19:21:00.000-07:00</published><updated>2007-07-17T07:10:52.323-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c++'/><title type='text'>Code Snippet for C++</title><summary type='text'>Visual Studio C++的程式設計師也能夠享用到C#與VB.NET才有的Code Snippet功能：http://www.microsoft.com/downloads/details.aspx?FamilyID=CD7C6E48-E41B-48E3-881E-A0E6E97F9534&amp;displaylang=en</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/2875790805745232896'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/2875790805745232896'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/07/code-snippet-for-c.html' title='Code Snippet for C++'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-6268776723360055062</id><published>2007-07-10T23:35:00.000-07:00</published><updated>2007-07-10T23:39:17.714-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c++'/><title type='text'>cout &lt;&lt; string("str")為何能正確輸出結果</title><summary type='text'>的確，在basic_ostream的member function中並不存在operator&lt;&lt;(const string&amp; str)之類的function。可見cout &lt;&lt; string("str")能夠正確輸出結果依賴的是其他機制。答案就在basic_string的header中：    basic_ostream&lt;_elem,&gt;&amp; __CLRCALL_OR_CDECL operator&lt;&lt;(        basic_ostream&lt;_elem,&gt;&amp; _Ostr,        const basic_string&lt;_elem,&gt;&amp; _Str)</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/6268776723360055062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/6268776723360055062'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/07/cout-stringstr.html' title='cout &lt;&lt; string(&quot;str&quot;)為何能正確輸出結果'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-5551380973926392963</id><published>2007-07-10T22:08:00.000-07:00</published><updated>2007-07-10T22:14:36.104-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linq'/><title type='text'>很棒的LINQ原理說明</title><summary type='text'>Daniel Moth所提供的教學，長約22分鐘。Daniel利用一個簡單的例子，以手工打造的方式來說明C#3.0的重要功能以及LINQ的原理LINQ's relationship to the new C#3 and VB9 features</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/5551380973926392963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/5551380973926392963'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/07/linq.html' title='很棒的LINQ原理說明'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-4468926271820733633</id><published>2007-07-08T18:22:00.000-07:00</published><updated>2007-07-08T18:35:18.982-07:00</updated><title type='text'>取得其他Process的command line arguments</title><summary type='text'>錯誤(失敗)的作法：在DotNET中使用Process class來取得ProcessStartInfo: 會得到一個空字串使用Windows API (如GetStartupInfo): 只能夠抓到目前Process的command line arguments正確的作法：在DotNET中reference System.Management, 使用WMI            ManagementObjectSearcher query = new ManagementObjectSearcher              ("SELECT * FROM Win32_Process WHERE ProcessID=2860");            ManagementObjectCollection queryCollection = query.Get();</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/4468926271820733633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/4468926271820733633'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/07/processcommand-line-arguments.html' title='取得其他Process的command line arguments'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-4337543331467919897</id><published>2007-07-01T19:49:00.000-07:00</published><updated>2007-07-01T19:53:29.181-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CruiseControl'/><title type='text'>CruiseControl 1.3 Dashboard跑不起來</title><summary type='text'>狀況：(在Server本機開啟DashBoard得到以下訊息)=== Pre-bind state information === LOG: DisplayName = ThoughtWorks.CruiseControl.WebDashboard  (Partial) LOG: Appbase = file:///C:/Program Files/CruiseControl.NET/webdashboard LOG: Initial PrivatePath = bin Calling assembly : (Unknown). ===  LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind). LOG: </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/4337543331467919897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/4337543331467919897'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/07/cruisecontrol-13-dashboard.html' title='CruiseControl 1.3 Dashboard跑不起來'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-7015718947893888756</id><published>2007-06-21T18:23:00.000-07:00</published><updated>2007-06-21T18:27:29.517-07:00</updated><title type='text'>好書</title><summary type='text'>Frank Buschmann的書Software Enginrring Radio訪問Frank Buschmann  </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/7015718947893888756'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/7015718947893888756'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/06/blog-post_21.html' title='好書'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-1923475526591097806</id><published>2007-06-13T22:22:00.000-07:00</published><updated>2007-06-13T22:23:22.357-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tool'/><title type='text'>好工具</title><summary type='text'>Scott Hanselman所提供的工具清單</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/1923475526591097806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/1923475526591097806'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/06/blog-post.html' title='好工具'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-7801646702306028625</id><published>2007-06-07T18:21:00.000-07:00</published><updated>2007-06-07T18:24:00.183-07:00</updated><title type='text'>DLR</title><summary type='text'>Microsoft Surpasses Java's Dynamic Language Support? : InfoQ上DLR與JVM優劣爭論Jim Hugunin's Thinking Dynamic</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/7801646702306028625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/7801646702306028625'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/06/dlr.html' title='DLR'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-3755000784263111954</id><published>2007-06-06T23:36:00.000-07:00</published><updated>2007-06-06T23:52:08.392-07:00</updated><title type='text'>Lua</title><summary type='text'>Scripting with Lua in C# : 說明Lua如何在C#實作的遊戲中發揮。Tao.Lua : Tao提供.NET與Mono一套共用的API，Tao.Lua是其中一組API。</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/3755000784263111954'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/3755000784263111954'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/06/lua.html' title='Lua'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-5111304678503314233</id><published>2007-06-04T18:55:00.000-07:00</published><updated>2007-06-04T18:56:12.378-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Test'/><title type='text'>如何不被 TortoiseSVN 拖慢系統效率 [JeffHung.Blog]</title><summary type='text'>用了TortoiseSVN後系統似乎變慢了，以下文章說明如何增進系統效能：* 如何不被 TortoiseSVN 拖慢系統效率 [JeffHung.Blog]* Optimize Performance</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/5111304678503314233'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/5111304678503314233'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/06/tortoisesvn-jeffhungblog.html' title='如何不被 TortoiseSVN 拖慢系統效率 [JeffHung.Blog]'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-6828348648697763479</id><published>2007-05-03T08:49:00.000-07:00</published><updated>2007-05-03T08:49:19.153-07:00</updated><title type='text'>RhinoMock2使用說明</title><summary type='text'>取自某人的blog:RhinoMock2 续 - 享受代码,享受人生 - 博客园</summary><link rel='related' href='http://idior.cnblogs.com/articles/389949.html' title='RhinoMock2使用說明'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/6828348648697763479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/6828348648697763479'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/05/rhinomock2.html' title='RhinoMock2使用說明'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-8126749624556490949</id><published>2007-05-02T18:47:00.000-07:00</published><updated>2007-05-02T22:54:43.735-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c++'/><title type='text'>C++ destructor與virtual destructor</title><summary type='text'>非virtual destructor    class Base{    public:  ~Base(){ cout &lt;&lt; "base destructor"  &lt;&lt; endl; }};  class Derived: public Base{      public:  ~Derived(){ cout &lt;&lt; "derived constructor"  &lt;&lt; endl; }};  void main (int  argc, _TCHAR* argv[]){    {    Derived d;    }    cout &lt;&lt;  "========="  &lt;&lt; endl;    Base *b = new  Derived;    delete  b;}  執行結果   derived constructorbase destructor=========base </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/8126749624556490949'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/8126749624556490949'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/05/c-destructorvirtual-destructor.html' title='C++ destructor與virtual destructor'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-4464476391458201034</id><published>2007-04-25T22:06:00.000-07:00</published><updated>2007-04-25T22:07:20.022-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vb'/><title type='text'>VB9課程</title><summary type='text'>http://blogs.msdn.com/vbteam/archive/2007/04/09/live-from-redmond-webcast-series-beth-massi.aspx</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/4464476391458201034'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/4464476391458201034'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/04/vb9.html' title='VB9課程'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-6417799421212647616</id><published>2007-04-24T01:32:00.000-07:00</published><updated>2007-04-24T01:32:32.425-07:00</updated><title type='text'>在Virtual Machine上Debug</title><summary type='text'>Junfeng Zhang's Windows Programming Notes : Connect Kernel Debugger to a Virtual PC/Virtual Server virtual machine</summary><link rel='related' href='http://blogs.msdn.com/junfeng/archive/2007/04/04/connect-kernel-debugger-to-a-virtual-pc-virtual-server-virtual-machine.aspx' title='在Virtual Machine上Debug'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/6417799421212647616'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/6417799421212647616'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/04/virtual-machinedebug.html' title='在Virtual Machine上Debug'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-3308653351205860635</id><published>2007-04-24T01:30:00.000-07:00</published><updated>2007-04-24T01:31:03.270-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='COM'/><title type='text'>Genman32: 產生免註冊COM元件的工具</title><summary type='text'>Junfeng Zhang's Windows Programming Notes : Genman32 – A tool to generate Sxs manifest for managed assembly for Registration Free COM/.Net Interop</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/3308653351205860635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/3308653351205860635'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/04/junfeng-zhangs-windows-programming.html' title='Genman32: 產生免註冊COM元件的工具'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-5605723107676335974</id><published>2007-04-23T23:13:00.000-07:00</published><updated>2007-04-23T23:14:30.844-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tool'/><title type='text'>Fiddler: HTTP除錯好幫手</title><summary type='text'>http://www.fiddlertool.com/fiddler/</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/5605723107676335974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/5605723107676335974'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/04/fiddler-http.html' title='Fiddler: HTTP除錯好幫手'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-6891223411948559958</id><published>2007-04-18T17:54:00.000-07:00</published><updated>2007-04-18T17:56:58.354-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='misc'/><title type='text'>在DOS Batch File中傳遞任意個數參數</title><summary type='text'>%0代表目前這個批次檔名傳統上只有%1 ~ %9共九個參數可供使用，NT4之後新增了%*，用來代表包含%1之後的所有參數。參考：http://www.robvanderwoude.com/parameters.html</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/6891223411948559958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/6891223411948559958'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/04/dos-batch-file.html' title='在DOS Batch File中傳遞任意個數參數'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-6017499096193469963</id><published>2007-04-17T22:52:00.000-07:00</published><updated>2007-04-17T22:55:10.040-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><title type='text'>以C#撰寫的Scott Hanselman Tiny OS</title><summary type='text'>看來是個學習OS以及增強C#功力的好東西Blog: http://www.hanselman.com/blog/RescuingTheTinyOSInC.aspxTiny OS in C#Tiny OS  in VB.NETPPT Slides on  the Tiny OS presented at TechEd Malaysia 20</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/6017499096193469963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/6017499096193469963'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/04/cscott-hanselman-tiny-os.html' title='以C#撰寫的Scott Hanselman Tiny OS'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-2867554659646884478</id><published>2007-04-15T05:19:00.000-07:00</published><updated>2007-04-15T09:01:09.769-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c++'/><title type='text'>在Visual C++使用內建功能偵測memory leak</title><summary type='text'>對於非MFC的程式碼啟動偵測memory leak :在任何一個檔案中，如下定義_CRTDBG_MAP_ALLOC並同時引入兩個header#define _CRTDBG_MAP_ALLOC#include #include 在程式最後呼叫 _CrtDumpMemoryLeaks();或在程式一開頭呼叫 _CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );只要發現memory leak，就算發生leak的原始碼檔案中沒有引入前述header，還是會傾印出該leak訊息似乎只有使用malloc所造成的memory leak才會得到完整的錯誤訊息，如：c:\temp\testmemoryleakdetection\testmemoryleakdetection.cpp(16) : {106} normal block</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/2867554659646884478'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/2867554659646884478'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/04/visual-cmemory-leak.html' title='在Visual C++使用內建功能偵測memory leak'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-1901300224700284253</id><published>2007-04-08T02:06:00.000-07:00</published><updated>2007-04-08T02:41:07.357-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><title type='text'>Douglas Crockford的Javascript教學</title><summary type='text'>投影片: http://yuiblog.com/assets/crockford/javascript.zip 影片http://video.yahoo.com/video/play?vid=111593http://video.yahoo.com/video/play?vid=111594 http://video.yahoo.com/video/play?vid=111595http://video.yahoo.com/video/play?vid=111596與C,C++,Java,C#等語言相較，Javascript的特殊之處有Javascript是一個Functional Language只有一種浮點數字類別，沒有如int之類等其他數字類別。這個唯一的數字類別是IEEE-754浮點數標準，其大小為64 bits。雖然只有一種數字類別，但有一種特殊的數字「值」: NaN (Not</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/1901300224700284253'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/1901300224700284253'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/04/douglas-crockfordjavascript.html' title='Douglas Crockford的Javascript教學'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-9216785102256132380</id><published>2007-04-03T17:59:00.000-07:00</published><updated>2007-04-03T18:35:50.572-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='名人'/><title type='text'>軟工大師Grady Booch</title><summary type='text'>Software Engineering Radio 專訪BCS/IET Turing Lecture Sides關於軟體開發我們目前所知的原則有基本原則：* Craft crisp and resilient abstractions: 建立小而有彈性的抽象層* Maintain a good separation of concerns: 適當的耦合* Create a balance distribution of responsibilities: 平均分攤責任到各元件或模組開發流程原則：Grow a system’s architecture through the incremental and iterative release of testable executables</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/9216785102256132380'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/9216785102256132380'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/04/grady-booch.html' title='軟工大師Grady Booch'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-3678163600553647074</id><published>2007-04-03T17:57:00.000-07:00</published><updated>2007-04-03T17:59:32.220-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='名人'/><title type='text'>Database大師 Jim Gray</title><summary type='text'>(Channel 9) Conversation with scientist, engineer and database legend Jim Gray</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/3678163600553647074'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/3678163600553647074'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/04/database-jim-gray.html' title='Database大師 Jim Gray'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-108886215831399622</id><published>2007-04-03T17:49:00.000-07:00</published><updated>2007-04-03T17:56:07.363-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='名人'/><title type='text'>Peter Chen (陳品山) 與 ER Model</title><summary type='text'>Peter Chen, ER Model創始者http://bit.csc.lsu.edu/~chen/chen.html台灣大學畢業Channel 9 Peter Chen的podcast:Dr. Peter Chen on the Entity Relationship Model and ADO.NET Entity Framework</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/108886215831399622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/108886215831399622'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/04/peter-chen-er-model.html' title='Peter Chen (陳品山) 與 ER Model'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-432155712976312764</id><published>2007-04-02T01:34:00.000-07:00</published><updated>2008-02-24T21:51:11.451-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c++'/><title type='text'>vc++ strncpy_s</title><summary type='text'>char buf[10];  const char* source = "0123456789abc";  //strncpy_s(buf, 10, source, 10); // 執行時會發生錯誤，因為Buffer 10太小，應該要有11才能夠放下之後的null  //strncpy_s(buf, 11, source, 10);   // 會發生runtime check failure，因為已經11超過buf的大小10  strncpy_s(buf, 10, source, 9);  // 012345678 會正確填入</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/432155712976312764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/432155712976312764'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/04/vc-strncpys.html' title='vc++ strncpy_s'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-7629627525180746024</id><published>2007-03-24T20:52:00.001-07:00</published><updated>2007-03-24T20:52:37.342-07:00</updated><title type='text'>ANTLR</title><summary type='text'>http://www1.cs.columbia.edu/~aho/cs4115/lectures/06-02-13_ANTLR.ppt</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/7629627525180746024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/7629627525180746024'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/03/antlr.html' title='ANTLR'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-8634521853906907493</id><published>2007-03-11T18:05:00.000-07:00</published><updated>2007-03-11T18:06:53.942-07:00</updated><title type='text'>應學的程式語言</title><summary type='text'>David Chisnall建議幾種程式設計師該學習的語言以及其原因：What Programming Languages Should You Know?C: Portable AssemblySmalltalkLispErlangHaskellProlog</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/8634521853906907493'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/8634521853906907493'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/03/blog-post.html' title='應學的程式語言'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-2372624754882210217</id><published>2007-03-11T08:03:00.000-07:00</published><updated>2007-03-11T08:06:50.716-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><title type='text'>隔離ASP.NET應用程式</title><summary type='text'>How To: Improve Security When Hosting Multiple Applications in ASP.NET 2.0Hosting Multiple Web Applications</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/2372624754882210217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/2372624754882210217'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/03/aspnet.html' title='隔離ASP.NET應用程式'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-4809626112355828153</id><published>2007-03-08T17:44:00.000-08:00</published><updated>2007-03-08T17:44:51.428-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='subversion'/><title type='text'>Subversion 最佳實務 : 愛德華日誌</title><summary type='text'>Subversion 最佳實務 : 愛德華日誌</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/4809626112355828153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/4809626112355828153'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/03/subversion.html' title='Subversion 最佳實務 : 愛德華日誌'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-4536796041526953310</id><published>2007-03-02T00:52:00.000-08:00</published><updated>2007-03-02T21:54:07.152-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><category scheme='http://www.blogger.com/atom/ns#' term='CruiseControl'/><title type='text'>Visual Studio自動化編譯</title><summary type='text'>Continuous Integration with Visual C++ and COM用批处理编译*.sln工程</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/4536796041526953310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/4536796041526953310'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/03/continuous-integration-with-visual-c.html' title='Visual Studio自動化編譯'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-2502848013868980738</id><published>2007-02-28T17:51:00.000-08:00</published><updated>2007-02-28T17:51:21.255-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='perl'/><title type='text'>Perl中文處理問題</title><summary type='text'>Perl with UTF-8 mode [JeffHung.Blog]</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/2502848013868980738'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/2502848013868980738'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/02/perl.html' title='Perl中文處理問題'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-1186492490829194389</id><published>2007-02-28T17:45:00.000-08:00</published><updated>2007-02-28T17:45:21.878-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tool'/><title type='text'>Download details: Microsoft Network Monitor 3</title><summary type='text'>Download details: Microsoft Network Monitor 3</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/1186492490829194389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/1186492490829194389'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/02/download-details-microsoft-network.html' title='Download details: Microsoft Network Monitor 3'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-7820299373783839643</id><published>2007-02-28T17:34:00.000-08:00</published><updated>2007-02-28T17:34:54.302-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><title type='text'>業界的Agile相關發展</title><summary type='text'>GameAgile Game Development: Agile at GDC</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/7820299373783839643'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/7820299373783839643'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/02/agile_28.html' title='業界的Agile相關發展'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-1621664521515174164</id><published>2007-02-28T17:29:00.000-08:00</published><updated>2007-02-28T17:29:46.763-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Test'/><title type='text'>好的Test具備好的可度性</title><summary type='text'>Steve Eichert - Prefer readability over well factored code for unit tests</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/1621664521515174164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/1621664521515174164'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/02/test.html' title='好的Test具備好的可度性'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-3887587328639168483</id><published>2007-02-28T16:59:00.000-08:00</published><updated>2007-02-28T17:00:02.322-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Test'/><title type='text'>Test Double</title><summary type='text'>MF Bliki: TestDouble在Martin Fowler的網站上看到一篇文章，題中提到一些人對於Mock或Stub之類的物件有著各式各樣的說明。Gerard Meszaros試圖替這些相關的用詞訂出明確的定義，Gerard將這些類似用途的物件統稱為Double，然後又分成以下四類：Dummy objects are passed around but never actually   used. Usually they are just used to fill parameter lists.Fake objects actually have working implementations, but   usually take some shortcut which makes them not suitable for   production (an </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/3887587328639168483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/3887587328639168483'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/02/test-double.html' title='Test Double'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-2378650361823245290</id><published>2007-02-26T16:35:00.000-08:00</published><updated>2007-02-26T16:39:50.593-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c++'/><title type='text'>沒有NULL Iterator</title><summary type='text'>把c++ 程式碼升級到vs2005後才發現，先前vector::iterator ite = NULL之類的程式碼都編譯不過了，經過google一番後才發現，似乎STL的iterator本來就不存在著NULL的觀念，只能利用其他的變數，或是利用ite = some_container.end() 來達到類似的效果。參考資料：http://www.mip.ups-tlse.fr/~grundman/stl-tutorial/tutorial.htmlWhy doesn't STL have null iterator values?  STL iterators are supposed to be generalized pointers, right?  That phrase has been bandied about a great deal, but it is very </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/2378650361823245290'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/2378650361823245290'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/02/null-iterator.html' title='沒有NULL Iterator'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-1207777680456944000</id><published>2007-02-20T05:25:00.000-08:00</published><updated>2007-02-20T05:29:46.193-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><title type='text'>.NET中的Plug-In設計</title><summary type='text'>Orcas包含了一個新的System.AddIn namespace用來輔助製作plug-in技術http://msdn.microsoft.com/msdnmag/issues/07/02/CLRInsideOut/default.aspx?loc=zx</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/1207777680456944000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/1207777680456944000'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/02/netplug-in.html' title='.NET中的Plug-In設計'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-3140781570698920913</id><published>2007-02-20T04:20:00.000-08:00</published><updated>2007-02-20T04:24:50.489-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><title type='text'>Agile之後是什麼</title><summary type='text'>當一堆人還不清楚什麼是Agile Software Development/Agile Project Management時，已經有人開始在思考下一步了What comes after usability: http://headrush.typepad.com/creating_passionate_users/2007/01/what_comes_afte.htmlFlow theory: http://www.jenovachen.com/flowingames/flowtheory.htm</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/3140781570698920913'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/3140781570698920913'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/02/agile.html' title='Agile之後是什麼'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-8446677606097501792</id><published>2007-02-20T01:59:00.000-08:00</published><updated>2007-02-20T03:52:47.683-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='misc'/><title type='text'>Google, 微軟, Yahoo的人才培養</title><summary type='text'>某人在這三大龍頭的工讀經驗: http://tastyresearch.wordpress.com/work-stories/ Google Summer of Code: http://code.google.com/soc/ Google預計於今年(2007)舉辦第三屆GSoC。由一堆公司擔任指導者來指導加入GSoC的學生。指導者與學生都必須要提出相關計畫報告。GSoC為期約三個月，若每個評鑑點都通過評鑑，則指導者與學生都能獲得完整的薪資，否則就只能得到部分薪資。</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/8446677606097501792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/8446677606097501792'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/02/google-yahoo.html' title='Google, 微軟, Yahoo的人才培養'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-5127317173476491552</id><published>2007-02-19T21:47:00.000-08:00</published><updated>2007-02-19T21:50:26.903-08:00</updated><title type='text'>Regular Expression</title><summary type='text'>輔助寫作regular expression的工具Regulator: http://tools.osherove.com/CoolTools/Regulator/tabid/185/Default.aspx Regulzay: http://tools.osherove.com/Default.aspx?tabid=182 Expresso: http://www.ultrapico.com/Expresso.htm </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/5127317173476491552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/5127317173476491552'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/02/regular-expression.html' title='Regular Expression'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-4195747914817934881</id><published>2007-02-19T04:54:00.000-08:00</published><updated>2007-02-19T05:12:30.123-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Test'/><title type='text'>Selenium Remote Control初體驗</title><summary type='text'>今日首次使用Selenium Remote Control來測試網頁，感覺不錯，不過仍然遭遇到一些問題，還好最後都解決了。問題一: 連不上Selenium Server原本以為是被防火牆擋住了，弄了半天都沒辦法解決。後來才發現是VPN搞的鬼，關掉VPN就可以正常連線了。問題二: 無法下達type指令一直無法成功鍵入"cmd=type&amp;1=question&amp;2=This is a test&amp;sessionId=1234"指令，總是回傳exception。開啟Selenium在瀏覽器端的log視窗也看不出什麼端倪。最後才發現原來是我耍白爛，在我所測試的網頁中，id question的控制項其實是個combo box，而我想測試的text box的id其實是txtquestion。因此只要將指令改成"cmd=type&amp;1=txtquestion&amp;2=This is a test&amp;</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/4195747914817934881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/4195747914817934881'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/02/selenium-remote-control.html' title='Selenium Remote Control初體驗'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-7340750118025656322</id><published>2007-02-18T05:03:00.000-08:00</published><updated>2007-02-18T05:06:37.992-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><title type='text'>COM/.Net interop</title><summary type='text'>Registration Free COM/.Net interophttp://blogs.msdn.com/junfeng/archive/2006/04/20/579748.aspxhttp://blogs.msdn.com/junfeng/archive/2006/05/17/595140.aspx</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/7340750118025656322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/7340750118025656322'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/02/comnet-interop.html' title='COM/.Net interop'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-8837591339878575063</id><published>2007-02-18T04:46:00.000-08:00</published><updated>2007-02-18T05:09:24.051-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><title type='text'>Fusion</title><summary type='text'>Fusion簡介: http://en.wikipedia.org/wiki/.NET_assembly#Fusion安裝與刪除Assembly到GAC: http://blogs.msdn.com/junfeng/archive/2005/10/24/484063.aspxFusion uses the DEVPATH environment variable to search for assemblies in every path that is specified in the DEVPATH environment variable.</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/8837591339878575063'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/8837591339878575063'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/02/fusion.html' title='Fusion'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-7402089659859294211</id><published>2007-02-12T00:40:00.000-08:00</published><updated>2007-02-12T00:40:37.369-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><title type='text'>編碼解碼問題</title><summary type='text'>URL編碼:escape() &amp; encodeURI() &amp; encodeURIComponent() - Andy's blog</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/7402089659859294211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/7402089659859294211'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/02/blog-post.html' title='編碼解碼問題'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-4805742786047372310</id><published>2007-02-11T17:09:00.000-08:00</published><updated>2007-02-11T17:22:29.521-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><title type='text'>JavaScript的Memory Leak</title><summary type='text'>據說IE中javascript使用reference count來處理物件的生命週期，當有循環參照時就會發生物件死不了的狀況，因而產生memory leak。關於此問題，有以下相關討論：http://isaacschlueter.com/2006/10/msie-memory-leaks/據說Yahoo! User Interface Library採用輪詢(polling)的方式來偵測http request物件的readystate，避免因為指定function給onreadystate而造成循環參照。http://keelypavan.blogspot.com/2006/03/reusing-xmlhttprequest-object-in-ie.html另一種可能是重複使用同一個物件。不過這種方法似乎用在IE的http request物件上會有一些問題，上述page有提供解決方案</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/4805742786047372310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/4805742786047372310'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/02/javascriptmemory-leak.html' title='JavaScript的Memory Leak'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-765698014473098013</id><published>2007-02-10T19:06:00.001-08:00</published><updated>2007-02-10T16:36:58.817-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><title type='text'>Yahoo! UI Library</title><summary type='text'>http://developer.yahoo.com/yui/container/ 看起來不錯用，但還沒有親自用過。</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/765698014473098013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/765698014473098013'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/02/yahoo-ui-library.html' title='Yahoo! UI Library'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-4252116516359779085</id><published>2007-02-10T16:16:00.000-08:00</published><updated>2007-02-10T16:31:45.026-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><title type='text'>AJAX除錯</title><summary type='text'>JavaScript loggerJSLog: http://earthcode.com/blog/tools/contents.html 整個site取消log:在jslog.js中找到config_enabled，將之設定成false 單頁啟用logger:在該頁的url中加入「&amp;enablejslog」如 http://localhost/mypage.do?foo=bar&amp;enablejsloglog4javascript: http://www.timdown.co.uk/log4javascript如果要將log資訊回傳伺服器，可以考慮使用log4javascript瀏覽器端除錯工具DebugBar: http://www.debugbar.com/可用來在IE上檢視dom資訊</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/4252116516359779085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/4252116516359779085'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/02/ajax.html' title='AJAX除錯'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-262627162480974320</id><published>2007-01-01T06:34:00.000-08:00</published><updated>2007-03-06T22:47:42.640-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Test'/><title type='text'>軟體測試工具</title><summary type='text'>自動化使用者介面測試工具商業軟體: Mercury, Rational開放軟體:Abbot: 測試Java使用者介面jfcUnit HttpUnit: 測試Web使用者介面Selenium: ThoughtWorks的作品，用來錄製與測試web使用者介面Dan Bunea的介紹: http://danbunea.blogspot.com/2007/01/test-first-web-applications-tdding.htmlWatiN:http://blogs.clearscreen.com/dtax/archive/2007/01/07.aspx自動化Acceptance Test工具Fit: 讓客戶能夠以Word之類的表格來撰寫測試範例，同時又能夠讓開發者的程式自動測試這些範例C++測試工具TUT: http://tut-framework.sourceforge.net/</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/262627162480974320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/262627162480974320'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/01/blog-post_01.html' title='軟體測試工具'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-6814655395646463947</id><published>2007-01-01T06:04:00.000-08:00</published><updated>2007-01-01T07:17:36.229-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Test'/><title type='text'>軟體測試的分類</title><summary type='text'>從測試內容與實作細節有沒有關係來做區分：White-Box Test: 測試內容只與軟體介面有關Black-Box Test: 測試內容除了與軟體介面有關之外，還與特定實作有關從測試的層級來區分(單一開發者--&gt;多開發者--&gt;專案--&gt;客戶)Unit Test: 測試單一元件Integration Test: 測試多個元件System Test: 測試整個系統Acceptance Test: 測試客戶需求Alpha Test: 公司內部模擬客戶來測試需求Beta Test: 由實際客戶來進行測試從目的來定義Regression Test:根據Wikipedia:任何用來發掘regression bugs的測試都叫做regression test(Regression testing is any type of software testing which seeks to </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/6814655395646463947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/6814655395646463947'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2007/01/blog-post.html' title='軟體測試的分類'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-6706434379067472451</id><published>2006-12-31T06:21:00.000-08:00</published><updated>2007-01-01T07:19:01.564-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><title type='text'>Agile Software Development相關教學</title><summary type='text'>WebCastsMSDN Architecture Webcast: patterns &amp; practices Live: Test Driven Development 講者：Jim Newkirk筆記：介紹Test-Driven Development (TDD)，強調「Test」、「Implement」、「Refactory」三者相互搭配的重要性以及效果。Demo使用Visual Studio Team System做Testing, Refactory, 看Code Coverage。MSDN Webcast: Testing For Better Design MSDN Architecture Webcast: Play the Test-Driven Development Pair: 實際演練如何有趣地進行Pair Programming，不過....實在有點亂書</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/6706434379067472451'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/6706434379067472451'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2006/12/agile-software-development.html' title='Agile Software Development相關教學'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-845401992420258547</id><published>2006-12-25T23:30:00.000-08:00</published><updated>2006-12-25T23:36:47.299-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CruiseControl'/><title type='text'>顯示容易看的MSBuild Log</title><summary type='text'>若要在Dashboard上顯示容易看的MSBuild Log,只要在「C:\Program Files\CruiseControl.NET\webdashboard\dashboard.config」中加上以下設定即可&lt;xslreportbuildplugin description="MSBuild Details" actionname="MSBuildDetailsBuildReport" xslfilename="xsl\msbuild.xsl"/&gt;</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/845401992420258547'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/845401992420258547'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2006/12/msbuild-log.html' title='顯示容易看的MSBuild Log'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-2015299749211620240</id><published>2006-12-07T23:03:00.000-08:00</published><updated>2006-12-07T23:09:51.099-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><title type='text'>實作Equals method以及equality operator需遵守的規則</title><summary type='text'>MSDN上提到:The following rules outline the guidelines for implementing the Equals method and the equality operator (==):Implement the GetHashCode method whenever you implement the Equals method. This keeps Equals and GetHashCode synchronized.Override the Equals method whenever you implement the equality operator (==), and make them do the same thing. This allows infrastructure code such as Hashtable</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/2015299749211620240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/2015299749211620240'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2006/12/equals-methodequality-operator.html' title='實作Equals method以及equality operator需遵守的規則'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-9184128444685193542</id><published>2006-12-07T17:25:00.000-08:00</published><updated>2006-12-07T17:27:15.536-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><title type='text'>Java與C#的string equal與==</title><summary type='text'>根據陈叙远的世界java:String s1 = "abc";String s2 = new String("abc");String s3 = "a" + "bc";System.out.println(s1.equals(s2));System.out.println(s1.equals(s3));System.out.println(s1 == s2);System.out.println(s1 == s3);c#:String s1 = "abc";String s2 = new String(new char[] {'a', 'b', 'c'});String s3 = "a" + "bc";Console.WriteLine(s1.Equals(s2));Console.WriteLine(s1.Equals(s3));Console.WriteLine(s1 == s2);</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/9184128444685193542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/9184128444685193542'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2006/12/javacstring-equal.html' title='Java與C#的string equal與=='/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-6932962692980035817</id><published>2006-12-05T08:02:00.000-08:00</published><updated>2006-12-05T08:08:32.305-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='excel'/><title type='text'>Excel如何做到類似SQL select功能?</title><summary type='text'>先利用MATCH巨集確認符合條件的資料的順位, 如 =MATCH(F6,$A$1:$A$150,0)利用=INDIRECT("B" &amp; A6) 取用相關資料</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/6932962692980035817'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/6932962692980035817'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2006/12/excelsql-select.html' title='Excel如何做到類似SQL select功能?'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-3473495978783608464</id><published>2006-12-05T07:59:00.000-08:00</published><updated>2006-12-05T08:00:48.758-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wiki'/><title type='text'>轉換Pukiwiki到Trac wiki</title><summary type='text'>暫時找不到好的解決方案, 先採用下列Ultraedit macro來轉換InsertModeColumnModeOffHexOffUnixReOnTopFind RegExp "^\*\*\*\s*(.*)$"Replace All "=== \1 ==="Find RegExp "^\*\*\s*(.*)$"Replace All "== \1 =="Find RegExp "^\*\s*(.*)$"Replace All "= \1 ="Find RegExp "^---\s"Replace All "     * "Find RegExp "^--\s"Replace All "   * "Find RegExp "^-\s"Replace All " * "Find RegExp "\[#........\]"Replace All ""Find RegExp "\[\[(.+)</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/3473495978783608464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/3473495978783608464'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2006/12/pukiwikitrac-wiki.html' title='轉換Pukiwiki到Trac wiki'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13062312.post-3091849900912487127</id><published>2006-11-30T18:47:00.000-08:00</published><updated>2006-11-30T18:55:24.250-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='subversion'/><title type='text'>修改subversion log訊息</title><summary type='text'>TortoiseSVN有提供修改log訊息的功能:若你很興奮地改了log訊息想存回，會得到以下回應： 解決方法為：到subversion repository的hooks目錄中，新增或編輯一個名為pre-revprop-change的檔案，內容改為#!/bin/shexit 0  即可，不過為了安全起見，改完後沒事還是把他還原成不能隨意更動log的狀態比較好</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/3091849900912487127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13062312/posts/default/3091849900912487127'/><link rel='alternate' type='text/html' href='http://askalee.blogspot.com/2006/11/subversion-log.html' title='修改subversion log訊息'/><author><name>Aska</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry></feed>
