團隊開發配合SVN HOOKS同步更新在線服務器源碼



最近為了協調整個開發團隊的開發過程,讓團隊協作更加流暢,考慮減少開發人員更新代碼維護代碼的中間環節,於是考慮使用了SVN服務端HOOKS 


SVN服務端的 HOOKS 存在於每個 Project 倉庫的hooks目錄,裏面的  *.tmpl 是hooks腳本模板,我使用的是 windows 來做內網源碼版本 服務器系統,所以使用 *.bat 批處理文件來做 Hooks腳本! 但是總所周知 *.bat 批處理文件能執行的任務有限,所以我的批處理只是吧參數引導到PHP腳本上,由PHP腳本來實現我所需要的結果。
一、首先提高 svn 服務程序的權限,修改 "服務" 中 SVN 服務程序的登錄帳戶為超級管理員
二、編寫批處理。因為我只是需要在開發人員提交腳本後執行我的任務,所以只編寫了  post-commit.bat 批處理引導到了PHP腳本 post-commit.php上 


CODE:


@echo off
setlocal
SET PHP=E:\PHP5\php.exe
%PHP% -f %1\hooks\post-commit.php %*










關於hooks腳本,各位可以看這裏 http://www.subversion.org.cn/svn ... #svn.ref.reposhooks

三、建立 post-commit.php 在每次提交試執行判斷是否需要執行同步操作
我這裏加了 SVN 賬戶判斷,以便只有特定的用戶才有權限向線上服務器同步源碼
還加了[UPTO_RUN_SERVER] 標記,只有特定的用戶在提交時,加入了這個標記才會觸發同步到在線服務器的工作

四、建立一個臨時目錄用於從版本倉庫抽取需要更新的文件,如:E:\svn_tmp\MY_PROJECT_NAME

五、至於如何在團隊協同開發中部署這個應用,或如何更合理有效和安全,各位可以發揮一下想象力

以下是 post-commit.php 代碼的主要部分,有BUG僅供參考

[php]
<?php
//-----------------------------
//  初始化設置
//-----------------------------

//臨時更新目錄,用於svn checkout 得到最新的文件後,上傳到FTP
$TMP_UPDATE_DIR = "E:\\svn_tmp\\MY_PROJECT_NAME";

//獲得當前更新的log
$svnlook_log = "\"C:\\Program Files\\VisualSVN Server\\bin\\svnlook.exe\" log -r {$argv[2]} {$argv[1]}";

//獲得當前更新者帳戶名
$svnlook_author = "\"C:\\Program Files\\VisualSVN Server\\bin\\svnlook.exe\" author -r {$argv[2]} {$argv[1]}";

//更新最新的源碼到臨時更新目錄
$svn_update = "\"C:\\Program Files\\VisualSVN Server\\bin\\svn.exe\" update -r {$argv[2]} {$TMP_UPDATE_DIR}";

//有權限更新到運行服務器的svn帳戶
$upto_run_managers = array('terry39', 'user02', 'user03', 'user04');

//更新狀態記錄文件
$update_status_file = "E:\\svn_tmp\\MY_PROJECT_NAME_update_status.txt";

$output = array();
exec($svnlook_log, $output);
$log = $output;

$output = array();
exec($svnlook_author, $output);
$author = $output;


//-----------------------------
//  函數
//-----------------------------


/**
* 在FTP服務器上創建目錄
*
* @author terry39
*/
function ftp_create_dir($path)
{
    global $ftp;

    $dir=split("/", $path);
    $path="";
    $ret = true;

    for ($i=0;$i<count($dir);$i++)
    {
        $path.="/".$dir[$i];
        if(!@ftp_chdir($ftp,$path)){
            @ftp_chdir($ftp,"/");
            if(!@ftp_mkdir($ftp,$path)){
                $ret=false;
                break;
            }
        }
    }
    return $ret;
}

/**
* 刪除  FTP 中指定的目錄
*
* @param resource $ftp_stream The link identifier of the FTP connection
* @param string   $directory The directory to delete
*
* @author terry39
*/
function ftp_rmdirr($ftp_stream, $directory)
{
    if (!is_resource($ftp_stream) ||
        get_resource_type($ftp_stream) !== 'FTP Buffer') {

        return false;
    }

    // Init
    $i             = 0;
    $files         = array();
    $folders       = array();
    $statusnext    = false;
    $currentfolder = $directory;

    // Get raw file listing
    $list = ftp_rawlist($ftp_stream, $directory, true);

    foreach ($list as $current) {

        if (empty($current)) {
            $statusnext = true;
            continue;
        }

        if ($statusnext === true) {
            $currentfolder = substr($current, 0, -1);
            $statusnext = false;
            continue;
        }

        $split = preg_split('[ ]', $current, 9, PREG_SPLIT_NO_EMPTY);
        $entry = $split[8];
        $isdir = ($split[0]{0} === 'd') ? true : false;

        // Skip pointers
        if ($entry === '.' || $entry === '..') {
            continue;
        }

        if ($isdir === true) {
            $folders[] = $currentfolder . '/' . $entry;
        } else {
            $files[] = $currentfolder . '/' . $entry;
        }

    }

    foreach ($files as $file) {
        ftp_delete($ftp_stream, $file);
    }

    rsort($folders);
    foreach ($folders as $folder) {
        ftp_rmdir($ftp_stream, $folder);
    }

    return ftp_rmdir($ftp_stream, $directory);
}

