分類
FreeBSD/Linux

ssh登入緩慢問題

最近的一次更新, 讓 FreeBSD 主機在登入時, 速度變得很慢, 這對操作上有蠻大的影響, 於是問了同事, 也著手進行查詢相關的可能, 原來是 OpenSSH 的名稱反查問題, 簡單處理方式如下:

修改 /etc/ssh/sshd_config 檔內的一個 UseDNS 參數, 設為 no 即可.

官方說明連結: http://www.openssh.org/faq.html#3.3

3.3 – ssh(1) takes a long time to connect or log in

 

Large delays (more that 10 seconds) are typically caused a problem with name resolution:

  • Some versions of glibc (notably glibc 2.1 shipped with Red Hat 6.1) can take a long time to resolve “IPv6 or IPv4” addresses from domain names. This can be worked around with by specifying AddressFamily inet option in ssh_config.
  • There may be a DNS lookup problem, either at the client or server. You can use the nslookup command to check this on both client and server by looking up the other end’s name and IP address. In addition, on the server look up the name returned by the client’s IP-name lookup. You can disable most of the server-side lookups by setting UseDNS no in sshd_config.

下面還有如何判定是 “slow”

CPU Time (SSHv1)[1] Time (SSHv2)
170MHz SPARC/sun4m 0.74 sec 1.25 sec
236MHz HPPA/8200[2] 0.44 sec 0.79 sec
375MHz PowerPC/604e 0.38 sec 0.51 sec
933MHz VIA Ezra 0.34 sec 0.44 sec
2.1GHz Athlon XP 2600+ 0.14 sec 0.22 sec

參考看看吧!

分類
好用軟體

在IE下也能用FireBug!?

FireBug, 有在用 FireFox 也在寫網頁程式的人應該不陌生, 若還是真的不清楚, 可以先看看本站之前的介紹:

很好用的javascript除錯工具FireBug (firefox)
FireBug更新功能-Network Monitoring

但是這是一個 FireFox 的網頁工具, 在 IE 下, 甚至 Opera, Safari 下都沒有這麼方便好用的工具, 現在 FireBug Lite 版本提供了這樣的功能了, 可以在 IE 下使用 FireBug 的精簡功能, 請參考官方資料說明:

FireBug Lite

它的使用方式有幾種, 一種是掛入他的 javascript ,

<script type='text/javascript'
src='http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js'>
</script>

第二種方式是使用 Bookmarklet 的方式, 將它的一組 javascript bookmark 起來備用

第三種方式是 Offline 方便使用, 其實就是把第一種方式的相關 javascript 及 css 整個拿回來, 放在自家網站下使用.

若對 End User 來說, 其實是第二種最為方便, 因為不需要做任何前置作業即可直接使用. 說到這裡, 其實這組 FireBug Lite 是利用 javascript 撰寫的, 所以可以直援 IE, 而且是在 runtime 下執行, 真的很不錯的設計, 不過是這樣的工作原理, 所以功能也相對較少了(所以叫做 Lite), 而 Network Monitoring 也沒有 (當然不會有, 因為它是後來才執行的), 不過 XHR (XML HttpRequest) 仍然有支援囉, 另外觀察 html, css, javascript 等功能也都有.

不過實際上使用時, 仍會有相當多的狀況, 因為原始頁面的內容會影響這個 FireBug Lite 的執行狀況, 導致許多問題發生, 不過也已經相當方便了!

繼續閱讀:
http://www.stevesouders.com/blog/2008/07/25/firebug-lite-12-released/

分類
懶得分類

Windows DNS大量UDP Port問題

最近更新完一次 windows update, 發現有台 server 在重新開機後, 居然有一堆 udp port 開啟著, 利用 TCPView 來找出看是哪個 process 造成, 原來是 dns.exe (windows 內建的 dns service 程式), 起先以為是有什麼病毒或是問題, 便著手開始找資料, 遍尋不到問題及狀況所在. 一度以為是病毒引起, 也試著利用掃毒軟體來掃毒, 但都沒有找到病毒問題, 於是便暫時放棄.

今天索性再花些時間來找, 找到這篇相關文章, 發現也有不少人有一樣的問題:
http://www.eggheadcafe.com/software/aspnet/32625203/dnsexe-2500-open-ports-i.aspx

原來是一個更新到 dns.exe 的 patch 造成的, 可以參考這裡:
http://support.microsoft.com/kb/951746/en-us

看起來應該是沒什麼問題, 但後續要怎麼再更新或調整, 再觀察看微軟的後續更新囉!

