引述
[IIS] 已超過連接逾時的設定。在取得集區連接之前超過逾時等待的時間,可能的原因為所有的共用連接已在使用中,並已達共用集區大小的最大值。

 


訊息:



已超過連接逾時的設定。在取得集區連接之前超過逾時等待的時間,可能的原因為所有的共用連接已在使用中,並已達共用集區大小的最大值。
Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.


發生原因:



SQLClient 集區已經用盡 SqlInternalConnection 物件。


發生原因:



程式使用的連線太多,導致Connection Pool用完。Max Pool Size預設值為100。


處理方式:



檢查程式有無開啟(open)而無關閉(close)連線的狀況。


檢查程式有無遞迴呼叫,導致連線用完的狀況。


檢查系統使用量是否真的很多,導致連線用完的狀況。


修改連線字串,增加Max Pool Size的上限,例如:Max Pool Size=300


參考資料:



http://support.microsoft.com/?scid=kb%3Ben-us%3B830118&x=9&y=7


http://msdn.microsoft.com/en-us/library/8xx3tyca%28VS.71%29.aspx




文章資料:
 
使用Using來宣告Connection來Connection自動關閉回收,避免忘記回收關閉
 
物件Object的New,Dispose與Connection的Open,Close概念分享
 
Dispose 測試:Dispose時是否立即釋放記憶體
 

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

吐舌頭
在網路上看到一篇MBTI 職業性格測試報告
想說測試一下,看自己適合哪方面的工作,
結果還真的和目前工作一樣耶,看來我還是適合從事這方面工作
不過公務型的意思,是不是該找份穩定收入的工作呢?
 
我的測試結果:
分析:您的性格類型是「ISTJ」( 公務型 )
沉靜,認真;貫徹始終、得人信賴而取得成功。講求實際,注重事實和有責任感。能夠合情合理地去決定應做的事情,而且堅定不移地把它完成,不會因外界事物而分散精神。以做事有次序、有條理為樂---不論在工作上, 家庭上或者生活上。重視傳統和忠誠。 ISTJ型的人是嚴肅的、有責任心的和通情達理的社會堅定分子。他們值得信賴,他們重視承諾,對他們來說,言語就是莊嚴的宣誓。 ISTJ型的人工作縝密,講求實際,很有頭腦也很現實。他們具有很強的集中力、條理性和 準確性。無論他們做什麼,都相當有條理和可靠。他們具有堅定不移、深思熟慮的思想,一旦他們著手自己相信是最好的行動方法時,就很難轉變或變得沮喪。ISTJ型的人特別安靜和勤奮,對於細節有很強的記憶和判斷。 他們能夠引證準確的事實支持自己的觀點,把過去的經歷運用到現在的決策中。他們重視和利用符合邏輯、客觀的分析,以堅持不懈的態度準時地完成工作,並且總是安排有序,很有條理。他們重視必要的理論體系和傳統 慣例,對於那些不是如此做事的人則很不耐煩。ISTJ型的人總是很傳統、謹小甚微。他們聆聽和喜歡確實、清晰地陳述事物。ISTJ型的人天生不喜歡顯露,即使危機之時,也顯得很平靜。他們總是顯得責無旁貸、堅定不變 、但是在他們冷靜的外表之下,也許有強烈卻很少表露的反應。

您適合的領域有:工商業領域、政府機構 金融銀行業、政府機構、技術領域、醫務領域