/**
* 把更新到的文件列表上傳到服務器上
*
* 更新的同時記錄更新日志,如過有一個文件或者目錄更新失敗,則返回錯誤
*
* @param array $update_list
* @return bool
*
* @author terry39
*/
function update_to_ftp($update_list)
{
    global $argv, $ftp, $author_name, $TMP_UPDATE_DIR;

    $ftp_update_logfile='E:\svn_tmp\ftp_MY_PROJECT_NAME_upload.log';    //執行更新的日志文件
    $ftp_root_dir = '/';                                                //服務器上的地址源碼對應的起始目錄

    $log = "";
    $log .= date('Y-m-d H:i:s') . " BEGIN UPDATE TO FTP\n";
    $log .= date('Y-m-d H:i:s') . " Reversion: {$argv[2]}\n";
    $log .= date('Y-m-d H:i:s') . " Author: {$author_name}\n";

    $ftp = ftp_connect('FTP服務器地址');
    $ftp_login = ftp_login($ftp, 'FTP賬戶', 'FTP密碼');

    if($ftp && $ftp_login){
        $log .= date('Y-m-d H:i:s') . " Connected to FTP Server Success\n";
    }else{
        $log .= date('Y-m-d H:i:s') . " Connected to FTP Server False\n";
        $log .= date('Y-m-d H:i:s') . " UPDATE FALSE\n";
        $log .= date('Y-m-d H:i:s') . " QUIT UPDATE\n\n";
        return false;
    }

    $result = true;
    foreach($update_list as $file_cmd){
        if(substr($file_cmd, 0, 6) == 'Update') continue;        //這裏有最後一行的  Update Reversion NNN 要忽略
        $file_cmd = trim($file_cmd);
        $cmd = substr($file_cmd, 0, 1);
        $file = trim(substr($file_cmd, 1));
        $from = $file;
        $file = substr($file, strlen($TMP_UPDATE_DIR) + 1);    //去掉路徑中的開頭 $TMP_UPDATE_DIR 路徑
        $filename = is_dir($from) ? null : array_pop(explode('/', $file));
        $to   = $ftp_root_dir . str_replace("\\", "/", $file);

        //計算出路徑並創建FTP目錄 (如果不存在的話)
        $dir = is_dir($from) ? $to : dirname($to);
        if(!@ftp_chdir($ftp,$dir)){
            $log .= date('Y-m-d H:i:s') . " FTP_MKD\t{$dir}\n";
            ftp_create_dir($dir);                                    //創建目錄
        }
        if(is_dir($from)) continue;

        //更新或創建文件
        if($cmd == "U" || $cmd == "A"){
            $result = $result && ftp_put($ftp, $to, $from, FTP_BINARY);
            //記錄日志
            $log .= date('Y-m-d H:i:s') . " FTP_PUT\t{$from}\t{$to}" . ($result ? "\tSUCCESS\n" : "\tFALSE\n");

        //刪除文件或目錄
        }else if($cmd == "D"){
            //-------------------------------
            //  這裏要判斷目標是目錄還是文件
            //-------------------------------

            if(@ftp_chdir($ftp,$to)){
                $r = ftp_rmdirr($ftp, $to);
                $log .= date('Y-m-d H:i:s') . " FTP_RMD\t{$to}" . ($r ? "\tSUCCESS\n" : "\tFALSE\n");
            }else{
                $result = $result && ftp_delete($ftp, $to);
                //記錄日志
                $log .= date('Y-m-d H:i:s') . " FTP_DEL\t{$to}" . ($result ? "\tSUCCESS\n" : "\tFALSE\n");
            }
        }else{
            $log .= date('Y-m-d H:i:s') . " UNKNOWN CMD\t{$cmd}\n";
            continue;
        }
    }
    //記錄最後一次更新成功的版本
    if($result){
        $log .= date('Y-m-d H:i:s') . " UPDATE SUCCESS\n";
    }else{
        $log .= date('Y-m-d H:i:s') . " UPDATE FALSE\n";
    }
    $log .= date('Y-m-d H:i:s') . " END UPDATE\n\n";
    file_put_contents($ftp_update_logfile, $log, FILE_APPEND);

    return $result;
}

//-----------------------------
//  判斷並執行同步更新
//-----------------------------


//取得當前更新者帳戶名,判斷是否有權限更新到運行服務器
$author_name = $author[count($author) -1];
if(in_array($author_name, $upto_run_managers)){

    //查看log中是否包含 [UPTO_RUN_SERVER] 指令標記
    if(strpos(implode("\n", $log), '[UPTO_RUN_SERVER]') !== false){

        //-------------------------------------------
        //  准備開始同步更新在線服務器上的文件
        //-------------------------------------------
        
        $new_rev = $argv[2];


        if(!file_exists($update_status_file)){
            file_put_contents($update_status_file, '1|1');
        }
        $update_status = explode('|', file_get_contents($update_status_file));

        //當記錄的更新狀態為更新成功的版本號{$update_status[0]} 比最後一次更新的版本號 {$update_status[1]} 小時
        //還原臨時更新目錄到最後一次更新成功的版本 {$update_status[0]},然後再 update 獲得更新文件列表
        //然後提交到在線服務器

        if($update_status[0] < $update_status[1]){
            $svn_update_r = "\"C:\\Program Files\\VisualSVN Server\\bin\\svn.exe\" update -r {$update_status[0]} {$TMP_UPDATE_DIR}";
            exec($svn_update_r);
        }

        $output = array();
        exec($svn_update, $output);
        $update = $output;

        //這裏根據update列表更新服務器上的文件
        $update_success = true;
        $update_success = update_to_ftp($update);

        //記錄更新後的更新狀態到到文件
        if($update_success){
            file_put_contents($update_status_file, "{$new_rev}|{$new_rev}");
        }else{            
            file_put_contents($update_status_file, "{$update_status[0]}|{$new_rev}");
        }
    }
}
?>
[/php]

銘 發表在 痞客邦 留言(0) 人氣()



光碟機的雷射頭功率調整