[2008/08/25 23:01]
目前比較消極的解決方式可以參考:
http://support.microsoft.com/kb/956188/en-us

分類
.net

撰寫big5的asp.net程式

由於預設的 asp.net 程式開發是使用 utf-8 的編碼, 所以若是要開發 big5 的 asp.net 程式, 需要做一些調整.

可以參考這篇有關 globalization 項目設定的網頁: http://msdn.microsoft.com/zh-tw/library/hy4kkhe0(VS.80).aspx

其實很單純的將 web.config 中的 system.web 內的 globalization 的屬性: requestEncoding 及 responseEncoding 做些調整即可. 由於預設的是:

<globalization requestEncoding="utf-8" 
               responseEncoding="utf-8" 
               fileEncoding="" 
               culture="" 
               uiCulture="" 
               enableClientBasedCulture="false" 
               responseHeaderEncoding="utf-8" 
               resourceProviderFactoryType="" 
               enableBestFitResponseEncoding="false" />

所以會是 utf-8 的編碼, 若是要開發 big5 的 asp.net 程式, 僅需要做這裡的調整即可. 程式碼本身並不需要更動, 就可以依照這個 web.config 做指定輸出了. 若是字元是 utf-8 的, 但指定用 big5 輸出時, 仍然會有 ?? 這種狀況發生, 也是要注意的地方, 不過一般的狀況下(字元相容的字)是沒有問題的.

但是頁面上的 meta tag 則必須 user 自行手動修改, 或利用小程式輔助來進行調整,

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

因為 web.config 是在 http header 就已經輸出指定的 encoding 囉, 而不是透過 meta tag 的 charset 指示的! 以下是 firefox 配合 Live HTTP headers 的 extension 抓出來的內容:

http://localhost:50201/WebSite2/Default.aspx

 

GET /WebSite2/Default.aspx HTTP/1.1
Host: localhost:50201
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; zh-TW; rv:1.8.1.16) Gecko/20080702 Firefox/2.0.0.16
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: zh-tw,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: Big5,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive

HTTP/1.x 200 OK
Server: ASP.NET Development Server/8.0.0.0
Date: Tue, 22 Jul 2008 09:42:40 GMT
X-AspNet-Version: 2.0.50727
Cache-Control: private
Content-Type: text/html; charset=utf-8
Content-Length: 537
Connection: Close
———————————————————-

給大家參考看看囉!

分類
FreeBSD/Linux

找指定檔案內容的語法

在 Linux, FreeBSD 下若要指定目錄以下的檔案內容查詢的指令, 可以利用 find 配合 -exec 參數, 再配合 grep 指令即可達到目的.

使用方式如下:

find . -name “*.log” -exec grep Virtual {} \;

這個方式就以 . 目錄以下, 找出所有 .log 的檔案, 內容有含 “Virtual” 的行內容, 但要注意最後方的 semicolon (分號) 要以反斜線開頭, 才會被 -exec 認識.

分類
Database

當identity到達該欄位上限時…

今天在整理資料庫時, 發現有個 table 的 identity 欄位, 即將到達上限囉. 於是便來著手研究一下會發生什麼問題.

LAB 狀況 Microsoft SQL Server 2005, 某 table 的 identity 欄位為 tinyint, 並進行 insert 測試.

狀況 1, tinyint 為 (0~255), 若於資料已屆 255 時, 再 insert 資料會發生下面錯誤 (exception):

“轉換 IDENTITY 到資料類型 tinyint 時發生算術溢位錯誤。
發生算術溢位。”

狀況 2, 先將前面 < 100 的資料刪除, 再利用 dbcc checkident(‘table_name’, RESEED, 20) 指令執行後, 重置 identity 值 (下一筆會由 21 開始), 再進行 insert, 則可以正常 insert (dbcc checkindent 資料可以看這篇文章: SQL Server的Identity欄位使用/複製/重設 )

狀況 3, 繼續再進行 insert, 直到 99 時, 再繼續 insert 會發生 primary key violation 的錯誤.

由以上狀況可知, 一旦發生 identity 到該欄位上限時, 將會發生無法寫入資料的狀況, 而且是以算術溢位錯誤的方式發生, 一旦造成, 會有極嚴重的問題, 一定得在發生之前規劃好, 以免造成問題!

分類
Windows 懶得分類

forfiles指令介紹

在 WINDOWS 下, 若是要將某些檔案做什麼處理的方式, 我通常使用 VBS 的 SCRIPT 來操作, 不過其實還有更方便簡捷的方法, 看到這篇文章 windows server下的檔案處理程式Forfiles , 原來其實在 windows 下還有個這麼方便的檔案列舉工具.

