========〔Dropbox 簡介〕========
檔案同步 File Sync
========〔Dropbox client 簡介〕========
在你的電腦安裝 Dropbox client 之後,電腦會新增加一個檔案夾叫做 My Dropbox,以下是範例:
Windows7 - C:\Users\Ben Liu\Documents\My Dropbox
Windows XP - C:\Documents and Settings\Ben_Liu\My Documents\My Dropbox
以後你放在這邊的檔案,只要有新增或修改,都會被傳送到 Dropbox 給你的免費空間,
並且,發出通知給你所有電腦上的 Dropbox client
然後你每台電腦的 Dropbox client 都會連到你的 Dropbox 並下載檔案存到電腦上的硬碟
使用上會覺得,Dropbox client 在電腦上新增的這個檔案夾,很像是網路上的共享硬碟,
多台電腦可以共用檔案,Dropbox client 還會幫忙更新檔案內容
當然因為網路速度是有限的,所以更新檔案會需要一點時間
附註:在公司網路內,因為某些原因,導致 Dropbox client 沒辦法進行檔案同步,解決方法是自行連上 Dropbox Website 下載檔案
========〔Dropbox 應用:虛擬磁碟機〕========
Dropbox client 幫電腦新增加的檔案夾 My Dropbox,每次想要找出這個檔案夾,都會需要一點時間
這裡提供一個比較快的方式
我們可以把虛擬磁碟機 X 來代表檔案夾 My Dropbox:
X:\: => C:\Users\Ben Liu\Documents\My Dropbox
以後要找這個檔案夾,只要直接轉到磁碟機 X 就可以了,這樣是不是直覺多了?
這個代換的方法,寫在 Install.bat, 裡面會引用 psubst.bat 把磁碟機指到檔案夾,並且在開機後還可以保留這個設定
附註:虛擬磁碟機跟工作帳號有關
在你這個工作帳號的虛擬磁碟機,跟別人的虛擬磁碟機,雖然都叫做 X 槽,但是並不代表同一個磁碟機。
虛擬磁碟機之於工作帳號,有如辦公桌下面的移動式抽屜
每個帳號(辦公桌)下面都可以擺幾個虛擬磁碟機(移動式抽屜)
像是在 Windows7 登入帳號可能是 Ben 但是由於程式可以用 Administrator 身份執行工作,
所以特別用 Administrator 身份執行的應用程式,跟其他應用程式看得到的虛擬磁碟機,會不一樣
所以呢,如果你有需要用 Administrator 或者其他身份使用電腦,請記得也要用這個身份,再執行一次 Install.bat
2010年9月29日 星期三
2010年4月23日 星期五
這段老程式碼實在太 GY 了我忍不住要再來抱怨一次。
明明口頭上答應的介面宣告是:
foo( char * sz );
看 到 char *sz 就知道這會是一句 character array,用 「一個」'\0' 結尾
但是實際上身體的作法卻是把 sz 當作 array of character arrays -
也就是說,在實做上先假設 sz 用「兩個」'\0' 結尾。這個前提造成了一個陷阱:如果 caller 傳進去的是 wstring.c_str() -
foo( wstr.c_str() ) ;
Programmer 以為一定妥當的作法,其實並不然,因為 wstring.c_str() 的結尾是「一個」'\0' ,至於結尾後面的,並不保證一定是 '\0' ,萬一不是,這個迴圈就會繼續跑,取出一些垃圾放進process ,然後一直執行到出事為止。
後記:foo 的合約應該要改成 wchar_t sz[][] 比較貼切,想想 wmain 的宣告也是這樣:
wmain( int argc, char argv[][] );
明明口頭上答應的介面宣告是:
foo( char * sz );
看 到 char *sz 就知道這會是一句 character array,用 「一個」'\0' 結尾
但是實際上身體的作法卻是把 sz 當作 array of character arrays -
foo( wchar_t * sz)
{
while (*sz)
{
process(*sz);
sz += wstrlen(sz) + 1;
}
}
{
while (*sz)
{
process(*sz);
sz += wstrlen(sz) + 1;
}
}
也就是說,在實做上先假設 sz 用「兩個」'\0' 結尾。這個前提造成了一個陷阱:如果 caller 傳進去的是 wstring.c_str() -
foo( wstr.c_str() ) ;
Programmer 以為一定妥當的作法,其實並不然,因為 wstring.c_str() 的結尾是「一個」'\0' ,至於結尾後面的,並不保證一定是 '\0' ,萬一不是,這個迴圈就會繼續跑,取出一些垃圾放進pr
後記:foo 的合約應該要改成 wchar_t sz[][] 比較貼切,想想 wmain 的宣告也是這樣:
wmain( int argc, char argv[][] );
2010年4月22日 星期四
Howto: Search multiple keywords from a log file
@set WORK_DIR=%~dp0
@set GREP=D:\Tools\grep.exe
@set INPUT=%WORK_DIR%\ofcdebug.log
@set OUTPUT=%WORK_DIR%\ofcdebug_ex.log
@set KEYWORDS=%WORK_DIR%\keywords.txt
@set EXCLUDE=%WORK_DIR%\exclude.txt
%GREP% -f %KEYWORDS% -i %INPUT% | %GREP% -v -f %EXCLUDE% > %OUTPUT%
訂閱:
文章 (Atom)