凡是使用過電腦的朋友都知道,光碟機只要用了差不多一年,就該挑片了,有的片子能讀,有的片子不能讀。這種情況越來越越嚴重,最後乾脆一張片子也不讀了,把片子放進去,「稀裏嘩啦」地轉了半天,可一點光碟圖標,只聽「鐺」一聲,「設備未準備好」。 
其實,光碟機讀片子差,主要是因為電腦的使用環境差,光頭上落了一層灰塵,這層灰塵阻擋了鐳射光束的透過,同時隨著使用時間的增加,鐳射頭的發射能力也逐漸下降,最後導致無法讀片子。對於這類小毛病維修起來很簡單,打開光碟機,清洗一下光頭的透鏡,再適當調節一下鐳射頭的發射功率就OK了。
然而,這類文章已經很多了,但對調節鐳射頭功率的方法上卻沒有一個好方法,都是說左轉一點或者右轉一點,最後轉來轉去,竟把小小的電阻器給擰下來了。
控制鐳射頭功率大小的電阻器是一個 2K 的可變電阻,可以任意左右旋轉,因此我們如果只憑感覺來調節鐳射頭的功率大小,是很難把握的。 
今天,我就詳細介紹一下如何用萬用表來調整雷射頭的功率。
1.打開光驅的外殼。以新力CDU5221光驅為例。



2.用大頭針強行彈出托盤,取下帶有「SONY」標誌的塑膠檔板。 


3.用小螺絲刀按下塑膠銷子,取下前面板。




4.取下底板。


5.小心的取下上蓋板。




6.下圖就是我們通常所說的雷射頭。實際我們看到的是透鏡,實際雷射頭在透鏡下方。


雷射頭元件的放大圖:


7.拔下光頭與電路板的連接柔性電纜,要不我們在測量電位器阻值時不方便。


8.把光驅架反轉過來,讓雷射頭向下,這時我們就看到光頭元件背部的形狀。在下方靠近柔性電纜的位置就是光頭功率調節電位器。


9.下圖就是電位器的實物圖。注意電位器有三個引腳,如果用萬用表測試時,其中有兩個引腳為0,我們隻測試量有阻值的兩個引腳的阻值的變化。


10.用萬用表測量功率調節電位器的目前阻值的大小。


11.觀察萬用表的表頭讀數,為919OHM。


12.使用小十字螺絲刀,向順時針方向,輕輕旋轉5-10度。


13.再用萬用表測試電位器的電阻值。


14.讀其數值,應為原數值的2/3最好,圖示讀得的數值為666OHM。如果過大或過小,再調再測,直到符合要求為止。


15.再用無水酒精清洗透鏡後,把光驅按拆卸的反順序裝好,加電試機,一般情況下,光驅的讀盤性能有很大的提高,和新光驅差不多。
有的雜誌介紹不能使用無水酒精,說是透鏡表面有一層增透膜,而酒精是有機溶濟,會溶解增透膜。不過光驅屬於易耗器,使用壽命不過二三年的時間,我們使用酒精清洗透鐿,也不過數次,即便酒精能夠溶解增透膜,到透鏡被溶解時,我們的光驅也該扔了,沒必要考慮這些。我用酒精已經清洗過上百部光驅,用戶反應效果都很好,沒有出現清洗後不能讀的情況。

銘 發表在 痞客邦 留言(0) 人氣()


成大事必備9種能力、9種手段、9種心態


 


一:沉穩


1)不要隨便顯露你的情緒。


2)不要逢人就訴說你的困難和遭遇。


3)在征詢別人的意見之前,自己先思考,但不要先講。


4)不要一有機會就嘮叨你的不滿。


5)重要的決定盡量有別人商量,最好隔一天再發布。


6)講話不要有任何的慌張,走路也是。


 


二:細心


1)對身邊發生的事情,常思考它們的因果關系。


2)對做不到位的執行問題,要發掘它們的根本症結。


3)對習以為常的做事方法,要有改進或優化的建議。


4)做什麼事情都要養成有條不紊和井然有序的習慣。


5)經常去找幾個別人看不出來的毛病或弊端。


6)自己要隨時隨地對有所不足的地方補位。


 


三:膽識


1)不要常用缺乏自信的詞句


2)不要常常反悔,輕易推翻已經決定的事。


3)在眾人爭執不休時,不要沒有主見。


4)整體氛圍低落時,你要樂觀、陽光。


5)做任何事情都要用心,因為有人在看著你。


6)事情不順的時候,歇口氣,重新尋找突破口,就結束也要幹淨利落。


 


四:大度


1)不要刻意把有可能是夥伴的人變成對手。


2)對別人的小過失、小錯誤不要斤斤計較。


3)在金錢上要大方,學習三施(財施、法施、無畏施)


4)不要有權力的傲慢和知識的偏見。


5)任何成果和成就都應和別人分享。


6)必須有人犧牲或奉獻的時候,自己走在前面。


 


五:誠信


1)做不到的事情不要說,說了就努力做到。


2)虛的口號或標語不要常掛嘴上。


3)針對客戶提出的不誠信"問題,拿出改善的方法。


4)停止一切不道德"的手段。


5)耍弄小聰明,要不得!


6)計算一下產品或服務的誠信代價,那就是品牌成本。


 


六:擔當


1)檢討任何過失的時候,先從自身或自己人開始反省。


2)事項結束後,先審查過錯,再列述功勞。


3)認錯從上級開始,表功從下級啟動


4)著手一個計劃,先將權責界定清楚,而且分配得當。


5)對怕事"的人或組織要挑明了說。


6)因為勇於承擔責任所造成的損失,公司應該承擔


 


成大事的九種手段:


 


1、敢於決斷--克服猶豫不定的習性 


  很多人之所以一事無成,最大的毛病就是缺乏敢於決斷的手段,總是左顧右盼、思前想後,從


        而錯失成功的最佳時機。成大事者在看到事情的成功可能性到來時,敢於做出重大決斷,因此


        取得先機。


 


