求解:
有台主機每天早上會執行一個批次檔,有幾段覺得很奇怪
call :ping ip1 server1
call :ping ip2 server2
call :ping ip3 server3
...
echo 主機正常
goto end
:ping
set ip=%1
set server=%2
ping -n 1 %ip% | find "TTL=" > NUL
if ERRORLEVEL 1 (
ping -n 1 %ip% | find "TTL=" > NUL
if ERRORLEVEL 1 goto :serverdown
)
(繼續其他測試)
:serverdown
echo %server% 無法連線.
goto end
(略)
:end
問題來了,為什麼不用 ping -n 2 而要用 ping -n 1 再 ping -n 1 呢?
這支程式是在還沒架 SNMP 監測主機之前寫的.
因為被監測的主機有數十台, 監測項目除了 ping 之外還有每日報表檔是否已轉存等.
用 ping -n 1 的確是為了省資源(時間),
而總公司與分公司間偶爾 VPN 會斷線(瞬斷), 為了減少誤判,
才設定兩次失敗才認為真的斷線了.
目前已經改架 SNMP 主機來監控, 不過今天跟同事跟好挖出這支程式, 就丟出來看看.
有台主機每天早上會執行一個批次檔,有幾段覺得很奇怪
call :ping ip1 server1
call :ping ip2 server2
call :ping ip3 server3
...
echo 主機正常
goto end
:ping
set ip=%1
set server=%2
ping -n 1 %ip% | find "TTL=" > NUL
if ERRORLEVEL 1 (
ping -n 1 %ip% | find "TTL=" > NUL
if ERRORLEVEL 1 goto :serverdown
)
(繼續其他測試)
:serverdown
echo %server% 無法連線.
goto end
(略)
:end
問題來了,為什麼不用 ping -n 2 而要用 ping -n 1 再 ping -n 1 呢?
這支程式是在還沒架 SNMP 監測主機之前寫的.
因為被監測的主機有數十台, 監測項目除了 ping 之外還有每日報表檔是否已轉存等.
用 ping -n 1 的確是為了省資源(時間),
而總公司與分公司間偶爾 VPN 會斷線(瞬斷), 為了減少誤判,
才設定兩次失敗才認為真的斷線了.
目前已經改架 SNMP 主機來監控, 不過今天跟同事跟好挖出這支程式, 就丟出來看看.
我很少寫影評, 在看過愛琳娜之後, 我想寫一些感想.
如果說愛琳娜是向高雄或父親致敬的電影, 有點可惜的是高雄的元素太多被放在背景, 雖然主角開車會經過, 可是那有點像都市內的走馬看花.
父親的元素, 如果配合下一代的誕生, 延續生命的觀點, 也許是個比較好的主軸, 由"愛人->生命"來發展, 也許會變比較溫馨但帶點憂傷的好片. 為什麼會說帶點憂傷, 因為生命中本來就帶了許多困難, 每次選擇一條路時就要承擔, 而難免有遺憾, 失落而憂傷.
片中有多少憂傷? (略)也許導演反過來想呈現高雄人某種軔性, 適應力, 也帶著某種壓抑自己默默承受的耐力. 但是在一些事件元素的強化上, 這種高雄人的特質反而被蓋過或被轉化了.
在事件上, 則串了有點多社會運動與勞工的議題, 個人覺得不太細膩, 有點像是硬生生的嵌入. 如果這不是電影, 而是 10 小時左右的連續劇, 也許能更完整承現導演的期望吧.
推薦: 在高雄住 2 年以上或 35 歲以上的人來看.
如果說愛琳娜是向高雄或父親致敬的電影, 有點可惜的是高雄的元素太多被放在背景, 雖然主角開車會經過, 可是那有點像都市內的走馬看花.
父親的元素, 如果配合下一代的誕生, 延續生命的觀點, 也許是個比較好的主軸, 由"愛人->生命"來發展, 也許會變比較溫馨但帶點憂傷的好片. 為什麼會說帶點憂傷, 因為生命中本來就帶了許多困難, 每次選擇一條路時就要承擔, 而難免有遺憾, 失落而憂傷.
片中有多少憂傷? (略)也許導演反過來想呈現高雄人某種軔性, 適應力, 也帶著某種壓抑自己默默承受的耐力. 但是在一些事件元素的強化上, 這種高雄人的特質反而被蓋過或被轉化了.
在事件上, 則串了有點多社會運動與勞工的議題, 個人覺得不太細膩, 有點像是硬生生的嵌入. 如果這不是電影, 而是 10 小時左右的連續劇, 也許能更完整承現導演的期望吧.
推薦: 在高雄住 2 年以上或 35 歲以上的人來看.
實體硬碟內有磁柱數(磁頭形成的圈), 磁頭數, 每圈磁區數, 英文縮寫為 C/H/S , 就是硬碟上還會保留的 16xxx/16/63 .
很久以前的硬碟, 是透過 BIOS 來存取, 而作業系統會指定要存取某一個磁柱的某一面(磁頭), 的第幾區, 所以 BIOS 內有建好一些常用的硬碟參數. 當時還有硬碟"超量"使用, 故意設定為磁區數爆增, 把磁區數從 17 改成 26 .
由於磁碟是圓形, 外圈比內圈大, 應該外圈存比較多, 所以 C/H/S 雖然留著給 BIOS 呼叫, 而硬碟內已經另外有一張對照表, 並不直接對應到磁區.
硬碟的讀寫從硬體直接控制, 轉成用對照的方式後, 也把控制晶片由 I/O 卡, 轉到硬碟內, 成為整合式的設計, 也就稱為 IDE 硬碟, 而正式的名稱是 ATA .
後來 C/H/S 的定址因為各家定義不同, 而有 504"M" 的上限, 各業者就決定替換掉這種定址方式, 而 LBA 就出現了, 硬碟內的磁區改成每個磁區一個代號, 硬碟再自己去換算實際上存的位置.
接下來硬碟就不太有長進(誤), 由於原本定義一個磁區是 512Bytes , 每個磁區除了資料, 還要存檢查碼, 而且硬碟容量越來越大, 用 LBA 定址的序號數字會爆增, 所以就有"先進格式", 以 4KBytes 當一個磁區, 這樣 LBA 序號就可以只用 1/8 , 而檢查碼也以 4KBytes 才需要計算一次.
而 SSD 推出時, 大量使用"先進格式", 但當時 XP 不支援, 所以硬碟/ SSD 提供了模擬 512Bytes 的方式, 讓 XP 或早期的 OS 還能用, 但如果沒有"對齊"(Align), 就會造成多餘的硬碟/ SSD 讀寫, 也就是為什麼 XP 以前的 OS 要灌在 SSD 的話, 會強調先在 Windows 7 分割再拿回去灌(或用其他軟體).
很久以前的硬碟, 是透過 BIOS 來存取, 而作業系統會指定要存取某一個磁柱的某一面(磁頭), 的第幾區, 所以 BIOS 內有建好一些常用的硬碟參數. 當時還有硬碟"超量"使用, 故意設定為磁區數爆增, 把磁區數從 17 改成 26 .
由於磁碟是圓形, 外圈比內圈大, 應該外圈存比較多, 所以 C/H/S 雖然留著給 BIOS 呼叫, 而硬碟內已經另外有一張對照表, 並不直接對應到磁區.
硬碟的讀寫從硬體直接控制, 轉成用對照的方式後, 也把控制晶片由 I/O 卡, 轉到硬碟內, 成為整合式的設計, 也就稱為 IDE 硬碟, 而正式的名稱是 ATA .
後來 C/H/S 的定址因為各家定義不同, 而有 504"M" 的上限, 各業者就決定替換掉這種定址方式, 而 LBA 就出現了, 硬碟內的磁區改成每個磁區一個代號, 硬碟再自己去換算實際上存的位置.
接下來硬碟就不太有長進(誤), 由於原本定義一個磁區是 512Bytes , 每個磁區除了資料, 還要存檢查碼, 而且硬碟容量越來越大, 用 LBA 定址的序號數字會爆增, 所以就有"先進格式", 以 4KBytes 當一個磁區, 這樣 LBA 序號就可以只用 1/8 , 而檢查碼也以 4KBytes 才需要計算一次.
而 SSD 推出時, 大量使用"先進格式", 但當時 XP 不支援, 所以硬碟/ SSD 提供了模擬 512Bytes 的方式, 讓 XP 或早期的 OS 還能用, 但如果沒有"對齊"(Align), 就會造成多餘的硬碟/ SSD 讀寫, 也就是為什麼 XP 以前的 OS 要灌在 SSD 的話, 會強調先在 Windows 7 分割再拿回去灌(或用其他軟體).
軟體的 64bit v.s. 32bit
-- rem slimetw
想學組合語言就一定要先知道硬體, 目前常見的 intel x86 結構, 最核心的部份是 CPU 的 core , 但更深入去看, 是稱為"暫存器", 而 CPU 能處理的事情, 需要把資料或資料所在的位置存在暫存器內才能處理.
而暫存器的大小, 就是 32bit (80386之後)或 64bit (哪一代開始的已經忘了), (也有人用記憶體定址來比, 個人採用暫存器來比)
如果用來計算, 一個 16bit 暫存器最大可以用的數值就是 2^16=65536 , 應用上就是 0~65535 或 -32768~32767 , 而 32bit 暫存器就是可以處理 -2147483648~2147483647 .
這樣就可以發現, 如果要處理的資料, 超過暫存器的大小, 就需要切割後再組合, 而切割再組合的方式, 就是演算法應用的地方.
而軟體層面還要分很多層, 雖然 80386 開始就是 32bit 的暫存器, 但是 DOS 基本上是 16bit , 所以軟體也就只能用 16bit , 很多計算需要切割.
而為了方便程式開發, 作業系統與程式開發軟體通常會有相關的程式庫協助這一部份的處理, 也就是在寫高階程式時, 雖然只是 i = i + 1, 程式軟體會先找到 i 的位置, 確認使用大小, 存在記憶體內, 再把記憶體這區的定址丟給 CPU , 叫 CPU 把這區 +1 , 再回寫到記憶體中.
Exchange 的"信箱授權"功能, 應用於多人共用業務情況.
公司有個客服小組, 之前是以群組的方式, 所有該小組成員都會收到, 但回信時要自己改發信人, 又要寄給同組同事, 增加 Exchange 負擔及同事過濾的麻煩.
前陣子剛好看到 Exchange 有一個"信箱授權"功能, 之前就用過 Gmail 的類似功能, 所以這次主要先確認該小組任務:
1. 消費者寄信給該小組的公開帳號, 任一人都可以以官方帳號回信, 並留下記錄.
2. 個人帳號以公司內討論, 或某些客訴需要知會其他部門.
3. 支援 OWA (Exchange 功能), Outlook .
而這次公司環境已經有原有的群組, 所以執行步驟為:
1. 原有的群組改名. (因為已經公開)
2. 設定一個新帳號, 純粹客服業務用.
3. 設定這帳號"完整授權"給原本的信箱群組.
4. 過渡期間, 這帳號的信都會轉寄給原本群組內的人.
5. Outlook 新增信箱. (略)
這樣之後有客訴信件時, 工作人員先登入 Outlook , 再切換到客訴信箱, 就可以用公務帳號回信與歸檔. 省下其他同事重複看到或重複處理的時間.
前陣子剛好看到 Exchange 有一個"信箱授權"功能, 之前就用過 Gmail 的類似功能, 所以這次主要先確認該小組任務:
1. 消費者寄信給該小組的公開帳號, 任一人都可以以官方帳號回信, 並留下記錄.
2. 個人帳號以公司內討論, 或某些客訴需要知會其他部門.
3. 支援 OWA (Exchange 功能), Outlook .
而這次公司環境已經有原有的群組, 所以執行步驟為:
1. 原有的群組改名. (因為已經公開)
2. 設定一個新帳號, 純粹客服業務用.
3. 設定這帳號"完整授權"給原本的信箱群組.
4. 過渡期間, 這帳號的信都會轉寄給原本群組內的人.
5. Outlook 新增信箱. (略)
這樣之後有客訴信件時, 工作人員先登入 Outlook , 再切換到客訴信箱, 就可以用公務帳號回信與歸檔. 省下其他同事重複看到或重複處理的時間.
去試了 Skoda Citigo 跟 Fabia , 下週準備試 Fiesta .
看到網友的評價, 嗯....
"推 puma8:買捷克F修車可能很貴 買六和F是可能很快就要修車 06/15 11:57"
試車心得:
Citigo:
1. 換檔頓挫感有點明顯, 雖然業務說在副駕駛座無感, 不過我希望有單身年輕正妹來副駕駛座幫我測試....(長期測試更好);
2. 開車操作算簡單, 基本上會放棄手排模式.
3. 後座窗戶只有蝴蝶窗是一個很大的考驗.
Fabia:
1. 換檔比 Citigo 順, 假裝是自排車用.
2. 安全配備最齊全.
3. 目前需要等車.
Fiesta 1.0T:
1. 未試乘.
2. 後座空間比 Fabia/Citigo 矮.
3. 隔音比 CItigo / Fabia 差一點.
看到網友的評價, 嗯....
"推 puma8:買捷克F修車可能很貴 買六和F是可能很快就要修車 06/15 11:57"
試車心得:
Citigo:
1. 換檔頓挫感有點明顯, 雖然業務說在副駕駛座無感, 不過我希望有單身年輕正妹來副駕駛座幫我測試....(長期測試更好);
2. 開車操作算簡單, 基本上會放棄手排模式.
3. 後座窗戶只有蝴蝶窗是一個很大的考驗.
Fabia:
1. 換檔比 Citigo 順, 假裝是自排車用.
2. 安全配備最齊全.
3. 目前需要等車.
Fiesta 1.0T:
1. 未試乘.
2. 後座空間比 Fabia/Citigo 矮.
3. 隔音比 CItigo / Fabia 差一點.
訂閱:
文章 (Atom)