一般最常用的是刪除 log 檔案, 指定目錄, 並指令時間 (例如保留一週, 一週前的刪除), 就可以利用這個指令進行刪除:

forfiles /p c:\temp /s /m *.log /d -7 /c “cmd /c del @FILE”

或是列舉出指定目錄下的檔案(非目錄)的名稱列出:

forfiles /p c:\ /c “cmd /c if @isdir==FALSE echo @FILE”

請注意上面的 “FALSE” 要大寫!

再來看看微軟的官方說明: Forfiles

以下列出該指令的參數說明: (利用 forfiles /? 取得)

FORFILES [/P pathname] [/M searchmask] [/S]
[/C command] [/D [+ | -] {yyyy/MM/dd | dd}]

描述:
選取一個檔案 (或一組檔案),並在檔案上
執行命令。這對批次工作很有幫助。

參數清單:
/P pathname 表示要開始搜尋的路徑。
預設資料夾是目前的
目錄 (.)。

/M searchmask 根據 searchmask 搜尋檔案。
預設的 searchmask 是 ‘*’。

/S 指示 forfiles 遞迴搜尋
子目錄。例如 “DIR /S”。

分類
Blog服務

youtube台灣官方部落格出來了

在 zdnet 網站上得到這個消息: YouTube台灣官方部落格上線, 實際去拜訪 youtube 台灣官方部落格, http://tw.youtube.com/blog, 目前只有兩篇文章, 社群網站, 這個在地的部落格對於經營會有很大的幫助, 事實上, 透過專有的地方, 與網友溝通, 互動, 對於網友及網站的活化和黏著信心可以有一些幫助. 當然, 實際上還是得看經營的手法及活化方法, 官方部落格上的任務說明如下:

  1. 公佈全球影片活動:全球各版本的 YouTube 持續舉辦各種線上及實體活動,我們將挑選最值得介紹的活動,讓你與全球社群同步脈動。
  2. 介紹台灣社群的影片趨勢:YouTuber 們的創意總令人意想不到﹔我們將不定期介紹社群的影片妙點子,讓大家知道,原來影片可以這樣玩。
  3. YouTube 新功能:注意到了嗎?YouTube 的功能和介面持續在更新,我們也要讓你第一時間就知道。

所以重點就很明顯, 對於 youtube 對台灣網友的關心, 相信應該是更多的, 能否有效達到成效, 我們拭目以待.

ymail來囉

似乎 gmail 打到了 yahoo mail 的品牌, 今天在 zdnet 看到這則新聞:
Yahoo 信箱要用 ymail.com 吸引新用戶
用 ymail.com 這個名字(應該說品牌吧!) 來應敵. 站在使用者角度, 我只能說:

沒有申請到理想的 yahoo mail 帳號用戶, 快去申請一個漂亮的帳號吧

看起來這個話題 google mail 真的 gmail 品牌有做出來, yahoo mail 的 ymail 才搞出這個新 domain 來做 mail service, 另外也提供了 rocketmail.com 的 domain 供用戶選擇…

mail service 雖然是老服務了, 不過, 競爭才剛上演呢…
快去申請吧. http://ymail.com/

[2008/6/26 10:20]
詳細申請方式可以參考重灌狂人這篇: 來吧!Yahoo推出Ymail、Rocketmail兩個新Email郵件地址

分類
懶得分類

ServerXMLHTTP及XMLHTTP的差別

暫時將這個分類放在 asp 中.
一般在 client side 的 ajax 會用到這個 component (for IE) Microsoft.XMLHTTP, 若是在 server 端的 asp 程式碼使用這組 code, 來訪問其他站台的內容時, 可以利用程式碼如下:

Set xmlhttp = Server.CreateObject("Microsoft.XMLHTTP")
xmlhttp.Open "GET", "https://diary.tw/tim/", False
xmlhttp.Send
Response.Write xmlhttp.ResponseTEXT
Set xmlhttp = Nothing

不過這個有一些些問題, 因為 XMLHTTP 本身的工作行為是綁在 IE API 上, 當然是有好有壞, 根據微軟的文件, 這組元件是適合用在客戶端而非 server 端, 在使用上會有一些穩定及效能的問題, 不過更有趣的還有一個地方, 就是他會增進效能而在本機的檔案系統上存入訪問的內容, 路徑如下:

C:\WINDOWS\Temp\Temporary Internet Files\Content.IE5