2、挑戰弱點--徹底改變自己的缺陷


  人人都有弱點,不能成大事者總是固守自己的弱點,一生都不會發生重大轉變;能成大事者總


        是善於從自己的弱點上開刀,去把自己變成一個能力超強的人。一個連自己的缺陷都不能糾正


        的人,只能是失敗者!


 


3、突破困境--從失敗中撮成功的資本


  人生總要面臨各種困境的挑戰,甚至可以說困境就是鬼門關。一般人會在困境面前渾身發


         抖,而成大事者則能把困境變為成功的有力跳板。


 


4、抓住機遇--善於選擇、善於創造 


  機遇就是人生最大的財富。有些人浪費機遇輕而易舉,所以一個個有巨大潛力的機遇都悄然溜跑


        ,成大事都是絕對不允許溜走,並且能縱身撲向機遇。


 


5、發揮強項--做自己最擅長的事情


  一個能力極弱的人肯定難以打開人生局面,他必定是人生舞臺上重量級選手的犧牲品;成大事者


        關於在自己要做的事情上,充分施展才智,一步一步地拓寬成功之路。


 


6、調整心態--切忌讓情緒傷害自己 


  心態消極的人,無論如何都挑不起生活和重擔,因為他們無法直面一個個人生挫折,成大事者則


        關於高速心態,即使在毫無希望時,也能看到一線成功的亮光。


 


7、立即行動--只說不做,徒勞無益


  一次行動勝過百遍心想。有些人是語言的巨人,行動的矮子,所以看不到更為實際現實的事


        情在他身上發生;成大事者是每天都靠行動來落實自己的人生計劃的。


 


8、善於交往--巧妙利用人力資源 


  一個人不懂得交往,必然會推動人際關系的力量。成大事者的特點之一是:善於靠借力、借熱去


        營造成功的局勢,從而能把一件件難以辦成的事辦成,實現自己人生的規劃。


 


9、重新規劃--站到更高的起點上 


  人生是一個過程,成功也是一個過程。你如果滿足於小成功,就會推動大成功。成大事者懂得從


        小到大的艱辛過程,所以在實現了一個個小成功之後,能繼續拆開下一個人生的密封袋


 


  可以講任何一種手段,都可以導致一種結果,但這個結果是不是最佳的結果,恐怕就很難說了。


        成大事者總是選擇最佳的手段,達到最完善的結果,這就是非一般人所能做到的。因此在成功之


        路上,你要想成大事,首先要解決的問題就是:你的手段對你推動成功的計劃是否立竿見影!


 


 


 


 


 


成大事必備九種能力


 