您適合的職業有:


  • 審計師
  • 會計
  • 財務經理
  • 辦公室行政管理
  • 後勤和供應管理
  • 中層經理
  • 公務(法律、稅務)執行人員
  • 銀行信貸員
  • 預算分析師
  • 保險精算師
  • 稅務經紀人
  • 稅務檢查員
  • 機械、電氣工程師
  • 計算機程式設計師
  • 資料庫管理員
  • 地質、氣象學家
  • 法律研究者
  • 律師
  • 外科醫生
  • 藥劑師
  • 實驗室技術人員
  • 牙科醫生
  • 醫學研究員
  • 資訊主管
  • 證券經紀人
  • 會計
  • 文字處理

  •  
     

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

    文章出處:網路上
     
    我先生一直在外商工作,出國開會,晚上應酬是常事。
    我們結婚一年小孩就出生了,我先生工作更忙,
    而我剛好也轉換一個新工作,早上7點半要到公司開早會,聽解盤。
    我一個新手媽媽,不懂訣竅,小孩凌晨一點喝奶,清晨五點喝奶,
    我的睡眠時間被分割,新換的業務工作壓力,也常常讓我失眠。
    而我先生依然如常的上下班,我一肩扛起照顧小孩的責任,
    有時凌晨一點起床餵奶同時,還一邊替他準備解酒茶水及熱毛巾,
    因為他剛應酬回家。
     
    小孩四個月大時,他爭取到美國St.
    Jose外訓行程一個月,
    我們發生了很大的爭執,希望他放棄,希望他在家陪我,因為我累了,
    新工作和照顧新生兒的壓力,讓我瘦的比產前還瘦。
    我先生告訴我,我不懂他的志向,像故事中的邱先生,自比為大鳥。
    我含淚讓他去美國,一個人早上送小孩去保母家,下班接回小孩,週末去陪他父母吃飯。
     
    一個月後他回來了,公司Promote他,他志得意滿,人生似乎很平順。
    可是我的身體越來越差,我決定和他一起分攤照顧小孩的工作,
    我請他晚上幫忙照顧小孩,讓我好好睡一個月。
    他答應一個月不應酬,每晚回家帶小孩。
     
    不到一個月時間,有天我早晨醒來,看到他坐在身旁,
    他顯然是很早起床,要不就沒睡,他很慎重的問:
    『老婆我問你,這半年來你照顧小孩,都是這樣睡睡醒醒嗎?』
    我答:『是啊。』
    他問:『妳怎沒說?』
    我答:『我說了,但你體會不到。』
    沉默了一會兒,他說:
    『如果我累了,可辭職回家帶小孩,養家是男人的天職。』
    但我告訴他:『他也不懂我的志向,我和他受同樣的教育,
    我也有自己想要的人生,我也想被認同。』
    《我們是在國外求學時認識,一回國就結婚。》
    他沉默許久,很憐惜的看著我說:『老婆,妳真的好辛苦。』
     
    從此以後,我先生很少應酬,一回家就換下衣服陪小孩。
    但出差到國外還是少不了,我也不再阻止。
    幾年後我們有了第二個兒子,生活更加忙碌,但我們很少爭執,
    因為我們各自在自己崗位上發展,並且互相支援。
     
    這幾年外商漸漸撤離台灣,我先生也面臨短暫失業,有天他對我說:
    『老婆,妳有工作讓我減輕不少壓力,我可以慢慢尋找適合的工作。』
    後來他到一家上市公司負責中國南方的經營策略,常常海峽兩岸奔走,
    我還是一個人接送小孩,一個人上下班,週末陪他父母吃飯。
    最近他有較長的時間在台灣,回想結婚這十年來,
    他像大鵬鳥一樣四處飛翔,剛出社會時覺得太早結婚,
    婚姻某種程度上是他的牽絆,但現在卻老想回家。
    他說走遍世界各地,每到夜晚最想念的還是家裡的大床。
    我倒覺得我先生越來越像我兩個兒子,回到家總愛黏著我。
    我每天回家都聽兒子講學校發生的事,培養和小孩互動機會,
    我先生也急於和我分享他工作上的大小事,我因為從事承銷業務,
    對上市公司財務業務接觸廣泛,也常能提供他一些訊息及建議。
     
    我的感覺是婚姻是兩人Compromise的結果,
    沒有誰是大鳥,誰是小鳥。
    如果你飛的比較快,記得停下來等等對方,兩人要心存感激,互相扶持,
    讓兩人可以飛得久久長長。
    畢竟…能夠一起飛,才是…人生最大的福氣。
     
    『夫子曰:如果你沒有準備好和對方一起走,切勿輕言結婚!』
    夫妻如果沒有共同的理想、抱負,其中一方就會像《良駒》一樣,
    很痛苦地和《一般牛》擠在同一柵欄中吃食;
    而《美麗的鳳凰》,也會很委屈地和《普通雞》一樣,被關在同一籠中餵食。
     
     
    ------------ 幸福思考;聰明行動 ------------
    幸福的保障,不在於別人的承諾,而是自我心態的調整。
    在享受快樂的時候 ,做好擁抱痛苦的心理準備。
    看信是一種幸福、它代表你有空閒
    沒空看信也是一種幸福、它代表你有比看信更重要的事忙著

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

    文章出處:jsGears技術論壇
     

    jQuery 教學 - 基礎篇


    [前言]
    jQuery 是一套 JavaScript 的 Library,因此,你必須稍具 JavaScript 的基礎,至少寫過一些 JavaScript 才比較容易上手,並且看得懂後續的教學。jQuery 的核心程式並非包山包海、什麼都可以幫你做,相反地,jQuery 主要是用在 DOM 文件的操作,包含「快速選取元素(Element)」並且「做一些事情」,快速選取元素可以讓你一次選取單一或多個的元素,然後你可以將這些被選取的元素做一些改變,例如隱藏、顯示等等。此外 jQuery 的核心程式還加強了非同步傳輸(AJAX)以及事件(Event)的功能,讓你更容易操作遠端文件及事件。
    以上看得出來 jQuery 是針對 JavaScript 內在不足的地方加以增進,你仍然需要自己寫一些程式來完成你需要的各種功能,不同的是,正確地使用了 jQuery 可以讓你的程式碼更精簡、更優雅的表達出來,這在後續的範例中可以看到,更重要的是,應該也會讓你更快速的開發出你要的功能。
    或許你會想說,在這個 Web 2.0 的時代,我需要多點漂亮、絢麗的 Widgets 來裝飾我的網站,就像 Yahoo UI 或 ExtJS 提供的那些功能一樣,jQuery 有嗎?其實 jQuery 的設計上有考慮到這類擴展性的問題,目前 jQuery 的 plugin 已經有上百個了,你也不一定要完全自己動手寫,上 jQuery 官方網站找找看,或許你需要的功能別人已經幫你做好了。以 UI 來講, jQuery 跟 UI 相關的 plugins 已經做過了一些整合,目前獨立發佈為 jQuery UI (http://ui.jquery.com/),如果你之前沒聽過 jQuery UI,建議你上去網站上看一下展示的範例,嗯,雖然可能還有一些 bug 存在,但是整體來說已經有相當的水準了,或許你會對 jQuery 更有興趣了。
    以下的教學內容,主要是擷取了 jQuery 作者 John Resig 的一篇簡報 "Building Interactive
    Prototypes with jQuery" 的內容加以調整並註解,希望能以比較忠實的方式來呈現 jQuery 的設計含意。
    [初探]
    jQuery 怎麼用來「快速選取元素」並且「做一些事情」呢?請看看程式碼:





    1. $("div").addClass("special");  
    $("div").addClass("special");

    錢記號 $ 是 jQuery 的物件,使用 $("div") 就是用 jQuery 來選取元素,這個範例可以選取文件內所有的 <div> 元素。後面接著的 .addClass("special") 就是用來做一些事情,這個範例是將先前所選取到的所有元素都加上一個名為 "special" 的 class。也就是透過 $("div").addClass("special") 的語法,可以讓你一次幫文件上有的 <div> 元素都加入 special 的 class。
    請注意喔,剛剛的例子可以針對已選取的多個元素做批次的操作,也就是說如果文件上有三個 <div>,那就會一次找出三個 <div> 並且全部套用後續的動作。這和你原本自己使用 JavaScript 來寫程式有很大的差異,原本自己寫可能會需要用到迴圈之類的語法,而 jQuery 的函數大多具有批次處理的功能,光是這點就可以讓你的程式更簡潔了。
    關於錢記號 $ 將會是你學習及使用 jQuery 的過程中最重要的物件(或者你要把 $ 當成一個函數也可以,事實上也是這樣),使用方式就像剛剛你看到的,用來找元素用的,把參數帶入即可。或許你不習慣錢記號也可以當成函數名稱,那麼你也可以用 jQuery 這個名字,錢記號其實是被當成 jQuery 的縮寫,讓你的函數看起來更簡潔一些,如果你要自己設定另外一個縮寫,例如 $j,也是可以的,這部份後續再解釋,先看看已下的範例,結果將會和上面的範例是一模一樣的:





    1. jQuery("div").addClass("special");  
    jQuery("div").addClass("special");


    [選取元素]


    前面的例子使用 $("div") 來選取元素,帶入的參數 div 是表示你要找的元素,這是 CSS 選擇器(CSS Selector) 的語法,就如同 CSS 在做排版和外觀所使用的選擇器語法一樣。jQuery 所支援的 CSS Selector 包含了 CSS 1、CSS2 以及仍未正式發佈的 CSS3,此外透過 plugin 還可支援常用的 XPath 語法,善用這些 CSS、XPath 語法就可以很容易地找到你要處理的網頁元素,底下來看看更多的範例。
    這是一段原始的 HTML:





    1. <div id="body">  

    2.   <h2>Some Header</h2>  

    3.   <div class="contents">  

    4.     <p>...</p>  

    5.     <p>...</p>  

    6.   </div>  

    7. </div>  
    <div id="body">
      <h2>Some Header</h2>
      <div class="contents">
        <p>...</p>
        <p>...</p>
      </div>
    </div>

    以下用一連串的範例,以藍色字體展示一些基本的語法並且以深色字顯示文件中會被選取的元素。
    $("div")
    <div id="body">
      <h2>Some Header</h2>
      <div class="contents">
        <p>...</p>
        <p>...</p>
      </div>
    </div>

    解釋:選取所有 <div>
    $("#body")
    <div id="body">
      <h2>Some Header</h2>
      <div class="contents">
        <p>...</p>
        <p>...</p>
      </div>
    </div>

    解釋:選取 id 為 body 的元素
    $("div#body")
    <div id="body">
      <h2>Some Header</h2>
      <div class="contents">
        <p>...</p>
        <p>...</p>
      </div>
    </div>

    解釋:選取 id 為 body 的 <div>
    $("div.contents p")
    <div id="body">
      <h2>Some Header</h2>
      <div class="contents">
        <p>...</p>
        <p>...</p>

      </div>
    </div>

    解釋:選取 class 為 contents 的 <div> 所包住的所有下層的 <p>
    $("div > div")
    <div id="body">
      <h2>Some Header</h2>
      <div class="contents">
        <p>...</p>
        <p>...</p>
      </div>
    </div>

    解釋:選取被 <div> 包住的下一層 <div>
    $("div:has(div)")
    <div id="body">
      <h2>Some Header</h2>
      <div class="contents">
        <p>...</p>
        <p>...</p>
      </div>
    </div>

    解釋:和前一個範例相反,這邊是選取至少有包住一個 <div> 的 <div>
    [做一些事情]
    前一段的教學中介紹了如何使用 jQuery 來選取元素,其中大部份的語法都是可以讓你快速地一次選取多個元素,接下來當然就是要來對這些選取到的元素做些改變囉。透過 jQuery 內建的函數,你可以:



    • 對 DOM 進行操作,例如對文件節點的新增或修改
    • 添加事件處理
    • 做一些基本的視覺效果,例如隱藏、顯示、下拉顯示、淡出淡入等等
    • 使用 AJAX 傳送表單內容或取得遠端文件


    [範例1] 選取所有有 target 屬性的 <a>,並且在其節點下加入一段文字。





    1. $("a[target]").append(" (Opens in New Window)");  
    $("a[target]").append(" (Opens in New Window)");

    這是一段原始的 HTML :





    1. <a href="http://jsgears.com">jsGears</a>  

    2. <a href="http://google.com" target="_blank">Google</a>  

    3. <a href="http://amazon.com" target="_blank">Amazon</a>  
    <a href="http://jsgears.com">jsGears</a>
    <a href="http://google.com" target="_blank">Google</a>
    <a href="http://amazon.com" target="_blank">Amazon</a>

    選取有 target 屬性並加入文字後的結果:





    1. <a href="http://jsgears.com">jsGears</a>  

    2. <a href="http://google.com" target="_blank">Google (Opens in New Window)</a>  

    3. <a href="http://amazon.com" target="_blank">Amazon (Opens in New Window)</a>  
    <a href="http://jsgears.com">jsGears</a>
    <a href="http://google.com" target="_blank">Google (Opens in New Window)</a>
    <a href="http://amazon.com" target="_blank">Amazon (Opens in New Window)</a>

    [範例2] 選取 id 為 body 的元素,並且修改兩個 css 屬性。





    1. $("#body").css({   

    2.   border: "1px solid green",   

    3.   height: "40px"  

    4. });  
    $("#body").css({
      border: "1px solid green",
      height: "40px"
    });

    這是一段原始的 HTML :





    1. <div id="body">  

    2.   ...   

    3. </div>  
    <div id="body">
      ...
    </div>

    選取 id 為 body 的元素並修改 css 後的結果(示意):





    1. <div id="body" style="border: 1px solid green; height: 40px">  

    2.   ...   

    3. </div>  
    <div id="body" style="border: 1px solid green; height: 40px">
      ...
    </div>

    [範例3] 在網頁上的表單送出時加入一個判斷,如果 username 這個欄位是空值的話,就顯示 help 這個區塊內的文字。





    1. $("form").submit(function() {   

    2.   if ($("input#username").val() == "")   

    3.     $("span.help").show();   

    4. });  
    $("form").submit(function() {
      if ($("input#username").val() == "")
        $("span.help").show();
    });

    可作用在類似以下的 HTML,一開始 span.help 是隱藏的,如果沒有輸入 username,才會顯示:





    1. <style type="text/css">  

    2.   .help {display: none}   

    3. </style>  

    4. <form>  

    5.   <label for="username">請輸入大名</label>  

    6.   <input type="text" id="username" name="username" />  

    7.   <span class="help">這個欄位必填喔</span>  

    8. </form>  
    <style type="text/css">
      .help {display: none}
    </style>
    <form>
      <label for="username">請輸入大名</label>
      <input type="text" id="username" name="username" />
      <span class="help">這個欄位必填喔</span>
    </form>

    [範例4] 當 user 點選 id 為 open 的連結時,顯示 id 為 menu 的區塊,並回傳 false 避免瀏覽器真的換頁。





    1. $("a#open").click(function() {   

    2.   $("#menu").show();   

    3.   return false;   

    4. });  
    $("a#open").click(function() {
      $("#menu").show();
      return false;
    });

    可作用在類似以下的 HTML:





    1. <style type="text/css">  

    2.   #menu {display: none}   

    3. </style>  

    4. <a id="open" href="#">控制面板</a>  

    5. <ul id="menu">  

    6.   <li><a href="#1">控制面板首頁</a></li>  

    7.   <li><a href="#2">編輯個人資料</a></li>  

    8.   <li><a href="#3">個人空間管理</a></li>  

    9. </ul>  
    <style type="text/css">
      #menu {display: none}
    </style>
    <a id="open" href="#">控制面板</a>
    <ul id="menu">
      <li><a href="#1">控制面板首頁</a></li>
      <li><a href="#2">編輯個人資料</a></li>
      <li><a href="#3">個人空間管理</a></li>
    </ul>

    [範例5] 將 id 為 menu 的區塊以下拉布幕的動態效果快速顯示:





    1. $("#menu").slideDown("fast");  
    $("#menu").slideDown("fast");

    可作用在類似以下的 HTML,原本隱藏的選單會以動態下拉的方式顯示出來:





    1. <style type="text/css">  

    2.   #menu {display: none}   

    3. </style>  

    4. <ul id="menu">  

    5.   <li><a href="#1">控制面板首頁</a></li>  

    6.   <li><a href="#2">編輯個人資料</a></li>  

    7.   <li><a href="#3">個人空間管理</a></li>  

    8. </ul>  
    <style type="text/css">
      #menu {display: none}
    </style>
    <ul id="menu">
      <li><a href="#1">控制面板首頁</a></li>
      <li><a href="#2">編輯個人資料</a></li>
      <li><a href="#3">個人空間管理</a></li>
    </ul>

    [範例6] 將所有的 <div> 漸變為寬 300px、文字與邊界寬 20px





    1. $("div").animate({   

    2.     width: '300px',   

    3.     padding: '20px'  

    4.   }, 'slow');  
    $("div").animate({
        width: '300px',
        padding: '20px'
      }, 'slow');

    可作用在類似以下的 HTML:





    1. <div style="width: 100px; border: solid 1px red;">  

    2.   Hello world!   

    3. </div>  
    <div style="width: 100px; border: solid 1px red;">
      Hello world!
    </div>

    PS. jQuery 核心程式的 animate 函數能改變的元素屬性並不多,但是可以透過其他 plugin 提供更多的動態效果。
    [範例7] 動態效果的 callback 的範例,將所有的 <div> 以 0.5 秒的動態效果隱藏後,再以 0.5 秒的動態效果顯示。hide() 的第二個參數就是一個 callback 函數,其中 $(this) 是原本程式所處理的各個元素。





    1. $("div").hide(500, function(){   

    2.   // $(this) 是每一個各別的 <div>   

    3.   $(this).show(500);   

    4. });  
    $("div").hide(500, function(){
      // $(this) 是每一個各別的 <div>
      $(this).show(500);
    });

    可作用在類似以下的 HTML:





    1. <div style="width: 100px; border: solid 1px red;">  

    2.   Hello world!   

    3. </div>  

    4. <div style="width: 100px; border: solid 1px red;">  

    5.   jsGears.com!   

    6. </div>  
    <div style="width: 100px; border: solid 1px red;">
      Hello world!
    </div>
    <div style="width: 100px; border: solid 1px red;">
      jsGears.com!
    </div>

    [範例8] 取得 sample.html 並將找出文件內所有 <div> 下一層的 <h1> 填入原本文件 id 為 body 的元素內





    1. $("#body").load("sample.html div > h1");  
    $("#body").load("sample.html div > h1");

    這是一段原始的 HTML :





    1. <div id="body"></div>  
    <div id="body"></div>

    sample.html 的片段:





    1. <div>  

    2.   <h1>Hello world!</h1>  

    3.   <h2>This is H2</h2>  

    4.   <h1>jsGears.com!</h1>  

    5. </div>  
    <div>
      <h1>Hello world!</h1>
      <h2>This is H2</h2>
      <h1>jsGears.com!</h1>
    </div>

    執行程式碼之後的結果:





    1. <div id="body">  

    2.   <h1>Hello world!</h1>  

    3.   <h1>jsGears.com!</h1>  

    4. </div>  
    <div id="body">
      <h1>Hello world!</h1>
      <h1>jsGears.com!</h1>
    </div>

    [範例9] 透過 getJSON() 取得 JSON 格式的資料,並透過 callback 函數處理資料





    1. $.getJSON("test.json"function(data){   

    2.   for (var idx in data)   

    3.     $("#menu").append("<li>" + data[idx] + "</li>");   

    4. });  
    $.getJSON("test.json", function(data){
      for (var idx in data)
        $("#menu").append("<li>" + data[idx] + "</li>");
    });

    這是一段原始的 HTML:





    1. <ul id="menu">  

    2.   <li>項目1</li>  

    3. </ul>  
    <ul id="menu">
      <li>項目1</li>
    </ul>

    test.json 的內容:





    1. [   

    2.   "Hello world!",    

    3.   "jsGears.com!"  

    4. ]  
    [
      "Hello world!",
      "jsGears.com!"
    ]

    執行程式碼之後的結果:





    1. <ul id="menu">  

    2.   <li>項目1</li>  

    3.   <li>Hello world!</li>  

    4.   <li>jsGears.com!</li>  

    5. </ul>  
    <ul id="menu">
      <li>項目1</li>
      <li>Hello world!</li>
      <li>jsGears.com!</li>
    </ul>


    [連續使用函數]
    jQuery 很重要的一個特性是可以連續地使用函數(Chaining),當你選取了一個或一組的元素後,可以連續對這些元素進行多個處理。以下範例會將所有的 <div> 隱藏,修改文字顏色為藍色,再將 <div> 以下拉布幕的效果顯示出來:





    1. $("div").hide();   

    2. $("div").css("color""blue");   

    3. $("div").slideDown();  
    $("div").hide();
    $("div").css("color", "blue");
    $("div").slideDown();

    這樣的三行程式碼可以用以下一行的程式碼取代,結果會是完全相同的:





    1. $("div").hide().css("color""blue").slideDown();  
    $("div").hide().css("color", "blue").slideDown();

    是否感到很神奇呢?在 jQuery 的架構設計上,大部分的函數都會在處理完該做的事情後,再將原本傳入的元素給回傳回去,因此函數都可以連續這樣一個接著一個的使用。還記得一開始所說的 jQuery 可以讓你的程式碼更精簡嗎?看了上面的一些範例後,現在應該有點感覺了吧。
    講到 jQuery 的函數連續使用,有兩個很重要的函數必須在此介紹一下。第一個是 end(),這個函數執行後,會回傳「前一組找到的元素」。另一個是 find(),這個函數的用法如同使用 $() 找文件內的元素一樣是帶入 CSS 選擇器,執行後回傳找到的元素,不同的是 $() 是找整個文件,而 find() 是根據先前找到的元素再找其底下的元素,像是一個再過濾的功能。





    1. $("ul.open")                // [ ul, ul, ul ]   

    2.   .children("li")           // [ li, li, li ]   

    3.   .addClass("open")         // [ li, li, li]   

    4.   .end()                    // [ ul, ul, ul ]   

    5.   .find("a")                // [ a, a, a ]   

    6.   .click(function(){   

    7.     $(this).next().toggle();   

    8.     return false;   

    9.   })                        // [ a, a, a ]   

    10.   .end();                   // [ ul, ul, ul ]  
    $("ul.open")                // [ ul, ul, ul ]
      .children("li")           // [ li, li, li ]
      .addClass("open")         // [ li, li, li]
      .end()                    // [ ul, ul, ul ]
      .find("a")                // [ a, a, a ]
      .click(function(){
        $(this).next().toggle();
        return false;
      })                        // [ a, a, a ]
      .end();                   // [ ul, ul, ul ]

    上面這一段程式碼連續使用多個函數,且透過 end() 和 find() 來分別對不同的元素進行操作,詳細的步驟解釋如下:



    • 找出文件內所有 class 為 open 的 <ul>
    • 過濾出下一層的所有 <li>
    • 對這些 <li> 新增一個 class
    • 回前一次搜尋的結果,也就是所有的 <ul>
    • 再找出底下所有的 <a>
    • 對 <a> 新增事件處理
    • 回前一次搜尋的結果

    [document ready 事件]
    有些時候,我們必須在網頁下載完成之後立即執行一些程式,可能是想要把游標放在預設的輸入框,或是馬上顯示一些歡迎訊息等等。過去你可能用過 window.onload 來處理,或是直接在 <body> 標籤上加入 onload 的事件處理函數,但是 jQuery 提供了另一種選擇,請參考下面的範例:





    1. $(document).ready(function() {   

    2.   alert('您好,歡迎來到 jsGears.com ~');   

    3. });  
    $(document).ready(function() {
      alert('您好,歡迎來到 jsGears.com ~');
    });

    先透過 $() 取得 document 物件,接著使用 ready() 帶入一個函數,就可以在網頁下載完成後立即執行。jQuery 的 document ready 事件是模擬 W3C DOM 標準的 DOMContentLoaded 事件,DOMContentLoaded 和 window.onlad 的差異在於前者是在 DOM 文件下載完成後觸發,而後者是文件和所有文件內的元件,包含圖檔等等全部下載完成後才會觸發,因此通常 window.onload 的發生時間要比 DOMContentLoaded 晚一點(如果你的網頁內確實有用到一些圖檔),有時候你所需要執行的程式並不需要等所有圖檔都下載完成,因此,放到 DOMContentLoaded 事件內處理是比較合適的。但是,IE 目前的版本 6 和 7 並不支援 DOMContentLoaded 事件,所以 jQuery 用了一些技巧來達到模擬 DOMContentLoaded 的事件,而成果就是上面看到的這個例子的用法。
    DOMContentLoaded 和 window.onlad 的另一個差異在於 window.onload 並沒有辦法多次指定不同的函數來執行,最後指定的那個函數會複寫掉先前的,例如以下範例:





    1. window.onload = function() {   

    2.   alert('Hello world!');   

    3. };   

    4. window.onload = function() {   

    5.   alert('您好,歡迎來到 jsGears.com ~');   

    6. };  
    window.onload = function() {
      alert('Hello world!');
    };
    window.onload = function() {
      alert('您好,歡迎來到 jsGears.com ~');
    };

    上面的例子在同一個頁面上用了兩次 window.onload,結果將會是後面的函數會被執行到,前面的函數將消失無影蹤,當然,只要你稍具 JavaScript 處理 Event 的技巧,真要連續指定兩個函數來執行也不是太困難,不過用 jQuery 會更容易,看看以下相同的範例:





    1. $(document).ready(function() {   

    2.   alert('Hello world!');   

    3. });   

    4. $(document).ready(function() {   

    5.   alert('您好,歡迎來到 jsGears.com ~');   

    6. });  
    $(document).ready(function() {
      alert('Hello world!');
    });
    $(document).ready(function() {
      alert('您好,歡迎來到 jsGears.com ~');
    });

    相同的例子使用 jQuery 的 document ready 函數,則帶入的兩個函數都會被執行到,很簡單吧,完全不需用到什麼技巧。再提供一個精簡的語法, document ready 函數也可以這樣用:





    1. $(function() {   

    2.   alert('您好,歡迎來到 jsGears.com ~');   

    3. });  
    $(function() {
      alert('您好,歡迎來到 jsGears.com ~');
    });

    直接把函數放到 $() 裡面就可以了,是不是超精簡啊。
    [$() 別名]
    前面用到了很多 $(),包含剛介紹的 document ready 及先前的選取功能,都是透過這個簡短的錢記號來達成,其實這個錢記號是 「jQuery」這個物件的縮寫,也就是剛剛所有你看到用 $() 的地方,都可以改寫成用 jQuery(),例如:





    1. jQuery(document).ready(function() {   

    2.   jQuery("div").addClass("special");   

    3. });  
    jQuery(document).ready(function() {
      jQuery("div").addClass("special");
    });

    沒事應該不會有人想用比較長的名稱來寫程式,簡短的 $ 不是挺好的。但是,某些情況可能你無法使用 $(),例如你進行中的專案已經使用了其他的 JavaScript Library,而 $ 這個名稱已經被使用了,例如另一套知名的 prototype,也使用了 $() 這樣的函數名稱,這時如果你需要再搭配使用 jQuery 的話,jQuery 本身有提供一個方式來避免 $() 的衝突:





    1. jQuery.noConflict();   

    2. jQuery(document).ready(function() {   

    3.   jQuery("div").addClass("special");   

    4. });  
    jQuery.noConflict();
    jQuery(document).ready(function() {
      jQuery("div").addClass("special");
    });

    使用 jQuery 前,先下達 jQuery.noConflict() 這樣就可以避免掉 $() 衝突的問題,接著再用 jQuery 物件來進行操作即可。此外,你也可以自行幫 jQuery 這個物件設定另一個別名,例如:





    1. var $j = jQuery.noConflict();   

    2. $j(document).ready(function() {   

    3.   $j("div").addClass("special");   

    4. });  
    var $j = jQuery.noConflict();
    $j(document).ready(function() {
      $j("div").addClass("special");
    });

    使用一個變數來接 jQuery.noConflict() 的回傳值,這個變數就可以做為 jQuery 的一個別名,透過這個別名不但避免了和其他 Library 錢記號的衝突,也可以將函數名稱縮短,算是 jQuery 一個蠻貼心的設計。

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

    文章出處:牛頭牌...
     

    「小外甥在學校闖禍了!」接到爸爸的電話。


    什麼事啊?!」我問。


    「聽說把小朋友打到流鼻血啦!」


    爸爸有些緊張,他要我立即前往學校了解情況並處理。


    我一直很疼小外甥,他個性很憨厚,為何會出手打人呢?我實在搞不懂!


    於是立即放下手邊工作,逕往學校去……


    進導師辦公室時,映入眼簾的是:


    我的大姊一直彎腰卑恭的向對方家長道歉


    但是對方家長似乎完全不領情,脾氣火得像什麼似的


    對方家長還一直說要找警察來,一定要把小外甥關起來!!!


    看看站在一旁的小外甥,他的臉色鐵青,一肚子火氣,


    我知道他從小的脾氣就是拗,但是從來不和人惡搞的!


    他今天動手打人,我相信一定有他的原因


     


    我一進去導師室,什麼話都懶得說,直接抱起了小外甥,說:


    不要怕!舅舅來了!你什麼話都可以說!


    這時小外甥終於忍不住哭了起來


    打人就不對了!說什麼說!還有臉哭?!』對方家長劈頭就這樣堵我!


    我火氣也來了,決定嚇對方一下,開口就操台語開罵


    幹!你是三小!沒看見恁倍在教厝裡的小孩講實話喔?!


    你不滿的話,去傳人過來!


    恁倍最看不起不懂事理就說:打人就不對ㄟ人!


    對方先是愣住了!頓時聲音變得一片寧靜


    (看來,社會上多數還真的欺負善良的人!)


    打破沉寂,直接問老師發生事情的原委!


    沒想到老師也說不出所以然(這時候我的火氣真的來了),


    於是我讓小外甥告訴大家為何他要打人!


    同時我要求被打的小朋友一起站在老師面前,要他們當面對質!


     


    『美術課,我在做我的勞作啊!』


    『他很沒禮貌,過來借我的東西都不說一下!』


    『但是我不想要借他啊!』


    『他每次向人家借東西都不還,也不會珍惜!』


    『今天他拿了我的萬能糊就跑!我就衝過去要拿回來!』


    『但是他都不還我,我也搶不回來!』


    『他突然把我的萬能糊往窗外丟,別的同學幫我撿起來!』


    『他還用很難聽的話一直罵我


    『我叫他不要再亂罵,他就對我比中指,還向我吐口水指著自己的鞋子。


    『所以我生氣就一拳打過去


    『他流鼻血了


    小外甥低著頭,很後悔的表情。


    …………………


    ……………………………


    ……………………………………………


    當小外甥敘述過程的同時,我一直盯著這個小朋友和家長,


    並不斷確認對方的反應,其實我完全相信小外甥不會亂說


     


    我回頭問挨打的小朋友:『那時候老師呢?!


    「上廁所」他小聲的說。


    他講的有沒有不對的呢?!』我接著問。


    「我有跟他借啊!」他反駁。


    借個萬能糊也沒什麼啊』對方家長從旁幫腔。


    但是他有答應要借你嗎?!』我不讓他閃躲,他回答不上來


    小氣!借我們不就好了嗎?!』對方家長這時理直氣壯的說。


    我狠狠的瞪了對方家長一眼,這下真的是秀才遇到兵了


    知道不來些突然的手腕可能沒完沒了,立即轉頭告訴老師:


    既然家長這麼喜歡請警察來,


    還是請你撥電話請東門派出所的員警先生來一趟好了!


    這句話一出來,全部的人都愣住了!(包括對方家長)


    接著我緩緩的說:


    今天我們的小孩的確打人,犯了錯,實在傷害了同學!


    我們願意就法律層面完全負責,包括醫療賠償


    但沒經過別人的同意,私下拿就是,公開強取就是


    畢竟起因是對方強奪我們的物品,我們絕對不會放過!


    搶奪他人財物屬於公訴罪,屬於非告訴乃論,一經提告就無法撤銷!


    未來提告的話,那個部分請他們自己負責!我就此先聲明!


    知道自己語氣說得很緩,但是絕對有很強的殺傷力!


     


    老師當然不願意打這通電話,立即出來緩頰


    但是我態度非常堅持,我說:


    既然你們讓我出來處理,對方家長也只認為是我們家的小孩很小氣,


    似乎所有的錯都是我們造成的!我們何必再多有爭執呢?!


    讓這件事直接交給司法公正單位處理,對大家不是另一種學習嗎?!


    頓時對方家長突然像洩了氣的皮球,不能再多說什麼


    趁著氣勢正強,我直接補了一句:


    還是不要麻煩警察先生來這兒好了,我們一起前往警察局,好嗎?!


    我直接走向對方家長面前,正式的邀約


     


    半响,對方家長看著我說:『有這麼嚴重嗎?!


    情勢演變讓我覺得對我方有利,但必須忍著些,我皺著眉頭說:


    我不知道!


    因為是你們的態度讓我覺得很嚴重啊!!!


    要找警察來,是你們先提出來的!


    一定要關我們家的小孩,也是你們堅持的!


    換作是你,不嚴重嗎?!


    只是我覺得來龍去脈既然我們都清楚了,我也認為必須採取行動啊!


    我不袒護自己的小孩,他有錯,就該承擔受罰!


    但起因是你們的小孩搶奪,我也必須讓我的小孩知道我行事公正!


    是非對錯我們何必再浪費彼此的時間,私下在這兒討論個沒完沒了呢?!


    讓法官和執法單位來教育我們的小孩,難道不好嗎?!


    …………………..


    空氣又凝結了起來………….


     


    對方的媽媽突然問我:『你要告我們什麼?


    搶劫搶奪吧?!我再問一下律師會好一些!』我故意說嚴重些


    我看見他們已經在計算如果我這樣一告的話,他們會很麻煩


    頓時決定來個火上加油的手腕,


    把胸前的錄音機(當時只有小型錄音機)拿出來,對他們說:


    從我進這個門,我們所有對話我都錄下音,需要時可提供法官參考!


    我知道這個動作是很具有挑戰性的,


    通常的人一旦面對麥克風或者錄音、錄影時,都會收斂許多


    我看他們立即壓低聲音討論起來,然後對我很防備


     


    趁著對方陷入抉擇與討論之際,我看著小外甥說:


    你覺得你自己有錯嗎?!


    他點點頭。


    你覺得你應該怎麼辦呢?!』我問他。


    『道歉……!!!』他小聲的說。


    但是不是做錯事情,靠著道歉都可以解決啊!你知道嗎?!』我補充。


    大姊在一旁著急,但是我請她把事情交給我,不要再表示任何意見


     


    你們討論結果如何呢?!我們可以一起去警察局了嗎?!


    我再次邀約對方家長。


    有其他方式解決嗎?!』這時對方爸爸口氣委婉許多。


    你說呢?!我想聽聽你的意見!!!』我回答。


    你們的小孩向我們道歉!這件事就算了!


    他似乎認為這是解決的方式,而且說得有些勉強


    在一旁的老師似乎認為這很合理,還猛然點頭


    結果,我直接拒絕,說:


    不!!!


    這個拒絕一出現,大家又都愣住了


    為什麼?!』對方家長認為我很無禮拒絕他們的善意。


    我清了清喉嚨,說:


    該道歉的不應該只有我們家的小孩!


    起因是誰呢?!你認為你們的小孩沒有錯嗎?!


    請不要告訴我:被打和流血的人已經夠可憐了,所以可以免責!


    那麼你認為該如何?!』對方家長問。


    我知道他是壓抑著火氣,也知道他有些小來頭


    你們的小孩也必須道歉!』我認真的說。


    我看見他鐵綠著臉的表情實在很好玩,於是補充一句:


    還要正式寫和解書,請老師當第三公證人!


    此話一出,相信大家都會認為我不通情理,其實這是為了避免未來產生麻煩。


     


    事情的結局就是如我的要求:


    一、這2個小孩彼此道歉,互相寫一份道歉卡給對方。


    二、雙方家長簽立和解書,老師當公證人。


    三、此間醫療費用憑收據由我方支付。(其實也不需要看醫生,所以免付)


    *****************************************


    後來回到大姐家時,我問她:『為什麼妳要道歉?!』


    她說:『對方家長很兇,對方小孩也流鼻血!』


    後來我們聊很多,我略作整理如下:(僅供大家參考)


    一、『闖禍』有時是一種無價的學習


    1.不要讓小孩子因此退縮了!


    2.即使在外頭打架,先問清楚原因!(不要急著揍小孩,這也是一種教育!)


    3.有時候我還會告訴自己的小孩:『打得好!』『我也一樣會忍不住去K他!


    4.但是事後等小孩心平氣和之後再引導:如果重來一次,有其他方式嗎?!


    5.不論如何,當家長的心情必須很平緩!


    二、即使小孩真的犯錯了,家長不必急著去道歉:


      1.又不是家長犯錯,所以請家長不必『強出頭』吧!


      2.要道歉的是小孩子,所以小孩必須在過程中了解『錯在哪』!


      3.如果家長一直搶著道歉,就等於幫小孩子到處在「擦屁股」!會養成小孩倚賴!


      4.『不積極作為』其實就是一種『作為』,但是家長必須耐住火候


      5.引導小孩子從單一事件,了解到「如果再有近似的情況,該怎麼辦!?」


      6.讓小孩子自己知進退,這才是教育!(壓抑不是唯一或者最棒的管教方式)


    三、家長必須多為自己打氣與加油:


      1.全家人的『健康』必須排在第一位!


      2.『成績』必須排在『品格』的後面!(太多家長排錯了!)


      3.多找機會和小朋友聊天!(543的亂哈啦也很好!)


      4.不要讓自己當『一輩子』的家長!當小孩25歲之後,該當朋友比較好!


      5.不要把小孩子的問題『放大』!但要將他們的『放大』!


      6.常常給自己加油一番!


      7.『家』是最好的一個一個倚靠!向著家人要能夠敞開!


      8.好朋友之間也常常一起互相鼓舞!


     


    【補充】:


    本文只是描述一段過去發生的事情,絕無批評的意思


    但是我後來發現:「把談判朝向破局的方式來談,不失為一個好方向!」

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

    文章出處:網路上
     
    (這是一個年薪200萬的竹科高階主管與大家分享的心得。)
    當我女朋友告訴我,要走出來學習成長、找備胎時,我心想我的工作這麼好了,還要出來學什麼,找什麼備胎?

    我的女友看到了我看不到的危機,便告訴我
    你的工作非常的好,但是拿掉你的專業,你剩什麼?


    她講了一個故事:
    有一隻海螺,常看到漁夫拿著長長的釣竿要釣他,每當他看到這危機時,他的頭就縮進去他認為十分安全的殼內,躲避一切。

    隔了幾天,他想伸出頭來看看風景,呼吸一下空氣。
    他突然發現周遭環境變的都不太一樣了,他身處在一家海產店,外面標價:50元。

    我就像這個海螺,遇到困難都躲起來。在老闆眼中,也只是一個價錢。

       

    我的女友又說:在順境時找出路比在逆境時找退路還來的簡單。

    在我上班的公司
    ,若有一個人要升遷,要三位主管聯合視訊開會,
    其中一位主管得報告為何要讓他升遷,有2/3的人通過,那被提名的人才可以升遷。

    上個月,我有位部屬因為工作表現不佳,副總一句話,他就走路。
    升遷要很多人同意,可是離職卻只是一個人講就得走。

    我們的未來就掌握在一個人的二片薄薄的嘴唇上。
    但是透過女友的一句話
    ,我讓我的未來掌握在自已手中。

    她說:
    如果你認為你是個人才,那你要放在對的舞台,不然老闆會把你當木材燒

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

    文章出處:The Will Will Web
     

    以下共有兩支程式  BackupAllDB.bat 與 BackupScript.bat,最後還有批次檔的參考網址與部分說明。



    BackupAllDB.bat 用來定義你要備份哪幾個資料庫,需呼叫 BackupScript.bat 執行備份動作!


    BackupScript.bat 用來執行備份的動作


    檔案如下: 



    BackupAllDB.bat
    ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■


    @echo off


    set DBList=Northwind DBname2  DBName3
    for %%a IN (%DBList%) DO (
        CALL BackupScript.bat %%a
    )


    echo ----------------
    echo 資料庫備份檔完成
    echo ----------------


    pause



    BackupScript.bat
    ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■


    @echo off
    ::
    :: 預設的 %BackupFile% 為「一天備份一次」的檔名
    ::


    ::■■■■■■■■■■■■■■■■■
    ::             基本需求
    ::■■■■■■■■■■■■■■■■■
    ::
    :: 1. 要安裝 7-zip 壓縮軟體(可不裝)
    :: 2. 預設資料庫備份目錄夾在 C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup (此為SQLExpress預設目錄,可修改)
    :: 3. 資料庫備份目錄夾必須可讓 SQLExpress / SQL 2005 的服務執行帳戶有寫入權限!
    :: 4. 預設是使用「信任式連線」
    ::
    ::■■■■■■■■■■■■■■■■■
    ::             參數設定
    ::■■■■■■■■■■■■■■■■■


    :: 備份資料夾目錄 ( 最後「不要」加上斜線 )
    set BackupDir=C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup
    :: 封存資料夾
    set ArchiveDir=\\SomeOtherNetworkShare\SQLDBBackup
    :: 資料庫名稱 ( 由指令參數傳入 )
    set DBName=%1
    :: 資料庫位址
    set DBHost=(local)\SQLExpress
    :: 壓縮檔(7-zip)位址
    set ZipProgram="c:\Program Files\7-Zip\7z.exe"


    ::■■■■■■■■■■■■■■■■■
    ::          取得日期時間
    ::■■■■■■■■■■■■■■■■■


    :: Setting environment variables with todoy's date values
    for /f "tokens=1-4 delims=-/ " %%i IN ('date /t') DO (
    set year=%%i
    set month=%%j
    set day=%%k
    )


    for /f "tokens=1-3 delims=:" %%i IN ('time /t') DO (
    set hour=%%i
    set minute=%%j
    )


    for /f "tokens=1 delims= " %%i IN ("%hour%") DO (
    set hour=%%i
    )


    ::■■■■■■■■■■■■■■■■■
    ::           設定備份檔名
    ::■■■■■■■■■■■■■■■■■


    :: 備份的檔名
    set BackupFile=%BackupDir%\%DBName%_%year%-%month%-%day%.bak


    ::■■■■■■■■■■■■■■■■■
    ::             執行備份
    ::■■■■■■■■■■■■■■■■■


    IF "%DBName%" NEQ "" goto ExecuteBackup
        echo ■■■■■■■■■■■■■■■■■■
        echo ★★★★★未指定資料庫名稱★★★★★
        echo ■■■■■■■■■■■■■■■■■■
        pause
        exit 0


    :ExecuteBackup


    echo === 備份 %DBName% 資料庫
    echo ---------------------------------------------------------------------------


    echo 執行備份到 %BackupDir%
    ::echo sqlcmd -S %DBHost% -E -Q "BACKUP DATABASE [%DBName%]  TO DISK='%BackupFile%'"
    sqlcmd -S %DBHost% -E -Q "BACKUP DATABASE [%DBName%]  TO DISK='%BackupFile%'"


    IF EXIST %ZipProgram% goto CheckBackupFile
        echo ■■■■■■■■■■■■■■■■■
        echo ★★★★★備份資料庫失敗★★★★★
        echo ■■■■■■■■■■■■■■■■■
        pause
        exit 0
    :CheckBackupFile


    ::■■■■■■■■■■■■■■■■■
    ::   壓縮資料庫備份檔 ( 7z 格式 )
    ::■■■■■■■■■■■■■■■■■


    IF NOT EXIST %ZipProgram% goto ZipBackupFile
        :: 7z a -mx=9 "%year%-%month%-%day%-%hour%-%minute%.7z" %workspace%
        echo ----------------
        echo 壓縮資料庫備份檔
        %ZipProgram% a -mx=9 "%BackupFile%.7z" "%BackupFile%" > nul
    :ZipBackupFile


    ::■■■■■■■■■■■■■■■■■
    ::         刪除資料庫備份檔
    ::■■■■■■■■■■■■■■■■■


    set ZipBackupFile=%BackupFile%.7z
    ::echo %ZipBackupFile%


    IF NOT EXIST "%ZipBackupFile%" goto DeleteBackupFile
        echo ----------------
        echo 刪除資料庫備份檔(僅留下壓縮檔即可)
        del "%BackupFile%"
    :DeleteBackupFile


    ::■■■■■■■■■■■■■■■■■
    ::   搬移資料庫備份檔到封存資料夾
    ::■■■■■■■■■■■■■■■■■


    if "%ArchiveDir%" EQU "" goto MoveToArchiveEnd


        IF NOT EXIST "%BackupFile%.7z" goto NoZippedBackupFile
            echo ----------------
            echo 搬移資料庫備份檔到封存資料夾 "%ArchiveDir%"
            move "%BackupFile%.7z" "%ArchiveDir%"
        :NoZippedBackupFile
       
        IF NOT EXIST "%BackupFile%" goto NoBackupFile
            echo ----------------
            echo 搬移資料庫備份檔到封存資料夾 "%ArchiveDir%"
            move "%BackupFile%" "%ArchiveDir%"
        :NoBackupFile


    :MoveToArchiveEnd


    echo ---------------------------------------------------------------------------


     


    參考資料



    Batch File Command Reference for Windows 2000
    http://labmice.techtarget.com/articles/batchcmds.htm


    Batch FOR loops
    http://www.robvanderwoude.com/index.html


    % (variable)


    %0          代表正在執行的這支 Batch 檔名
    %1 to %9    代表傳入的指令列參數

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

    文章出處:Weithenn Study Daily
     
    【前言】
    若您所建立的 DNS Service 未跟 Active Directory 整合,則您建立的 DNS 為標準主要區,若是跟 Active Directory 整合則為 Active Directory 整合主要區,本文為說明備份 DNS 標準主要區。
  • DNS 未跟 AD 整合:標準主要區
  • DNS 跟 AD 整合:Active Directory 整合主要區

  • 如何備份 DNS 標準主要區?
  • 備份二處機碼 (Registry)

    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DNS Server
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS

  • 備份 .dns 檔案

    • C:\Windows\System32\DNS 下

    如何還原 DNS 標準主要區?
  • 停止 DNS Service
  • 匯入備份的機碼 (Registry)
  • 貼上所複製的 .dns 檔案至 C:\Windows\System32\DNS 下
  • 啟動 DNS Service

  • 【作業環境】
    Windows Server 2003
    【自動備份 DNS 實作】
    您可將下面內容貼至筆記本後存檔為 .bat 並配合排定的工作來達成自動備份 DNS 標準主要區資料的目的。
    實作、利用 xcopy、regedit 指令來自動備份 DNS 標準主要區
  • 匯出 DNS 機碼:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DNS Server
  • 匯出 DNS 機碼:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS
  • DNS 標準主要區備份來源: C:\WINDOWS\system32\dns
  • DNS 標準主要區備份至: D:\dns\當天日期\
  • 備份時 Log 寫入至: D:\log\reg\當天日期.log
  • 備份使用指令: xcopy /S (/S 複製每個目錄及其包含的子目錄,不複製空目錄)



  • rem ----- 將匯出機碼時間寫入 log 紀錄中 -----
    echo 開始匯出機碼及複製 .dns >> D:\log\reg\%date:~0,4%%date:~5,2%%date:~8,2%.log
    TIME /T    >> D:\log\reg\%date:~0,4%%date:~5,2%%date:~8,2%.log
    rem ----- 開始匯出機碼及複製 .dns -----
    rem /S 複製每個目錄及其包含的子目錄,不複製空目錄
    C:\WINDOWS\regedit.exe /e D:\dns\%date:~0,4%%date:~5,2%%date:~8,2%\DNS_Server.reg "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DNS Server"
    C:\WINDOWS\regedit.exe /e D:\dns\%date:~0,4%%date:~5,2%%date:~8,2%\DNS.reg "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS"
    xcopy C:\WINDOWS\system32\dns D:\dns\%date:~0,4%%date:~5,2%%date:~8,2%\ /S >> D:\log\reg\%date:~0,4%%date:~5,2%%date:~8,2%.log
    rem ----- 將結束匯出機碼及複製 .dns時間寫入 log 紀錄中 -----
    echo 結束匯出機碼及複製 .dns >> D:\log\reg\%date:~0,4%%date:~5,2%%date:~8,2%.log
    TIME /T    >> D:\log\reg\%date:~0,4%%date:~5,2%%date:~8,2%.log



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

    文章出處:Weithenn Study Daily
     
    排程於每天凌晨一點利用備份批次檔(webbk.bat),定期壓縮備份網頁目錄 (web01 ~ web05) 至 D:\Web_Backup 資料夾內,以下為 webbk.bat 內容說明:


     mkdir "%date:~0,4%%date:~5,2%%date:~8,2%"                                    //建立以日期命名的資料夾
    "C:\Program Files\7-Zip\7z.exe" a -t7z web01.7z "C:\Webroot\web01"            //壓縮指定資料夾
    "C:\Program Files\7-Zip\7z.exe" a -t7z web02.7z "C:\Webroot\web02"
    "C:\Program Files\7-Zip\7z.exe" a -t7z web03.7z "C:\Webroot\web03"
    "C:\Program Files\7-Zip\7z.exe" a -t7z web04.7z "C:\Webroot\web04"
    "C:\Program Files\7-Zip\7z.exe" a -t7z web05.7z "C:\Webroot\web05"
    move "D:\Web_Backup\*.7z" "D:\Web_Backup\%date:~0,4%%date:~5,2%%date:~8,2%"  //搬移所有的壓縮檔至指定的資料夾



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


    文章出處:簡睿隨筆 《科技篇》


    7z.exe的命令語法如下:


    7z 命令 [選項] 壓縮檔名 要處理的檔名列

    命令:有a,d,e,l,t,u, x等幾個命令。




































    aAdd將檔名列中的檔案加入壓縮檔-i (Include)
    -m (Method)
    -p (Set Password)
    -r (Recurse)
    -sfx (create SFX)
    -si (use StdIn)
    -so (use StdOut)
    -t (Type of archive)
    -u (Update)
    -v (Volumes)
    -w (Working Dir)
    -x (Exclude)
    dDelete將指定檔名由壓縮檔內移除

    -i (Include)
    -m (Method)
    -p (Set Password)
    -r (Recurse)
    -u (Update)
    -w (Working Dir)
    -x (Exclude)

    eExtract將指定檔名由壓縮檔中擷取出來

    -ai (Include archives)
    -an (Disable parsing of archive_name)
    -ao (Overwrite mode)
    -ai (Exclude archives)
    -i (Include)
    -o (Set Output Directory)
    -p (Set Password)
    -r (Recurse)
    -so (use StdOut)
    -x (Exclude)
    -y (Assume Yes on all queries)

    lList顯示壓縮檔案內的檔案資訊

    -ai (Include archives)
    -an (Disable parsing of archive_name)
    -ai (Exclude archives)
    -i (Include)
    -p (Set Password)
    -r (Recurse)
    -x (Exclude)

    tTest, 測試壓縮檔的完整性

    -ai (Include archives)
    -an (Disable parsing of archive_name)
    -ai (Exclude archives)
    -i (Include)
    -p (Set Password)
    -r (Recurse)
    -x (Exclude)

    uUpdate, 用較新的同名檔案更新壓縮檔內較舊的檔案

    -i (Include)
    -m (Method)
    -p (Set Password)
    -r (Recurse)
    -sfx (create SFX)
    -si (use StdIn)
    -so (use StdOut)
    -t (Type of archive)
    -u (Update)
    -w (Working Dir)
    -x (Exclude)

    xeXtract with full paths以完整路徑的格式解出檔案

    -ai (Include archives)
    -an (Disable parsing of archive_name)
    -ao (Overwrite mode)
    -ai (Exclude archives)
    -i (Include)
    -o (Set Output Directory)
    -p (Set Password)
    -r (Recurse)
    -so (use StdOut)
    -x (Exclude)
    -y (Assume Yes on all queries)


    範例:

    • 壓縮檔案:7z a -tzip archive.zip test1.txt test2.txt test3.txt
    • 刪除檔案:7z d archive.zip *.bak
    • 解壓縮到目前資料夾:7z e archive.zip
    • 解壓縮所有的.cpp檔案案件到指定資料夾:7z e archive.zip -oc:\soft *.cpp
    • 顯示壓縮檔內的資訊:7z l archive.zip
    • 依壓縮檔內的檔案路徑解壓縮到指定資料夾:7z x archive.zip -oc:\soft *.cpp
    更詳細的內容直接看到7-zip.chm即可。
    做了一點小測試:將資料夾內30個檔案大小共260,823,040 Bytes的檔案(SQL Server資料庫備份出的資料檔案),分別使用7-Zip、PkzipC、WinRAR 3.0
    壓縮,大小分別同下:

    • 7-Zip: 43,791,855 Bytes
    • WinRAR: 50,415,283 Bytes
    • PKZipC: 63,701,625 Bytes
    獲勝的是7-Zip。

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

    文章出處:商業週刊
     

    一手爛牌也要認真打!郭台銘教你「職場出牌學」


    商業周刊 第1115期 2009-04-06 撰文者:鄭呈皇、林俊劭


    變動的時代,你要拋掉過去的一切,書上的理論與案例,禁不起一場真正的考驗。郭台銘要大家練好基本功,即使滿手爛牌也能找出贏面!這是一門鴻海集團董事長郭台銘主講的「人生出牌學」。 
     

    三月二十九日青年節夜晚,台大藝文中心小教堂裡,有場與年輕學子的小型對談會。超過十年沒有現身校園演講的郭台銘,與七位高階主管現身,對談主題環繞著企業對新世代「人才」的需求。 歷經金融海嘯,大多數的企業選擇積極瘦身。

     

    但,郭台銘卻說,他更專注在人才投資上。「誰能夠吸引人才,給人才機會,這樣的企業在下一波景氣循環後,就是下一個贏家。」

     

    滿手爛牌,不一定就會輸

    他認為,在動盪的今日環境中,企業對人才的需求也在改變。

    你就算有漂亮的學經歷條件,也不一定能找到好工作,「但,看來是滿手爛牌,也不一定會輸。」只要你願意改變既有的思維,隨時都會有翻身的機會。換個角度想,若你能沉著面對牌局,你已經先贏了一半。

     

    以下,是郭台銘給大家三個在職場中「反敗為勝」的建議。

     

    忘掉過去的經驗值

    別再用過去的經驗法則,打這場牌局。「現在只有一件事情不會變,就是太陽從東邊出來!」郭台銘說。連花旗銀行與AIG(美國國際集團)等大家認為永遠都不會倒的金融機構,都出現問題後,我們憑什麼相信,眼前的一切不會改變?郭台銘跟在場的年輕學子說,「回去,告訴你們老師這件事情,把書架上的書,通通丟掉、拿去燒掉,那些理論所研究的案例,說穿了,都禁不起一場真正的(考驗)」「說穿了,你說我要拿到一本秘笈(在天下順利行走),這,是不可能的事情,」「基本的道理,一加一等於二,這個邏輯你把它記住就好,其他的東西,你都把它忘掉!」(全場大笑)

     

    不再迷信過去的理論,那,該怎麼做?

    「Go back to basic(回到基本)你到少林寺去,先端水三年、蹲馬步三年,你沒有基礎,你不可能(做)成任何大事。」郭台銘建議,個人進入企業裡,都要有從頭開始學習、打長久戰的心理準備,不能再保持著不斷跳槽、打短線戰的心態。

     

    要有憨勁,別當沙塔大象

    鴻海集團副總經理戴家鵬補充,「就是喔,要有個『憨勁』,也就是要有個『傻勁』,不要太多小聰明。」「知道你未來五年後要做什麼、十年後要做什麼,你就往這方面,一步一步去努力。」

     

    人要有憨勁,不要太計較,要讓自己像海綿般盡量吸收。就算財務人員,「我們都希望將來到現場去、到實務去,否則你沒有辦法曉得這間公司能不能投資,為什麼應收帳款高?為什麼獲利能夠成長?」郭台銘認為,企業未來需要的是,能知其然,也知其所以然的人才。

     

    郭台銘說,未來,還有太多未知數。「美國的金融業,一定會有很大的變革,甚至於全世界的金融業。美國這樣亂印美鈔,將來對世界的經濟會造成什麼樣,沒有人看得懂。真的,因為太多事情你看不懂,你無法掌握你的命運,所以,我們只能扎扎實實的做好每一個磚塊,鴻海公司每年賺幾百億,都是一毛、兩毛,甚至一塊、兩塊(新)台幣賺起來的,也才會覺得賺得心安理得,所以我不需要去跑官邸喔!」(全場大笑)

     

    「十幾年前,我有機會去投資銀行,但沒有,因為我覺得銀行是在沙塔上面建立一個大象,隨時說倒就倒。」郭台銘說。同理,也可以用來檢視自己在職場的情境,你是行走上沙塔上的大象,還是,腳踏實地的憨人?這波海嘯,就可做最好的體檢。

     

    走務實路線,執著下去
    要成為一個傑出的人才。還有一件最重要的事,要選對方向,才「執著下去」。
    「第一個十年,要務實一點,要為錢工作,不要太高調;第二個(階段)是為理想工作,第三個階段是為興趣而工作,」郭台銘說。若,今天你只是剛畢業的學子,要走務實路線,那麼,該怎麼挑工作?郭台銘還是那句老話:「拋掉過去的經驗值。」

     


    過去,多數人都是看哪裡熱就往哪裡跑,好人才都往金融業流去;否則就是學長、前輩去哪裡上班,大家就跟隨。「但現在,可能會變過街老鼠喔。」
    郭台銘要大家換角度想,「人很多就會塞車,但就像開車,你超過前面學長就不好意思一樣吧,」「你認為學長會說,你來上班,我明天就把位置讓給你嗎?」郭台銘說。
    郭台銘以鴻海為例,「機械系學生較多,電機系(學生)比較少,電機系的(學生)到鴻海,因為沒有太多人在前面,反而容易跑得快。」
    走出慣性思考的範疇,去沉澱:哪個產業,最需要你的能耐?人的價值該值多少?該怎麼樣讓它升值?是不是擺在最合適的市場?郭台銘不僅提醒大家思考此議題,鴻海內部也開始與台大、政大合作,希望將人才的價值評估出來。
    老是摔牌,你已輸了一半
    郭台銘也用打牌的故事勉勵在場的人。美國前總統老羅斯福跟他媽媽打橋牌的時候,老是摔牌。羅斯福媽媽把牌拿開給羅斯福看:「你看,我牌不會比你好,但我很冷靜打手上牌,而你老摔牌,你已經輸了一半。」
    郭台銘說:「有時候,人生就是這樣,一副好牌,靜下心打,也不一定會贏,(一副)爛牌,你只要有刺激,不見得會輸。不景氣,我全身充滿鬥志,現在是大家拚實力的時候,所以鴻海一定會交出不錯的成績單,因為不景氣把我們(的)鬥志激發出來。」

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

    文章出處:網路上
     
    作者:黑幼龍
     
    我曾被教育體系打敗,以為自己是個處處不如人的孩子,多年後,經過各種歷練與波折,我才知道,「自信」,其實只是「別跟自己過不去」。
     


    卡內基最近針對台灣一千四百多位中學生作調查,其中有一個問題是:你認為自己最缺乏什麼?最高的一項是「缺乏自信」,約有七○%的人,對自己沒信心。

    如果今天的調查結果是如此,那麼當我還是青少年時,情況更嚴重。我曾被教育體系打敗,以為自己一生從此完了,然而意外地因為英文能力好,被送到美國念書受訓,我的自信心才漸漸回升。

    在自信和自卑的交纏中受折磨。

    記得在一九六五年,我剛從美國受訓回來,有機會參加一個冬令營,參加的成員都是大學生。在淡水的山上,大家圍在營火旁聊天,我發現自己的見識、觀察和表達能力,都不比其他學生差,這是不是頗有自信之故?但是,當有人問我念哪個學校時,我講不出口,還故做神祕地說:「你猜!」沒想到他說:「不是念台大就是成大!」就這樣?

    當別的年輕人正在盡情享受青春年華時,我卻在自信和自卑的交纏中受折磨。

    一直到中年以後,我到美國進修碩士課程,跟教授、同學們討論各式各樣的問題,我更確定自己的程度不比他們差,甚至有些地方更好。有次教育學考試後,美國同學問我的成績,我說是A。問他,他不好意思地說是B。其實,那次考試全是申論題,學生必須洋洋灑灑寫出深刻的論點,才能得高分,我是個外國人,使用陌生的文字與語言作答,本來應該是很吃虧的,但是成績卻比美國學生更好,難怪同學會覺得不好意思。

    從那一刻開始,分數對我再也不重要了;最重要的是,我的自信恢復了。

    回憶過去,我們在青少年時期多半忙著準備升學,自信與否也建立在分數高低上面。於是,成績平平的人,自信要從哪裡來?就算成績再好,畢業了十年、二十年之後,不會再有人關心你念什麼學校,那麼,你的自信又從何而來?

    自信是什麼?這很難用一、兩句話說明,不過,卡內基有一位學員說得很好:「自信,就是不要跟自己過不去。」這句話形容得很貼切,沒自信的人常覺得別人看不起他。有些公司的高階主管,如果知道員工把公文先送給別人看再呈給他,就會拒絕批示,理由是:「這太看不起我了,應該先送來給我批示。」

    這是很可惜的事,特別是對主管或領導人來說,缺乏自信的影響更大,因為他可能因而用不到最好的人才。

    辜濂淞曾說:「領導人不見得比別人聰明,可是他會用比他聰明的人。」這句話背後所展現的,就是自信。為什麼呢?因為,領導人若能聽從旁人的建議,就不怕大權旁落或被別人騎到頭上,當然會有很多人才願意幫他工作。如果領導人自信心不夠,只敢用跟他一樣能幹甚至能力差一點的人,那麼這家公司一定越來越糟糕。

     





    你了解自己、愛自己嗎?

    自信很強的人,有四種特質:

     

    第一、了解自己

    一位美國紐約州的眾議員接受卡內基訓練後,記者問他感覺如何。這個議員低頭想了幾秒鐘,說道:「我比以前更了解自己。」每個人都認為很了解自己,但是自信心比較強的時候,你會清楚看見以前疏忽的一面,怎麼說呢?以前多半只注意自己的缺點,一旦多了自信,自己的毛病似乎不見了,其實毛病不是憑空消失,而是因為你開始了解自己的優點何在。

     

    第二、喜歡自己

    聖經說的「愛人如己」,真是深富哲理。如果你喜歡自己三分,你也可以愛人三分,如果覺得自己一無是處,你看別人也會一無是處。怪不得缺乏自信的人這麼難纏,他們一天到晚找別人麻煩,認為每個人都是負數。

     

    第三、尊重自己

    如果我們不喜歡自己,寶貴的自尊從何而來?每個人都是世界上獨一無二的。我總是對自己說,世上沒有第二個黑幼龍,的確,世界上也沒有第二個你,所以你要有自尊,不要把自己看扁了。

     

     第四、為自己作主

    自信的人為自己作決定、負責任、有擔當,預先規劃未來,不必等別人告訴他怎麼做。

     





    有自信就不必討好別人

    大約二十年前,有一次我到嘉義演講,演講結束,有人從背後重重拍我的肩膀,我正納悶這個人怎麼如此粗手粗腳,回頭一看,是我當兵時的舊識。於是,兩人高興地去吃宵夜,聊起往事。

    數年前,他有一次帶女朋友參加舞會,有個流氓硬要跟這位女孩跳舞,他想展現英雄本色,兩個人就打了起來。他被打倒在地,那流氓用皮鞋踢他,踢到他的臉變形,牙齒也掉了。他覺得此仇不報非君子,於是天天練空手道,終於成為黑帶高手,甚至有很多人找他學功夫,後來他乾脆開了家武術館。

    講到這裡他停下來。我正覺得奇怪,他才接著說,他每次講到這裡,別人都會問:「你現在空手道練得這麼強了,有沒有去報仇?」他說,他現在去揍那個人,八成只用手就夠了,但是聽了我的演講,他反過來要問我:「我現在已經是師父了,還開武術館,你可不可以告訴我,為什麼我卻不想去打他了?」

    當時我還沒接觸卡內基訓練,也不知道答案,只不過聽得很過癮就是了。現在回想起來,我覺得是因為,他武術功夫這麼棒,自信已經很強,不需要回去打那個人來證明自己的強壯,不必討好別人,也不必意氣用事。的確,當人的自信心強到某個程度後,一定會帶來類似我這位朋友的改變。

     




    人生最美好的事

    奇妙的是,自信不會因為你看相關的書或聽了演講而增強。想增強自信,一定要克服恐懼。卡內基訓練並不是演講訓練,但是在課程中,會要求每一個人上台說話,克服對聽眾的恐懼。只要能克服台前、台上的恐懼,你的自信就會增強,更會蔓延、影響到其他層面。有懼高症的人,可以藉由跳傘克服這個恐懼,於是建立了自信。這種自信也會正面影響到你對人、對事情的信心。

    下面這個故事,就是非常好的例子。在新竹有個卡內基訓練的學員,是一家書店老闆的弟弟。他很喜歡吃檳榔,在書香氣息濃厚的書店中嚼檳榔,實在有點不得體,不過他一直戒不掉,據說檳榔價格高的時候,他大部分薪水都用來買檳榔。參加卡內基訓練後,他開始戒檳榔,過程非常痛苦。他說,早上起來想要刷牙,但是嘴巴、舌頭都黏在一起了,扳開一吐滿口都是血。即使如此,他還是奮力戒掉了。

    這是為什麼呢?卡內基訓練根本不知道如何教學員戒檳榔,但是,因為自信心增強了,學員更喜歡自己、更了解人生的目標,也就生出極大的毅力來改掉多年的壞習慣。

    原來,有了自信,會帶來這樣的效果。

    大部份人都喜歡跟有自信的人在一起。像我這樣的年紀,當過老闆、職員、朋友、同事、父親、兒子、丈夫,經驗過各種人生角色,我最喜歡的老闆、最喜歡的朋友、同事或顧客,都是有自信的人。

    有自信的老闆不喜歡唯唯諾諾的員工,因為這樣的員工不能提供不同的想法;他也不會喜歡傲慢的部屬,因為他們常惹是生非。員工最喜歡的老闆,也是有自信的老闆,因為他不需要用兇狠來維持權威;談戀愛時,我們也都喜歡有自信的伴侶,不會裝作很酷、不理人,也不會像哈巴狗一樣黏著你。

    擁有自信,真是一件美好的事,因為,自信能幫助我們活出自己、實現自己。

    回首來時路,雖然我因為沒有自信而錯過某些美麗時光、美好事物,但我卻因為經歷過這種階段,在恢復自信後能抱持謙虛的心,時時感恩。

     




    有自信的人具備這些特質:】


     1. 不和自己過不去。
     2. 了解自己的缺點,也肯定自己的長處。
     3. 喜歡自己。
     4. 尊重自己。
     5. 為自己作主。
     6. 不擔憂別人對你有何看法。

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

    1 2 3
    Blog Stats
    ⚠️

    成人內容提醒

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

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