<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    小小

    IT
    數據加載中……

    2010年2月24日

    ORACLE中字符串split的一種方法

    一種方法是用函數:這里轉帖網上摘抄的一個函數

      CREATE OR REPLACE TYPE str_split IS TABLE OF VARCHAR2 (4000);

      CREATE OR REPLACE FUNCTION splitstr(p_string IN VARCHAR2, p_delimiter IN VARCHAR2)

      RETURN str_split

      PIPELINED

      AS

      v_length   NUMBER := LENGTH(p_string);

      v_start    NUMBER := 1;

      v_index    NUMBER;

      BEGIN

      WHILE(v_start <= v_length)

      LOOP

      v_index := INSTR(p_string, p_delimiter, v_start);

      IF v_index = 0

      THEN

      PIPE ROW(SUBSTR(p_string, v_start));

      v_start := v_length + 1;

      ELSE

      PIPE ROW(SUBSTR(p_string, v_start, v_index - v_start));

      v_start := v_index + 1;

      END IF;

      END LOOP;

      RETURN;

      END splitstr;

      這里提供另外一種方法,tbw利用oracle的正則相關函數實現:

      select dbms_lob.substr(regexp_substr('abc,def,ggg,1,2,3,4,5', '[^,]+', 1, x.n)) as player_guid

      from dual a, (select rownum n from dual connect by rownum < 100) x

      這里利用了函數 regexp_substr和connect by

      其中rownum < 100 會連接限制split的次數 '[^,]+'為split拆分的正則表達式,這里為【,】逗號

      上面sql語句結果是:

      abc

      def

      ggg

      1

      2

      3

      4

      5

    posted @ 2010-02-24 05:22 小小it 閱讀(3171) | 評論 (0)編輯 收藏
    sql語句實現循環添加1000個數據

    select * from ausertable order by userid;

      commit;  //執行 結束

      1:最近剛開始用oracle 數據庫,很多東西都不怎么懂,要在tbw賬號表添加 1000個賬號,找了一些資料,經過測試可以使用,開始 我吧語法 都跟SqlServer  里面的混了,花了一個上午的時間,下面就是測試的數據的代碼:特別注意的是:'01'||to_char(i)這里 一直meiyo

      DECLARE

      i number:=0;

      BEGIN

      for i in 1..100 loop

      insert into AUSERTABLE(USERID,USERPID,USERNAME)

      values('01'||to_char(i),'8','武漢');

      dbms_output.put_line(i);

      end loop;

      END;

    posted @ 2010-02-24 05:21 小小it 閱讀(856) | 評論 (0)編輯 收藏

    2010年2月13日

    教你如何Oracle數據導入

    學習Oracle時,你可能會遇到Oracle數據導入問題,這里將介紹Oracle數據導入問題的解決方法,在這里拿出來和大家分享一下。Oracle數據導入實用程序(Import utility)允許從數據庫提取數據,并且將數據寫入操作系統文件。imp使用的基本格式:imp[username[/password[@service]]],以下例舉imp常用用法。

      1. 獲取幫助

      imp help=y

      2. 導入一個完整數據庫

      imp system/manager file=bible_db log=dible_db full=y ignore=y

      3. 導入一個或一組指定用戶所屬的全部表、索引和其他對象

      imp system/manager file=seapark log=seapark fromuser=seapark imp

      system/manager file=seapark log=seapark fromuser=(seapark,amy,amyc,harold)

      4. 將一個用戶所屬的數據導入另一個用戶

      imp system/manager file=tank log=tank fromuser=seapark touser=seapark_copy

      imp system/manager file=tank log=tank fromuser=(seapark,amy)

      touser=(seapark1, amy1)

      5. 導入一個表

      imp system/manager file=tank log=tank fromuser=seapark TABLES=(a,b)

      6. 從多個文件導入

      imp system/manager file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4)

      log=paycheck, filesize=1G full=y

      7. 使用參數文件

      imp system/manager parfile=bible_tables.par

      Import the sample tables used for the Oracle8i Database Administrator's

      Bible. fromuser=seapark touser=seapark_copy file=seapark log=seapark_import

      8. 增量導入

      imp system./manager inctype= RECTORE FULL=Y FILE=A

      Oracle數據導入導出imp/exp就相當于oracle數據還原與備份。exp命令可以把數據從遠程數據庫服務器導出到本地的dmp文件,imp命令可以把dmp文件從本地導入到遠處的數據庫服務器中。 利用這個功能可以構建兩個相同的數據庫,一個用來測試,一個用來正式使用。

      執行環境:可以在SQLPLUS.EXE或者DOS(命令行)中執行,DOS中可以執行時由于 在oracle 8i 中 安裝目錄\ora81\BIN被設置為全局路徑,該目錄下有EXP.EXE與IMP.EXE文件被用來執行導入導出。oracle用java編寫,SQLPLUS.EXE、EXP.EXE、IMP.EXE這兩個文件有可能是被包裝后的類文件。SQLPLUS.EXE調用EXP.EXE、IMP.EXE所包裹的類,完成導入導出功能。
    轉載:http://www.mengbu.com/  地址:http://www.mengbu.com/news/56/

    posted @ 2010-02-13 01:58 小小it 閱讀(664) | 評論 (0)編輯 收藏

    2010年2月4日

    iis rewrite 規則收集整理 精華 推薦!

    轉載請注明來源:楓子整理并發布于:http://www.imfeng.com/iis-rewrite-rules-collect-isapi-rewrite/

    二級域名:
    RewriteCond Host: (?!/.|www|ww)(.*).gongluela.com
    RewriteRule (.*) http/://www.gongluela.com/$1$2 [I,R]

    防盜鏈:
    ISAPI_Rewrite的httpd.ini內容寫的是下面內容,如果你也遇到盜鏈的困擾,建議可以參考一下:

    RewriteCond Host: (.+)
    RewriteCond Referer: (?!http://(?:www\.gongluela\.com|www\.imfeng\.com|www\.goboyo\.com|www\.soso\.com|www\.google\.com|cache\.baidu\.com)).+
    RewriteRule .*\.(?:jpg|kmz|kml|zip) /block.gif [I,O]

    注釋:第二行里面的域名是允許鏈接圖片的網站列表,目前我允許我自己的兩個站和另外bloglines、zhuaxia、google、baidu這四個網站引用我站文件,其他網站的引用被禁止。

      第三行是禁止引用的文件類型,包括jpg圖片、Google Earth的kmz和kml、zip文件。當然,還可以增加其他類型,比如gif、rar等,因為我站沒有那些文件,所以沒有添加上去。

    下面是轉載的一點文章,特轉給帥哥看的。

    發這個幫助文件是因為在給朋友設置主機的時候發現他們的ISAPI Rewrite的設置都有些不正確,有些甚至阻礙了站點的正常運行。就把官方自帶的英文幫助粗略的翻譯了一下。大家可以自由使用和轉載。但轉載時如果你愿意請注明是 藍色 翻譯的版本。

    ===================
    ISAPI Rewrite 配置簡介:

    在NT/2000/XP和2003平臺上,ISAPI Rewrite在系統帳戶下射入INETINFO進程與 IIS 以共存模式過濾器運行。所以系統帳戶應該給予對ISAPI- REWIRITE DLLS Internet匿名訪問組 可讀可執行權限 和所有的 HTTPD。INI 文件可讀權限,還應該給予系統帳戶對于所有包括 HTTPD。INI 文件的文件夾的可寫權限,這將允許產生 HTTP。 PARSE。ERRORS 日志文件,來記錄配置文件語法錯誤。對于PROXY模塊也需要額外的權限,因為它將運行于連接池或HIGH-ISPLATED 應用模式,IIS帳戶共享池和HIGH-ISOLATION池應被給予對RWHELPERE。DLL的可讀權限。缺省情況下IWAM-《計算機名》被用于所有的池,在相應的COM+應用設置中應借助COM+ADMINISTRATION MMC SNAP-IN建立池帳戶

    配置文件格式化:

    配置文件分為兩種: GLOBAL(服務器全局模式)和 INDIVIDUAL(站點獨立設置模式)文件,GLOBAL(服務器端全局模式)配置文件應該被放在ISAPI-REWRITE 安裝目錄中,名為 httpd.ini 。這個文件可以通過開始菜單的快捷方式訪問和配置,這個文件里面的映射規則為全局規則,將針對所有站點起效。INDIVIDUAL(站點獨立設置模式)配置文件應該被放在虛擬站點的根目錄內,也被命名為httpd.ini文件,這里面應該放置針對站點的映射配置設置,只針對被放置的虛擬站點有效。兩種類型的 httpd.ini 都是標準的windows ini 文件。所有的映射規則應該被放置在 [ISAPI_Rewrite] 之后。之前的文件文本將被忽略。
    HTTPD.INI文件示例

    [ISAPI_Rewrite]

    # This is a comment

    # 300 = 5 minutes

    CacheClockRate 300

    RepeatLimit 20

    # 設置其他人沒有下載 httpd.ini 和 httpd.parse.errors 文件的權限

    RewriteRule /httpd(?:\.ini|\.parse\.errors) / [F,I,O]

    # Block external access to the Helper ISAPI Extension

    RewriteRule .*\.isrwhlp / [F,I,O]

    # 配置規則

    RewriteCond Host: (.+)

    RewriteCond 指令

    Syntax:(句法) RewriteCond TestVerb CondPattern [Flags]

    這一指令定義一個條件規則,在 RewriteRule 或者 RewriteHeader或 RewriteProxy指令前預行RewriteCond指令,后面的規則只有它的,模式匹配URI的當前狀態并且額外的條件也被應用才會被應用。

    TestVerb

    Specifies verb that will be matched against regular expression.

    特別定義的動詞匹配規定的表達式

    TestVerb=(URL | METHOD | VERSION | HTTPHeaderName: | %ServerVariable) where:

    URL – returns Request-URI of client request as described in RFC 2068 (HTTP 1.1);

    返回客戶端在RFC2068中描述的需求的Request-URI

    METHOD – returns HTTP method of client request (OPTIONS, GET, HEAD, POST, PUT, Delete or TRACE);

    返回客戶端需求(OPTIONS, GET, HEAD, POST, PUT, Delete or TRACE)的HTTP方法

    VERSION – returns HTTP version;

    返回HTTP版本

    HTTPHeaderName – returns value of the specified HTTP header. HTTPHeaderName can be any valid HTTP header name. Header names should include the trailing colon “:”. If specified header does not exists in a client’s request TestVerb is treated as empty string.

    返回特定義的HTTP頭文件的值

    HTTPHeaderName =

    Accept:

    Accept-Charset:

    Accept-Encoding:

    Accept-Language:

    Authorization:

    Cookie:

    From:

    Host:

    If-Modified-Since:

    If-Match:

    If-None-Match:

    If-Range:

    If-Unmodified-Since:

    Max-Forwards:

    Proxy-Authorization:

    Range:

    Referer:

    User-Agent:

    Any-Custom-Header

    得到更多的關于HTTP頭文件的和他們的值的信息參考RFC2068

    ServerVariable 返回特定義的服務器變量的值 。例如服務器端口,全部服務器變量列表應在IIS文檔中建立,變量名應用%符預定;

    CondPattern

    The regular expression to match TestVerb

    規則表達式匹配TestVerb

    [Flags]

    Flags is a comma-separated list of the following flags:

    O (nOrmalize)

    Normalizes string before processing. Normalization includes removing of an URL-encoding, illegal characters, etc. This flag is useful with URLs and URL-encoded headers

    RewriteRule 指令

    Syntax: RewriteRule Pattern FormatString [Flags]

    這個指令可以不止發生一次,每個指令定義一個單獨的重寫規則,這些規則的定義命令很重要,因為這個命令在應用運行時規則是有用途的

    I (ignore case)

    不管大小寫強行指定字符匹配(http://www.chnjc.com/),這個FLAG影響RewriteRule指令和相應的RewriteCond 指令

    F (Forbidden)

    對客戶端做反應,停止REWRITING進程并且發送403錯誤,注意在這種情況下FORMATSTRING 是無用的并可以設置為任何非空字符串。

    L (last rule)

    不應用任何重寫規則在此停止重寫進程,使用這個FLAG以阻止當前被重寫的URI被后面的規則再次重寫

    N (Next iteration)

    強制REWRITINGENGINE調整規則目標并且從頭重啟規則檢查(所有修改將保存),重啟次數由RepeatLimit指定的值限制,如果這個數值超過N FLAG將被忽略

    NS (Next iteration of the same rule)

    以N標記工作不從相同的規則重啟規則規則進程(例如強制重復規則應用),通過RepeatLimit指令指定一個反復實行某一規則的最大數目,

    P (force proxy)

    強制目的URI在內部強制為代理需求并且立即通過ISAPI擴展應付代理需求,必須確認代理字符串是一個有效的URI包括協議主機等等否則代理將返回錯誤

    R (explicit redirect)

    強制服務器對客戶端發出重定向指示即時應答,提供目的URI的新地址,重定向規則經常是最后規則

    RP (permanent redirect)

    幾乎和[R]標記相同但是發布301HTTP狀態而不是302HTTP狀態代碼

    U (Unmangle Log)

    當URI是源需求而不是重寫需求時記載URI

    O (nOrmalize)

    在實行之前標準化字符串。標準化包括URL-ENCODING,不合法的字符的再移動等,這個標記對于URLS和URLS-ENDODED頭是有用的

    CL (Case Lower)

    小寫

    CU (Case Upper)

    大寫

    RewriteHeader directive

    Syntax: RewriteHeader HeaderName Pattern FormatString [Flags]

    這個指令是RewriteRule的更概括化變種,它不僅重寫URL的客戶端需求部分,而且重寫HTTP頭,這個指令不僅用于重寫。生成,刪除任何HTTP頭,甚至改變客戶端請求的方法

    HeaderName

    指定將被重寫的客戶頭(http://www.yaopinwang.org/),可取的值與 RewriteCond 指令中TestVerb參數相同

    Pattern

    限定規則表達式以匹配Request-URI,

    FormatString

    限定將生成新的URI的FormatString

    [Flags]

    是一個下列FLAGS的命令分隔列表

    I (ignore case)

    不管大小寫強行指定字符匹配,這個FLAG影響RewriteRule指令和相應的RewriteCond 指令

    F (Forbidden)

    對客戶端做反應,停止REWRITING進程并且發送403錯誤,注意在這種情況下FORMATSTRING 是無用的并可以設置為任何非空字符串。

    L (last rule)

    不應用任何重寫規則在此停止重寫進程,使用這個FLAG以阻止當前被重寫的URI被后面的規則再次重寫

    N (Next iteration)

    強制REWRITINGENGINE調整規則目標并且從頭重啟規則檢查(所有修改將保存),重啟次數由RepeatLimit指定的值限制,如果這個數值超過N FLAG將被忽略

    NS (Next iteration of the same rule)

    以N標記工作不從相同的規則重啟規則規則進程(例如強制重復規則應用),通過RepeatLimit指令指定一個反復實行某一規則的最大數目,

    R (explicit redirect)

    強制服務器對客戶端發出重定向指示即時應答,提供目的URI的新地址,重定向規則經常是最后規則

    RP (permanent redirect)

    幾乎和[R]標記相同但是發布301HTTP狀態而不是302HTTP狀態代碼

    U (Unmangle Log)

    當URI是源需求而不是重寫需求時記載URI

    O (nOrmalize)

    在實行之前標準化字符串。標準化包括URL-ENCODING,不合法的字符的再移動等,這個標記對于URLS和URLS-ENDODED頭是有用的

    CL (Case Lower)

    小寫

    CU (Case Upper)

    大寫

     

    要重移動頭,FORMAT STRING模式應該生成一個空字符串,例如這一規則將從客戶請求中重移代理信息

    RewriteHeader User-Agent: .* $0

    并且這一規則將把OLD-URL HEADER 加入請求中。

    RewriteCond URL (.*)RewriteHeader Old-URL: ^$ $1

    最后一個例子將通過改變請求方法定向所有的WEBDAV請求到/WEBDAV。ASP

    RewriteCond METHOD OPTIONS

    RewriteRule (.*) /webdav.asp?$1

    RewriteHeader METHOD OPTIONS GET

    RewriteProxy directive

    Syntax: RewriteProxy Pattern FormatString [Flags]

    強制目的URI在內部強制為代理需求并且立即通過ISAPI擴展應付代理需求,這將允許IIS作為代理服務器并且重路由到其他站點和服務器

    Pattern

    限定規則表達式以匹配Request-URI,

    FormatString

    限定將生成新的URI的FormatString

    [Flags]

    是一個下列FLAGS的命令分隔列表

    D (Delegate security)

    代理模式將試圖以當前假冒的用戶資格登陸遠程服務器,

    C (use Credentials)

    代理模式將試圖一在URL或基本授權頭文件中指定的資格登陸遠程服務器,用這個標記你可以使用http://user:password@host.com/path/ syntax 作為URL

    F (Follow redirects)

    缺省情況下ISAPI_Rewrite 將試圖將MAP遠程服務器返回的重定向指令到本地服務器命名空間,如果遠程服務器返回重定向點到那臺服務器其他的某個位置,ISAPI_Rewrite 將修改這一重定向指令指向本服務器名,這將避免用戶看到真實(內部)服務器名稱

    使用F標記強制代理模式內部跟蹤遠程服務器返回的重定向指令,使用這個標記如果你根本不需要接受遠程服務器的重定向指令,在WINHTTP設置中有重定向限制以避免遠程重定向循環

    I (ignore case)

    不管大小寫強行指定字符匹配

    U (Unmangle Log)

    當URI是源需求而不是重寫需求時記載URI

    O (nOrmalize)

    在實行之前標準化字符串。標準化包括URL-ENCODING,不合法的字符的再移動等,這個標記對于URLS和URLS-ENDODED頭是有用的

    CacheClockRate directive

    Syntax: CacheClockRate Interval

    這個指令只在GLOBAL配置內容中出現,如果這個指令在SITE-LEVEL內容中出現將被忽略并把錯誤信息寫入httpd.parse.errors 文件

    ISAPI_Rewrite caches每次在第一次加載時配置(http://www.mshuba.com/),使用這個指令你可以限定當一個特定站點從緩存中清理的不活動周期,把這個參數設置的足夠大你可以強制 ISAPI_Rewrite 永不清理緩存,記住任何配置文件的改變將在下次請求后立即更新而忽略這個周期

    Interval

    限定特定配置被清理出緩存的不作為時間(以秒計),缺省值3600(1小時)

    EnableConfig and DisableConfig directives

    Syntax:

    EnableConfig [SiteID|"Site name"]

    DisableConfig [SiteID|"Site name"]

    對所選站點激活或不激活SITE-LEVEL配置或者改變缺省配置,缺省SITE-LEVEL配置不激活,這個指令只出現在GLOBAL配置內容中

    SiteID

    Numeric metabase identifier of a site

    Site name

    Name of the site as it appears in the IIS console

    不用參數使用這個命令將改變缺省配置到ENABLE/DISABLE配置進程

    例子

    下面例子將使配置僅作用于ID=1(典型是缺省站點)名字是MY SITE的站點

    DisableConfig

    EnableConfig 1

    EnableConfig”My site”

    下邊例子將激活名稱為SOMESITE配置因為它分割設置重載了缺省設置

    EnableConfig”Some site”

    DisableConfig

    EnableRewrite and DisableRewrite directives

    Syntax:

    EnableRewrite [SiteID|"Site name"]

    DisableRewrite [SiteID|"Site name"]

    對所選站點激活或不激活重寫或者改變缺省配置,缺省重寫配置激活,這個指令只出現在GLOBAL配置內容中

    SiteID

    Numeric metabase identifier of a site

    Site name

    Name of the site as it appears in the IIS console.

    不使用參數這個命令將全部激活或者不激活

    RepeatLimit directive

    Syntax: RepeatLimit Limit

    這個指令可以出現在GLOBAL和SITE-LEVEL配置文件中,如果出現在GLOBAL配置文件中竟改變GLOBAL對于所有站點的限制,出現在SITE-LEVEL配置中竟只改變對于這個站點的限制并且這個限制不能超過GLOBAL限制

    ISAPI_Rewrite在實行規則時允許循環,這個指令允許限制最大可能循環的數量,可以設置為0或1而不支持循環,

    LIMIT

    限制最大循環數量,缺省32

    RFStyle directive

    Syntax: RFStyle Old | New

    Configuration Utility

    ISAPI_Rewrite Full包括配置功用(可以在 ISAPI_Rewrite 程序組中啟動),它允許你瀏覽測試狀態并輸入注冊碼(如果在安裝過程中沒有注冊),并且調整部分與代理模式操作相關的產品功能,UTILITY是由三個頁面組成的屬性表

    Trial page允許你瀏覽TIRAL狀態并輸入注冊碼(如果在安裝過程中沒有注冊)

    Settings page

    這頁包含對下列參數的編輯框

    Helper URL

    這個參數影響過濾器和代理模塊之間的聯系方式,它即可以是以點做前綴的文件擴展名(如 .isrwhlp)也可以是絕對路徑,

    第一種情況下擴展名將追加在初始請求URI上并且代理模塊竟通過SCRIPT MAP激活,缺省擴展名isrwhlp在安裝進程中加在global script map 中,如果你改變這個擴展名或者你的應用不繼承global script map 設置你應該手動添加向script map 所需求的入口。這個應該有如下參數

    Executable: An absolute path to the rwhelper.dll in the short form

    Extension: Desired extension (.isrwhlp is default)

    Verbs radio button: All Verbs

    Script engine checkbox: Checked

    Check that file exists checkbox: Unchecked

    我們已經創建了一個WSH script proxycfg.vbs ,可以簡單在一個a script maps中注冊,她位于安裝文件夾并且可以在命令行一如下方式運行

    cscript proxycfg.vbs [-r] [MetabasePath]

    Optional -r 強制注冊擴展名

    Optional MetabasePath parameter allows specification of the first metabase key to process. By default it is “/localhost/W3SVC”.

    要在所有現存的 script maps 中注冊你可以以如下命令行激活 script

    cscript proxycfg.vbs -r

     

    第二種情況下你應該提供一個URI作為’Helper URL’的值(http://www.gongluela.com/),你也應該map 一個 ISAPI_Rewrite的安裝文件夾作為美意個站點的虛擬文件家

    注意:根據顧客反應,IIS5(也許包括IIS4)對長目錄名有問題。所以我們強烈推薦使用短目錄名

    Worker threads limit

    這個參數限制在代理擴展線程池中工作線程數,缺省為0意味著這個限制等于處理器數量乘以2

    Active threads limit

    這個參數限制當前運行線程數,這個數量不可大于”Worker threads limit”. 缺省0意思是等于處理器數量

    Queue size 這個參數定義最大請求數量,如果你曾經看到Queue timeout expired” 信息在 the Application event log中你可以增加這個參數

    Queue timeout

    這個參數定義你在內部請求隊列中防止新請求的最大等待時間,如果你曾經看到Queue timeout expired” 信息在 the Application event log中你可以增加這個參數

    Connect timeout

    以毫秒設定代理模塊連接超時

    Send timeout

    以毫秒設定代理模塊發送超時

    Receive timeout

    以毫秒設定代理模塊發送超時

    About page.

    It contains copyright information and a link to the ISAPI_Rewrite’s web site.

    Regular expression syntax

    這一部分覆蓋了 ISAPI_Rewrite規定的表達句法

    Literals

    所有字符都是原意除了 “.”, “*”, “?”, “+”, “(”, “)”, “{”, “}”, “[", "]“, “^” and “$”.,這些字符在用“\”處理時是原意,原意指一個字符匹配自身

    Wildcard

    The dot character “.” matches any single character except null character and newline character

    以下為句法

    Repeats

    A repeat is an expression that is repeated an arbitrary number of times. An expression followed by “*” can be repeated any number of times including zero. An expression followed by “+” can be repeated any number of times, but at least once. An expression followed by “?” may be repeated zero or one times only. When it is necessary to specify the minimum and maximum number of repeats explicitly, the bounds operator “{}” may be used, thus “a{2}” is the letter “a” repeated exactly twice, “a{2,4}” represents the letter “a” repeated between 2 and 4 times, and “a{2,}” represents the letter “a” repeated at least twice with no upper limit. Note that there must be no white-space inside the {}, and there is no upper limit on the values of the lower and upper bounds. All repeat expressions refer to the shortest possible previous sub-expression: a single character; a character set, or a sub-expression grouped with “()” for example.

    Examples:

    “ba*” will match all of “b”, “ba”, “baaa” etc.

    “ba+” will match “ba” or “baaaa” for example but not “b”.

    “ba?” will match “b” or “ba”.

    “ba{2,4}” will match “baa”, “baaa” and “baaaa”.

    Non-greedy repeats

    Non-greedy repeats are possible by appending a ‘?’ after the repeat; a non-greedy repeat is one which will match the shortest possible string.

    For example to match html tag pairs one could use something like:

    “<\s*tagname[^>]*>(.*?)<\s*/tagname\s*>”

    In this case $1 will contain the text between the tag pairs, and will be the shortest possible matching string.

    Parenthesis

    Parentheses serve two purposes, to group items together into a sub-expression, and to mark what generated the match. For example the expression “(ab)*” would match all of the string “ababab”. All sub matches marked by parenthesis can be back referenced using \N or $N syntax. It is permissible for sub-expressions to match null strings. Sub-expressions are indexed from left to right starting from 1, sub-expression 0 is the whole expression.

    Non-Marking Parenthesis

    Sometimes you need to group sub-expressions with parenthesis, but don’t want the parenthesis to spit out another marked sub-expression, in this case a non-marking parenthesis (?:expression) can be used. For example the following expression creates no sub-expressions:

    “(?:abc)*”

    Alternatives

    Alternatives occur when the expression can match either one sub-expression or another, each alternative is separated by a “|”. Each alternative is the largest possible previous sub-expression; this is the opposite behaviour from repetition operators.

    Examples:

    “a(b|c)” could match “ab” or “ac”.

    “abc|def” could match “abc” or “def”.

    Sets

    A set is a set of characters that can match any single character that is a member of the set. Sets are delimited by “[" and "]” and can contain literals, character ranges, character classes, collating elements and equivalence classes. Set declarations that start with “^” contain the compliment of the elements that follow.

    Examples:

    Character literals:

    “[abc]” will match either of “a”, “b”, or “c”.

    “[^abc] will match any character other than “a”, “b”, or “c”.

    Character ranges:

    “[a-z]” will match any character in the range “a” to “z”.

    “[^A-Z]” will match any character other than those in the range “A” to “Z”.

    Character classes

    Character classes are denoted using the syntax “[:classname:]” within a set declaration, for example “[[:space:]]” is the set of all whitespace characters. The available character classes are:

    alnum Any alpha numeric character.

    alpha Any alphabetical character a-z and A-Z. Other characters may also be included depending upon the locale.

    blank Any blank character, either a space or a tab(http://www.xbszgs.com/).

    cntrl Any control character.

    digit Any digit 0-9.

    graph Any graphical character.

    lower Any lower case character a-z. Other characters may also be included depending upon the locale.

    print Any printable character.

    punct Any punctuation character.

    space Any whitespace character.

    upper Any upper case character A-Z. Other characters may also be included depending upon the locale.

    xdigit Any hexadecimal digit character, 0-9, a-f and A-F.

    word Any word character – all alphanumeric characters plus the underscore.

    unicode Any character whose code is greater than 255, this applies to the wide character traits classes only.

    There are some shortcuts that can be used in place of the character classes:

    \w in place of [:word:]

    \s in place of [:space:]

    \d in place of [:digit:]

    \l in place of [:lower:]

    \u in place of [:upper:]

    Collating elements

    Collating elements take the general form [.tagname.] inside a set declaration, where tagname is either a single character, or a name of a collating element, for example [[.a.]] is equivalent to [a], and [[.comma.]] is equivalent to [,]. ISAPI_Rewrite supports all the standard POSIX collating element names, and in addition the following digraphs: “ae”, “ch”, “ll”, “ss”, “nj”, “dz”, “lj”, each in lower, upper and title case variations. Multi-character collating elements can result in the set matching more than one character, for example [[.ae.]] would match two characters, but note that [^[.ae.]] would only match one character.

    Equivalence classes

    Equivalenceclassestakethegeneralform[=tagname=] inside a set declaration, where tagname is either a single character, or a name of a collating element, and matches any character that is a member of the same primary equivalence class as the collating element [.tagname.]. An equivalence class is a set of characters that collate the same, a primary equivalence class is a set of characters whose primary sort key are all the same (for example strings are typically collated by character, then by accent, and then by case; the primary sort key then relates to the character, the secondary to the accentation, and the tertiary to the case). If there is no equivalence class corresponding to tagname, then [=tagname=] is exactly the same as [.tagname.].

    To include a literal “-” in a set declaration then: make it the first character after the opening “[" or "[^", the endpoint of a range, a collating element, or precede it with an escape character as in "[\-]“. To include a literal “[" or "]” or “^” in a set then make them the endpoint of a range, a collating element, or precede with an escape character.

    Line anchors

    An anchor is something that matches the null string at the start(http://www.jiamengku.com/) or end of a line: “^” matches the null string at the start of a line, “$” matches the null string at the end of a line.

    Back references

    A back reference is a reference to a previous sub-expression that has already been matched, the reference is to what the sub-expression matched, not to the expression itself. A back reference consists of the escape character “\” followed by a digit “1″ to “9″, “\1″ refers to the first sub-expression, “\2″ to the second etc. For example the expression “(.*)\1″ matches any string that is repeated about its mid-point for example “abcabc” or “xyzxyz”. A back reference to a sub-expression that did not participate in any match, matches the null string. In ISAPI_Rewrite all back references are global for entire RewriteRule and corresponding RewriteCond directives. Sub matches are numbered up to down and left to right beginning from the first RewriteCond directive of the corresponding RewriteRule directive, if there is one.

    Forward Lookahead Asserts

    There are two forms of these; one for positive forward lookahead asserts, and one for negative lookahead asserts:

    “(?=abc)” matches zero characters only if they are followed by the expression “abc”.

    “(?!abc)” matches zero characters only if they are not followed by the expression “abc”.

    Word operators

    The following operators are provided for compatibility with the GNU regular expression library.

    “\w” matches any single character that is a member of the “word” character class, this is identical to the expression “[[:word:]]”.

    “\W” matches any single character that is not a member of the “word” character class, this is identical to the expression “[^[:word:]]”.

    “\<” matches the null string at the start of a word.

    “\>” matches the null string at the end of the word.

    “\b” matches the null string at either the start or the end of a word.

    “\B” matches a null string within a word.

    Escape operator

    The escape character “\” has several meanings.

    The escape operator may introduce an operator for example: back references, or a word operator.

    The escape operator may make the following character normal, for example “\*” represents a literal “*” rather than the repeat operator.

    Single character escape sequences:

    The following escape sequences are aliases for single characters:

    Escape sequence Character code Meaning

    \a 0×07 Bell character.

    \t 0×09 Tab character.

    \v 0×0B Vertical tab.

    \e 0×1B ASCII Escape character.

    \0dd 0dd An octal character code, where dd is one or more octal digits.

    \xXX 0xXX A hexadecimal character code, where XX is one or more hexadecimal digits.

    \x{XX} 0xXX A hexadecimal character code, where XX is one or more hexadecimal digits, optionally a unicode character.

    \cZ z-@ An ASCII escape sequence control-Z, where Z is any ASCII character greater than or equal to the character code for ‘@’.

    Miscellaneous escape sequences:

    The following are provided mostly for perl compatibility, but note that there are some differences in the meanings of \l \L \u and \U:

    Escape sequence Meaning

    \w Equivalent to [[:word:]].

    \W Equivalent to [^[:word:]].

    \s Equivalent to [[:space:]].

    \S Equivalent to [^[:space:]].

    \d Equivalent to [[:digit:]].

    \D Equivalent to [^[:digit:]].

    \l Equivalent to [[:lower:]].

    \L Equivalent to [^[:lower:]].

    \u Equivalent to [[:upper:]].

    \U Equivalent to [^[:upper:]].

    \C Any single character, equivalent to ‘.’.

    \X Match any Unicode combining character sequence, for example “a\x 0301″ (a letter a with an acute).

    \Q The begin quote operator, everything that follows is treated as a literal character until a \E end quote operator is found.

    \E The end quote operator, terminates a sequence begun with \Q.

    What gets matched?

    The regular expression will match the first possible matching string, if more than one string starting at a given location can match then it matches the longest possible string. In cases where their are multiple possible matches all starting at the same location, and all of the same length, then the match chosen is the one with the longest first sub-expression, if that is the same for two or more matches, then the second sub-expression will be examined and so on. Note that ISAPI_Rewrite uses MATCH algorithm. The result is matched only if the expression matches the whole input sequence. For example:

    RewriteCond URL ^/somedir/.* #will match any request to somedir directory and subdirectories, while

    RewriteCond URL ^/somedir/ #will match only request to the root of the somedir.

    Special note about “pathological” regular expressions

    ISAPI_Rewrite uses a very powerful regular expressions engine Regex++ written by Dr. John Maddock. But as any real thing it’s not ideal: There exists some “pathological” expressions which may require exponential time for matching; these all involve nested repetition operators, for example attempting to match the expression “(a*a)*b” against N letter a’s requires time proportional to 2N. These expressions can (almost) always be rewritten in such a way as to avoid the problem, for example “(a*a)*b” could be rewritten as “a*b” which requires only time linearly proportional to N to solve. In the general case, non-nested repeat expressions require time proportional to N2, however if the clauses are mutually exclusive then they can be matched in linear time – this is the case with “a*b”, for each character the matcher will either match an “a” or a “b” or fail, where as with “a*a” the matcher can’t tell which branch to take (the first “a” or the second) and so has to try both.

    Boost 1.29.0 Regex++ could detect “pathological” regular expressions and terminate theirs matching. When a rule fails ISAPI_Rewrite sends “500 Internal Server error – Rule Failed” status to a client to indicate configuration error. Also the failed rule is disabled to prevent performance losses

    Format string syntax

    In format strings, all characters are treated as literals except: “(”, “)”, “$”, “\”, “?”, “:”.

    To use any of these as literals you must prefix them with the escape character \

    The following special sequences are recognized:

    Grouping:

    Use the parenthesis characters ( and ) to group sub-expressions within the format string, use \( and \) to represent literal ‘(’ and ‘)’.

    Sub-expression expansions:

    The following perl like expressions expand to a particular matched sub-expression:

    $` Expands to all the text from the end of the previous match to the start of the current match, if there was no previous match in the current operation, then everything from the start of the input string to the start of the match.

    $’ Expands to all the text from the end of the match to the end of the input string.

    $& Expands to all of the current match.

    $0 Expands to all of the current match.

    $N Expands to the text that matched sub-expression N.

    Conditional expressions:

    Conditional expressions allow two different format strings to be selected dependent upon whether a sub-expression participated in the match or not:

    ?Ntrue_expression:false_expression

    Executes true_expression if sub-expression N participated in the match, otherwise executes false_expression.

    Example: suppose we search for “(while)|(for)” then the format string “?1WHILE:FOR” would output what matched, but in upper case

    Escape sequences:

    The following escape sequences are also allowed:

    \a The bell character.

    \f The form feed character.

    \n The newline character.

    \r The carriage return character.

    \t The tab character.

    \v A vertical tab character.

    \x A hexadecimal character – for example \x0D.

    \x{} A possible unicode hexadecimal character – for example \x{1A0}

    \cx The ASCII escape character x, for example \c@ is equivalent to escape-@.

    \e The ASCII escape character.

    \dd An octal character constant, for example \10

    Examples例子

    Emulating host-header-based virtual sites on a single site

    例如你在兩個域名注冊www.gongluela.comwww.jiamengku.com,現在你可以創建兩個不同的站點而使用單一的物理站點。把以下規則加入到你的httpd.ini 文件

    [ISAPI_Rewrite]

    #Fix missing slash char on folders

    RewriteCond Host: (.*)

    RewriteRule ([^.?]+[^.?/]) http\://$1$2/ [I,R]

    #Emulate site1

    RewriteCond Host: (?:www\.)?site1\.com

    RewriteRule (.*) /site1$1 [I,L]

    #Emulate site2

    RewriteCond Host: (?:www\.)?site2\.com

    RewriteRule (.*) /site2$1 [I,L]

    現在你可以把你的站點放在/site1 和 /site2 目錄中.

    或者你可以應用更多的類規則:

    [ISAPI_Rewrite]

    #Fix missing slash char on folders

    RewriteCond Host: (.*)

    RewriteRule ([^.?]+[^.?/]) http\://$1$2/ [I,R]

    RewriteCond Host: (www\.)?(.+)

    RewriteRule (.*) /$2$3

    為站點應該命名目錄為 /somesite1.com, /somesite2.info, etc.

    Using loops (Next flag) to convert request parameters

    假如你希望有物理URL如 http://www.myhost.com/foo.asp?a=A&b=B&c=C 使用請求如 http://www.myhost.com/foo.asp/a/A/b/B/c/C 參數數量可以從兩個請求之間變化

    至少有兩個解決辦法。你可以簡單的為每一可能的參數數量添加一個分隔規則或者你可以使用一個技術說明如下面的例子

    ISAPI_Rewrite]

    RewriteRule (.*?\.asp)(\?[^/]*)?/([^/]*)/([^/]*)(.*) $1(?2$2&:\?)$3=$4$5 [NS,I]

    這個規則將從請求的URL中抽取一個參數追加在請求字符的末尾并且從頭重啟規則進程。所以它將循環直到所有參數被移動到適當的位置,或者直到超過RepeatLimit

    也存在許多這個規則的變種。但使用不同的分隔字符,例如。使用URLS如http://www.myhost.com/foo.asp~a~A~b~B~c~C 可以應中下面的規則:

    ISAPI_Rewrite]

    RewriteRule (.*?\.asp)(\?[^~]*)?~([^~]*)~([^~]*)(.*) $1(?2$2&:\?)$3=$4$5 [NS,I]

    Running servers behind IIS

    假如我們有一個內網服務器運行IIS而幾個公司服務器運行其他平臺,這些服務器不能從INTERNET直接進入,而只能從我們公司的網絡進入,有一個簡單的例子可以使用代理標記映射其他服務器到IIS命名空間:

    [ISAPI_Rewrite]

    RewriteProxy /mappoint(.+) http\://sitedomain$1 [I,U]

    Moving sites from UNIX to IIS

    這個規則可以幫助你把URL從 /~username 改變到 /username 和從 /file.html 改變到 /file.htm. 這個在你僅僅把你的站從UNIX移動到IIS并且保持搜索引擎和其他外部頁面對老頁面的連接時是有用的

    [ISAPI_Rewrite]

    #redirecting to update old links

    RewriteRule (.*)\.html $1.htm

    RewriteRule /~(.*) http\://myserver/$1 [R]

    Moving site location

    許多網管問這樣的問題:他們要重定向所有的請求到一個新的網絡服務器,當你需要建立一個更新的站點取代老的的時候經常出現這樣的問題,解決方案是用ISAPI_Rewrite 于老服務器中

    [ISAPI_Rewrite]

    #redirecting to update old links

    RewriteRule (.+) http\://newwebserver$1 [R]

    Browser-dependent content

    Dynamically generated robots.txt

    robots.txt是一個搜索引擎用來發現能不能被索引的文件,但是為一個大站創建一個有許多動態內容的這個文件是很復雜的工作,我們可以寫一個robots.asp script

    現在使用單一規則生成 robots.txt

    [ISAPI_Rewrite]

    RewriteRule /robots\.txt /robots.asp

    Making search engines to index dynamic pages

    站點的內容存儲在XML文件中,在服務器上有一個/XMLProcess.asp 文件處理XML文件并返回HTML到最終用戶,URLS到文檔有如下形式

    http://www.mysite.com/XMLProcess.asp?xml=/somdir/somedoc.xml

    但是許多公共引擎不能索引此類文檔,因為URLS包含問號(文檔動態生成),

    ISAPI_Rewrite可以完全消除這個問題

    [ISAPI_Rewrite]

    RewriteRule /doc(.*)\.htm /XMLProcess.asp\?xml=$1.xml

    現在使用如同http://www.mysite.com/doc/somedir/somedoc.htm的URL進入文檔,搜索引擎將不知道不是somedoc.htm 文件并且內容是動態生成的

    Negative expressions (NOT

    有時當模式不匹配你需要應用規則,這種情況下你可以使用在規則表達式中稱為Forward Lookahead Asserts

    例如你需要不使用IE把所有用戶移動到別的地點

    [ISAPI_Rewrite]

    # Redirect all non Internet Explorer users

    # to another location

    RewriteCond User-Agent: (?!.*MSIE).*

    RewriteRule (.*) /nonie$1

    Dynamic authentification

    例如我們在站點上有一些成員域,我們在這個域上需要密碼保護文件而我們不喜歡用BUILT-IN服務器安全,這個情況下可以建立一個ASP腳本(稱為proxy.asp),這個腳本將代理所有請求到成員域并且檢查請求允許,這里有一個簡單的模板你可以放進你自己的授權代碼

    現在我們要通過配置 ISAPI_Rewrite 通過這個頁面代理請求:

    [ISAPI_Rewrite]

    # Proxy all requests through proxy.asp

    RewriteRule /members(.+) /proxy.asp\?http\://mysite.com/members$1

    保護圖片 防止盜鏈
    Blocking inline-images (stop hot linking

    假設我們在http://www.mysite.com/下有些頁面調用一些GIF、jpg、png圖片,不允許別人盜鏈引用到他們自己的頁面上,因為這樣大大增加了服務器流量。
    當然我們不能100%保護圖片,但我們至少可以在得到瀏覽器發出的HTTP Referer header的地方限制這種情況,因為這個可以判斷是否我們自己的站點調用了我們自己的圖片。

    [ISAPI_Rewrite]

    RewriteCond Host: (.+)

    RewriteCond Referer: (?!http://\1.*).*

    RewriteRule .*\.(?:gif|jpg|png) /block.gif [I,O]

    注:ISAPI_Rewrite分精簡(Lite)和完全(Full)版.精簡版不支持對每個虛擬主機站點進行重寫,只能進行全局處理.不過對于有服務器的朋友,精簡版也就夠啦.精簡版下載地址:http://www.helicontech.com/download/,就是那Lite Version (free)啦。

    posted @ 2010-02-04 03:31 小小it 閱讀(1250) | 評論 (0)編輯 收藏

    2008年10月12日

    一路讀心情小記

    一路讀心情小記

    轉載:小說一路讀:http://www.yiludu.cn/

        想起友人說起,他愿意花很多錢去買回一年的青春。我想我并不愿意過多地徘徊于生澀年華之中。我那些已逝的年青時代,于同齡人而言,顯得那般無力與蒼白。很多時候,我甚至害怕回憶。害怕面對記憶中那個內心填滿頹靡的少女,徘徊在無人的十字路口,試圖讓自己找一個出發點,卻跌跌撞撞了好些時候。那些活在自我世界里的時間,把一個本應芬芳的年華,變得萎靡。讓我同樣想起了生活在北京的一個文友。她把大把大把的青春全耗在了北京郊區租住的小平房里,每天在昏暗的屋內用纖細的指頭敲著一個又一個虛構卻唯美的生活故事。文字落幕,回到現實生活中的她卻得依靠香煙來麻醉自己。而誰都不知道這樣一個女人,其實她最大的夢想僅僅是當一個木匠。就像魔杰座唱的那樣所以她說自己也是失敗的。因為青春的日子過得不著夢想的邊際。或許,沒法深入到文海中央只能徘徊于潛水灣的所謂的文人們,就只能打著愛好寫作的旗號招搖。而在旁人的眼中,這些人其實是瘋子。當然,這瘋子,也包括我。否則,收錄文學怎么會在看了“不繁華的旅途是孤寂且無聊的”這樣一句話后,便很不信邪的又給自己制造了一個理想。將來,我要拉著我的王子,背著畫板和筆記本去荒蕪人煙的燎原跋涉,去幽靜古老的小鎮徒步,而小鎮的街頭有流浪歌手在唱著蘇打綠的小情歌……
      
      正所謂的理想,應該也就是想想罷了。回到現實生活當中,因受臺風的影響,感覺這個城市今年的秋天來得有點早。

    posted @ 2008-10-12 04:04 小小it 閱讀(146) | 評論 (0)編輯 收藏
    兩只小羊一點收錄文學

    兩只小羊一點收錄文學

    轉載:收錄文學http://www.sluwx.cn/

    鄉政府響應上級號召搞對口扶貧,黨委秘書艾妮左想右想花一百元買了兩只小山羊。兩只小山羊一公一母,毛茸茸的。艾妮把兩只小山羊拴在一條繩上,牽到了包扶的李老漢家。

      李老漢用一種怪怪的眼光看了看愛妮,以為他是用UUSee網絡電視呢?無聲的接過兩只小羊。李老漢并不老,只是胡子長了些相貌老了些,人其實才五十出頭。李老漢從來對鄉政府的扶貧工作就不配合,但絕不反抗。比方早些年政府號召大家種藥,李老漢硬是不種。鄉政府工作人員親自給他種上,李老漢不管不問,后來地荒的成了亂墳岡。再比方說,鄉政府號召大家搞袋料香菇,他把柴禾弄好放在院子里,就是不粉碎。不粉碎就裝不成袋料,裝不成袋料他的任務就完不成。結果政府就免費給他粉碎,并裝上了袋。可再來檢查時,李老漢的袋料還是原樣----李老漢把袋料蒸過了,但就是不點菌。類似這樣的事發生在李老漢身上的還有幾起。鄉政府總結了,李老漢的行為類似于印度獨立時的甘地,搞的是不合作運動。

      愛妮包扶李老漢,收錄文學還是真動了腦筋的。李老漢總不至于把兩只小羊放在圈里活活餓死吧!

      其實李老漢還有幾只羊,可就是繁殖不起來。愛妮送李老漢兩只羊,這次他沒有向以前那樣不合作。把兩只小羊侍弄的精神煥發,膘肥體壯,子孫成群。李老漢想,這群羊是我的了,我風里來雨里去的,如果愛妮來要羊,就把兩只長大了的羊給她。可是,沒有過幾天,他的想法就發生了變化。為什么給她兩只羊?羊是我喂大的還她兩只小羊就不錯了。可是又過了幾天,他的想法又發生了變化,為什么還他兩只小羊,他的兩只小羊不是我喂,早就死了。

      鄉政府離城遠,還翻山。艾妮在一次出差時車翻人亡。

      艾妮一死,李老漢開始還有點傷悲。可不久他就高興起來了一路讀著一部小說。愛妮一死,就不會要羊了。

      艾妮的丈夫在一個陽光明媚的早上來到了老李的家。此時的李老漢今非昔比,羊群里的已經一百多頭了。艾妮的丈夫遞給李老漢一只香煙:“當年愛妮送給你的兩只羊,是她自己花錢買的,我想看看那兩只小羊……”

      李老漢抽著艾妮丈夫發的黃金葉,拿眼斜瞅著艾妮的丈夫說:“你家艾妮送過我兩只羊嗎?”

      李老漢干脆脖子一歪:“想要我的羊?沒門!就是掏錢也不賣給你!”

      李老漢放出了狗,艾妮的丈夫撒腿就跑,可狗的速度好像比他更快,他只好加快速度……

      后來,鄉書記對李老漢說,艾妮的丈夫是來給你的羊圈消毒的,你怎么放狗咬人呢?

    posted @ 2008-10-12 04:04 小小it 閱讀(173) | 評論 (0)編輯 收藏
    國內博客營銷是如何的

    本來這篇準備寫幾個博客營銷做的比較好的案例,不過欣欣提醒我說除了廣告商之外,部分博客的不認真對待是更主要的問題,因此我這里從參與話題廣告的博客的角度再談一談自己的一些看法。

           在我所見的話題廣告文章中,的確有部分用戶只是敷衍了事,比如把廣告的相關介紹抄上,然后隨便寫兩句無關痛癢的評價了事。我在上一篇文章中強調廣告主應該努力去與博客交流與對話,不過前提是建立在博客認真了解并使用相關產品,表達自己獨到的見解與觀點之后。只有這樣,廣告主與博客之間的交流與對話才有產生的條件。那怎么成為一個合格的參與話題廣告的博客,個人覺得應該注意以下幾點:

    1、選擇自己感興趣的廣告。不用接受一個自己毫不了解的廣告然后無病呻吟一番,那樣不但你寫著不舒服,讓你的讀者看著也不舒服。

    2、認真了解與使用產品。至少你應該看看產品的 FAQ,幫助文檔,了解該產品到底有些什么功能與特點,然后試用每一項功能。因為只有這樣,你的評論才是有價值的。

    3、寫文章之前先用搜索看看其他人怎么說。當然這并不是要求每一個博客都有獨到的見解,不過當你盡可能多的了解其他人的評論,對自己的評論質量也是有幫助的。

    4、按照廣告要求完成文章。其實這一點是很多博客忽視的,比如加相關的申明圖片和鏈接,達到字數要求等等,而最終導致文章得不到通過。永遠記住,你參與的是一場商業活動,既然參與,你就得遵守游戲規則。

           博客與廣告商應該做的我都說到了,那讓我們再來看看夾在中間的 Feedsky 做得怎樣。前段時間 Feedsky 對所有參與話題廣告的博客進行了重新定價并開始收取 50% 的手續費,很多定價降低的博客表達了強烈的不滿,特別是那些數據很高,唯獨在 Feedsky 中訂閱數很少的博客影響最大。

           我在前面提到廣告商不要關心博客營銷中的點擊數據,而要重視與博客的交流與對話。從另一方面講,博客的各項數據不應該成為對博客定價的唯一標準。廣告商需要的是一個典型的用戶,有見解的用戶,能提供有價值意見的用戶,而對產品的傳播是次要的。而 Feedsky 應該將博客在每次參與話題廣告中的表現加入到定價的考慮因素之內,而且權重要高才行。簡單點說,就是寫得好的,不管博客的其他數據怎樣,定價會越來越高;寫得差的,即便博客其他數據高,定價也會調低。而 Feedsky 已經投放了不少的話題廣告,相信在這一點上也是有條件做到的。

           我始終都是看好話題廣告的,不過這需要在這條關系鏈上的各方共同完善,哪一個環節出了問題影響都會很大。當然以上不管對廣告商、博客還是 Feedsky 提出的意見都是個人不成熟的看法,如有不妥之處,還請大家多多指證。

    轉載:UUSee下載http://www.uusee5.org.cn/

    posted @ 2008-10-12 04:03 小小it 閱讀(1058) | 評論 (0)編輯 收藏

    2008年9月27日

    魔杰座和玫瑰的年華

    魔杰座和玫瑰的年華

    當少年站在河邊,魔杰座河水仿佛流逝的時光。而他看見了一路讀http://www.yiludu.cn/)的影子,它們不斷被沖刷和更改,直至變成一首首精致的詩風干在岸上潮濕的季雨里。

      當少女站在香樟樹下,夏天仿佛她的戀人。而她看見了未來的影子,它們在斑駁的樹蔭下一直蔓延,直至消散在那漸遠的單車和白色的襯衣里。

      對于每一個我所喜歡的歌手,他們的歌都會在我的腦海里形成一種幻覺。水木年華給我的幻覺便是這樣的一個男孩和女孩的組合。他和她構成了我們的象征,他們是一幅畫,一幅清晰素描著我們青春那水中與樹下的往事的圖畫,讓所有人有所念亦有所傷。而在此后不斷的深入里,水與木這兩種不同的元素便緊緊地在意識里結合,從未有過半點的分離。

      水木年華的歌總是帶著很強的畫面感,屬于干凈淳樸的那種,于是所有的歌便成了一個個短小而豐富的故事,短小的是篇幅,豐富的卻不僅僅只是一個過程,更有這個過程里的情感。最早接觸他們的一首歌是《愛春秋》——“我摘一朵帶著露水的玫瑰花/要送給我最愛的她”。這種信手拈來的唯美絕非一個不具備詩人氣質的藝術家所能達到。在這里,我更愿意把玫瑰理解成青春的心事,嬌嫩而高貴,只配為心愛之人所擁有。正如他們之前的《一生有你》——“多少人曾愛慕你年輕時的容顏,可知誰愿承受歲月無情的變遷”。在那年,水木年華憑借這首歌完美地將葉芝的詩用流行元素加以詮釋,也因此喚醒了多數青年內心卡徒酒吧http://www.katu98.cn/)的舊夢。

    來源:魔杰座-周杰倫新專輯魔杰座 http://www.imfeng.com/post/mojiezuo.html

    posted @ 2008-09-27 03:14 小小it 閱讀(151) | 評論 (0)編輯 收藏

    2008年9月24日

    有助于你編程而立即要做的10件事

    中午看到這篇文章,覺得道理的,推薦給大家看看。
    很多IT人,都在忙碌著搞代碼,卻不知道,除了單純的寫代碼,還要關注很多相關的東西。不然,你的代碼,本身就是一個問題。
    轉載自:http://www.yiludu.cn/ 

    1.升級單元測試

    你的編程沒有測試?你應當隨時進行測試,即TATFT ( testing all the fucking time )。當然你應當選擇比僅是單元測試更好的方式。RSpec和Shoulda是兩個可以選來使用的工具。

    2.試用TDD

    既然你在測試,那你就應當記錄下這些測試。不要記錄代碼并用后來的測試覆蓋它,而應當是方法的記錄。TDD ( Test Drive Development ) 可以使你編出更好的代碼,TATFT最重要的基礎就是 TDD。進行TATFT并不難,首先你寫下你所能做的最簡單的測試并運行,觀察測試的失敗,然后寫出執行語句以便使測試通過,不停地重復這樣的過程就可以了。

    3.自動化部署

    自動化是你最好的朋友,想要實現自動Capistrano是相當好用的工具。在你配置部署好你的項目后,第一個要裝的東西就應當是Capistrano。從第一天起就可以自動化部署將會節約你大量的時間。

    4.安裝 SCM

    安裝 SCM并學習使用它,這樣做的好處是可以使那些超重的庫中的代碼不再那么冗繁,目前有大量的工具可以選擇,我每天使用的是Git。Git是一款很特別的分布式SCM,即DSCM。DSCM是很有前景的,它可以同有其他庫的用戶們協同工作。

    5.審查持續集成

    現在我們已經測試了代碼并將其安全的存放在庫內。比起不停地測試,什么是更好的方式?自動測試是個不錯的選擇。很感激有cruisecontrol.rb的存在,這個應用工具自動運行了那些瑣碎的測試。

    6.了解你的代碼

    寫代碼是一回事,但是更重要的事情是了解代碼。可以用四種自動化工具來幫助你了解代碼:flog、 tarantula、rcov 和saikuro。這些工具分別有其獨到之處,我很樂意向你介紹它們。
    Flog,可以按字母排列的順序來記錄復雜的結果。

    Tarantula,根據相關性原則和一些靈活的創意設計的。它所做的是spider 你的Rail應用以便去搜索壞鏈接。這真是令人得到解脫,使我受益匪淺。

    Rcov,這是一個在Ruby界相當受歡迎的工具。它是一個C0范圍工具,換言之,它精確的測定出你的代碼中哪些部分在被測試,哪些部分沒被測試。唯一的缺陷是它不能測試諸如:“if condition_a && condition_b || condition_c”. 這樣的語句。

    Saikuro,可以測量出你代碼環的復雜性,即可以計算出你代碼branche 和path的數量。當然你代碼的復雜性越低,它運行的越容易。

    7.升級你的Fixtures

    Fixtures 是看起來很有創意的事物之一,但有諸多的弊端。對于Fixtures,只有極少的替代,我選擇使用Rails Scenarios,原因是它在測試中工作起來像Fixtures一樣,但是允許我做比YAML更好的DSL。我也可以在一個文件內指定多重的 Scenarios,這將使事情變得更有組織性。

    8.收集分析對象

    在Rail平臺上搭建新的系統。每周都會有新的監控工具出現,這樣我們有很多的選擇,在這里我介紹我已經使用過的工具:HopToad 和 TuneUp。

    HopToad對于異常報文有不錯的能力,它可收集間斷應用并用簡便的方式顯示收集結果。還有,這是一個免費軟件~

    TuneUp用另外一種方式獲取數據,它計算每一處分別花費多長時間去組合自身。你的頁面是不是花費了很長時間去組建?但你又不知道是因為什么緣故花費了這么久,使用TuneUp來查一下吧,你會發現一些你以前從未想到過的事情。另外,TuneUp是一款開源軟件,你可以登陸進他們的托管服務分享你的結果。

    9.閱讀其他人的代碼

    你想成為更優秀的程序員嗎?那一定要多讀代碼,這包括好的、壞的、你自己的、其他人的代碼等。閱讀代碼是一項很多程序員都不重視的技能,但其實能夠快速閱讀他人的代碼并理解其中的含義是一種極其需要的能力。

    10.寫博客的習慣

    就我個人來說,當我閱讀博客的時候我可以找到所有的信息。大部分時候我是會撰寫跟技術相關的要點,偶爾討論點輕松的話題。寫博客是出于分享的原因,你可以寫下能夠幫你節約時間的技術技巧,也可以是一些你想要記住的技術難點和命令之類。

    posted @ 2008-09-24 23:58 小小it 閱讀(167) | 評論 (0)編輯 收藏
    有關BIOS的二十四個解答

    文章來源:一路讀 www.yiludu.cn

    1. 什么是可擦寫(Flash)的BIOS ? 

    BIOS的發音是"bye-ose," 是基本輸入/輸出系統的縮寫。BIOS是機器的硬件自帶的、

    在電腦沒有訪問磁盤上程序之前決定機器基本功能的軟件系統。就PC而言,BIOS 包含了

    控制鍵盤、顯示屏幕,磁盤驅動器,串行通訊設備和很多其它功能的代碼。

    一般地,BIOS存儲在主板上的ROM 芯片(所以通常叫 ROM BIOS),這確保了BIOS的

    一般可用性和不會因為磁盤的問題而損壞。它也確保了機器能夠啟動。因為RAM 比ROM的

    速度快, 很多的機器制造商設計的BIOS在機器啟動時能從ROM被拷貝到RAM去運行,這項技

    術也叫shadowing。

    當今,很多PC的主板都有flash BIOS, 意味這BIOS 是存儲在可重新改寫的flash 內

    存芯片, 如果需要的話改寫毫不費力。

    PC機的BIOS是標準化的,所有的PC在BIOS這一級別上是類似的(盡管因為生產商不同

    ,BIOS的版本非常多)。而常說DOS功能是通過磁盤上的軟件實現的, 所以不用更換BIOS

    ,你可以很簡單地升級你的DOS系統。

    能夠處理Plug-and-Play (PnP) 設備的BIOS叫 PnP BIOS, 或PnP-aware BIOS。一般

    而言,flash BIOS都是PnP BIOS。


    2. 怎么確定我的系統里是可擦寫的BIOS(Flash Bios chip) ? 

    很簡單,把機箱打開,揭開BIOS 芯片上(一般是28 或 32腳的雙列直插式集成電路,

    上面是貼的是印有BIOS生產商的封條)的封條,可以看到芯片的型號。對照下面,你就可

    以確定系統里是否包含可擦寫的BIOS。

    Am29F010: AMD 5 伏的 flash ROM 
    Am28F010, Am28F010A: AMD 12 伏的 flash ROM 
    AT28C010, AT28MC010, AT29C010, AT29LC010, AT29MC010: Atmel 5 伏的 flash ROM 
    CAT28F010V5, CAT28F010V5I: Catalyst 5 伏的 flash ROM 
    CAT28F010, CAT28F010I: Catalyst 12 伏的 flash ROM 
    28F010: Fujitsu(富士通) 12 伏的 flash ROM 或 ISSI 12 伏的 flash ROM 
    HN58C1000: Hitachi(東芝) 5 伏的 flash ROM 
    HN28F101, HN29C010, HN29C010B, HN58C1001, HN58V1001: 
    Hitachi (東芝)12 伏的 flash ROM 
    A28F010, 28F001BX-B, 28F001BX-T, 28F010: Intel 12 伏的 flash ROM 
    M5M28F101FP, M5M28F101P, M5M28F101RV, M5M28F101VP: 
    Mitsubishi 12 伏的 flash ROM 
    MX28F1000: MXIC 12 伏的 flash ROM 
    MSM28F101: OKI 12 伏的 flash ROM 
    KM29C010: Samsung 5 伏的 flash ROM 
    DQ28C010, DYM28C010, DQM28C010A: SEEQ 5 伏的 flash ROM 
    DQ47F010, DQ48F010: SEEQ 12 伏的 flash ROM 
    M28F010, M28F1001: SGS-Thomson 12 伏的 flash ROM 
    28EE011, 29EE010: SST 5 伏的 flash ROM 
    PH29EE010: SST ROM Chip - 可擦寫(Flashable) 
    TMS29F010: Texas-Instr. 5 伏的 flash ROM 
    TMS28F010: Texas-Instr. 12 伏的 flash ROM 
    W29EE011: Winbond 5 伏的 flash ROM 
    W27F010: Winbond 12 伏的 flash ROM 
    X28C010, X28C010I, XM28C010, XM28C010I: XICOR 5 伏的 flash ROM 
    29LVxxx - 3V Flash memory (較少見) 
    28Cxxx - EEPROM, 和Flash memory 相似
    27Cxxx - With window. EPROM: 只讀, 一次性寫入。

    其它型號開頭的字母不是28或29的芯片可能就是普通的ROM。
    3. 我需要升級BIOS嗎 ? 

    升級BIOS有很多的理由,其中有重要的,也有不太重要的。就我們PC用戶而言,最重

    要的原因就是和Windows 有關。如果在一臺機器上的BIOS過時了,Windows 的配置就不會

    達到最佳狀態。

    現在市場上出售的硬盤容量都會遠大于528M,為了支持這些大容量硬盤,BIOS必須支

    持LBA (Logical Block Addressing,邏輯塊尋址) 的技術。如果你的 BIOS 不支持,而

    你又想使用硬盤的全部容量,就必須使用能“欺騙”BIOS的專用軟件。而這些專用軟件的

    使用會讓Windows訪問硬盤時采用兼容模式,造成性能的降低。

    為了讓Windows能充分支持Plug 'n Play 的設備,你也需要 PnP-BIOS。這也是升級

    BIOS的重要原因。

    第三個重要原因就是升級BIOS可以解決以前BIOS的錯誤(bugs)。

    其它不太重要的原因包括:BIOS有新的設置,從光驅啟動機器,從SCSI設備上啟動等

    等。

    4. 從哪兒下載Flash BIOSs ? 

    a、各大主板廠商的BIOS更新數據相關網址 

    1)華碩ASUShttp://www.asus.com.tw 

    486電腦BIOS升級程序網址( http://www.asus.com.tw/Products/Bios/bios-486.html ;


    Pentium電腦BIOS升級程序網址( http://www.asus.com.tw/Products/Bios/bios-

    p54.html )
    Pentium pro和PentiumⅡ電腦BIOS升級程序網址( 

    http://www.asus.com.tw/Products/Bios/bios-p6.html)

    2)技嘉GIGABYTEhttp://www.giga-byte.com ;)

    Beta BIOS系列http://www.giga-byte.com/gigabyte-web/sw_bata.htm)
    AGP BIOS系列( http://www.giga-byte.com/gigabyte-web/swagp.htm ;)
    Intel 440GX 系列( http://www.giga-byte.com/gigabyte-web/swgx.htm ;)
    Intel 440BX 系列( http://www.giga-byte.com/gigabyte-web/swbx.htm ;)
    Intel 440ZX 系列( http://www.giga-byte.com/gigabyte-web/swzx.htm ;)
    Intel 440EX 系列( http://www.giga-byte.com/gigabyte-web/swex.htm ;)
    Intel 440LX 系列( http://www.giga-byte.com/gigabyte-web/swlx1.htm ;)
    Intel 430TX 系列( http://www.giga-byte.com/gigabyte-web/swtx.htm ;)
    VIA 系列( http://www.giga-byte.com/gigabyte-web/swvia.htm ;)
    ALi 系列( http://www.giga-byte.com/gigabyte-web/swali.htm ;)
    SiS 系列( http://www.giga-byte.com/gigabyte-web/swsis.htm ;)
    其他舊型號主板( http://www.giga-byte.com/gigabyte-web/swother.htm ;)

    3)微星MSIhttp://www.ecs.com.tw)

    MS-41系列主板( http://www.msi.com.tw/chinese/bios/486.htm ;)
    MS-51系列主板( http://www.msi.com.tw/chinese/bios/51.htm ;)
    MS-61系列主板( http://www.msi.com.tw/chinese/bios/61.htm ;)

    4)升技 [ABIT] http://www.abit.com.tw/html/cload.htm) 

    5)聯尚 [AIR] http://www.airwebs.com/download.html) 

    6)浩鑫 [SHUTTLE] ( ftp://ftp.spacewalker.com/bios/) 

    7)建基 [AOPEN] http://w3.aopen.com.tw/tech/biosdrv.htm) 

    8)映泰 [BIOSTAR] http://192.72.144.27/service.htm) 

    9)艾崴 [IWILL] http://www.iwill.com.tw/csupport/index_bios.html) 

    10)捷邦 [J-BOND] http://www.jbond.com/companyf.html) 

    11)邁科 [MICRONICS] http://www.micronics.com/) 

    12)梅捷 [SOYO] http://www.soyo.com.tw/chinese/product/biosup.htm) 

    13)麗臺 [SUPERMICRO] http://www.supermicro.com/download/dlframe.htm) 

    14)磐英 [EPOX] http://www.epox.com/support/bios.html) 

    15)憶華 [EFA] http://www.efa.com.tw/elec/efa/c-service.html) 

    16)友通 [DFI ] http://components.dfiweb.com/support/downloads.asp) 

    17)精英 [ECS] http://www.ecs.com.tw/ecs/ecs/spp-m.htm) 

    18)大眾 [LEO] http://www.fic.com.tw/techsupport/bios/index.htm) 

    19)邁肯 [MYCOMP] http://www.mycomp-tmc.com/BIOS.htm) 

    20)福揚 [FYI] http://www.fyi.com.tw/download-c.htm) 

    21)中凌 [ATREND] http://www.atrend.com.tw/download/frame-bios.html) 

    22)海洋 [OCTEK] http://www.oceanhk.com/drivers/others/biso) 

    23)宏基 [ACER] http://www.aopenamerica.com/tech/mainbd/default.htm) 

    24)聯想 [QDI] http://www.qdigrp.com/driver.htm) 

    25)宏鷹 [PCCHIPS] http://www.pcchips.com.tw/BIOS.html) 

    26)捷波 [JETBOARD] http://www.jetway.com.tw/evisn/jwd/jwd01/index.html) 

    27)聯訊 [DATAEXPERT] http://www.dataexpert.com.tw/service/) 

    28)皇朝 ( http://megastar.kamtronic.com  

    29)承啟( http://www.chintech.com.tw  

    30)鉆石( http://www.dfiweb.com  

    31)致福( http://www.gvc.com.tw 

    32)英特爾( http://www.intel.com  

    33)華基( http://www.zida.com  

    34)麒麟( http://www.pcchips.com  

    b、主要 BIOS 生產公司網站

    Award BIOS 公司 (美國) http://www.award.com/)
    Award BIOS 公司 (臺灣) http://www.award.com.tw/)
    Award 技術咨詢中心 (只限email,mailto:support@unicore.com )
    AMI BIOS 公司 http://www.amibios.com/)
    Microid Research http://www.mrbios.com/)
    Micro Firmware , 開發并發行Phoenix BIOS及升級BIOS數據文件 

    http://www.firmware.com/)
    Phoenix BIOS 公司 http://www.phoenix.com/)
    Unicore (提供BIOS升級數據文件 ,只限Award BIOS。 http://www.unicore.com/
    5. 主板的名稱不知道怎么辦 ? 

    如果你的BIOS是Award BIOS, 你可以向award888@ms1.hinet.net或

    support@unicore.com發封郵件,里面附上你的BIOS的1) 版本號 2) 系列號(part 

    number) 3) 發布日期。award的系列號包含了它所支持芯片的信息。這個信息出現在機器

    啟動后,屏幕顯示正在進行內存檢驗的時刻。這時按PAUSE鍵,就可以讀系列號,BIOS的

    日期和版本了。不過,有的主板生產商把這個信息去除了,你只有向他們查詢。

    6. 如何升級我的BIOS ? 

    升級BIOS需要1) BIOS的讀寫程序( flasher) 和 2) BIOS的最新數據文件。讀寫程

    序將把這個數據文件寫入到BIOS的芯片里。下面是不同BIOS的升級命令:

    awdflash xxx.bin (對 Award BIOSs)
    amiflash xxx.bin (對 AMI BIOSs)
    mrflash xxx.bin (對 MRBIOSs)

    注意:

    a、 在讀寫器要求你存儲當前的BIOS時,選“YES”,這樣在升級BIOS時如果出現問

    題了還可以恢復原來的BIOS。

    b、有些主板生產商提供自己的升級軟件程序(一般不能拷貝),注意在升級前在

    BIOS里把“System BIOS Cacheable”的選項設為NO。

    c、千萬不要使用錯誤的BIOS數據文件,否則你的機器就不能啟動了。

    7. 升級Award BIOS時出現提示“Insufficient memory (內存不足)”怎么辦?

    解決方法有:

    a. 在CMOS 的“Chipset Features”的設置里, Disable掉“ Video Bios 

    Cacheable”。

    b. 按 Esc,F10,存儲退出。

    c. 重啟動,在出現"Windows Starting" 時按Ctrl+F5,這可以不加載Drvspace.bin,

    省了大約108K 的內存空間。

    d. 開始升級BIOS ,重啟動。

    e. 重進入CMOS的“Chipset Features”的設置里, Enable“ Video Bios 

    Cacheable”。按 Esc,F10,存儲退出。

    9. 如何恢復損壞的BIOS ? 

    方案一:利用根區BIOS(Boot-block BIOS)

    當今大多數基于AWARD BIOS的主板里都有根區BIOS,這是個在升級BIOS時不會被覆蓋

    的一小部分BIOS。它只支持很基本的硬件如:軟盤等。如果你的顯卡是PCI的,在BIOS被

    損壞后你的屏幕將是漆黑一片,因為根區BIOS只支持ISA 的顯卡。

    根區BIOS 可以執行可引導軟盤上的AUTOEXEC.BAT。這樣我們可以把Award flasher 

    和正確的 BIOS 文件(*.bin )放在軟盤上并在AUTOEXEC.BAT 里加入BIOS升級命令。

    方案二: 得到新的BIOS芯片

    a、聯系主板生產商,看是否他們能提供BIOS芯片。有些生產商是免費提供的。

    b、聯系賣相關芯片的電腦公司,如Unicore Softwarehttp://www.unicore.com/) 

    或 Midco Computers (以前的 RC Systems公司http://www.midcocomputers.com/)。下

    面是Midco的一段廣告: 
    "我們向公眾提供BIOS的更換芯片。請訪問 www.midcocomputers.com ,我們將樂意幫助

    你。 "

    方案三:熱交換

    注意:本人不對本方法導致的任何問題負責,風險自負。

    用另外一塊可以正常使用的BIOS芯片來更換當前損壞的芯片,而正常BIOS芯片的主板

    必須盡量和損壞的一致。在正常芯片的機器上先把“System BIOS cacheable”設為

    ENABLE,進入DOS后,把正常的芯片拔掉,用損壞的芯片來替代,然后正確地升級BIOS即

    可。

    注意:建議使用MRBIOS的讀寫程序,他們的產品名聲最好。可以訪問

    ftp://ftp.mrbios.com找相關軟件。

    方案四: (適用于INTEL主板) 

    把Flash Recovery 的跳線放在recovery mode的位置,把可啟動的BIOS升級軟盤放入

    ,啟動機器。
    因為沒被覆蓋的根區BIOS不支持PCI的顯卡,這時屏幕上什么都沒有。你可以通過鳴笛聲

    和軟盤LED來觀察。當機器響了一下,接著軟盤的LED亮時,系統就正在升級你的BIOS。當

    軟盤的LED燈滅時,說明恢復已完成,關機。把跳線恢復到缺省位置,重啟動繼續恢復。

    10. 如果我的BIOS有問題而目前又找不到升級文件怎么辦?

    可以試著找到主板型號不同但BIOS生產商相同的BIOS。下面的文字是從新聞組里摘錄

    的:

    “最近我在本人的Triton 芯片組的主板上進行了一系列的BIOS的測試,是為了檢驗

    一種主板能否使用不同主板生產商提供的BIOS。結論是:大多數是可以的。所以,即使是

    不同生產商提供的BIOS也可以一定限度地通用。

    實驗內容:我想升級我的Amptron PM7700B 主板的BIOS,版本號從v4.50PG BIOS 到

    v4.51PG,希望能糾正電源管理方面的錯誤(顯示器隨機空白,硬盤老處于“睡眠”狀態

    )。我的機器配置是:Maxtor 1.6GB 硬盤(IDE0的master模式), Aztech的 4x CD-ROM 

    (IDE1的Slave模式), SB16聲卡, AMD 5x86-75 超頻到90MHz (老式的SSA-5 版本). 

    實驗里所使用的BIOS有:ASUS(華碩)460FX主板使用的Award v4.51PG,FIC的PT-

    2003 430FX主板使用的Award v4.50PG,ECS TR5510主板使用的 Award v4.51PG,還有

    Shuttle HOT-541 主板使用的Award v4.51PG。

    請注意,如果主板生產商提供的BIOS升級程序和其他的不同(比如華碩),它就不能

    被用來升級別的主板的BIOS。所以,除了華碩的主板,AWDFLASH v5.2 都能順利地升級其

    他主板BIOS。

    筆者還發現,MR-BIOS的29C010.EXE (請使用和你的主板芯片組相符合的軟件)能更

    新所有主板的BIOS。ftp://ftp.mrbios.com里你可以找到29C010.EXE 和 28F010.EXE 

    ,在那里長度大于60k的zip文件里有不少好的東西。

    結果:

    a、華碩( ASUS )BIOS 工作正常, 但內存只檢測到8MB(實際上有16MB),因為內

    存的原因, Win95還“發現”了不少新的設備。

    b、升級了FIC 430FX BIOS, 機器不能訪問軟盤(嘗試后,系統死機),但硬盤正常

    啟動和工作。

    c、ECS TR5510 BIOS 表現最好,最終我也采用了它。它解決了電源管理的錯誤,還

    解決了以前按SHIFT-F5不能直接進入純DOS模式的問題。(該問題估計是Amptron的 BIOS

    和AMD 5x86 CPU不兼容的緣故)同時,在WinTune96的測試下內存和硬盤的訪問速度也增

    加了幾個MB/S。

    d、Shuttle HOT-541 BIOS和ESC的BIOS一樣,解決了同樣的問題。但在win95下,不

    能直接檢測到光驅。

    結論:

    a、所有實驗用的BIOS都沒有導致永久性的、不可恢復性的錯誤,90-100% 的功能都

    正常(ECS的甚至解決了原Amptron BIOS的問題)。

    b、如果你也想嘗試這樣的作法,請記住一定要使用相同芯片組的BIOS升級文件,輸

    入/輸出(I/O)的芯片也要和你自己的相同。我主板上所使用的I/O 芯片是UM8669 。如

    果你的I/O芯片不同,升級后可能會導致串口不工作或更糟的結果。

    c、在硬盤里保存一份完好的BIOS文件和升級軟件。避免如果軟盤不能啟動,恢復不

    了BIOS的情況。 

    d、實驗用的BIOS沒有一種讓我的機器變得徹底毀壞,不過你的運氣就不一定這么好

    了。

    e、一般初學者不要使用不同生產商提供的BIOS,除非

    1) 你有EPROM燒錄器,寫片BIOS芯片對你來說非常容易。
    2) 你有同種類型的芯片,能非常熟練地*作“熱插拔”技術。
    3) 你有冒險的勇氣。

    11. 在Award或AMI的網站里為何沒有我的BIOS的升級文件 ? 

    Award 和AMI會為特定的主板生產商提供符合特定主板和芯片組的BIOS升級文件,然

    后生產商再利用Award/AMI提供的工具, 對這些BIOS文件作出最后的修改和優化。

    也就是說,生產商比Award/AMI更了解他們的主板,能提供更好的BIOS升級。

    注意:http://www.award.com.tw/download/bios/里包括了好多主板如ali、cyrix 

    、intel、opti、sis 、via的BIOS升級文件。不過你最好先在主板生產商自己的網頁里找

    升級文件,如果沒有的話,才來此處下載。

    12. 在哪兒能找到我的BIOS的技術幫助 ? 

    在你主板的網站上(如果有的話),有問題也可以向他們發電子郵件。

    13. PROM, EPROM, EPROM 這些名詞代表什么 ? 

    PROM (可編程只讀存儲器 programmable read-only memory) 是數據只可寫入一次的

    存儲器芯片。一旦數據寫入到PROM, 就永久保存。不象PC系統里的內存,PROM在關機時里

    面的信息依然保存。

    PROM 和 ROM (只讀存儲器) 的差異是PROM 生產出來后是空白的存儲器,而ROM在生

    產出來后就已經被寫入信息了。要想寫入到PROM ,需要特殊的設備--PROM 編程器或PROM 

    燒錄器。

    EPROM (可擦除可編程只讀存儲器erasable programmable read-only memory)屬于特

    殊的一種 PROM,內部的信息可以用紫外線來擦除。一旦擦除后,就可以被寫入信息。

    而EEPROM和PROM類似, 但擦除時需要電而不是紫外線。EEPROM(電擦除可編程只讀存

    儲器 electrically erasable programmable read-only memory)和PROM一樣,關機后信

    息不會消失,沒有RAM快。

    一種特殊的EEPROM, 稱之為flash EEPROM, 在電腦里可以被重寫,不再需要特殊的燒

    錄器。我們常說的可讀寫式BIOS的芯片就是有它們構成的。

    14. Award Flasher 5.33 有什么新的功能? 

    Award BIOS 的二進制數據文件的文件名一般是和BIOS系列號一致的。因為文件名的

    類似,用戶可能偶然失誤使用錯誤的數據文件。

    為了避免這個問題,在新版的 AWDFLASH.EXE version 5.33增加了檢測的功能,如果

    它發現用戶使用的數據文件和主板的型號不符就報警,報警信息是:“The program 

    file's part number does not match with your system ”

    如果你認為自己不會犯這樣的錯誤,可以用“/Py”PASS掉檢測功能:Awdflash 

    2Axxxxxx.BIN /Py 

    15. 為何在網站里不再有MRBIOS 的軟件 ? 

    因為他們不再屬于共享軟件了,需要請ftp://ftp.mrbios.com里找找。最新MRBIOS

    的版本是3.42 。

    16. 在DEBUG里如何恢復BIOS的出廠值?

    a、針對AMI/Award BIOS:

    C:\DEBUG (在純DOS下,不是windows里的DOS窗口)
    -O 70 17
    -O 71 17
    Q

    b、針對Phoenix BIOS:

    C:\DEBUG (在純DOS下,不是windows里的DOS窗口)
    -O 70 FF
    -O 71 17
    Q

    17. 我的密碼忘了,如何破解BIOS里的密碼保護? 

    a、針對 Award BIOS:

    試試下面的密碼: AWARD_SW, j262 , HLT, SER, SKY_FOX, BIOSTAR, ALFAROME, 

    lkwpeter, 
    j256, AWARD?SW, LKWPETER, Syxz, aLLy, 589589, 589721, awkward, CONCAT

    也可在網上下載有關的破解程序。

    b、針對AMI BIOS:

    試試下面的密碼:AMI, BIOS, PASSWORD, HEWITT RAND, AMI?SW, AMI_SW, LKWPETER, 

    A.M.I.

    也可在網上下載有關的破解程序。

    18. AMI BIOS 的鳴笛有何含義?

    除去8聲鳴笛,其他的都會造成機器不能啟動:

    1 聲鳴笛 刷新失敗
    2 聲鳴笛 奇/偶校驗錯誤
    3 聲鳴笛 基本64K 內存錯誤
    4 聲鳴笛 定時器失效
    5 聲鳴笛 處理器錯誤
    6 聲鳴笛 8042 的 A20信號錯誤
    7 聲鳴笛 處理器特殊中斷錯誤
    8 聲鳴笛 顯存讀/寫錯誤
    9 聲鳴笛 ROM 校驗錯誤
    10 聲鳴笛 CMOS 關閉寄存器讀/寫錯誤
    11 聲鳴笛 Cache 內存損壞

    19. 如何解決上述的鳴笛錯誤?

    對1 、 2、3 聲鳴笛,可以試著重安裝內存條,如果錯誤仍然存在,更換好的內存條



    對4、5、7 、10聲鳴笛,到經銷商處更換主板。

    對6聲鳴笛,重新安裝鍵盤控制器芯片。如果錯誤繼續,更換該芯片。如果錯誤繼續

    ,檢查和鍵盤有關的部件,如更換好的鍵盤,檢查主板上是否有鍵盤保險絲。

    對8聲鳴笛, 更換顯卡或顯存。

    對9聲鳴笛,更換BIOS芯片。

    如果沒有任何鳴笛,而顯示器上漆黑一片,先檢查電源,連接主板上的POWER LED到

    LED上,如果LED亮,而驅動器有轉動的聲音就說明電源是好的。

    接著,檢查主板上有沒有松動的部件。松動的處理器,BIOS芯片,晶振或芯片組都能

    導致主板不工作。

    接著,除了顯卡,把所有的插卡都拔掉。這時系統至少能加電并出現顯卡信息。然后

    ,再一次一個地插卡,直到問題出現。

    上述方法失效的話,只有到經銷商更換主板了。

    20. 如何在MRBIOS里插入NCR SCSI BIOS v3.07 或 4.03 ?

    其實很簡單,不過針對不同版本的mr bios方法也不同。

    首先,到Windows95.com 下載'Hex Workshop',它能在二進制狀態下編輯文件。插入

    SCSI BIOS的原理就是把 mr bios前面沒用的空間刪除,在附加上NCR 的flash BIOS,然

    后存儲文件。

    盡管mr bios 網站上說它的BIOS大小是92k,可下載后文件長度要大于這個值。用上

    述的二進制編輯軟件把它前面的空格刪除,以保正長度為92k。再將NCR v3.07 的BIOS 追

    加上,這樣文件長度就是108k (92k + 16k NCR v3.07 ), 也可追加32k的 NCR v4.03,

    長度是124k. 


    21. 如何對INTEL OEM主板升級它的Intel AMI BIOS? 

    比如:想把1.00.xx.CB0H 升級到1.00.xx.CB0。"1.00.xx.CB0H"里的H表示這是INTEL

    為其他主板生產商(此處代表VOBIS公司)制造的OEM主板,所以下面的方法也適用于任何

    使用AMI BIOS的INTEL OEM主板 ,比如從1.00.xx.BC0R升級到1.00.xx.BC0。

    背景資料:

    "1.00.xx.CB0"的BIOS是AMI為Intel的主板芯片組特制的(也叫"Advanced-E/V"主板)

    ,然后主板生產商VOBIS再對它作稍微的修改,稱之為"1.00.xx.CB0H"。很可能字母"H"代

    表 他們生產PC上標注的"HIGHSCREEN" 。所以,我們可以使用常見的AMI的BIOS來升級它



    你可以ftp://download.intel.nl/design/motherbd/ev/里下載"1.00.xx.CB0"的

    BIOS版本,版本號為02, 03, 04, 05 和 06 。如果你現在試著用這些BIOS,就會有錯誤

    信息: "the data are corrupt or you are using a wrong BIOS"(數據錯誤或BIOS文

    件有誤)。原因就是INTEL提供的BIOS的ID字符串只是1.00.02.CB0,與機器中現有的

    1.00.02.CB0H不符,所以升級程序不執行,升級失敗。

    解決方法:

    a. 下載和目前機器里版本號相同的1.00.02.CB0 和最新版本號的1.00.06.CB0。

    b. 按照網頁"http://developer.intel.com/design/motherbd/genbios.htm";的指令

    ,創建2張啟動盤,一個版本號一個。

    c. 在1.00.02.CB0的軟盤里,有文件"1002cb0_.bio" 和"1002cb0_.bi1"。用文本編

    輯器把里面的"CB0 " (注意CB0后面的空格不能省略) 替換為 "CB0H"。每個文件只有一個

    ,只能替換一處。

    d. 用修改的啟動盤引導機器,令人驚奇的是現在機器的BIOS-ID 變成了1.00.02.CB0 

    ,而不是1.00.02.CB0H。

    e. 用另一張啟動盤(1.00.06.CB0)引導,并升級成功,當前的BIOS版本是

    1.00.06.CB0。

    注意:

    a. Intel提供的升級軟件有保存當前BIOS的功能,應該使用它并創建一啟動盤。這樣

    升級出現問題時,可以利用主板提供的BIOS-recovery跳線,來恢復原來的BIOS。

    b. 有可能直接修改06版本號的啟動盤,而升級成功。

    c. 如果VOBIS不僅往BIOS里添加了他們的公司名,還作了功能性的修改,上述的*作

    就有一定的風險。

    22. 如何對INTEL OEM主板升級它的Intel Phoenix BIOS ?

    a、到INTEL的網站上下載針對該主板的最新的BIOS,把它放在一張可啟動的軟盤里。

    b、進入BIOS, enable選項'Check for User Flash ROMS' ,并關機。

    c、把主板上的BIOS跳線設置為RECOVERY模式。將啟動盤放入引導機器,它將自動進

    入恢復程序,并加載軟盤里最新的BIOS。

    d、關機,恢復BIOS跳線到正常模式,開機即可。

    23. 如何更換Award BIOS啟動時的EPA logo 畫面?

    a、首先,要有BIOS數據文件( *.BIN )用來先編輯再寫入BIOS里,要確認該文件和

    你主板是對應的。

    b、http://members.aol.com/mrosenb257/下載BMPtoEPA, BMPtoEPA是個自由軟件

    ,運行于Windows9x下,能把BMP 文件轉換為EPA 。

    c、有了需要的EPA 文件后,要找到專用軟件CBROM 或 CBROM6,它能把EPA文件放在

    *.BIN文件里,格式為:cbrom *.BIN /EPA savedEPA.epa (*.BIN 是BIOS數據文件,

    savedEPA.epa是需要的EPA文件)。另外,CBROM 適用于Award V4.51 ,而CBROM6適用于

    Award V6.0 。

    d、現在就可以升級你的BIOS了,成功后EPA logo畫面就變成你需要的了。

    24. 如何在windows里避免“IRQ Routing Table errors”?

    如果你主板使用的是VIA芯片組,就需要安裝最新的VIA IRQ Routing的補丁軟件

    http://www.via.com.tw/)。

    如果還不行,就在BIOS里disable掉 'OnChip USB'。如果成功的話,就應和主板生產

    商聯系獲得最新的BIOS。(比如,Shuttle HOT591P 主板就有這種情況,升級BIOS后就沒

    問題了。)

    posted @ 2008-09-24 23:53 小小it 閱讀(274) | 評論 (0)編輯 收藏
    僅列出標題  下一頁
    主站蜘蛛池模板: 免费在线观看的网站| 亚洲国产电影av在线网址| 亚洲Av无码国产一区二区| 亚洲 自拍 另类小说综合图区| 最近更新免费中文字幕大全| 亚洲精品国产福利片| 国产一区二区三区免费在线观看| 国产精品免费在线播放| 亚洲精彩视频在线观看| 免费人成年激情视频在线观看 | 久久久久亚洲精品天堂| 最近中文字幕mv免费高清视频7 | 最近中文字幕mv手机免费高清| 免费国产草莓视频在线观看黄| 亚洲国产精品久久久久婷婷软件 | 亚洲国产精品乱码一区二区| 免费无码AV电影在线观看| 一级毛片一级毛片免费毛片 | 有码人妻在线免费看片| 亚洲色欲www综合网| 亚洲午夜福利精品无码| 无码中文在线二区免费| 免费看无码特级毛片| 亚洲免费综合色在线视频| 久久噜噜噜久久亚洲va久| 国产一级淫片视频免费看 | 亚洲成AV人片在| 国产yw855.c免费视频| 精品成在人线AV无码免费看| aa午夜免费剧场| 亚洲色欲啪啪久久WWW综合网| 精品久久久久久亚洲| 四虎永久免费影院| 99久久这里只精品国产免费| a级片免费观看视频| 老司机午夜性生免费福利| 亚洲深深色噜噜狠狠网站| www.xxxx.com日本免费| 亚洲AV成人一区二区三区在线看 | 亚洲啪啪AV无码片| 国产乱子伦片免费观看中字|