挑戰生存的能力:


 


        善於在現實中尋找答案 


                                                                        


  1、擺正心態,敢於面對現實


  對於那些不停地抱怨現實惡劣的人來說,不能稱心如意的現實,就如同生活的牢籠,既束縛手


        腳,又束縛身心,因此常屈從於現實的壓力,成為懦弱者;而那些真正成大事的人,則敢於挑


        戰現實,在現實中磨煉自己的生存能力,這就叫強者!


  在此,我們可以得出一條成大事的經驗:適應現實的變化而迅速改變自己的觀念,最重要的是


        需要我們有一副聰慧的頭腦和靈活的眼睛,做生活的有心人。


  在現實的壓力之下,如果你能改變觀念,適時而進,可收到事半功倍的效果。


  我們的自下而上須臾離不開現實,隨著現實的變化,我們必須隨之調整自己的觀念、思想、行


        動及目標。這是生存的必須。


        如果我們有辦法來改變現實,使之適合我們能力和欲望的發展需要,則是最難能可貴的。


 


  2、讓你擁有過硬的自制能力


  自制,就是要克服欲望,不要因為有點壓力就心裏浮躁,遇到一點不稱心的事就大發脾氣。


  一個人除非先控制了自己,否則將無法控制別人。


  一個人只要有成大事的目標,知道自己想要的,然後采取行動,告訴自己絕對不要放棄,成功


        只是時間早晚而已。


  假使你在途中遇上了麻煩或阻礙,你就去面對它、解決它、然後再繼續前進,這樣問題才不會


        愈積愈多。


  你在一步步向上爬時,千萬別對自己說,因為也許導致你決心的動搖,放棄你的


        目標,從而前功盡棄。


  人最難戰勝的是自己,這話的含義是說,一個人成功的最大障礙不是來自於外界是,而是自身


        。只有控制住自己,才能控制住壓力,讓壓力在你面前屈服。


 


  3、把情感裝入理性之盒


  一種抵觸情緒的產生往往是潛移默化的,但它對人一生的影響卻是巨大的,這種影響從諸多小


        事上體現出來。我們應盡量消除自己的不良情緒、因為它不僅會給我們造成身心上的傷害,而


        且在我們通往成功的路途上,不良情緒有時會成為絆腳石。


  為了你的成功,你必須把情感裝入理性之盒,你必須去適應別人,適應形勢,不然的話,你注


        定成不了大事,注定會被淘汰。


 


  4、獨處可以激發思考的力量


  如果你知道怎麼獨處的話,成大事者都是善於獨處的人--在獨處的過程中激發思考的力量。


  自卑可以像一座大山把人壓倒並讓你永遠沉默,也可以像推進器產生強大的動力。


  比別人先走一步,能創造一種成功的心境。


  在獨處時,你應當有所思考,不要總人浮於事。


 


  5、壓力是最好的推動力


  欲成大事者,因目標高遠,壓力可能會更大。但若欲成大事,就必須能承受這種壓力,把壓力


        當成推進人生的動力。


  人們最出色的工作往往是在外於逆境的情況下做出的。人要有所為就要有所不為。應做的一定


        要做好,不該做的堅決不做。


     得到的並不一定就值得慶幸,失去的也並不完全是壞事情。


 


  6、以變應變,才有出路


  順應時勢,善於變化,及時調整自己的行動方案,這是成大事者適應現實的一種方法。


  一個人如果沒有和人打交道的高超技巧,沒有把各種情況都考慮周全的頭腦,靈活應變


        的手段,就根本無法駕馭大的局面,將很難成大事。


  一個人能看清自己的現狀,心態就會平衡許多,就能以一種客觀的眼光去看待,認識這


        個世界,並且相應地調整自己的行為。


 


  7、自信心是人生的堅強支柱


  自信心充足者的適應能力就高,反之則適應能力較低。


  一般信心不足較嚴重的人常有一些身心症狀,比如孤僻,害怕與人交往,說話過於偏激,


        悲觀失望。


  如果做事成功的經驗越多,那麼自信心就越強。


  自我成功鍛煉的機會越少,自信心就越弱,以致產生嚴重的自卑情緒。


     十九世紀的思想家愛默生說:相信自己,便會攻無不克。拿破侖說:在我的


        字典裏沒有不可能。


 


  8、把精力投入到自己的強項上


  大多數人的生活層次只停留在:為吃飯而吃、為搭公車而搭、為工作而工作、為了回家而回家。


  成大事者與不成大事者只差別在一些小小的動作:每天花5分鐘閱讀、多打一個電話、多努


        力一點、在適當時機的一個表示、表演上多費一點心思、多做一些研究,或在實驗室中多


        試驗一次。


  在行動之前你自己就知道你是否足以勝任這一個任務。


  沒有任何借口可以解釋你為會麼長時間仍然無法勝任一項工作。


  不論你想追求的是什麼,你必須強迫自己增強能力以實現目標。


  勤加練習、勤加練習、最後還是勤加練習!決不放棄學習,而且一定要將學到的知識運用於


        日常生活中。


 


  9、要專心地做好一件事


  如果大多數人集中精力專注於一項工作,他們都能把這項工作做得很好。


  最成大事者的商人是能夠迅速而果斷作出決定的人,他們總是首先確定一個明確的目標,並


        集中精力,專心致志地朝這個目標努力。


  一次只專心地做一件事,全身心地投入並積極地希望它成功,這樣你的心裏就不會感到筋疲


        力盡。


  把你需要做的事想象成是一大排抽屜中的一個小抽屜。不要總想著所有的抽屜,而要將精力


        集中於你已經打開的那個抽屜。每個人做人辦事的手段都是不一樣的,可以講,一個人就有


        一種手段,一個人就有一種靠自己手段獲得成功的途徑。無數事實表明,有些人就是太過於


        自信,想念自己確認的手段能夠解決任何問題,但不知道這種往往是起不到任何作用。因此


        ,他們總覺得離成功的目標不是越來越近,而實際上越來越遠。


   


 


 


        成大事必備的9種心態


 


       心態之一:積極向上


 


  1.時刻想著出人頭地


  2.小人物時要向大人物看齊


  3.惟有進取心,才能成大事


  4.摒棄逆境的幹擾,尋找向上的根源


  5.放棄也是一種成功的開始


  6.在平凡中做不平凡的事


  7.保持年輕的心態很重要


  8.永遠積極、主動、熱忱


 


  心態之二:勤勉謙恭


 


  1.壯志淩雲地想,腳踏實地地幹  


        2.勤敬產業,謙恭做人


  3.勤勉高於天賦


  4.勤奮造就成功,懶惰摧毀天才


  5.養成勤奮的習慣會終生受益


  6.有一份耕耘,就有一份收獲


  7.恒心與支持能點石成金


  8.莫道君行早,更有早行人


 


  心態之三:誠實守信


 


  1.誠實是一種源自自身的本質


  2.誠實守信才是大贏家


  3.以誠信奠定成功基業


  4.真誠的友誼會使你的事業更發達


  5.做人要有正直的品行


  6.誠實守信是成大事的信用卡


  7.要成大事,擇友不可草率


  8.以真誠待人,用熱忱做事


 


  心態之四:敢於挑戰


 


  1.敢於挑戰自我,克服貶低心理


  2.挑戰無極限


  3.堅持到底靠勇氣,半途而廢是懦夫


  4.用於挑戰激起成大事的信心


  5.勇氣是戰勝困難的良方


  6.勝人者力,自勝者強


  7.毅力與恒心是成大事的基本功


  8.堅持不懈成大事,淺嘗輒止無出路


 


  心態之五:善於合作


 


  心態之六:知足平衡


 


  心態之七:樂觀豁達


 


  心態之八:寬厚容人


 


  心態之九:永遠自信


 


成大事必備9種能力、9種手段、9種心態

銘 發表在 痞客邦 留言(0) 人氣()




 


VMware ThinApp 是製作軟體虛擬化的工具,可以將許多檔案封裝成一個單一執行檔,不需要解壓縮,也不需要安裝,就能直接執行。
檔案下載:ThinApp403TW.rar 
中文化方法:
下載解壓縮後執行主程式 Setup Capture.exe 就是免安裝繁體中文化版。





01.第一次執行主程式的畫面,需要輸入註冊碼,請自行取得序號。
VMware ThinApp
02.輸入註冊碼後的畫面,按左上方的圖示可以查閱版本資訊。請按 [下一步]。
VMware ThinApp
03.這個畫面是在解說最好使用乾淨的電腦(系統)來做擷取。請按 [進階設定]。
VMware ThinApp
04.這畫面在 V3版時是步驟的一環,V4版將它放在選項中,這個是要設定安裝前掃描的磁碟與登錄機碼。
   由於這次教學的程式選用免安裝 Greenfish Icon Editor Pro v2.0 繁體中文化版,所以3個登錄機碼不用勾選。
VMware ThinApp
05.請按 [下一步] 開始安裝前的掃描。
VMware ThinApp
06.正在掃描並儲存安裝前的快照。
VMware ThinApp
07.出現這個畫面就表示已做好安裝前快照,先不要按 [下一步],請照圖片中 [如何安裝:] 的步驟做要虛擬化程式的安裝設定。
VMware ThinApp
08.由於選用的程式是免安裝版,所以只要將該資料夾複製到 步驟4 裡勾選的磁碟中就可以了。
VMware ThinApp
09.還原 步驟7 的視窗,然後按 [下一步] 開始安裝後的掃描。
VMware ThinApp
10.正在掃描變更、比對快照並儲存安裝後的快照。
VMware ThinApp
11.選擇進入點。主資料容器就是選擇要執行的主程式;而詳細目錄名稱(Inventory Name)也就是沙盤名稱(Sandbox Name) -> 可自訂
VMware ThinApp
12.是選擇沙盤的存放位置。
VMware ThinApp
13.是選擇隔離模式(Isolation Mode),圖片中有中文說明,如要更詳細說明請至官網下載手冊。
VMware ThinApp
14.如圖所示,有3個選項供使用者選擇,V3版的壓縮還有 small(50%) 的選項,此版只剩 None(不壓縮) & Fast(57%) 兩種。
VMware ThinApp
15.正在製作專案檔...
VMware ThinApp
16.看到這個畫面就離完成不遠了,先不要按 [完成] 或 [立刻建立],請先按 [瀏覽專案]。
VMware ThinApp
17.此時可以將空的資料夾刪除...
VMware ThinApp
18.編輯 Package.ini 檔裡的設定...
VMware ThinApp
19.先前的 [壓縮類型] 與 [隔離模式] 都還能做修改...
VMware ThinApp
20.預設為 Disabled=1 的子項如果沒用到可以刪除...
VMware ThinApp
21.都修改完後就可按 [立刻建立] 來產生目的檔。
VMware ThinApp
22.檔案成功建立,按 [完成] 離開。
VMware ThinApp
23.建立的檔案存放在專案資料夾中的子目錄 <bin> 中...
VMware ThinApp


 


此篇文章由O2Heaven 發表在 痞客邦 PIXNET作品   因學習需求在此僅作為收藏


欲想的之後續精彩文章請至 Heaven部落格觀賞


http://o2heaven.pixnet.net/blog/trackback/a4555b7991/24278909

銘 發表在 痞客邦 留言(0) 人氣()



郭董昨天在大陸消失ㄧ天..


今天大陸官方給出封鎖消息的強制動作  內容如下: 


緊急通告:有關富士康事件,網上除新華社對內通稿外,不再報道,凡有專題、新聞采納的一律撤銷。論壇、博客一律不得再出現新的相關貼文,12跳前的貼文全部鎖定下沉。各網站今晚要完成清理任務,不得留任何死角。對多次違規、不聽招呼、落實不力的網站,要予以重罰。


<--連這一串字都內列入不的對外公開好扯


           <--連原PO都不敢直寫還也#號缺格怕被掃到。


          官商怎都是畫不開的等號商越大連"政"都要看其臉色。


          以上"郭 董"在台灣有很多請不要對號   入座,如有雷同存屬巧合。


         

銘 發表在 痞客邦 留言(0) 人氣()



Acer AS4741G改XP 32位元元全部驅動 ; AS4741G改XP ,AS4741G改windows XP


 


 


用了一天的時間終於全了。


(無無線網卡驅動版)PSAtheros的用4740G無線網卡自己根據自己的弄吧


想自己找的 可以使用如下驅動:


http://rapidshare.com/files/378299593/Acer_AS4741G___XP_32ae____________________.zip.html


 


http://www.megaupload.com/?d=ZWYOEGTV


 


http://depositfiles.com/en/files/6zpdx3ikw


 


http://hotfile.com/dl/39017526/a9eec9a/Acer_AS4741GXP_32.zip.html


 


http://www.zshare.net/download/75204998dec52eeb/


 


http://www.badongo.com/file/22159012


 


http://uploading.com/files/652edd47/Acer%2BAS4741G%25E6%2594%25B9XP%2B32%25E4%25BD%258D%25E5%2585%2583%25E5%2585%2583%25E5%2585%25A8%25E9%2583%25A8%25E9%25A9%2585%25E5%258B%2595.zip/


 

SAMSUNG R478 顯卡驅動   (記得修改下NVSM配置檔就行,把自己的硬體ID換上去)


Acer 4740G 、音效卡、HDMI音效卡驅動(Atheros無線網卡驅動)


聯想的新系列NB Broadcom驅動(注意晶片是BCM43225的)

銘 發表在 痞客邦 留言(0) 人氣()


 


 



軟件名稱: Universal Termsrv.dll Patch (遠程桌面多用戶同時連接數破解通用補丁)
軟件名稱: Universal Termsrv.dll Patch (遠程桌面多用戶同時連接數破解通用補丁)
操作系統: Windows XP SP2 SP3; Vista SP1 SP2/Windows 7, 32bit(x86)/64bit(x64)操作系統: Windows XP SP2 SP3; Vista SP1 SP2/Windows 7, 32bit(x86)/64bit(x64)
作者郵箱: deepxw#126.com作者郵箱: deepxw#126.com
官方網站: http://zh-deepxw.blogspot.com (中文) http://deepxw.blogspot.com (English)官方網站: http://zh-deepxw.blogspot.com (中文) http://deepxw.blogspot.com (English)


破解termsrv.dll, 解除遠程桌面多用戶同時連接(會話)數限制。破解termsrv.dll,解除遠程桌面多用戶同時連接(會話)數限制。


由于Windows XP/Vista 的許可限制,在一臺電腦上同一時間只允許一個用戶登錄(會話)。由於Windows XP/Vista的許可限制,在一臺電腦上同一時間只允許一個用戶登錄(會話)。
如果有第二個用戶通過遠程桌面服務登錄本機,那么在此之前本地已登錄的用戶、或遠程已登錄的用戶將被踢出。如果有第二個用戶通過遠程桌面服務登錄本機,那麼在此之前本地已登錄的用戶、或遠程已登錄的用戶將被踢出。


本補丁的功能就是去除這個限制,允許多人多用戶同時并行訪問登錄XP/Vista,擁有一個終端服務器的功能。本補丁的功能就是去除這個限制,允許多人多用戶同時並行訪問登錄XP/Vista,擁有一個終端服務器的功能。


通用補丁,適合所有語言的Windows!通用補丁,適合所有語言的Windows!


本補丁只做文件破解的工作,遠程桌面的其它設置,請google或百度之。本補丁只做文件破解的工作,遠程桌面的其它設置,請google或百度之。


“校驗和”最后一位數字的含義: “校驗和”最後一位數字的含義:
1 - 原版文件,沒有改動。 1 -原版文件,沒有改動。
9 - 文件經過修改。 9 -文件經過修改。



說明:說明:
1, 可以在正常模式下操作。 1,可以在正常模式下操作。


2, 請根據你的系統運行對應的程序: 2,請根據你的系統運行對應的程序:
32位系統請運行UniversalTermsrvPatch-x86.exe; 32位系統請運行UniversalTermsrvPatch-x86.exe;
64位系統請運行UniversalTermsrvPatch-x64.exe。 64位系統請運行UniversalTermsrvPatch-x64.exe。


3, 需要管理員權限。 3,需要管理員權限。 右鍵點程序,選擇以管理員身份運行。右鍵點程序,選擇以管理員身份運行。


4, 破解后需要重啟生效。 4,破解後需要重啟生效。


5, 備份文件: \windows\system32\termsrv.dll.backup. 5,備份文件: \windows\system32\termsrv.dll.backup.


感謝1a1a1a 與godolphinaim 的提供的補充說明:感謝1a1a1a與godolphinaim的提供的補充說明:


運行gpedit.msc打開組策略,找到終端服務-限制連接數量改到2。運行gpedit.msc打開組策略,找到終端服務-限制連接數量改到2。
(計算機配置-管理模板-Windows組件-終端服務-“限制連接數量”) (計算機配置-管理模板-Windows組件-終端服務-“限制連接數量”)



更新歷史:更新歷史:
2009.04.16 V1.0 2009.04.16 V1.0
+ 首次發布。 +首次發布。


2009.04.25 V1.0b 2009.04.25 V1.0b
* 修正xp.reg注冊表的“ 字符bug。感謝網友godolphinaim 的指正。 *修正xp.reg註冊表的“字符bug。感謝網友godolphinaim的指正。



下载地址:
Download Link 1: UniversalTermsrvPatch_20090425.zip (zip File, 66 KB) Download Link 1: UniversalTermsrvPatch_20090425.zip (zip File, 66 KB)
Download Link 2: UniversalTermsrvPatch_20090425.zip (zip File, 66 KB) Download Link 2: UniversalTermsrvPatch_20090425.zip (zip File, 66 KB)
Download Link 3: UniversalTermsrvPatch_20090425.zip (zip File, 66 KB) (Click to download) Download Link 3: UniversalTermsrvPatch_20090425.zip (zip File, 66 KB) (Click to download)

銘 發表在 痞客邦 留言(1) 人氣()


微軟正黑體,此為繁體字型,壓縮檔內只有微軟正黑體(msjh.ttf)和微軟正黑體粗體(msjhbd.ttf)兩種,版本為Version 5.0。
下載位置:Windows_New_Fonts_TW.rar
解壓縮密碼:my-net.cc
2008/06/18:微軟下載中心已開放微軟正黑體下載,但需經過WGA驗證。
Traditional Chinese ClearType fonts for Windows XP
VistaFont_CHT.EXE
2009/03/07:Windows 7新版本字型,msjh 6.01和msjhbd 6.0
2009/08/29:更新為msjh 6.02和msjhbd 6.0
微軟雅黑體,此為簡體字型,壓縮檔內只有微軟雅黑體(msyh.ttf)和微軟雅黑體粗體(msyhbd.ttf)兩種,版本為Version 5.0,解壓縮密碼同上。
下載位置:Windows_New_Fonts_CN.rar
2008/05/08:微軟下載中心已開放微軟雅黑體下載,但需經過WGA驗證。
Simplified Chinese ClearType fonts for Windows XP - 简体中文
VistaFont_CHS.EXE
VistaFont_CHS.EXE
2009/03/07:Windows 7新版本字型,mysh 6.01和myshbd 6.02
2009/08/29:更新為mysh 6.02和myshbd 6.02
微軟明瞭體(メイリオ),此為日文字型(日本語フォント),壓縮檔內只有微軟明瞭體(meiryo.ttc)和微軟明瞭體粗體(meiryob.ttc)兩種,版本為Version 5.0,解壓縮密碼同上。
下載位置:Windows_New_Fonts_JP.rar
2008/05/08:微軟下載中心已開放微軟メイリオ下載,但需經過WGA驗證。
Windows XP 向け ClearType 対応日本語フォント(Japanese ClearType fonts for Windows XP)
VistaFont_JPN.EXE
VistaFont_JPN.EXE
2009/03/07:Windows 7新版本字型,meiryo和meiryob 6.01
2009/08/29:更新為meiryo 6.02和meiryob 6.02
微軟Malgun Gothic(맑은 고딕),此為韓文字型(한국어 글꼴을),壓縮檔內只有微軟Malgun(malgun.ttf)和微軟Malgun粗體(malgunbd.ttf)兩種,版本為Version 5.0,解壓縮密碼同上。
下載位置:Windows_New_Fonts_KR.rar
2008/05/15:微軟下載中心已開放微軟맑은 고딕下載,但需經過WGA驗證。
Korean ClearType fonts for Windows XP
VistaFont_KOR.EXE
2009/03/07:Windows 7新版本字型,malgun 6.1
2009/08/29:更新為malgun 6.11和malgunbd 6.00

銘 發表在 痞客邦 留言(0) 人氣()



Win 2000/XP 網路芳鄰不再卡住 網路芳鄰加速密技


主要是XP系統內定會偵查一些印表機和計畫任務(排定的工作)等等動作才會這麼慢!


現在只要開啟登錄編輯器刪掉即可!此法同樣適用2000和2003XP系統!


從XP系統按下「開始」,然後按下「執行」。


畫面上便會出現「執行」對話方塊。
輸入 regedit 並按下「確定」,畫面上便會出現登錄編輯程式視窗。找一下
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RemoteComputer\NameSpace]


將此子機碼其下的{2227A280-3AEA-1069-A2DE-08002B30309D}(印表機)和


{D6277990-4C6A-11CF-8D87-00AA0060F5BF}(計畫任務)


 


如下示意圖:


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RemoteComputer\NameSpace
 


 


刪掉即可加快互訪許多喔!不需要重開機馬上就可以去「感受」一下,這招對Win2k 及 WinXP 均有效。

銘 發表在 痞客邦 留言(0) 人氣()


#時間的設置
yum -y install ntp
ntpdate 210.72.145.44 && clock -w


 


#Yum 指令



  • 更新套件

    yum update


  • 安裝套件

    yum install


  • 升級套件

    yum upgrade


  • 移除套件

    yum remove


  • 清除暫存套件 /var/cache/yum

    yum clean


  • 列出所有套件

    yum list


  • 列出可更新套件

    yum list updates


  • 列出已安裝套件

    yum list installed


  • 檢查可更新套件名稱

    yum check-update


  • 列出所有套件資訊

    yum info


  • 列出可更新套件資訊

    yum info updates


  • 列出已安裝套件

    yum info installed


  • 列出已安裝但不在 Yum Repository 套件資訊

    yum info extras


  • 列出套件提供檔案清單

    yum provides



  • 群组安装功能:
    yum grouplist
    yum groupinstall "Web Server"



  • 幾個查看 Linux 系統資訊或 Kernel 版本的方法:(轉載 http://jinnsblog.blogspot.com/2008/10/check-linux-kernel-version.html)



    • uname -a
      可用man uname查尋其相關參數的用法,-a是列出所有系統相關的資訊,或者可到鳥哥的私房菜去朝聖。
    • uname -r     -r是列出精簡敘述
    • cat /proc/version
    • cat /etc/issue

下圖是各指令的結果範例:




  • cat /etc/redhat-release
    查看 linux版本(以CentOS為例)
    #/root$ cat /etc/redhat-release
       CentOS release 5.2 (Final)

  • 銘 發表在 痞客邦 留言(0) 人氣()



    Centos5.2升级到Centos5.3


    當由 cnetos 5.2 升級至 5.3 時,rpm 可能會出現問題:”rpmdb: unable to lock mutex: Invalid argument”。為避免以上問題,請先將 glibc 升級,然後更新整個安裝.


    yum clean all
    yum update glibc*
    yum update yum* rpm* python*
    yum clean all
    yum update kernel*
    yum update
    shutdown -r now


    使用 ssh 進行遙距升級時,請考慮採用主機升級來減低中途斷線的影響.

    銘 發表在 痞客邦 留言(0) 人氣()

        
       15個CSS常識
     
      1、不要使用過小的圖片做背景平鋪。這就是為何很多人都不用 1px 的原因,這才知曉。寬高 1px 的圖片平鋪出一個寬高 200px 的區域,
                   需要 200*200=40, 000 次,占用資源。
      2、無邊框。推薦的寫法是 border:none;,哈哈,我一直在用這個。 border:0; 只是定義邊框寬度為零,但邊框樣式、顏色還是會被瀏覽器解
                  析,占用資源。
      3、慎用 * 通配符。所謂通配符,就是將 CSS 中的所有標簽均初始化,不管用的不用的,過時的先進的,一視同仁,這樣,大大的占用資
                  源。要有選擇的初始化標簽。
      4、CSS 的十六進制顏色代碼縮寫。習慣了縮寫及小寫,這才知道,原來不是推薦的寫法,為的是減少解析所占用的資源。但同時會增加
                  文件體積。孰優孰劣,有待仔細考證。
      5、樣式放頭上,腳本放腳下。不內嵌,只外鏈。
      6、堅決不用 CSS 表達式。
      7、使用 引用樣式表,而不是通過 @import 導入。
      8、一般來說,PNG 比 GIF 要小,小得多。再者,GIF 中有多少顏色是被浪費的,很值得優化。
      9、千萬不要在 HTML 中縮放圖片,一者不好看,二者占資源。
      10、正文字體最好用偶數,12px、14px、16px,效果非常好。特例,15px。
      11、block、ul、ol 等上下留出至少一倍行距,左側至少兩倍行距,右側隨意。
      12、段落之間,至少要有一倍行距。
      13、強行指定某些元素的 line-height,正文 1.6 倍于文字大小,標題 1.3 倍。
      14、中文標點用全角。英文夾雜在中文中,左右空格,半角。
      15、中文字體的粗體和斜體,遠離較好,利民利己。

    銘 發表在 痞客邦 留言(0) 人氣()

    Blog Stats
    ⚠️

    成人內容提醒

    本部落格內容僅限年滿十八歲者瀏覽。
    若您未滿十八歲,請立即離開。

    已滿十八歲者,亦請勿將內容提供給未成年人士。