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

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

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

    小小

    IT
    數(shù)據(jù)加載中……

    2008年9月21日

    ORACLE中字符串split的一種方法

    一種方法是用函數(shù):這里轉(zhuǎn)帖網(wǎng)上摘抄的一個(gè)函數(shù)

      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的正則相關(guān)函數(shù)實(shí)現(xiàn):

      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

      這里利用了函數(shù) regexp_substr和connect by

      其中rownum < 100 會(huì)連接限制split的次數(shù) '[^,]+'為split拆分的正則表達(dá)式,這里為【,】逗號(hào)

      上面sql語(yǔ)句結(jié)果是:

      abc

      def

      ggg

      1

      2

      3

      4

      5

    posted @ 2010-02-24 05:22 小小it 閱讀(3171) | 評(píng)論 (0)編輯 收藏
    sql語(yǔ)句實(shí)現(xiàn)循環(huán)添加1000個(gè)數(shù)據(jù)

    select * from ausertable order by userid;

      commit;  //執(zhí)行 結(jié)束

      1:最近剛開始用oracle 數(shù)據(jù)庫(kù),很多東西都不怎么懂,要在tbw賬號(hào)表添加 1000個(gè)賬號(hào),找了一些資料,經(jīng)過測(cè)試可以使用,開始 我吧語(yǔ)法 都跟SqlServer  里面的混了,花了一個(gè)上午的時(shí)間,下面就是測(cè)試的數(shù)據(jù)的代碼:特別注意的是:'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) | 評(píng)論 (0)編輯 收藏
    教你如何Oracle數(shù)據(jù)導(dǎo)入

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

      1. 獲取幫助

      imp help=y

      2. 導(dǎo)入一個(gè)完整數(shù)據(jù)庫(kù)

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

      3. 導(dǎo)入一個(gè)或一組指定用戶所屬的全部表、索引和其他對(duì)象

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

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

      4. 將一個(gè)用戶所屬的數(shù)據(jù)導(dǎo)入另一個(gè)用戶

      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. 導(dǎo)入一個(gè)表

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

      6. 從多個(gè)文件導(dǎo)入

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

      log=paycheck, filesize=1G full=y

      7. 使用參數(shù)文件

      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. 增量導(dǎo)入

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

      Oracle數(shù)據(jù)導(dǎo)入導(dǎo)出imp/exp就相當(dāng)于oracle數(shù)據(jù)還原與備份。exp命令可以把數(shù)據(jù)從遠(yuǎn)程數(shù)據(jù)庫(kù)服務(wù)器導(dǎo)出到本地的dmp文件,imp命令可以把dmp文件從本地導(dǎo)入到遠(yuǎn)處的數(shù)據(jù)庫(kù)服務(wù)器中。 利用這個(gè)功能可以構(gòu)建兩個(gè)相同的數(shù)據(jù)庫(kù),一個(gè)用來測(cè)試,一個(gè)用來正式使用。

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

    posted @ 2010-02-13 01:58 小小it 閱讀(664) | 評(píng)論 (0)編輯 收藏
    iis rewrite 規(guī)則收集整理 精華 推薦!

    轉(zhuǎn)載請(qǐng)注明來源:楓子整理并發(fā)布于:http://www.imfeng.com/iis-rewrite-rules-collect-isapi-rewrite/

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

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

    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]

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

      第三行是禁止引用的文件類型,包括jpg圖片、Google Earth的kmz和kml、zip文件。當(dāng)然,還可以增加其他類型,比如gif、rar等,因?yàn)槲艺緵]有那些文件,所以沒有添加上去。

    下面是轉(zhuǎn)載的一點(diǎn)文章,特轉(zhuǎn)給帥哥看的。

    發(fā)這個(gè)幫助文件是因?yàn)樵诮o朋友設(shè)置主機(jī)的時(shí)候發(fā)現(xiàn)他們的ISAPI Rewrite的設(shè)置都有些不正確,有些甚至阻礙了站點(diǎn)的正常運(yùn)行。就把官方自帶的英文幫助粗略的翻譯了一下。大家可以自由使用和轉(zhuǎn)載。但轉(zhuǎn)載時(shí)如果你愿意請(qǐng)注明是 藍(lán)色 翻譯的版本。

    ===================
    ISAPI Rewrite 配置簡(jiǎn)介:

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

    配置文件格式化:

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

    [ISAPI_Rewrite]

    # This is a comment

    # 300 = 5 minutes

    CacheClockRate 300

    RepeatLimit 20

    # 設(shè)置其他人沒有下載 httpd.ini 和 httpd.parse.errors 文件的權(quán)限

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

    # Block external access to the Helper ISAPI Extension

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

    # 配置規(guī)則

    RewriteCond Host: (.+)

    RewriteCond 指令

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

    這一指令定義一個(gè)條件規(guī)則,在 RewriteRule 或者 RewriteHeader或 RewriteProxy指令前預(yù)行RewriteCond指令,后面的規(guī)則只有它的,模式匹配URI的當(dāng)前狀態(tài)并且額外的條件也被應(yīng)用才會(huì)被應(yīng)用。

    TestVerb

    Specifies verb that will be matched against regular expression.

    特別定義的動(dòng)詞匹配規(guī)定的表達(dá)式

    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

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

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

    CondPattern

    The regular expression to match TestVerb

    規(guī)則表達(dá)式匹配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]

    這個(gè)指令可以不止發(fā)生一次,每個(gè)指令定義一個(gè)單獨(dú)的重寫規(guī)則,這些規(guī)則的定義命令很重要,因?yàn)檫@個(gè)命令在應(yīng)用運(yùn)行時(shí)規(guī)則是有用途的

    I (ignore case)

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

    F (Forbidden)

    對(duì)客戶端做反應(yīng),停止REWRITING進(jìn)程并且發(fā)送403錯(cuò)誤,注意在這種情況下FORMATSTRING 是無用的并可以設(shè)置為任何非空字符串。

    L (last rule)

    不應(yīng)用任何重寫規(guī)則在此停止重寫進(jìn)程,使用這個(gè)FLAG以阻止當(dāng)前被重寫的URI被后面的規(guī)則再次重寫

    N (Next iteration)

    強(qiáng)制REWRITINGENGINE調(diào)整規(guī)則目標(biāo)并且從頭重啟規(guī)則檢查(所有修改將保存),重啟次數(shù)由RepeatLimit指定的值限制,如果這個(gè)數(shù)值超過N FLAG將被忽略

    NS (Next iteration of the same rule)

    以N標(biāo)記工作不從相同的規(guī)則重啟規(guī)則規(guī)則進(jìn)程(例如強(qiáng)制重復(fù)規(guī)則應(yīng)用),通過RepeatLimit指令指定一個(gè)反復(fù)實(shí)行某一規(guī)則的最大數(shù)目,

    P (force proxy)

    強(qiáng)制目的URI在內(nèi)部強(qiáng)制為代理需求并且立即通過ISAPI擴(kuò)展應(yīng)付代理需求,必須確認(rèn)代理字符串是一個(gè)有效的URI包括協(xié)議主機(jī)等等否則代理將返回錯(cuò)誤

    R (explicit redirect)

    強(qiáng)制服務(wù)器對(duì)客戶端發(fā)出重定向指示即時(shí)應(yīng)答,提供目的URI的新地址,重定向規(guī)則經(jīng)常是最后規(guī)則

    RP (permanent redirect)

    幾乎和[R]標(biāo)記相同但是發(fā)布301HTTP狀態(tài)而不是302HTTP狀態(tài)代碼

    U (Unmangle Log)

    當(dāng)URI是源需求而不是重寫需求時(shí)記載URI

    O (nOrmalize)

    在實(shí)行之前標(biāo)準(zhǔn)化字符串。標(biāo)準(zhǔn)化包括URL-ENCODING,不合法的字符的再移動(dòng)等,這個(gè)標(biāo)記對(duì)于URLS和URLS-ENDODED頭是有用的

    CL (Case Lower)

    小寫

    CU (Case Upper)

    大寫

    RewriteHeader directive

    Syntax: RewriteHeader HeaderName Pattern FormatString [Flags]

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

    HeaderName

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

    Pattern

    限定規(guī)則表達(dá)式以匹配Request-URI,

    FormatString

    限定將生成新的URI的FormatString

    [Flags]

    是一個(gè)下列FLAGS的命令分隔列表

    I (ignore case)

    不管大小寫強(qiáng)行指定字符匹配,這個(gè)FLAG影響RewriteRule指令和相應(yīng)的RewriteCond 指令

    F (Forbidden)

    對(duì)客戶端做反應(yīng),停止REWRITING進(jìn)程并且發(fā)送403錯(cuò)誤,注意在這種情況下FORMATSTRING 是無用的并可以設(shè)置為任何非空字符串。

    L (last rule)

    不應(yīng)用任何重寫規(guī)則在此停止重寫進(jìn)程,使用這個(gè)FLAG以阻止當(dāng)前被重寫的URI被后面的規(guī)則再次重寫

    N (Next iteration)

    強(qiáng)制REWRITINGENGINE調(diào)整規(guī)則目標(biāo)并且從頭重啟規(guī)則檢查(所有修改將保存),重啟次數(shù)由RepeatLimit指定的值限制,如果這個(gè)數(shù)值超過N FLAG將被忽略

    NS (Next iteration of the same rule)

    以N標(biāo)記工作不從相同的規(guī)則重啟規(guī)則規(guī)則進(jìn)程(例如強(qiáng)制重復(fù)規(guī)則應(yīng)用),通過RepeatLimit指令指定一個(gè)反復(fù)實(shí)行某一規(guī)則的最大數(shù)目,

    R (explicit redirect)

    強(qiáng)制服務(wù)器對(duì)客戶端發(fā)出重定向指示即時(shí)應(yīng)答,提供目的URI的新地址,重定向規(guī)則經(jīng)常是最后規(guī)則

    RP (permanent redirect)

    幾乎和[R]標(biāo)記相同但是發(fā)布301HTTP狀態(tài)而不是302HTTP狀態(tài)代碼

    U (Unmangle Log)

    當(dāng)URI是源需求而不是重寫需求時(shí)記載URI

    O (nOrmalize)

    在實(shí)行之前標(biāo)準(zhǔn)化字符串。標(biāo)準(zhǔn)化包括URL-ENCODING,不合法的字符的再移動(dòng)等,這個(gè)標(biāo)記對(duì)于URLS和URLS-ENDODED頭是有用的

    CL (Case Lower)

    小寫

    CU (Case Upper)

    大寫

     

    要重移動(dòng)頭,F(xiàn)ORMAT STRING模式應(yīng)該生成一個(gè)空字符串,例如這一規(guī)則將從客戶請(qǐng)求中重移代理信息

    RewriteHeader User-Agent: .* $0

    并且這一規(guī)則將把OLD-URL HEADER 加入請(qǐng)求中。

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

    最后一個(gè)例子將通過改變請(qǐng)求方法定向所有的WEBDAV請(qǐng)求到/WEBDAV。ASP

    RewriteCond METHOD OPTIONS

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

    RewriteHeader METHOD OPTIONS GET

    RewriteProxy directive

    Syntax: RewriteProxy Pattern FormatString [Flags]

    強(qiáng)制目的URI在內(nèi)部強(qiáng)制為代理需求并且立即通過ISAPI擴(kuò)展應(yīng)付代理需求,這將允許IIS作為代理服務(wù)器并且重路由到其他站點(diǎn)和服務(wù)器

    Pattern

    限定規(guī)則表達(dá)式以匹配Request-URI,

    FormatString

    限定將生成新的URI的FormatString

    [Flags]

    是一個(gè)下列FLAGS的命令分隔列表

    D (Delegate security)

    代理模式將試圖以當(dāng)前假冒的用戶資格登陸遠(yuǎn)程服務(wù)器,

    C (use Credentials)

    代理模式將試圖一在URL或基本授權(quán)頭文件中指定的資格登陸遠(yuǎn)程服務(wù)器,用這個(gè)標(biāo)記你可以使用http://user:password@host.com/path/ syntax 作為URL

    F (Follow redirects)

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

    使用F標(biāo)記強(qiáng)制代理模式內(nèi)部跟蹤遠(yuǎn)程服務(wù)器返回的重定向指令,使用這個(gè)標(biāo)記如果你根本不需要接受遠(yuǎn)程服務(wù)器的重定向指令,在WINHTTP設(shè)置中有重定向限制以避免遠(yuǎn)程重定向循環(huán)

    I (ignore case)

    不管大小寫強(qiáng)行指定字符匹配

    U (Unmangle Log)

    當(dāng)URI是源需求而不是重寫需求時(shí)記載URI

    O (nOrmalize)

    在實(shí)行之前標(biāo)準(zhǔn)化字符串。標(biāo)準(zhǔn)化包括URL-ENCODING,不合法的字符的再移動(dòng)等,這個(gè)標(biāo)記對(duì)于URLS和URLS-ENDODED頭是有用的

    CacheClockRate directive

    Syntax: CacheClockRate Interval

    這個(gè)指令只在GLOBAL配置內(nèi)容中出現(xiàn),如果這個(gè)指令在SITE-LEVEL內(nèi)容中出現(xiàn)將被忽略并把錯(cuò)誤信息寫入httpd.parse.errors 文件

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

    Interval

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

    EnableConfig and DisableConfig directives

    Syntax:

    EnableConfig [SiteID|"Site name"]

    DisableConfig [SiteID|"Site name"]

    對(duì)所選站點(diǎn)激活或不激活SITE-LEVEL配置或者改變?nèi)笔∨渲?,缺省SITE-LEVEL配置不激活,這個(gè)指令只出現(xiàn)在GLOBAL配置內(nèi)容中

    SiteID

    Numeric metabase identifier of a site

    Site name

    Name of the site as it appears in the IIS console

    不用參數(shù)使用這個(gè)命令將改變?nèi)笔∨渲玫紼NABLE/DISABLE配置進(jìn)程

    例子

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

    DisableConfig

    EnableConfig 1

    EnableConfig”My site”

    下邊例子將激活名稱為SOMESITE配置因?yàn)樗指钤O(shè)置重載了缺省設(shè)置

    EnableConfig”Some site”

    DisableConfig

    EnableRewrite and DisableRewrite directives

    Syntax:

    EnableRewrite [SiteID|"Site name"]

    DisableRewrite [SiteID|"Site name"]

    對(duì)所選站點(diǎn)激活或不激活重寫或者改變?nèi)笔∨渲?,缺省重寫配置激活,這個(gè)指令只出現(xiàn)在GLOBAL配置內(nèi)容中

    SiteID

    Numeric metabase identifier of a site

    Site name

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

    不使用參數(shù)這個(gè)命令將全部激活或者不激活

    RepeatLimit directive

    Syntax: RepeatLimit Limit

    這個(gè)指令可以出現(xiàn)在GLOBAL和SITE-LEVEL配置文件中,如果出現(xiàn)在GLOBAL配置文件中竟改變GLOBAL對(duì)于所有站點(diǎn)的限制,出現(xiàn)在SITE-LEVEL配置中竟只改變對(duì)于這個(gè)站點(diǎn)的限制并且這個(gè)限制不能超過GLOBAL限制

    ISAPI_Rewrite在實(shí)行規(guī)則時(shí)允許循環(huán),這個(gè)指令允許限制最大可能循環(huán)的數(shù)量,可以設(shè)置為0或1而不支持循環(huán),

    LIMIT

    限制最大循環(huán)數(shù)量,缺省32

    RFStyle directive

    Syntax: RFStyle Old | New

    Configuration Utility

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

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

    Settings page

    這頁(yè)包含對(duì)下列參數(shù)的編輯框

    Helper URL

    這個(gè)參數(shù)影響過濾器和代理模塊之間的聯(lián)系方式,它即可以是以點(diǎn)做前綴的文件擴(kuò)展名(如 .isrwhlp)也可以是絕對(duì)路徑,

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

    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

    我們已經(jīng)創(chuàng)建了一個(gè)WSH script proxycfg.vbs ,可以簡(jiǎn)單在一個(gè)a script maps中注冊(cè),她位于安裝文件夾并且可以在命令行一如下方式運(yùn)行

    cscript proxycfg.vbs [-r] [MetabasePath]

    Optional -r 強(qiáng)制注冊(cè)擴(kuò)展名

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

    要在所有現(xiàn)存的 script maps 中注冊(cè)你可以以如下命令行激活 script

    cscript proxycfg.vbs -r

     

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

    注意:根據(jù)顧客反應(yīng),IIS5(也許包括IIS4)對(duì)長(zhǎng)目錄名有問題。所以我們強(qiáng)烈推薦使用短目錄名

    Worker threads limit

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

    Active threads limit

    這個(gè)參數(shù)限制當(dāng)前運(yùn)行線程數(shù),這個(gè)數(shù)量不可大于”Worker threads limit”. 缺省0意思是等于處理器數(shù)量

    Queue size 這個(gè)參數(shù)定義最大請(qǐng)求數(shù)量,如果你曾經(jīng)看到Queue timeout expired” 信息在 the Application event log中你可以增加這個(gè)參數(shù)

    Queue timeout

    這個(gè)參數(shù)定義你在內(nèi)部請(qǐng)求隊(duì)列中防止新請(qǐng)求的最大等待時(shí)間,如果你曾經(jīng)看到Queue timeout expired” 信息在 the Application event log中你可以增加這個(gè)參數(shù)

    Connect timeout

    以毫秒設(shè)定代理模塊連接超時(shí)

    Send timeout

    以毫秒設(shè)定代理模塊發(fā)送超時(shí)

    Receive timeout

    以毫秒設(shè)定代理模塊發(fā)送超時(shí)

    About page.

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

    Regular expression syntax

    這一部分覆蓋了 ISAPI_Rewrite規(guī)定的表達(dá)句法

    Literals

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

    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

    例如你在兩個(gè)域名注冊(cè)www.gongluela.comwww.jiamengku.com,現(xiàn)在你可以創(chuàng)建兩個(gè)不同的站點(diǎn)而使用單一的物理站點(diǎn)。把以下規(guī)則加入到你的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]

    現(xiàn)在你可以把你的站點(diǎn)放在/site1 和 /site2 目錄中.

    或者你可以應(yīng)用更多的類規(guī)則:

    [ISAPI_Rewrite]

    #Fix missing slash char on folders

    RewriteCond Host: (.*)

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

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

    RewriteRule (.*) /$2$3

    為站點(diǎn)應(yīng)該命名目錄為 /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 使用請(qǐng)求如 http://www.myhost.com/foo.asp/a/A/b/B/c/C 參數(shù)數(shù)量可以從兩個(gè)請(qǐng)求之間變化

    至少有兩個(gè)解決辦法。你可以簡(jiǎn)單的為每一可能的參數(shù)數(shù)量添加一個(gè)分隔規(guī)則或者你可以使用一個(gè)技術(shù)說明如下面的例子

    ISAPI_Rewrite]

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

    這個(gè)規(guī)則將從請(qǐng)求的URL中抽取一個(gè)參數(shù)追加在請(qǐng)求字符的末尾并且從頭重啟規(guī)則進(jìn)程。所以它將循環(huán)直到所有參數(shù)被移動(dòng)到適當(dāng)?shù)奈恢茫蛘咧钡匠^RepeatLimit

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

    ISAPI_Rewrite]

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

    Running servers behind IIS

    假如我們有一個(gè)內(nèi)網(wǎng)服務(wù)器運(yùn)行IIS而幾個(gè)公司服務(wù)器運(yùn)行其他平臺(tái),這些服務(wù)器不能從INTERNET直接進(jìn)入,而只能從我們公司的網(wǎng)絡(luò)進(jìn)入,有一個(gè)簡(jiǎn)單的例子可以使用代理標(biāo)記映射其他服務(wù)器到IIS命名空間:

    [ISAPI_Rewrite]

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

    Moving sites from UNIX to IIS

    這個(gè)規(guī)則可以幫助你把URL從 /~username 改變到 /username 和從 /file.html 改變到 /file.htm. 這個(gè)在你僅僅把你的站從UNIX移動(dòng)到IIS并且保持搜索引擎和其他外部頁(yè)面對(duì)老頁(yè)面的連接時(shí)是有用的

    [ISAPI_Rewrite]

    #redirecting to update old links

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

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

    Moving site location

    許多網(wǎng)管問這樣的問題:他們要重定向所有的請(qǐng)求到一個(gè)新的網(wǎng)絡(luò)服務(wù)器,當(dāng)你需要建立一個(gè)更新的站點(diǎn)取代老的的時(shí)候經(jīng)常出現(xiàn)這樣的問題,解決方案是用ISAPI_Rewrite 于老服務(wù)器中

    [ISAPI_Rewrite]

    #redirecting to update old links

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

    Browser-dependent content

    Dynamically generated robots.txt

    robots.txt是一個(gè)搜索引擎用來發(fā)現(xiàn)能不能被索引的文件,但是為一個(gè)大站創(chuàng)建一個(gè)有許多動(dòng)態(tài)內(nèi)容的這個(gè)文件是很復(fù)雜的工作,我們可以寫一個(gè)robots.asp script

    現(xiàn)在使用單一規(guī)則生成 robots.txt

    [ISAPI_Rewrite]

    RewriteRule /robots\.txt /robots.asp

    Making search engines to index dynamic pages

    站點(diǎn)的內(nèi)容存儲(chǔ)在XML文件中,在服務(wù)器上有一個(gè)/XMLProcess.asp 文件處理XML文件并返回HTML到最終用戶,URLS到文檔有如下形式

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

    但是許多公共引擎不能索引此類文檔,因?yàn)閁RLS包含問號(hào)(文檔動(dòng)態(tài)生成),

    ISAPI_Rewrite可以完全消除這個(gè)問題

    [ISAPI_Rewrite]

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

    現(xiàn)在使用如同http://www.mysite.com/doc/somedir/somedoc.htm的URL進(jìn)入文檔,搜索引擎將不知道不是somedoc.htm 文件并且內(nèi)容是動(dòng)態(tài)生成的

    Negative expressions (NOT

    有時(shí)當(dāng)模式不匹配你需要應(yīng)用規(guī)則,這種情況下你可以使用在規(guī)則表達(dá)式中稱為Forward Lookahead Asserts

    例如你需要不使用IE把所有用戶移動(dòng)到別的地點(diǎn)

    [ISAPI_Rewrite]

    # Redirect all non Internet Explorer users

    # to another location

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

    RewriteRule (.*) /nonie$1

    Dynamic authentification

    例如我們?cè)谡军c(diǎn)上有一些成員域,我們?cè)谶@個(gè)域上需要密碼保護(hù)文件而我們不喜歡用BUILT-IN服務(wù)器安全,這個(gè)情況下可以建立一個(gè)ASP腳本(稱為proxy.asp),這個(gè)腳本將代理所有請(qǐng)求到成員域并且檢查請(qǐng)求允許,這里有一個(gè)簡(jiǎn)單的模板你可以放進(jìn)你自己的授權(quán)代碼

    現(xiàn)在我們要通過配置 ISAPI_Rewrite 通過這個(gè)頁(yè)面代理請(qǐng)求:

    [ISAPI_Rewrite]

    # Proxy all requests through proxy.asp

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

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

    假設(shè)我們?cè)趆ttp://www.mysite.com/下有些頁(yè)面調(diào)用一些GIF、jpg、png圖片,不允許別人盜鏈引用到他們自己的頁(yè)面上,因?yàn)檫@樣大大增加了服務(wù)器流量。
    當(dāng)然我們不能100%保護(hù)圖片,但我們至少可以在得到瀏覽器發(fā)出的HTTP Referer header的地方限制這種情況,因?yàn)檫@個(gè)可以判斷是否我們自己的站點(diǎn)調(diào)用了我們自己的圖片。

    [ISAPI_Rewrite]

    RewriteCond Host: (.+)

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

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

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

    posted @ 2010-02-04 03:31 小小it 閱讀(1250) | 評(píng)論 (0)編輯 收藏
    一路讀心情小記

    一路讀心情小記

    轉(zhuǎn)載:小說一路讀:http://www.yiludu.cn/

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

    posted @ 2008-10-12 04:04 小小it 閱讀(146) | 評(píng)論 (0)編輯 收藏
    兩只小羊一點(diǎn)收錄文學(xué)

    兩只小羊一點(diǎn)收錄文學(xué)

    轉(zhuǎn)載:收錄文學(xué)http://www.sluwx.cn/

    鄉(xiāng)政府響應(yīng)上級(jí)號(hào)召搞對(duì)口扶貧,黨委秘書艾妮左想右想花一百元買了兩只小山羊。兩只小山羊一公一母,毛茸茸的。艾妮把兩只小山羊拴在一條繩上,牽到了包扶的李老漢家。

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

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

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

      鄉(xiāng)政府離城遠(yuǎn),還翻山。艾妮在一次出差時(shí)車翻人亡。

      艾妮一死,李老漢開始還有點(diǎn)傷悲??刹痪盟透吲d起來了一路讀著一部小說。愛妮一死,就不會(huì)要羊了。

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

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

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

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

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

    posted @ 2008-10-12 04:04 小小it 閱讀(173) | 評(píng)論 (0)編輯 收藏
    國(guó)內(nèi)博客營(yíng)銷是如何的

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

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

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

    2、認(rèn)真了解與使用產(chǎn)品。至少你應(yīng)該看看產(chǎn)品的 FAQ,幫助文檔,了解該產(chǎn)品到底有些什么功能與特點(diǎn),然后試用每一項(xiàng)功能。因?yàn)橹挥羞@樣,你的評(píng)論才是有價(jià)值的。

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

    4、按照廣告要求完成文章。其實(shí)這一點(diǎn)是很多博客忽視的,比如加相關(guān)的申明圖片和鏈接,達(dá)到字?jǐn)?shù)要求等等,而最終導(dǎo)致文章得不到通過。永遠(yuǎn)記住,你參與的是一場(chǎng)商業(yè)活動(dòng),既然參與,你就得遵守游戲規(guī)則。

           博客與廣告商應(yīng)該做的我都說到了,那讓我們?cè)賮砜纯磰A在中間的 Feedsky 做得怎樣。前段時(shí)間 Feedsky 對(duì)所有參與話題廣告的博客進(jìn)行了重新定價(jià)并開始收取 50% 的手續(xù)費(fèi),很多定價(jià)降低的博客表達(dá)了強(qiáng)烈的不滿,特別是那些數(shù)據(jù)很高,唯獨(dú)在 Feedsky 中訂閱數(shù)很少的博客影響最大。

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

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

    轉(zhuǎn)載:UUSee下載http://www.uusee5.org.cn/

    posted @ 2008-10-12 04:03 小小it 閱讀(1058) | 評(píng)論 (0)編輯 收藏
    魔杰座和玫瑰的年華

    魔杰座和玫瑰的年華

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

      當(dāng)少女站在香樟樹下,夏天仿佛她的戀人。而她看見了未來的影子,它們?cè)诎唏g的樹蔭下一直蔓延,直至消散在那漸遠(yuǎn)的單車和白色的襯衣里。

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

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

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

    posted @ 2008-09-27 03:14 小小it 閱讀(151) | 評(píng)論 (0)編輯 收藏
    有助于你編程而立即要做的10件事

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

    1.升級(jí)單元測(cè)試

    你的編程沒有測(cè)試?你應(yīng)當(dāng)隨時(shí)進(jìn)行測(cè)試,即TATFT ( testing all the fucking time )。當(dāng)然你應(yīng)當(dāng)選擇比僅是單元測(cè)試更好的方式。RSpec和Shoulda是兩個(gè)可以選來使用的工具。

    2.試用TDD

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

    3.自動(dòng)化部署

    自動(dòng)化是你最好的朋友,想要實(shí)現(xiàn)自動(dòng)Capistrano是相當(dāng)好用的工具。在你配置部署好你的項(xiàng)目后,第一個(gè)要裝的東西就應(yīng)當(dāng)是Capistrano。從第一天起就可以自動(dòng)化部署將會(huì)節(jié)約你大量的時(shí)間。

    4.安裝 SCM

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

    5.審查持續(xù)集成

    現(xiàn)在我們已經(jīng)測(cè)試了代碼并將其安全的存放在庫(kù)內(nèi)。比起不停地測(cè)試,什么是更好的方式?自動(dòng)測(cè)試是個(gè)不錯(cuò)的選擇。很感激有cruisecontrol.rb的存在,這個(gè)應(yīng)用工具自動(dòng)運(yùn)行了那些瑣碎的測(cè)試。

    6.了解你的代碼

    寫代碼是一回事,但是更重要的事情是了解代碼??梢杂盟姆N自動(dòng)化工具來幫助你了解代碼:flog、 tarantula、rcov 和saikuro。這些工具分別有其獨(dú)到之處,我很樂意向你介紹它們。
    Flog,可以按字母排列的順序來記錄復(fù)雜的結(jié)果。

    Tarantula,根據(jù)相關(guān)性原則和一些靈活的創(chuàng)意設(shè)計(jì)的。它所做的是spider 你的Rail應(yīng)用以便去搜索壞鏈接。這真是令人得到解脫,使我受益匪淺。

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

    Saikuro,可以測(cè)量出你代碼環(huán)的復(fù)雜性,即可以計(jì)算出你代碼branche 和path的數(shù)量。當(dāng)然你代碼的復(fù)雜性越低,它運(yùn)行的越容易。

    7.升級(jí)你的Fixtures

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

    8.收集分析對(duì)象

    在Rail平臺(tái)上搭建新的系統(tǒng)。每周都會(huì)有新的監(jiān)控工具出現(xiàn),這樣我們有很多的選擇,在這里我介紹我已經(jīng)使用過的工具:HopToad 和 TuneUp。

    HopToad對(duì)于異常報(bào)文有不錯(cuò)的能力,它可收集間斷應(yīng)用并用簡(jiǎn)便的方式顯示收集結(jié)果。還有,這是一個(gè)免費(fèi)軟件~

    TuneUp用另外一種方式獲取數(shù)據(jù),它計(jì)算每一處分別花費(fèi)多長(zhǎng)時(shí)間去組合自身。你的頁(yè)面是不是花費(fèi)了很長(zhǎng)時(shí)間去組建?但你又不知道是因?yàn)槭裁淳壒驶ㄙM(fèi)了這么久,使用TuneUp來查一下吧,你會(huì)發(fā)現(xiàn)一些你以前從未想到過的事情。另外,TuneUp是一款開源軟件,你可以登陸進(jìn)他們的托管服務(wù)分享你的結(jié)果。

    9.閱讀其他人的代碼

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

    10.寫博客的習(xí)慣

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

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

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

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

    BIOS的發(fā)音是"bye-ose," 是基本輸入/輸出系統(tǒng)的縮寫。BIOS是機(jī)器的硬件自帶的、

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

    控制鍵盤、顯示屏幕,磁盤驅(qū)動(dòng)器,串行通訊設(shè)備和很多其它功能的代碼。

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

    一般可用性和不會(huì)因?yàn)榇疟P的問題而損壞。它也確保了機(jī)器能夠啟動(dòng)。因?yàn)镽AM 比ROM的

    速度快, 很多的機(jī)器制造商設(shè)計(jì)的BIOS在機(jī)器啟動(dòng)時(shí)能從ROM被拷貝到RAM去運(yùn)行,這項(xiàng)技

    術(shù)也叫shadowing。

    當(dāng)今,很多PC的主板都有flash BIOS, 意味這BIOS 是存儲(chǔ)在可重新改寫的flash 內(nèi)

    存芯片, 如果需要的話改寫毫不費(fèi)力。

    PC機(jī)的BIOS是標(biāo)準(zhǔn)化的,所有的PC在BIOS這一級(jí)別上是類似的(盡管因?yàn)樯a(chǎn)商不同

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

    ,你可以很簡(jiǎn)單地升級(jí)你的DOS系統(tǒng)。

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

    而言,flash BIOS都是PnP BIOS。


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

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

    上面是貼的是印有BIOS生產(chǎn)商的封條)的封條,可以看到芯片的型號(hào)。對(duì)照下面,你就可

    以確定系統(tǒng)里是否包含可擦寫的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: 只讀, 一次性寫入。

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

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

    要的原因就是和Windows 有關(guān)。如果在一臺(tái)機(jī)器上的BIOS過時(shí)了,Windows 的配置就不會(huì)

    達(dá)到最佳狀態(tài)。

    現(xiàn)在市場(chǎng)上出售的硬盤容量都會(huì)遠(yuǎn)大于528M,為了支持這些大容量硬盤,BIOS必須支

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

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

    使用會(huì)讓W(xué)indows訪問硬盤時(shí)采用兼容模式,造成性能的降低。

    為了讓W(xué)indows能充分支持Plug 'n Play 的設(shè)備,你也需要 PnP-BIOS。這也是升級(jí)

    BIOS的重要原因。

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

    其它不太重要的原因包括:BIOS有新的設(shè)置,從光驅(qū)啟動(dòng)機(jī)器,從SCSI設(shè)備上啟動(dòng)等

    等。

    4. 從哪兒下載Flash BIOSs ? 

    a、各大主板廠商的BIOS更新數(shù)據(jù)相關(guān)網(wǎng)址 

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

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


    Pentium電腦BIOS升級(jí)程序網(wǎng)址( http://www.asus.com.tw/Products/Bios/bios-

    p54.html )
    Pentium pro和PentiumⅡ電腦BIOS升級(jí)程序網(wǎng)址( 

    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 ;)
    其他舊型號(hào)主板( 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)聯(lián)尚 [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)麗臺(tái) [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)福揚(yáng) [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)聯(lián)想 [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)聯(lián)訊 [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 生產(chǎn)公司網(wǎng)站

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

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

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

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

    number) 3) 發(fā)布日期。award的系列號(hào)包含了它所支持芯片的信息。這個(gè)信息出現(xiàn)在機(jī)器

    啟動(dòng)后,屏幕顯示正在進(jìn)行內(nèi)存檢驗(yàn)的時(shí)刻。這時(shí)按PAUSE鍵,就可以讀系列號(hào),BIOS的

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

    6. 如何升級(jí)我的BIOS ? 

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

    序?qū)堰@個(gè)數(shù)據(jù)文件寫入到BIOS的芯片里。下面是不同BIOS的升級(jí)命令:

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

    注意:

    a、 在讀寫器要求你存儲(chǔ)當(dāng)前的BIOS時(shí),選“YES”,這樣在升級(jí)BIOS時(shí)如果出現(xiàn)問

    題了還可以恢復(fù)原來的BIOS。

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

    BIOS里把“System BIOS Cacheable”的選項(xiàng)設(shè)為NO。

    c、千萬(wàn)不要使用錯(cuò)誤的BIOS數(shù)據(jù)文件,否則你的機(jī)器就不能啟動(dòng)了。

    7. 升級(jí)Award BIOS時(shí)出現(xiàn)提示“Insufficient memory (內(nèi)存不足)”怎么辦?

    解決方法有:

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

    Cacheable”。

    b. 按 Esc,F10,存儲(chǔ)退出。

    c. 重啟動(dòng),在出現(xiàn)"Windows Starting" 時(shí)按Ctrl+F5,這可以不加載Drvspace.bin,

    省了大約108K 的內(nèi)存空間。

    d. 開始升級(jí)BIOS ,重啟動(dòng)。

    e. 重進(jìn)入CMOS的“Chipset Features”的設(shè)置里, Enable“ Video Bios 

    Cacheable”。按 Esc,F10,存儲(chǔ)退出。

    9. 如何恢復(fù)損壞的BIOS ? 

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

    當(dāng)今大多數(shù)基于AWARD BIOS的主板里都有根區(qū)BIOS,這是個(gè)在升級(jí)BIOS時(shí)不會(huì)被覆蓋

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

    損壞后你的屏幕將是漆黑一片,因?yàn)楦鶇^(qū)BIOS只支持ISA 的顯卡。

    根區(qū)BIOS 可以執(zhí)行可引導(dǎo)軟盤上的AUTOEXEC.BAT。這樣我們可以把Award flasher 

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

    方案二: 得到新的BIOS芯片

    a、聯(lián)系主板生產(chǎn)商,看是否他們能提供BIOS芯片。有些生產(chǎn)商是免費(fèi)提供的。

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

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

    面是Midco的一段廣告: 
    "我們向公眾提供BIOS的更換芯片。請(qǐng)?jiān)L問 www.midcocomputers.com ,我們將樂意幫助

    你。 "

    方案三:熱交換

    注意:本人不對(duì)本方法導(dǎo)致的任何問題負(fù)責(zé),風(fēng)險(xiǎn)自負(fù)。

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

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

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

    可。

    注意:建議使用MRBIOS的讀寫程序,他們的產(chǎn)品名聲最好??梢栽L問

    ftp://ftp.mrbios.com找相關(guān)軟件。

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

    把Flash Recovery 的跳線放在recovery mode的位置,把可啟動(dòng)的BIOS升級(jí)軟盤放入

    ,啟動(dòng)機(jī)器。
    因?yàn)闆]被覆蓋的根區(qū)BIOS不支持PCI的顯卡,這時(shí)屏幕上什么都沒有。你可以通過鳴笛聲

    和軟盤LED來觀察。當(dāng)機(jī)器響了一下,接著軟盤的LED亮?xí)r,系統(tǒng)就正在升級(jí)你的BIOS。當(dāng)

    軟盤的LED燈滅時(shí),說明恢復(fù)已完成,關(guān)機(jī)。把跳線恢復(fù)到缺省位置,重啟動(dòng)繼續(xù)恢復(fù)。

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

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

    的:

    “最近我在本人的Triton 芯片組的主板上進(jìn)行了一系列的BIOS的測(cè)試,是為了檢驗(yàn)

    一種主板能否使用不同主板生產(chǎn)商提供的BIOS。結(jié)論是:大多數(shù)是可以的。所以,即使是

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

    實(shí)驗(yàn)內(nèi)容:我想升級(jí)我的Amptron PM7700B 主板的BIOS,版本號(hào)從v4.50PG BIOS 到

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

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

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

    實(shí)驗(yàn)里所使用的BIOS有:ASUS(華碩)460FX主板使用的Award v4.51PG,F(xiàn)IC的PT-

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

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

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

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

    他主板BIOS。

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

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

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

    結(jié)果:

    a、華碩( ASUS )BIOS 工作正常, 但內(nèi)存只檢測(cè)到8MB(實(shí)際上有16MB),因?yàn)閮?nèi)

    存的原因, Win95還“發(fā)現(xiàn)”了不少新的設(shè)備。

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

    啟動(dòng)和工作。

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

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

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

    加了幾個(gè)MB/S。

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

    能直接檢測(cè)到光驅(qū)。

    結(jié)論:

    a、所有實(shí)驗(yàn)用的BIOS都沒有導(dǎo)致永久性的、不可恢復(fù)性的錯(cuò)誤,90-100% 的功能都

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

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

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

    果你的I/O芯片不同,升級(jí)后可能會(huì)導(dǎo)致串口不工作或更糟的結(jié)果。

    c、在硬盤里保存一份完好的BIOS文件和升級(jí)軟件。避免如果軟盤不能啟動(dòng),恢復(fù)不

    了BIOS的情況。 

    d、實(shí)驗(yàn)用的BIOS沒有一種讓我的機(jī)器變得徹底毀壞,不過你的運(yùn)氣就不一定這么好

    了。

    e、一般初學(xué)者不要使用不同生產(chǎn)商提供的BIOS,除非

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

    11. 在Award或AMI的網(wǎng)站里為何沒有我的BIOS的升級(jí)文件 ? 

    Award 和AMI會(huì)為特定的主板生產(chǎn)商提供符合特定主板和芯片組的BIOS升級(jí)文件,然

    后生產(chǎn)商再利用Award/AMI提供的工具, 對(duì)這些BIOS文件作出最后的修改和優(yōu)化。

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

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

    、intel、opti、sis 、via的BIOS升級(jí)文件。不過你最好先在主板生產(chǎn)商自己的網(wǎng)頁(yè)里找

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

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

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

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

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

    存儲(chǔ)器芯片。一旦數(shù)據(jù)寫入到PROM, 就永久保存。不象PC系統(tǒng)里的內(nèi)存,PROM在關(guān)機(jī)時(shí)里

    面的信息依然保存。

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

    產(chǎn)出來后就已經(jīng)被寫入信息了。要想寫入到PROM ,需要特殊的設(shè)備--PROM 編程器或PROM 

    燒錄器。

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

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

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

    儲(chǔ)器 electrically erasable programmable read-only memory)和PROM一樣,關(guān)機(jī)后信

    息不會(huì)消失,沒有RAM快。

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

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

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

    Award BIOS 的二進(jìn)制數(shù)據(jù)文件的文件名一般是和BIOS系列號(hào)一致的。因?yàn)槲募?br />
    類似,用戶可能偶然失誤使用錯(cuò)誤的數(shù)據(jù)文件。

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

    它發(fā)現(xiàn)用戶使用的數(shù)據(jù)文件和主板的型號(hào)不符就報(bào)警,報(bào)警信息是:“The program 

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

    如果你認(rèn)為自己不會(huì)犯這樣的錯(cuò)誤,可以用“/Py”PASS掉檢測(cè)功能:Awdflash 

    2Axxxxxx.BIN /Py 

    15. 為何在網(wǎng)站里不再有MRBIOS 的軟件 ? 

    因?yàn)樗麄儾辉賹儆诠蚕碥浖耍枰?qǐng)ftp://ftp.mrbios.com里找找。最新MRBIOS

    的版本是3.42 。

    16. 在DEBUG里如何恢復(fù)BIOS的出廠值?

    a、針對(duì)AMI/Award BIOS:

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

    b、針對(duì)Phoenix BIOS:

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

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

    a、針對(duì) Award BIOS:

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

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

    也可在網(wǎng)上下載有關(guān)的破解程序。

    b、針對(duì)AMI BIOS:

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

    A.M.I.

    也可在網(wǎng)上下載有關(guān)的破解程序。

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

    除去8聲鳴笛,其他的都會(huì)造成機(jī)器不能啟動(dòng):

    1 聲鳴笛 刷新失敗
    2 聲鳴笛 奇/偶校驗(yàn)錯(cuò)誤
    3 聲鳴笛 基本64K 內(nèi)存錯(cuò)誤
    4 聲鳴笛 定時(shí)器失效
    5 聲鳴笛 處理器錯(cuò)誤
    6 聲鳴笛 8042 的 A20信號(hào)錯(cuò)誤
    7 聲鳴笛 處理器特殊中斷錯(cuò)誤
    8 聲鳴笛 顯存讀/寫錯(cuò)誤
    9 聲鳴笛 ROM 校驗(yàn)錯(cuò)誤
    10 聲鳴笛 CMOS 關(guān)閉寄存器讀/寫錯(cuò)誤
    11 聲鳴笛 Cache 內(nèi)存損壞

    19. 如何解決上述的鳴笛錯(cuò)誤?

    對(duì)1 、 2、3 聲鳴笛,可以試著重安裝內(nèi)存條,如果錯(cuò)誤仍然存在,更換好的內(nèi)存條



    對(duì)4、5、7 、10聲鳴笛,到經(jīng)銷商處更換主板。

    對(duì)6聲鳴笛,重新安裝鍵盤控制器芯片。如果錯(cuò)誤繼續(xù),更換該芯片。如果錯(cuò)誤繼續(xù)

    ,檢查和鍵盤有關(guān)的部件,如更換好的鍵盤,檢查主板上是否有鍵盤保險(xiǎn)絲。

    對(duì)8聲鳴笛, 更換顯卡或顯存。

    對(duì)9聲鳴笛,更換BIOS芯片。

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

    LED上,如果LED亮,而驅(qū)動(dòng)器有轉(zhuǎn)動(dòng)的聲音就說明電源是好的。

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

    導(dǎo)致主板不工作。

    接著,除了顯卡,把所有的插卡都拔掉。這時(shí)系統(tǒng)至少能加電并出現(xiàn)顯卡信息。然后

    ,再一次一個(gè)地插卡,直到問題出現(xiàn)。

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

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

    其實(shí)很簡(jiǎn)單,不過針對(duì)不同版本的mr bios方法也不同。

    首先,到Windows95.com 下載'Hex Workshop',它能在二進(jìn)制狀態(tài)下編輯文件。插入

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

    后存儲(chǔ)文件。

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

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

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

    長(zhǎng)度是124k. 


    21. 如何對(duì)INTEL OEM主板升級(jí)它的Intel AMI BIOS? 

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

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

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

    背景資料:

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

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

    表 他們生產(chǎn)PC上標(biāo)注的"HIGHSCREEN" 。所以,我們可以使用常見的AMI的BIOS來升級(jí)它

    。

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

    BIOS版本,版本號(hào)為02, 03, 04, 05 和 06 。如果你現(xiàn)在試著用這些BIOS,就會(huì)有錯(cuò)誤

    信息: "the data are corrupt or you are using a wrong BIOS"(數(shù)據(jù)錯(cuò)誤或BIOS文

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

    1.00.02.CB0H不符,所以升級(jí)程序不執(zhí)行,升級(jí)失敗。

    解決方法:

    a. 下載和目前機(jī)器里版本號(hào)相同的1.00.02.CB0 和最新版本號(hào)的1.00.06.CB0。

    b. 按照網(wǎng)頁(yè)"http://developer.intel.com/design/motherbd/genbios.htm";的指令

    ,創(chuàng)建2張啟動(dòng)盤,一個(gè)版本號(hào)一個(gè)。

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

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

    ,只能替換一處。

    d. 用修改的啟動(dòng)盤引導(dǎo)機(jī)器,令人驚奇的是現(xiàn)在機(jī)器的BIOS-ID 變成了1.00.02.CB0 

    ,而不是1.00.02.CB0H。

    e. 用另一張啟動(dòng)盤(1.00.06.CB0)引導(dǎo),并升級(jí)成功,當(dāng)前的BIOS版本是

    1.00.06.CB0。

    注意:

    a. Intel提供的升級(jí)軟件有保存當(dāng)前BIOS的功能,應(yīng)該使用它并創(chuàng)建一啟動(dòng)盤。這樣

    升級(jí)出現(xiàn)問題時(shí),可以利用主板提供的BIOS-recovery跳線,來恢復(fù)原來的BIOS。

    b. 有可能直接修改06版本號(hào)的啟動(dòng)盤,而升級(jí)成功。

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

    就有一定的風(fēng)險(xiǎn)。

    22. 如何對(duì)INTEL OEM主板升級(jí)它的Intel Phoenix BIOS ?

    a、到INTEL的網(wǎng)站上下載針對(duì)該主板的最新的BIOS,把它放在一張可啟動(dòng)的軟盤里。

    b、進(jìn)入BIOS, enable選項(xiàng)'Check for User Flash ROMS' ,并關(guān)機(jī)。

    c、把主板上的BIOS跳線設(shè)置為RECOVERY模式。將啟動(dòng)盤放入引導(dǎo)機(jī)器,它將自動(dòng)進(jìn)

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

    d、關(guān)機(jī),恢復(fù)BIOS跳線到正常模式,開機(jī)即可。

    23. 如何更換Award BIOS啟動(dòng)時(shí)的EPA logo 畫面?

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

    你主板是對(duì)應(yīng)的。

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

    ,運(yùn)行于Windows9x下,能把BMP 文件轉(zhuǎn)換為EPA 。

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

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

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

    Award V6.0 。

    d、現(xiàn)在就可以升級(jí)你的BIOS了,成功后EPA logo畫面就變成你需要的了。

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

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

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

    如果還不行,就在BIOS里disable掉 'OnChip USB'。如果成功的話,就應(yīng)和主板生產(chǎn)

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

    問題了。)

    posted @ 2008-09-24 23:53 小小it 閱讀(274) | 評(píng)論 (0)編輯 收藏
    一路讀著魔杰座

    一路讀魔杰座

     課間的時(shí)候,我喜歡跑去找她們,我們常常站在走廊上,面向欄桿,看天,看很燦爛的天,用很安靜的表情,我們不用理會(huì)那些無聊的人,若凡有時(shí)會(huì)很有耐性地和那些無聊的人說話,可是我和葉子從來不會(huì),我記得我和葉子騎單車從同學(xué)身邊經(jīng)過的時(shí)候,身后傳來的是“看,看,就是那兩個(gè)女的,特別特別高傲”,我和葉子相視一笑,我們只能很抱歉地在心里想“我們和你們不是一個(gè)世界的人”。若凡偶爾會(huì)責(zé)備我們,因?yàn)槿舴惨恢笔悄敲垂缘暮⒆?,可是這么乖的孩子也依然沒有其他的朋友。我總想帶著若凡一起和我們叛逆,若凡總要很無奈地說:小蘇,你不懂!你能理解魔杰座是什么意思嘛?

      放假的時(shí)候,我每天都要和若凡打一個(gè)小時(shí)的電話,即使聊得無話可說,我們依然抓著話筒不放,可能迷戀的是對(duì)方的聲音。我們經(jīng)常一起嘆氣,然后就像記流水賬似的念叨一天干了什么——幾點(diǎn)起床,吃了什么,看了什么電視,上網(wǎng)遇見了誰(shuí),幾點(diǎn)給貓喂食,幾點(diǎn)帶狗出去溜達(dá),幾點(diǎn)寫毛筆字,幾點(diǎn)睡覺——那時(shí)的日子就是這么過來的,特?zé)o聊,可是卻不覺荒唐。

           若凡喜歡問我:小蘇,你相信愛情嗎?

      我喜歡回答若凡的問題,一切的問題:不是相信,是喜歡愛情,就像喜歡張愛玲。

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

    posted @ 2008-09-24 23:46 小小it 閱讀(67) | 評(píng)論 (0)編輯 收藏
    程序員創(chuàng)業(yè)失敗的16個(gè)原因

       來源:一路讀  http://www.yiludu.cn/

        1)   沒有明確的生活目標(biāo)。沒有奮斗的中心目標(biāo)或明確的努力主向,就沒有成功的希望。

      2)   沒有非同尋常的雄心抱負(fù)。

      如果對(duì)凡事漠不關(guān)心,不想在人生中求發(fā)展,不愿付出代價(jià),那么這樣的人也將成功無望。

      3)   缺乏自律。

      紀(jì)律來自自我控制,這意味著人必須控制所有的消極思想,只能先控制自己,才能控制環(huán)境。自制是人類面對(duì)的最艱巨任務(wù),如果無法戰(zhàn)勝自我,就會(huì)被自我征服。

      4)   拖拉。

      這是失敗最普遍的原因之一,拖拉“老人”存在于每個(gè)人心中的陰暗角落,正是因?yàn)橐恢倍荚诘却?#8220;適當(dāng)時(shí)機(jī)”,才開始做那些值得做的事情,其實(shí)時(shí)機(jī)永遠(yuǎn)不會(huì)“適當(dāng)”。

      5)   缺乏毅力。

      不管做什么,大部份人開始時(shí)都滿懷信心,但卻不能善始善終。大部份人一遇到失敗就容易放棄。毅力是不可取代的。把毅力當(dāng)座右銘奉行到底的人,發(fā)現(xiàn)失敗會(huì)自行退下,失敗是無法對(duì)抗毅力的。

      6)   消極的個(gè)性。

      因?yàn)橄麡O的個(gè)性,而將別人拒于千里之外者,不會(huì)有成功的希望。成功來自力量的運(yùn)用,而力量又來自與他人的合作,消極的個(gè)性無法促成合作。

      7)   無法克制“不勞而獲”的欲望。這種機(jī)體本能使很多人走向失敗。

      8)   缺乏果斷的決策力。

      成功的人士會(huì)果斷決策,然后如果有必要,再慢慢改進(jìn)。失敗者往往花很長(zhǎng)時(shí)間才能作出決策,但很快就需要修改,而且要頻繁修改。猶豫和拖拉是一對(duì)雙包胎,只要找到其中一個(gè)就一定能找到另一個(gè),所以必須趁它們沒有將你完全束縛在失敗的車輪上,果斷地把它們消滅。

      9)   過度謹(jǐn)慎。

      不主動(dòng)抓住機(jī)會(huì)的人往往只能撿別人挑剩的機(jī)會(huì),過度謹(jǐn)慎和不夠謹(jǐn)慎都不可取,人生本來就充滿偶然成分。

      10)   迷信與偏見。

      迷信是恐懼的一種形式,也是無知的表現(xiàn),成功人士心胸寬廣,無所畏懼。

      11)   目標(biāo)不專。“萬(wàn)事通,萬(wàn)事松”,要全心全意專注于一個(gè)主要目標(biāo)。

      12)   缺乏熱情。

      沒有熱情,一個(gè)人就沒有說服力,而且熱情有一種感染力,一個(gè)人如果擁有熱情,并能適當(dāng)控制熱情,往往會(huì)受到人們的歡迎。

      13)   偏執(zhí)。心胸狹窄很難取得任何進(jìn)步,偏執(zhí)說明一個(gè)人不積極獲取知識(shí)。

      14)   蓄意不忠。

      誠(chéng)實(shí)是一種不可替代的品質(zhì),受無法控制的環(huán)境所迫,一個(gè)人可能一時(shí)不忠誠(chéng),也不會(huì)帶來永久的破壞。但是,如果一個(gè)人蓄意不忠,則無藥可救。他的得行為遲早會(huì)被發(fā)現(xiàn),他負(fù)出的代價(jià)可能是失去信譽(yù),甚至失去自由。

      15)   自私和虛榮。這些品質(zhì)問題好比亮起紅燈,讓人不敢靠近,是妨礙成功的致命因素。

      16)   猜測(cè)而不思考。

      多數(shù)人往往漫不經(jīng)心或者過于懶惰,不愿費(fèi)心獲取用于準(zhǔn)確思考的事實(shí)。他們喜歡根據(jù)猜測(cè)或倉(cāng)促得出的“結(jié)論”了事。觀念改變?nèi)松?選擇決定未來!行動(dòng)決定成敗!

    posted @ 2008-09-24 02:51 小小it 閱讀(334) | 評(píng)論 (1)編輯 收藏
    魔杰座也有無題

    魔杰座也有無題

    不知道寫些什么。但是我又想寫。最近這段時(shí)間里。我和往常一樣的生活。一路讀小說 http://www.yiludu.cn/ 也到繼續(xù)看。沒有多大的變化。可能平靜的生活不會(huì)太久。沒有過多少平靜的生活,我又會(huì)搞出點(diǎn)什么亂子來。我是一個(gè)喜怒無常的人?;蛟S這樣。我給我的母親帶來很多的淚水的。我努力的想做一個(gè)好女兒。但是我做的每一件事情都不讓省心的??雌饋砦沂且粋€(gè)風(fēng)平浪靜的孩子。但是我的玩固卻讓人很頭痛的。

       我在讀小學(xué)的時(shí)候,老師問我們。理想是什么。我說我想當(dāng)老師。可能志向不是很高的,我想做老師是想把知識(shí)傳播給孩子們。讓他們用知識(shí)來建設(shè)我們的世界。后來我又想當(dāng)一名女站士。在電視里看到女霸王花。心里有說不出來的自豪。我想女兵可以保衛(wèi)我們的祖國(guó)。在老百姓最困難的時(shí)候沖到最前頭的。其實(shí)我的夢(mèng)想并不是那么出色的。我想我要在這樣平凡的崗位上做出不平凡的事來。但是最平凡的崗位上都沒有我的身影 。我是不很失敗呢。我沒有一個(gè)夢(mèng)想實(shí)現(xiàn)了的。我真的叫欲哭無淚呀。

      這些看起來是小小的事情,但是我做不到的。所以我失去做人的信心。我不知道我到底能做什么。我很想自己要很有錢的。但是說說,我身邊的人總是說,你想很有錢就要努力的去做事呀。天下不可能會(huì)掉錢給你的。我又被重重的打擊了。我不能拍拍胸堂說你看我有這么多的錢。我難過到了極點(diǎn)。最后我就不想在做夢(mèng)了。這讓我沒有做夢(mèng)的機(jī)會(huì)了。我要用事實(shí)說話了。這樣的話就不會(huì)讓我的人生掉下低谷了。就像卡徒酒吧 http://www.katu98.cn/  我很幸福的是我有這么好的家庭 。雖然平常也會(huì)有吵吵鬧鬧的。但是還是很溫馨的家庭的。我還是要感謝上天讓我的有這么美好的東西。

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

    posted @ 2008-09-24 02:33 小小it 閱讀(153) | 評(píng)論 (0)編輯 收藏
    一些著名的大公司面試題目-java

    文章來源:一路讀  http://www.yiludu.cn
    一、Java基礎(chǔ)知識(shí)
    1. Java有那些基本數(shù)據(jù)類型,String是不是基本數(shù)據(jù)類型,他們有何區(qū)別。
    Integer literals,Floating-point literals,character literals,Boolean literal,String iteral.
    String 不是基本數(shù)據(jù)類型
    2. 字符串的操作:
    寫一個(gè)方法,實(shí)現(xiàn)字符串的反轉(zhuǎn),如:輸入abc,輸出cba
    public static String reverse(String s){
    int length=s.length();
    StringBuffer result=new StringBuffer(length);
    for(int i=length-1;i>=0;i--)
    result.append(s.charAt(i));
    return result.toString();
    }
    寫一個(gè)方法,實(shí)現(xiàn)字符串的替換,如:輸入bbbwlirbbb,輸出bbbhhtccc。
    3. 數(shù)據(jù)類型之間的轉(zhuǎn)換
    如何將數(shù)值型字符轉(zhuǎn)換為數(shù)字(Integer,Double)
    如何將數(shù)字轉(zhuǎn)換為字符
    如何去小數(shù)點(diǎn)前兩位,并四舍五入。
    4. 日期和時(shí)間
    如何取得年月日,小時(shí)分秒
    Date dat=new Date();
    dat.getYear();dat.getMonth();dat.getDay();dat.getHours();...
    如何取得從1970年到現(xiàn)在的毫秒數(shù)
    long now=dat.getTime();
    如何獲取某個(gè)日期是當(dāng)月的最后一天
    如何格式化日期
    DateFormate df=DateFormate.getInstance();
    df.Format(dat);
    5. 數(shù)組和集合
    6. 文件和目錄(I/O)操作
    如何列出某個(gè)目錄下的所有文件
    如何列出某個(gè)目錄下的所有子目錄
    判斷一個(gè)文件或目錄是否存在
    如何讀寫文件
    7. Java多態(tài)的實(shí)現(xiàn)(繼承、重載、覆蓋)
    8. 編碼轉(zhuǎn)換,怎樣實(shí)現(xiàn)將GB2312編碼的字符串轉(zhuǎn)換為ISO-8859-1編碼的字符串。
    9. Java中訪問數(shù)據(jù)庫(kù)的步驟,Statement和PreparedStatement之間的區(qū)別。
    10. 找出下列代碼可能存在的錯(cuò)誤,并說明原因:
    二、JSP&Servlet技術(shù)
    1. 描述JSP和Servlet的區(qū)別、共同點(diǎn)、各自應(yīng)用的范圍
    2. 在Web開發(fā)中需要處理HTML標(biāo)記時(shí),應(yīng)做什么樣的處理,要篩選那些字符(< > & "")
    3. 在JSP中如何讀取客戶端的請(qǐng)求,如何訪問CGI變量,如何確定某個(gè)Jsp文件的真實(shí)路徑。
    4. 描述Cookie和Session的作用,區(qū)別和各自的應(yīng)用范圍,Session工作原理。
    5. 列出Jsp中包含外部文件的方式,兩者有何區(qū)別。
    6. 說明Jsp中errorPage的作用,應(yīng)用范圍。
    7. 介紹在Jsp中如何使用JavaBeans。
    8. 簡(jiǎn)單介紹JSP的標(biāo)記庫(kù)
    9. Jsp和Servlet中的請(qǐng)求轉(zhuǎn)發(fā)分別如何實(shí)現(xiàn)。
    三、J2EE相關(guān)知識(shí)
    1. 介紹J2EE、J2SE、J2SE的區(qū)別。
    2. J2EE是一種技術(shù)還是一種平臺(tái),他提供了那些技術(shù)。
    3. 什么是Application Server,它有什么功能和優(yōu)點(diǎn)。
    4. 簡(jiǎn)單介紹連接池的優(yōu)點(diǎn)和原理。
    5. Web.xml的作用
    四、其他
    1. Web安全性的考慮(表單驗(yàn)證、瀏覽器Basic方式的驗(yàn)證,應(yīng)用程序的安全性,SSL,代碼考慮)
    2. 簡(jiǎn)單介紹您所了解的MVC。
    3. 簡(jiǎn)單介紹所了解的XML。
    4. 文檔和編碼規(guī)范
    5. Java中的分頁(yè)、效率考慮。
    6. 簡(jiǎn)單介紹您所了解的structs。


    找出以下程序錯(cuò)誤。
    Class Test{
    private String par1;
    private String par2;
    Test(){
    }

    public static void main(String[] arg){
    int a ;
    if(a){
    System.out.println("par1="+par1);
    }else{
    System.out.println("par2=" + par2);
    }
    }
    }

    ==================================

    public class Test
    {
    public static int a = 5;
    public static void main(String[] args)
    {
    Test test = new Test();
    test = null;
    System.out.println(test.a);
    }
    }
    答案是5,a為靜態(tài)變量;不依賴對(duì)象,即使為空。

    J2EE初學(xué)者需要理解的問題

    一、J2EE提出的背景
    1、 企業(yè)級(jí)應(yīng)用框架的需求

    在許多企業(yè)級(jí)應(yīng)用中,例如數(shù)據(jù)庫(kù)連接、郵件服務(wù)、事務(wù)處理等都是一些通用企業(yè)需求模塊,這些模塊如果每次再開發(fā)中都由開發(fā)人員來完成的話,將會(huì)造成開發(fā)周期長(zhǎng)和代碼可*性差等問題。于是許多大公司開發(fā)了自己的通用模塊服務(wù)。這些服務(wù)性的軟件系列統(tǒng)稱為中間件。

    2、 為了通用必須要提出規(guī)范,不然無法達(dá)到通用

    在上面的需求基礎(chǔ)之上,許多公司都開發(fā)了自己的中間件,但其與用戶的溝通都各有不同,從而導(dǎo)致用戶無法將各個(gè)公司不同的中間件組裝在一塊為自己服務(wù)。從而產(chǎn)生瓶頸。于是提出標(biāo)準(zhǔn)的概念。其實(shí)J2EE就是基于JAVA技術(shù)的一系列標(biāo)準(zhǔn)。

    注:中間件的解釋 中間件處在操作系統(tǒng)和更高一級(jí)應(yīng)用程序之間。他充當(dāng)?shù)墓δ苁牵簩?yīng)用程序運(yùn)行環(huán)境與操作系統(tǒng)隔離,從而實(shí)現(xiàn)應(yīng)用程序開發(fā)者不必為更多系統(tǒng)問題憂慮,而直接關(guān)注該應(yīng)用程序在解決問題上的能力 。我們后面說到的容器的概念就是中間件的一種。

    二、相關(guān)名詞解釋
    容器:充當(dāng)中間件的角色

    WEB容器:給處于其中的應(yīng)用程序組件(JSP,SERVLET)提供一個(gè)環(huán)境,使JSP,SERVLET直接更容器中的環(huán)境變量接口交互,不必關(guān)注其它系統(tǒng)問題。主要有WEB服務(wù)器來實(shí)現(xiàn)。例如:TOMCAT,WEBLOGIC,WEBSPHERE等。該容器提供的接口嚴(yán)格遵守J2EE規(guī)范中的WEB APPLICATION 標(biāo)準(zhǔn)。我們把遵守以上標(biāo)準(zhǔn)的WEB服務(wù)器就叫做J2EE中的WEB容器。

    EJB容器:Enterprise java bean 容器。更具有行業(yè)領(lǐng)域特色。他提供給運(yùn)行在其中的組件EJB各種管理功能。只要滿足J2EE規(guī)范的EJB放入該容器,馬上就會(huì)被容器進(jìn)行高效率的管理。并且可以通過現(xiàn)成的接口來獲得系統(tǒng)級(jí)別的服務(wù)。例如郵件服務(wù)、事務(wù)管理。

    WEB容器和EJB容器在原理上是大體相同的,更多的區(qū)別是被隔離的外界環(huán)境。WEB容器更多的是跟基于HTTP的請(qǐng)求打交道。而EJB容器不是。它是更多的跟數(shù)據(jù)庫(kù)、其它服務(wù)打交道。但他們都是把與外界的交互實(shí)現(xiàn)從而減輕應(yīng)用程序的負(fù)擔(dān)。例如SERVLET不用關(guān)心HTTP的細(xì)節(jié),直接引用環(huán)境變量session,request,response就行、EJB不用關(guān)心數(shù)據(jù)庫(kù)連接速度、各種事務(wù)控制,直接由容器來完成。

    RMI/IIOP:遠(yuǎn)程方法調(diào)用/internet對(duì)象請(qǐng)求中介協(xié)議,他們主要用于通過遠(yuǎn)程調(diào)用服務(wù)。例如,遠(yuǎn)程有一臺(tái)計(jì)算機(jī)上運(yùn)行一個(gè)程序,它提供股票分析服務(wù),我們可以在本地計(jì)算機(jī)上實(shí)現(xiàn)對(duì)其直接調(diào)用。當(dāng)然這是要通過一定的規(guī)范才能在異構(gòu)的系統(tǒng)之間進(jìn)行通信。RMI是JAVA特有的。

    JNDI:JAVA命名目錄服務(wù)。主要提供的功能是:提供一個(gè)目錄系統(tǒng),讓其它各地的應(yīng)用程序在其上面留下自己的索引,從而滿足快速查找和定位分布式應(yīng)用程序的功能。

    JMS:JAVA消息服務(wù)。 主要實(shí)現(xiàn)各個(gè)應(yīng)用程序之間的通訊。包括點(diǎn)對(duì)點(diǎn)和廣播。

    JAVAMAIL:JAVA郵件服務(wù)。提供郵件的存儲(chǔ)、傳輸功能。他是JAVA編程中實(shí)現(xiàn)郵件功能的核心。相當(dāng)MS中的EXCHANGE開發(fā)包。

    JTA:JAVA事務(wù)服務(wù)。提供各種分布式事務(wù)服務(wù)。應(yīng)用程序只需調(diào)用其提供的接口即可。

    JAF:JAVA安全認(rèn)證框架。提供一些安全控制方面的框架。讓開發(fā)者通過各種部署和自定義實(shí)現(xiàn)自己的個(gè)性安全控制策略。

    EAI:企業(yè)應(yīng)用集成。是一種概念,從而牽涉到好多技術(shù)。J2EE技術(shù)是一種很好的集成實(shí)現(xiàn)。

    三、J2EE的優(yōu)越性
    1、 基于JAVA 技術(shù),平臺(tái)無關(guān)性表現(xiàn)突出

    2、 開放的標(biāo)準(zhǔn),許多大型公司已經(jīng)實(shí)現(xiàn)了對(duì)該規(guī)范支持的應(yīng)用服務(wù)器。如BEA ,IBM,ORACLE等。

    3、 提供相當(dāng)專業(yè)的通用軟件服務(wù)。

    4、 提供了一個(gè)優(yōu)秀的企業(yè)級(jí)應(yīng)用程序框架,對(duì)快速高質(zhì)量開發(fā)打下基礎(chǔ)

    四、現(xiàn)狀
    J2EE是由SUN 公司開發(fā)的一套企業(yè)級(jí)應(yīng)用規(guī)范?,F(xiàn)在最高版本是1.4。支持J2EE的應(yīng)用服務(wù)器有IBM WEBSPHERE APPLICATION SERVER,BEA WEBLOGIC SERVER,JBOSS,ORACLE APPLICATION SERVER,SUN ONE APPLICATION SERVER 等。


    學(xué)習(xí)Java的30個(gè)基本概念

    Java概述:
    目前Java主要應(yīng)用于中間件的開發(fā)(middleware)---處理客戶機(jī)于服務(wù)器之間的通信技術(shù),早期的實(shí)踐證明,Java不適合pc應(yīng)用程序的開發(fā),其發(fā)展逐漸變成在開發(fā)手持設(shè)備,互聯(lián)網(wǎng)信息站,及車載計(jì)算機(jī)的開發(fā).Java于其他語(yǔ)言所不同的是程序運(yùn)行時(shí)提供了平臺(tái)的獨(dú)立性,稱許可以在windows,solaris,linux其他操作系統(tǒng)上使用完全相同的代碼.Java的語(yǔ)法與C++語(yǔ)法類似,C++/C程序員很容易掌握,而且Java是完全的徹底的面向?qū)ο蟮?其中提出了很好的GC(Garbage Collector)垃圾處理機(jī)制,防止內(nèi)存溢出.


    Java的白皮書為我們提出了Java語(yǔ)言的11個(gè)關(guān)鍵特性.

    (1)Easy:Java的語(yǔ)法比C++的相對(duì)簡(jiǎn)單,另一個(gè)方面就是Java能使軟件在很小的機(jī)器上運(yùn)行,基礎(chǔ)解釋其和類庫(kù)的支持的大小約為40kb,增加基本的標(biāo)準(zhǔn)庫(kù)和線程支持的內(nèi)存需要增加125kb.


    (2)分布式:Java帶有很強(qiáng)大的TCP/IP協(xié)議族的例程庫(kù),Java應(yīng)用程序能夠通過URL來穿過網(wǎng)絡(luò)來訪問遠(yuǎn)程對(duì)象,由于servlet機(jī)制的出現(xiàn),使Java編程非常的高效,現(xiàn)在許多的大的web server都支持servlet.


    (3)OO:面向?qū)ο笤O(shè)計(jì)是把重點(diǎn)放在對(duì)象及對(duì)象的接口上的一個(gè)編程技術(shù).其面向?qū)ο蠛虲++有很多不同,在與多重繼承的處理及Java的原類模型.


    (4)健壯特性:Java采取了一個(gè)安全指針模型,能減小重寫內(nèi)存和數(shù)據(jù)崩潰的可能性。


    (5)安全:Java用來設(shè)計(jì)網(wǎng)路   和分布系統(tǒng),這帶來了新的安全問題,Java可以用來構(gòu)建防病毒和防攻擊的System.事實(shí)證明Java在防毒這一方面做的比較好.

    (6)中立體系結(jié)構(gòu):Java編譯其生成體系結(jié)構(gòu)中立的目標(biāo)文件格式可以在很多處理器上執(zhí)行,編譯器產(chǎn)生的指令字節(jié)碼(Javabytecode)實(shí)現(xiàn)此特性,此字節(jié)碼可以在任何機(jī)器上解釋執(zhí)行.


    (7)可移植性:Java中對(duì)基本數(shù)據(jù)結(jié)構(gòu)類型的大小和算法都有嚴(yán)格的規(guī)定所以可移植性很好.


    (8)多線程:Java處理多線程的過程很簡(jiǎn)單,Java把多線程實(shí)現(xiàn)交給底下操作系統(tǒng)或線程程序完成.所以多線程是Java作為服務(wù)器端開發(fā)語(yǔ)言的流行原因之一


    (9)Applet和servlet:能夠在網(wǎng)頁(yè)上執(zhí)行的程序叫Applet,需要支持Java的瀏覽器很多,而applet支持動(dòng)態(tài)的網(wǎng)頁(yè),這是很多其他語(yǔ)言所不能做到的.


    基本概念:


    1.OOP中唯一關(guān)系的是對(duì)象的接口是什么,就像計(jì)算機(jī)的銷售商她不管電源內(nèi)部結(jié)構(gòu)是怎樣的,他只關(guān)系能否給你提供電就行了,也就是只要知道can or not而不是how and why.所有的程序是由一定的屬性和行為對(duì)象組成的,不同的對(duì)象的訪問通過函數(shù)調(diào)用來完成,對(duì)象間所有的交流都是通過方法調(diào)用,通過對(duì)封裝對(duì)象數(shù)據(jù),很大限度上提高復(fù)用率.


    2.OOP中最重要的思想是類,類是模板是藍(lán)圖,從類中構(gòu)造一個(gè)對(duì)象,即創(chuàng)建了這個(gè)類的一個(gè)實(shí)例(instance)


    3.封裝:就是把數(shù)據(jù)和行為結(jié)合起在一個(gè)包中)并對(duì)對(duì)象使用者隱藏?cái)?shù)據(jù)的實(shí)現(xiàn)過程,一個(gè)對(duì)象中的數(shù)據(jù)叫他的實(shí)例字段(instance field)


    4.通過擴(kuò)展一個(gè)類來獲得一個(gè)新類叫繼承(inheritance),而所有的類都是由Object根超類擴(kuò)展而得,根超類下文會(huì)做介紹.


    5.對(duì)象的3個(gè)主要特性

    behavior---說明這個(gè)對(duì)象能做什么.

    state---當(dāng)對(duì)象施加方法時(shí)對(duì)象的反映.

    identity---與其他相似行為對(duì)象的區(qū)分標(biāo)志.

    每個(gè)對(duì)象有唯一的indentity 而這3者之間相互影響.

    6.類之間的關(guān)系:

    use-a :依賴關(guān)系

    has-a :聚合關(guān)系

    is-a :繼承關(guān)系--例:A類繼承了B類,此時(shí)A類不僅有了B類的方法,還有其自己的方法.(個(gè)性存在于共性中)


    7.構(gòu)造對(duì)象使用構(gòu)造器:構(gòu)造器的提出,構(gòu)造器是一種特殊的方法,構(gòu)造對(duì)象并對(duì)其初始化.

    例:Data類的構(gòu)造器叫Data

    new Data()---構(gòu)造一個(gè)新對(duì)象,且初始化當(dāng)前時(shí)間.

    Data happyday=new

    Data()---把一個(gè)對(duì)象賦值給一個(gè)變量happyday,從而使該對(duì)象能夠多次使用,此處要聲明的使變量與對(duì)象變量二者是不同的.new返回的值是一個(gè)引用.

    構(gòu)造器特點(diǎn):構(gòu)造器可以有0個(gè),一個(gè)或多個(gè)參數(shù)

    構(gòu)造器和類有相同的名字

    一個(gè)類可以有多個(gè)構(gòu)造器

    構(gòu)造器沒有返回值

    構(gòu)造器總是和new運(yùn)算符一起使用.


    8.重載:當(dāng)多個(gè)方法具有相同的名字而含有不同的參數(shù)時(shí),便發(fā)生重載.編譯器必須挑選出調(diào)用哪個(gè)方法.


    9.包(package)Java允許把一個(gè)或多個(gè)類收集在一起成為一組,稱作包,以便于組織任務(wù),標(biāo)準(zhǔn)Java庫(kù)分為許多包.java.lang java.util java,net等,包是分層次的所有的java包都在java和javax包層次內(nèi).


    10.繼承思想:允許在已經(jīng)存在的類的基礎(chǔ)上構(gòu)建新的類,當(dāng)你繼承一個(gè)已經(jīng)存在的類時(shí),那么你就復(fù)用了這個(gè)類的方法和字段,同時(shí)你可以在新類中添加新的方法和字段.


    11.擴(kuò)展類:擴(kuò)展類充分體現(xiàn)了is-a的繼承關(guān)系. 形式為:class (子類) extends (基類).


    12.多態(tài):在java中,對(duì)象變量是多態(tài)的.而java中不支持多重繼承.


    13.動(dòng)態(tài)綁定:調(diào)用對(duì)象方法的機(jī)制.

    (1)編譯器檢查對(duì)象聲明的類型和方法名.

    (2)編譯器檢查方法調(diào)用的參數(shù)類型.

    (3)靜態(tài)綁定:若方法類型為priavte static final 編譯器會(huì)準(zhǔn)確知道該調(diào)用哪個(gè)方法.

    (4)當(dāng)程序運(yùn)行并且使用動(dòng)態(tài)綁定來調(diào)用一個(gè)方法時(shí),那么虛擬機(jī)必須調(diào)用x所指向的對(duì)象的實(shí)際類型相匹配的方法版本.

    (5)動(dòng)態(tài)綁定:是很重要的特性,它能使程序變得可擴(kuò)展而不需要重編譯已存代碼.


    14.final類:為防止他人從你的類上派生新類,此類是不可擴(kuò)展的.


    15.動(dòng)態(tài)調(diào)用比靜態(tài)調(diào)用花費(fèi)的時(shí)間要長(zhǎng),


    16.抽象類:規(guī)定一個(gè)或多個(gè)抽象方法的類本身必須定義為abstract例: public abstract string getDescripition


    17.Java中的每一個(gè)類都是從Object類擴(kuò)展而來的.


    18.object類中的equal和toString方法.equal用于測(cè)試一個(gè)對(duì)象是否同另一個(gè)對(duì)象相等.toString返回一個(gè)代表該對(duì)象的字符串,幾乎每一個(gè)類都會(huì)重載該方法,以便返回當(dāng)前狀態(tài)的正確表示.(toString 方法是一個(gè)很重要的方法)


    19.通用編程:任何類類型的所有值都可以同object類性的變量來代替.


    20.數(shù)組列表:ArrayList動(dòng)態(tài)數(shù)組列表,是一個(gè)類庫(kù),定義在java.uitl包中,可自動(dòng)調(diào)節(jié)數(shù)組的大小.


    21.class類 object類中的getclass方法返回ckass類型的一個(gè)實(shí)例,程序啟動(dòng)時(shí)包含在main方法的類會(huì)被加載,虛擬機(jī)要加載他需要的所有類,每一個(gè)加載的類都要加載它需要的類.


    22.class類為編寫可動(dòng)態(tài)操縱java代碼的程序提供了強(qiáng)大的功能反射,這項(xiàng)功能為JavaBeans特別有用,使用反射Java能支持VB程序員習(xí)慣使用的工具.能夠分析類能力的程序叫反射器,Java中提供此功能的包叫Java.lang.reflect反射機(jī)制十分強(qiáng)大.

    1.在運(yùn)行時(shí)分析類的能力.

    2.在運(yùn)行時(shí)探察類的對(duì)象.

    3.實(shí)現(xiàn)通用數(shù)組操縱代碼.

    4.提供方法對(duì)象.

    而此機(jī)制主要針對(duì)是工具者而不是應(yīng)用及程序.

    反射機(jī)制中的最重要的部分是允許你檢查類的結(jié)構(gòu).用到的API有:

    java.lang.reflect.Field 返回字段.

    java.reflect.Method 返回方法.

    java.lang.reflect.Constructor 返回參數(shù).

    方法指針:java沒有方法指針,把一個(gè)方法的地址傳給另一個(gè)方法,可以在后面調(diào)用它,而接口是更好的解決方案.



    23.接口(Interface)說明類該做什么而不指定如何去做,一個(gè)類可以實(shí)現(xiàn)一個(gè)或多個(gè)interface.


    24.接口不是一個(gè)類,而是對(duì)符合接口要求的類的一套規(guī)范.若實(shí)現(xiàn)一個(gè)接口需要2個(gè)步驟:

    1.聲明類需要實(shí)現(xiàn)的指定接口.

    2.提供接口中的所有方法的定義.

    聲明一個(gè)類實(shí)現(xiàn)一個(gè)接口需要使用implements 關(guān)鍵字class actionB implements Comparable 其actionb需要提供CompareTo方法,接口不是類,不能用new實(shí)例化一個(gè)接口.


    25.一個(gè)類只有一個(gè)超類,但一個(gè)類能實(shí)現(xiàn)多個(gè)接口.Java中的一個(gè)重要接口Cloneable


    26.接口和回調(diào).編程一個(gè)常用的模式是回調(diào)模式,在這種模式中你可以指定當(dāng)一個(gè)特定時(shí)間發(fā)生時(shí)回調(diào)對(duì)象上的方法.例:ActionListener 接口監(jiān)聽.

    類似的API有:java.swing.JOptionPane

    java.swing.Timer

    java.awt.Tookit


    27.對(duì)象clone:clone方法是object一個(gè)保護(hù)方法,這意味著你的代碼不能簡(jiǎn)單的調(diào)用它.


    28.內(nèi)部類:一個(gè)內(nèi)部類的定義是定義在另一個(gè)內(nèi)部的類

    原因是:1.一個(gè)內(nèi)部類的對(duì)象能夠訪問創(chuàng)建它的對(duì)象的實(shí)現(xiàn),包括私有數(shù)據(jù)

    2.對(duì)于同一個(gè)包中的其他類來說,內(nèi)部類能夠隱藏起來.

    3.匿名內(nèi)部類可以很方便的定義回調(diào).

    4.使用內(nèi)部類可以非常方便的編寫事件驅(qū)動(dòng)程序.

    29.代理類(proxy):1.指定接口要求所有代碼 2.object類定義的所有的方法(toString equals)

    30.數(shù)據(jù)類型:Java是強(qiáng)調(diào)類型的語(yǔ)言,每個(gè)變量都必須先申明它都類型,java中總共有8個(gè)基本類型.4種是整型,2種是浮點(diǎn)型,一種是字符型,被用于Unicode編碼中的字符,布爾型.

    posted @ 2008-09-22 02:16 小小it 閱讀(148) | 評(píng)論 (0)編輯 收藏
    一些IT開發(fā)工程師的悲哀

    文章來源:一路讀  http://www.yiludu.cn
    本文所指的開發(fā)工程師,僅指程序開發(fā)人員和以數(shù)字電路開發(fā)為主的電子工程師。當(dāng)你選擇計(jì)算機(jī)或者電子、自控等專業(yè)進(jìn)入大學(xué)時(shí),你本來還是有機(jī)會(huì)從事其它行業(yè)的,可你畢業(yè)時(shí)執(zhí)迷不悟,仍然選擇了開發(fā)做為你的職業(yè),真是自做孽不可活。不過,歡迎你和我一樣加入這個(gè)被其它人認(rèn)為是風(fēng)光無限的“白領(lǐng)”吧。如果你不是特別的與人世隔絕,我想你一定看過金老先生的名著《笑傲江湖》吧,里面有一門十分奇特的武功叫做"辟邪劍法",你看這個(gè)小說第一次看到這種功夫的練法時(shí),我想你當(dāng)時(shí)一定笑歪了牙“呵呵,真好玩!”,可是現(xiàn)在我很痛心的告訴你:你選擇的開發(fā)工作就是你人生路上的"辟邪劍法",而你現(xiàn)在已經(jīng)練了,并且無法再回頭。
      
      相對(duì)同時(shí)剛出校門同學(xué)從事其它行業(yè)而言優(yōu)厚的薪水,以及不斷學(xué)習(xí)更新的專業(yè)知識(shí)不僅僅讓你感到生活的充實(shí),更滿足了你那不讓外人知的虛榮心。在剛出校門的幾年中,你經(jīng)常回頭看看被你落在后面的同學(xué)們,在內(nèi)心憐憫他們的同時(shí),你也會(huì)對(duì)自已天天加班的努力工作感到心里平衡:“有付出才會(huì)有回報(bào)”這句話在那幾年中你說的最多,不管是對(duì)自已的朋友們還是自已的愛人。第二句最常說的話是對(duì)公司的領(lǐng)導(dǎo):“不行我就走人!”,實(shí)際上你也真的走過幾回。對(duì)了,在這幾年中,因?yàn)槟愕慕?jīng)濟(jì)條件不錯(cuò),你開始買房、開始談戀愛、結(jié)婚、開始有了自已的小孩。有時(shí)候你會(huì)對(duì)自已說再過兩年就去買車。當(dāng)然其中可能有許多大件是需要分期付款的,但你對(duì)前途充滿了信心,你確信認(rèn)為這種日子會(huì)永遠(yuǎn)的持續(xù)下去,即使不是變得更好的話。
      
      日子總是在這種平淡中一天天的過去,就在那么不經(jīng)意間,你突然發(fā)現(xiàn)自已已經(jīng)快30歲了,或者已經(jīng)30了,莫名的,你心里會(huì)漫延著一種說不清楚的不安情緒,你好像覺得前途并非像前幾年那樣變得越來越好,你也忽然發(fā)現(xiàn)你以前所瞧不起的同學(xué)里好像已經(jīng)有不少開著車的了,也有幾個(gè)人住著比你還大的房子,好像房款還是一次付清的,你突然明白你現(xiàn)在的生活比起你的同學(xué)來最多是中游偏上了。工作中最讓你感到心里不舒服的是,你越來越不敢對(duì)你的領(lǐng)導(dǎo)說不了,即使比你來的晚的同事升職或提薪,你也只是在私下與朋友們一起喝酒時(shí)才敢發(fā)發(fā)牢騷,在頭的面前你的聲間越來越小、笑臉是越來越溫柔。
      
      你終于開始迷茫“再過幾年我會(huì)是在干什么呢?”,這句話常常出現(xiàn)在你的心里。計(jì)算機(jī)開發(fā)工作,是一種以年輕為資本的工作,說句通俗點(diǎn)的話是“吃青春飯的”,嗯,這句話好像在一種特別的行業(yè)也聽到過。其標(biāo)志就是一:工作的時(shí)間性非常強(qiáng),一個(gè)開發(fā)項(xiàng)目被定的時(shí)限通常是很緊張的,更有甚者,有些號(hào)稱開發(fā)管理的書里面還非常卑鄙的號(hào)召將一個(gè)項(xiàng)目切成多個(gè)小片,每個(gè)小片都定一個(gè)叫“里程碑”的東東來嚴(yán)格跟蹤開發(fā)進(jìn)度,加班加點(diǎn)在其它行業(yè)是需要加班工資的,而在開發(fā)行業(yè),加班工資好像還沒見到幾個(gè)公司發(fā)過,是啊,反正有時(shí)間限制著,你干不完我再找你算賬.所以開發(fā)工作通常有著其它工作所沒有的精神上的壓力。
      
      一旦一個(gè)人步入而立之年,因?yàn)榧彝ズ秃⒆拥呢?fù)擔(dān),加上精力上面的衰退,加班工作時(shí)間變得越來越少,這點(diǎn)讓很多老板們感到:這些人已經(jīng)老了,不好用了。指示人事部門:“以后招開發(fā)人員限制在30歲以下!”,相對(duì)而言硬件開發(fā)會(huì)年齡方面限制會(huì)稍好一點(diǎn)點(diǎn),但也是五十步笑百步。還有一個(gè)很重要的一點(diǎn)就是:計(jì)算機(jī)這個(gè)爛東東實(shí)在是進(jìn)步的太快了,前兩年買的頂級(jí)配置電腦,現(xiàn)在怎么看怎么像廢品,這還是小事,更可氣的是好像每天都需要學(xué)習(xí)新的知識(shí),剛畢業(yè)時(shí)只會(huì)書本上的PASCAL,學(xué)會(huì)了用腐蝕的辦法來做電路板,一上班就開始學(xué)習(xí)TURBOC和TANGER2.0,剛剛學(xué)會(huì),還沒來得及高興,馬上開始學(xué)Borland   C++和Protel3.0,好不容易學(xué)會(huì)了,卻發(fā)現(xiàn)需要學(xué)習(xí)VC和Protel98了。單片機(jī)也是?。篫80的指令背的很熟,工作中沒來得及用就要學(xué)8031,好好學(xué)吧,本來想著這輩子就吃它了,又發(fā)現(xiàn)又出來什么PIC、DSP、CPLD、FPGA、ARM等等....這還不包括中間要學(xué)一大堆74系列、4000系列、XX系列...IC卡居然里面還有CPU卡..如果學(xué)習(xí)的知識(shí)里每個(gè)字都能變成一分錢,我想所有的開發(fā)工程師都是腰纏萬(wàn)貫的富翁。
      
      一眼看去,這種日子好像見不到頭,年輕時(shí)樂此不彼,但現(xiàn)在你一定對(duì)自已能堅(jiān)持到什么時(shí)候感到懷疑了。我們都玩過像仙劍奇?zhèn)b傳這樣的RPG游戲,剛開始時(shí)你只是一個(gè)一名不文的少年,隨著你去打怪物、撿寶貝、學(xué)秘芨,最后終于有一天你會(huì)變成一個(gè)大英雄!那么你在實(shí)際生活中過得比那些小俠們還辛苦,為什么成不了一個(gè)生活中的大俠呢?呵呵,原因在這里:因?yàn)殚_發(fā)工作是邪門功夫,它雖然可以讓你速成的變成小資,但它最大的特點(diǎn)是經(jīng)驗(yàn)不積累!日新月異的知識(shí)更新,讓你總是感到自已在退步,你就像在RPG中的主人公,開始時(shí)就給了你一把好劍和好盔甲,而且讓你的級(jí)別很高,但讓你的經(jīng)驗(yàn)不累積,雖然剛開始打小怪物時(shí)你覺得自已很爽,但越到后來,你會(huì)發(fā)現(xiàn)你會(huì)死的很慘!比較一下你與其它非開發(fā)行業(yè)的同學(xué)你就可以知道了,例如和你學(xué)醫(yī)的同學(xué)比起來。套用岳不群他老人家說華山劍宗和氣宗的區(qū)別那段話:前十年你比你那些學(xué)醫(yī)的同學(xué)收入和地位要好的多,但十年以后你和他基本上各方面都會(huì)持平,而二十年以后你的各方面遠(yuǎn)遠(yuǎn)不能與你學(xué)醫(yī)的同學(xué)相提并論!嗯,你已經(jīng)開始不笑辟邪劍法了吧。
      
      “敢問路在何方?路在腳下...”,不過猴兄和八戒兄這么認(rèn)為是可以的,你呢?總結(jié)了許多開發(fā)朋友在30歲以后的生活之路,讓我們一起看看開發(fā)人員“路在何方?”那么開發(fā)人員在30歲以后都干些什么呢?
      
      其路一:繼續(xù)做你這個(gè)很有“前途”的職業(yè)吧!
      偶掰著腳指頭仔細(xì)數(shù)了數(shù),發(fā)現(xiàn)還真的有很多朋友在30歲以后還在從事開發(fā)工作,我這里說的從事,是指你還需要天天在電腦邊上編程序和畫電路板,與你手下是否有幾個(gè)小兵無關(guān),也與你是否頭上頂著什么項(xiàng)目經(jīng)理、主任工程師的帽子無關(guān),只要你還需要親自開發(fā),你就屬于這一類。其中有個(gè)年齡最大的朋友是63年的,從事醫(yī)療儀器的開發(fā)工作,35歲左右還在從事軟硬件開發(fā)工作的仍有一大堆,分析這些仍然從事開發(fā)的朋友,基本上都有以下特點(diǎn):
      1癡迷工作或者癡迷電腦,晚上八點(diǎn)到十二點(diǎn)的這段時(shí)間,基本上是在電腦桌或工作臺(tái)前渡過的。
      2不喜歡與人交住,朋友很少,常聯(lián)系的人不超過五個(gè)。
      3與朋友交往時(shí)談工作多,但一般不主動(dòng)談錢。
      4體型偏胖或偏廋,不在正常區(qū)間。
      5無未來計(jì)劃,對(duì)五年后自已生活怎么樣、從事什么工作說不清楚。
      6儉省,從不亂花錢。
      即使你是還不到30歲的開發(fā)人員,你也可以看看自己對(duì)以上幾條是否符合,是否會(huì)在30歲后還從事開發(fā)職業(yè),四條疑似,五條以上基本確診你也是這類型的人。這些朋友們通常報(bào)著過一天是一天的態(tài)度生活,到了這個(gè)年齡,也不敢再輕易的換工作了,年輕時(shí)的銳氣慢慢的也消退了。唯一不變的希望是有一天從天上掉下來一大堆錢把自己砸傷。說實(shí)在話因?yàn)樗麄兊男愿袼?,基本上可以確定他們以后不可能在職場(chǎng)上獲得更好的發(fā)展,當(dāng)個(gè)小頭頭,帶幾個(gè)人開發(fā)已經(jīng)是他們發(fā)展的頂點(diǎn)。至于以后的人生之路,不僅他們自己迷茫,可能上帝也正在頭痛。不過像這類朋友,偶很奇怪的發(fā)現(xiàn):他們的小孩都是兒子!不知是偶然還是有什么其它說法。
      簡(jiǎn)單建議:要改變命運(yùn),先改變性格:堅(jiān)持半年晚上不從事工作、游戲及電視,用此時(shí)間與人交往,你的人生會(huì)有改變。
      
      其路二:轉(zhuǎn)行從事技術(shù)支持、行政或生產(chǎn)等工作
      還有一些朋友,從事了幾年的開發(fā)工作,因?yàn)樽砸巡⒎翘貏e的愛好,或者領(lǐng)導(dǎo)上面的強(qiáng)制工作安排,他們轉(zhuǎn)到了技術(shù)支持、服務(wù)或行政等工作,至少當(dāng)時(shí)從表面上看起來,他們的薪水較開發(fā)要少一些,但真正的統(tǒng)計(jì)這些人,發(fā)現(xiàn)他們之中有半數(shù)的人獲得了更好的發(fā)展,升職為服務(wù)部經(jīng)理或行政經(jīng)理等職,最歷害的一個(gè)朋友已升職為總經(jīng)理助理,進(jìn)入高層。這類朋友當(dāng)時(shí)轉(zhuǎn)行通常并非自已志愿,屬被逼無奈或者其它原因,但顯然,擁有專業(yè)知識(shí)技術(shù)的他們顯然在非技術(shù)部門中鶴立雞群,遇到什么事情他們均可從專業(yè)的角度提出建言,久而久之,他們獲得更多的升職和加薪機(jī)會(huì)也就不足為奇。因?yàn)椴粡氖麻_發(fā),所以經(jīng)驗(yàn)開始積累,這類的職業(yè)通常會(huì)給你一個(gè)很安定的感覺,你到30多歲后會(huì)發(fā)現(xiàn)這類職業(yè)反而比開發(fā)工作更容易獲得新的工作機(jī)會(huì)。
      簡(jiǎn)單建議:你如果確定在開發(fā)部無法獲得很好的發(fā)展機(jī)會(huì),不妨轉(zhuǎn)到其它幾個(gè)部門試試,換個(gè)活法,錢少點(diǎn)就少點(diǎn)吧,機(jī)會(huì)多。
      
      其路三:開發(fā)管理
      如果你現(xiàn)在已經(jīng)是總工或開發(fā)部經(jīng)理,或者你眼看就有機(jī)會(huì)被提升為這類職務(wù),那么恭喜你,你走的是從“弼馬溫”到“斗戰(zhàn)勝佛”這條金光大路,你不僅擁有很高的專業(yè)技能,而且很顯然,你也有著很強(qiáng)的人際交往能力,你這類人根本不需要對(duì)未來有著任何的擔(dān)心,你在即使一無所有的時(shí)候也很容易白手起家。你這種人算是練辟邪劍法練成了仙,嗯,我無話可說。你是不是這類人也很容易區(qū)別,就像圍棋二十歲不稱國(guó)手終身無望一樣,你應(yīng)該在工作三、四年以后,也就是說二十七歲左右就會(huì)發(fā)現(xiàn)自已工作中指手劃腳的時(shí)間比親自開發(fā)的時(shí)間要多了,而且大多數(shù)這類人在這個(gè)年齡手下應(yīng)該有“兵”了,相反的,如果你快30歲了還天天埋頭于電腦前編程序和畫板子,或者30多歲了你還沒升到部門經(jīng)理(雖然你總是覺得自已很有希望),基本上可以確定你不是這類人。好了,如果你確定你是這類人,那么你唯一的想法就是盡快爬上中層和高層,因?yàn)橛袝r(shí)候人生偶然性太大,不占住坑的蘿卜很有可能被人拔出來!
      簡(jiǎn)單建議:天天去你的老板家里面拖地和擦桌子!
      
      其路四:出國(guó)或考研
      有兩個(gè)搞開發(fā)后出國(guó)的朋友,其中一個(gè)甚至打工打到了一個(gè)小公司總工的位置,數(shù)據(jù)庫(kù)和軟件方面水平巨牛,但仍感覺心里不踏實(shí),于是將自己工作多年的錢忍痛掏出來,出國(guó)費(fèi)加上機(jī)票大概將自已辛苦所攢的銀子花完,然后又借了一些錢,在02年身上揣著一萬(wàn)美元跑去了加拿大,在加拿大不停的重復(fù)找工作,換工作,然后再找工作的循環(huán),找的工作基本上與計(jì)算機(jī)無關(guān),不過工資總是在1500加元左右,呵呵,折成人民幣與他在國(guó)內(nèi)打工拿的基本上差不多,不過租個(gè)地下室就花了300加元,然后吃吃喝喝,再買個(gè)電腦上上網(wǎng)這類的,基本每月平均還要倒貼一點(diǎn)。前段時(shí)間給我的郵件里說,現(xiàn)在身上花的差不多只有5、6000美元了,準(zhǔn)備開個(gè)小公司,看看能不能往國(guó)內(nèi)倒騰點(diǎn)東東,做最后一搏。另外一個(gè)朋友去澳州,時(shí)間稍早一些,先是大概摘了一年多的葡萄,后來總算找了個(gè)技術(shù)工作,每天的工作是畫機(jī)械圖紙,收入還算不錯(cuò)將近3000澳元,買了個(gè)舊車,也算是過上了資本主義生活。不過前年回來一趟,唯一的感嘆就是:在國(guó)外拿2000美元的生活,絕對(duì)不如在國(guó)內(nèi)拿5000人民幣的生活舒服。
      也有兩個(gè)考研的朋友,不過其中一個(gè)嚴(yán)格的說不是做開發(fā)的出身,偏重于市場(chǎng)方面的工作性質(zhì),不過我的朋友里面考研的不多,只好湊兩個(gè)人說說,一個(gè)考研后在北京找了個(gè)工作,每個(gè)月5、6000元錢,但還是做開發(fā),生活仍然與沒考研之前沒有任何的改變,前途仍然沒見到什么大亮的光,還是搞不清楚以后再干些什么,標(biāo)準(zhǔn)的過一天算一天了。另外一個(gè)考研后在大學(xué)里面找了個(gè)工作,工資雖然比他原來打工少了不少,但畢竟終身有靠,穩(wěn)定了下來,也算修成了正果,這位哥們心情一放松下來,也開始有時(shí)間琢磨著業(yè)余時(shí)間自已做點(diǎn)什么,好像現(xiàn)在慢慢的也開始有了點(diǎn)眉目。
      簡(jiǎn)單建議:這兩條路,對(duì)開發(fā)人員來說都不算是很好,出國(guó)十年前是好事,現(xiàn)在難說,考研能成功轉(zhuǎn)行的概率恐怕也不是很大,多半仍然去搞開發(fā),只不過研究生可以多干幾年罷了。
      
      
      其路五:轉(zhuǎn)行到市場(chǎng)
      絞盡腦汁的想想,我所知道的人之中只有兩個(gè)開發(fā)人員去了市場(chǎng),這兩個(gè)人都不能說是朋友,認(rèn)識(shí)而已。他們都是主動(dòng)要求去了市場(chǎng),結(jié)果是這兩個(gè)人均在市場(chǎng)都是干到一年左右,然后都自已開公司了。呵呵,很奇怪,極高的轉(zhuǎn)行成功率!不過仔細(xì)想想,我對(duì)這兩個(gè)人的思路佩服的五體投地。能下決心仍掉每月5、6000元的開發(fā)職位,從事一個(gè)自已并不熟悉的崗位,每月拿個(gè)2000多元+提成,但提成那是說不清楚的事情,這個(gè)決定,只能讓人感覺到他們對(duì)自已前途清晰的把握和老謀深算的心機(jī)。而且他們不去服務(wù)不去生產(chǎn),挖空心思說服領(lǐng)導(dǎo)去市場(chǎng)(市場(chǎng)部門與開發(fā)部門通常是一個(gè)公司的核心部門,進(jìn)入其實(shí)并不容易),可以說是有著長(zhǎng)遠(yuǎn)的考慮的。有技術(shù)了,再與客戶交成朋友,馬上就會(huì)產(chǎn)生很大的機(jī)遇應(yīng)該是正常的事情。
      有實(shí)力,有心機(jī),也有著很強(qiáng)的決心力,這種人恐怕早在大學(xué)畢業(yè)時(shí)或更早的時(shí)候就已經(jīng)決定了自已的人生之路,他們的每一步路在若干年前早就計(jì)劃周全,現(xiàn)在看起來:學(xué)會(huì)技術(shù)->進(jìn)入市場(chǎng)->尋找商機(jī)->開公司,一條多么清楚的人生之路。但就像我們上小學(xué)中學(xué)時(shí),所有人都知道上大學(xué)是我們最清楚的人生路一樣,最后只有少數(shù)人才能真正達(dá)到目標(biāo)(當(dāng)然,現(xiàn)在擴(kuò)招的歷害是另外一回事,我是說我們那個(gè)時(shí)候,也就是:“很久很久以前,當(dāng)我像你那么大的時(shí)候”)。
      簡(jiǎn)單建議:你若是這類人,我的建議是:...嗯?....那個(gè)你.你,你別走啊,我還有個(gè)事想請(qǐng)你贊助一下啊.....
      
      
      其路六:開公司自已干
      呵呵,看到這一條,發(fā)現(xiàn)你的眼睛已經(jīng)圓了,你肯定千百次的想過這個(gè)事情吧,咳咳,其實(shí)我從事開發(fā)的時(shí)候也是天天夢(mèng)想著這種事情。總想著過兩年找個(gè)機(jī)會(huì)就自已干,這個(gè)夢(mèng)想一年又一年的折磨著你也給著你希望??纯窗?,開發(fā)后來開公司的還真的不少,里面有成功的也有很多失敗的,通常開公司都是幾個(gè)人合伙開始的,有做技術(shù)的,有做市場(chǎng)的,幾個(gè)人一拍即合、狼狽為奸,共同策劃了這一個(gè)大活動(dòng)。一般說來能讓這幾個(gè)人下決心走出這一步,產(chǎn)品肯定是先進(jìn)的,甚至是國(guó)內(nèi)獨(dú)一無二的,市場(chǎng)也是很大的,負(fù)責(zé)市場(chǎng)的那個(gè)哥們通常會(huì)拍著胸保證可以賣出去,并悄悄地告訴你他在某主管領(lǐng)導(dǎo)是他小舅子的同學(xué)的二叔,肯定沒問題。于是你們幾個(gè)人找地點(diǎn)、注冊(cè)執(zhí)照、買了幾個(gè)破桌子,再攢了兩臺(tái)電腦,每個(gè)人又湊了幾萬(wàn)銀子,公司開張了!
      產(chǎn)品很快出來了,市場(chǎng)的哥們也不負(fù)重望,有幾個(gè)客戶表示要試用了,一切看起來都是如此的正常,“.......你坐在老板桌前,不停的有人來匯報(bào)工作或者找你簽字...人進(jìn)人出中...你又想起公司再窮也不能只有一把椅子的故事.....”你在夢(mèng)中笑出聲來。是如此的順利,你們很快就有單子了,很快的單子讓你們湊的那點(diǎn)錢不夠了,你們很高興的每個(gè)人又增加了投入,拿出錢時(shí)你眼淚汪汪的數(shù)著錢說:“這就是我那生蛋的
      母雞啊”。你們的產(chǎn)品確實(shí)不錯(cuò),市場(chǎng)也經(jīng)營(yíng)的很好,客戶慢慢的多了起來,單子來的時(shí)候一筆接著一筆,你每天都處于興奮之中,唯一美中不足的是好像客戶回款總是會(huì)拖一些日子,不過客戶給你保證說:過幾天,過幾天就付給你們,因?yàn)榛乜羁偸窃谟?jì)劃外,所以你們?yōu)榱速Y金的流暢運(yùn)行又湊了一些錢,這個(gè)時(shí)候你有一些心事了,因?yàn)槟愕拇婵钫凵厦娴臄?shù)字已經(jīng)快趨向于零了。“沒事,過兩個(gè)月等回款了一切都OK了,誰(shuí)干事業(yè)不吃點(diǎn)苦呢?”你這么安慰著自已又投入到工作中去,資金總是在回款和生產(chǎn)經(jīng)營(yíng)費(fèi)用之間走著一個(gè)窄窄的小木橋,你的賬上總是沒有太多的錢,擴(kuò)大了的公司規(guī)模和許多意外情況,使你又一次、二次、三次的與合作者們?cè)俅瓮度肓俗砸训馁Y金,當(dāng)然,后來的錢你可能已經(jīng)是借的了.....
      終于有一天,你的會(huì)計(jì)再一次告訴你,老板啊,賬上又沒現(xiàn)金了,吃過多次苦頭的你終于下決心開始重視資金的運(yùn)行了,你裁掉了一些不必要的人手,減少了開發(fā)的投入,要求市場(chǎng)人員簽單的時(shí)候必須予付XX%的款,回扣也必須等收過款后再付,同時(shí)也開始對(duì)產(chǎn)品的生產(chǎn)成本開始進(jìn)行控制。時(shí)間一天一天的過去,因?yàn)榫範(fàn)帉?duì)手的產(chǎn)品也對(duì)你的產(chǎn)品進(jìn)行了仿造,你的產(chǎn)品慢慢變得不再先進(jìn),市場(chǎng)人員開始埋怨公司的合同資金方面規(guī)定太嚴(yán)格,不好簽單,生產(chǎn)成本的下降通常也導(dǎo)至產(chǎn)品毛病的增多,客戶也開始埋怨你的服務(wù)人員不能及時(shí)進(jìn)行服務(wù)。
      終于有一天,你重新走進(jìn)了人才交流中心,以前你是來招人的,現(xiàn)在你拿著自已的簡(jiǎn)歷開始尋找一個(gè)工作......公司的成功與否,與產(chǎn)品有關(guān),與市場(chǎng)有關(guān),但更重要的是與資金有關(guān),產(chǎn)品與市場(chǎng)都可以通過資金來彌補(bǔ),而卻沒有任何東西可以代替資金,凡是倒下的公司,99%與資金鏈的斷裂有關(guān)。在你決定要開公司以前,先估計(jì)一下你公司支持一年所需要的資金數(shù)額,包括人工費(fèi),生產(chǎn),場(chǎng)地,廣告宣傳、市場(chǎng)費(fèi)用、甚至電、水費(fèi)等等等等,把你所想到的一切加在一起,得出的值就是..慢..如果你沒有實(shí)際的開過公司的經(jīng)驗(yàn),你需要將此數(shù)字乘3,然后就是你開公司一年最少需要的費(fèi)用,呵呵,公司的實(shí)際運(yùn)營(yíng)所需要的錢是你想像的3倍以上,你要是不信我也沒辦法。
      簡(jiǎn)單建議:開公司前最重要的是先確立你后續(xù)的資金來源!也就是說錢不夠了怎么辦?---因?yàn)槟阃度氲腻X肯定會(huì)不夠的。
      
      其路七:第二職業(yè)
      這類的朋友有不少,他們沒有脫離開發(fā)工作,但是在業(yè)余時(shí)間又不停的接項(xiàng)目或者在賣產(chǎn)品,在單位里面他們顯得并不出眾,比起其它人來說他們屬于最不愿意加班的一類.為此他們白天通常工作很勤奮.這類人也許不一定可以掙很多錢,但平均下來他們一年之中通常都可以比同事們多掙個(gè)幾萬(wàn)元.有時(shí)候比上班拿得還多.但令人疑惑的是,這類人在生活中更加注重穩(wěn)定,基本上沒見到他們跳過蹧,即使私下里面已經(jīng)開了個(gè)小公司,他們通常也不會(huì)辭職.
      你的旁邊有沒有這類人呢?分辨他們很容易:--電話很多,而且更愿意來電話時(shí)離開辦公室找個(gè)沒人的旮旯通話.神秘兮兮給人一種"這家伙是不是有二奶啊?"的感覺的人,通常是這類人。這類人是女性最佳的選擇對(duì)象:很顧家,不象那些富人容易花心,而比起一般人來說,他們收入相對(duì)要高得多。但總結(jié)了一下幾位這類的開發(fā)朋友:也得出了一個(gè)令人沮喪的結(jié)論:這種人通常個(gè)子不高,體形類似桶狀.....
      簡(jiǎn)單建議:這好像是開發(fā)人員最佳的出路了,但比較豐厚的收入通常讓這類人不愿意去冒風(fēng)險(xiǎn)....到現(xiàn)在為止我所認(rèn)識(shí)的這類人還沒有一個(gè)真正算是成功的。
      
      好了,雖然偶的經(jīng)歷遠(yuǎn)遠(yuǎn)說不上豐富,也沒有什么成功之處可以自滿的,但或許因?yàn)楸绕渌笥寻V長(zhǎng)了幾歲,見過的人可能會(huì)稍多一些,所以斗膽寫出了以上的一些文字,讓您掉牙了。下面是偶走過開發(fā)這條路上總結(jié)出來的一點(diǎn)心得,你可以不看,但看了就千萬(wàn)別把嘴咧的太大:
      
      一、不管是給別人打工還是自已干,都要全心全意的工作,因?yàn)槟闼龅娜魏我稽c(diǎn)工作都會(huì)讓自已的人生多一點(diǎn)籌碼,這一點(diǎn)最最重要!這樣的例子我至少可以舉出兩起,優(yōu)秀的開發(fā)人員被其它新公司挖走,并給一定的股份,成為新公司的股東的例子。當(dāng)時(shí)與這樣的開發(fā)人員一個(gè)部門同時(shí)工作或更早工作的有許多人,他們平時(shí)經(jīng)常偷點(diǎn)懶,能少干點(diǎn)工作就少干點(diǎn),有時(shí)候還笑話那個(gè)平時(shí)努力工作的人傻,幾年過去了,究竟誰(shuí)比誰(shuí)傻?
      
      二、多與市場(chǎng)人員交朋友,你接觸他們時(shí)可能總會(huì)覺得他們知識(shí)比你少,甚至素質(zhì)比你低,可能比你還有點(diǎn)黃。但實(shí)際上他們比你更懂這個(gè)社會(huì)!參加到他們這個(gè)圈子中去,和他們一起賭賭錢、一起聊聊天、一起洗洗桑拿、一起.....你會(huì)通過他們接觸到另外一個(gè)世界。
      
      在網(wǎng)上或其它地方,如果有機(jī)會(huì)參與到除本職工作外的一些項(xiàng)目或產(chǎn)品的開發(fā)中(包括你的朋友拉你去做點(diǎn)小生意之類的非開發(fā)性質(zhì)的工作),那怕是幫忙的性質(zhì),也要積極介入,至少你會(huì)交到很多的朋友,這樣你的人生會(huì)多出很多的機(jī)會(huì)

    posted @ 2008-09-22 02:13 小小it 閱讀(128) | 評(píng)論 (0)編輯 收藏
    軍訓(xùn)和小說一路讀吧,看魔杰座

    軍訓(xùn)和小說一路讀吧,看魔杰座

    以前,我總認(rèn)為軍訓(xùn)像玩一樣,想怎樣玩就可以怎樣玩。但是,我自從來到這里軍訓(xùn)后,終于發(fā)現(xiàn)了,我錯(cuò)了,和我想象中的軍訓(xùn)截然相反。所謂的軍訓(xùn)并不是讓我們想怎么樣就怎么樣,而是鍛煉我們的毅力與身體,來體驗(yàn)軍中訓(xùn)練生活。就像小松樹一樣,不經(jīng)歷嚴(yán)寒酷暑的考驗(yàn),怎能長(zhǎng)成一棵高大、茁壯的松樹呢!人也是一樣,必須吃點(diǎn)苦,才能成大事。我相信,這次軍訓(xùn)中的辛苦,最終會(huì)化成我對(duì)學(xué)習(xí)的動(dòng)力!這也是我喜歡進(jìn)收錄文學(xué)站的原因。

      這幾天的軍訓(xùn),讓我不僅懂了許多道理,還懂得了許多的事。就說軍訓(xùn)的最后一天的下午吧。那天下午,我們舉行了四公里的野外拉練,由于天氣炎熱,再加上去都是上坡,許多同學(xué)的水都喝完了,個(gè)個(gè)都十分口渴。通過這件事,我才真正地感受到水——人類的生命源泉,水是那么的重要?。∪绻麤]有了水,人類該怎么生存??!以前在家,我可是從來就沒想過這種事。在急需水的時(shí)候,才想起。想想在家里曾經(jīng)浪費(fèi)了多少寶貴的水啊,我真是感到慚愧!在這次軍訓(xùn)中,我還明白了同學(xué)之間應(yīng)該團(tuán)結(jié)。想想,我們有困難時(shí),在學(xué)校是誰(shuí)向我們伸出友誼之手,不就是那些天天在我們身邊,在我們傷心的時(shí)候安慰我們的同學(xué)嘛!記得在軍訓(xùn)時(shí),我沒水喝了,十分口渴。后來一個(gè)叫絲路的同學(xué)把僅有的一點(diǎn)水給我喝,使我深深的體會(huì)到團(tuán)結(jié)的力量,與同學(xué)的團(tuán)結(jié)是多么的重要。我想,如果我們這一代更加的團(tuán)結(jié),更加友愛的話,中國(guó)必定會(huì)更加繁榮昌盛!我們應(yīng)該珍惜眼前的友誼。

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

    posted @ 2008-09-22 02:08 小小it 閱讀(169) | 評(píng)論 (1)編輯 收藏
    初用Google Gears 有感

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

    做了一些年的web開發(fā),見到了一些web技術(shù)的革新和進(jìn)步.作為從事b/s開發(fā)的人來說,是很欣慰的。
    以前出現(xiàn)了一種ajax技術(shù),應(yīng)該是很有革新意義的,
    Ajax應(yīng)用程序的優(yōu)勢(shì)在于:
      1. 通過異步模式,提升了用戶體驗(yàn)
      2. 優(yōu)化了瀏覽器和服務(wù)器之間的傳輸,減少不必要的數(shù)據(jù)往返,減少了帶寬占用
      3. Ajax引擎在客戶端運(yùn)行,承擔(dān)了一部分本來由服務(wù)器承擔(dān)的工作,從而減少了大用戶量下的服務(wù)器負(fù)載。

    今天我說的google gears,我想也是一個(gè)技術(shù)革新.

    最近的項(xiàng)目遇到一個(gè)問題,使用cdma網(wǎng)絡(luò),對(duì)某一個(gè)數(shù)據(jù)的輸入需要實(shí)現(xiàn)google那樣輸入快速連動(dòng)顯示的功能,
    而數(shù)據(jù)量又有點(diǎn)大,要快速連動(dòng),幾乎不可能.

    所以只能考慮一些新的技術(shù),這就是google gears了。將數(shù)據(jù)庫(kù)本地化.
    http://code.google.com/apis/gears/sample.html
    這里有簡(jiǎn)單詳細(xì)的例子,試用的感覺的確是不錯(cuò)的。

    他含有3個(gè)重要的模塊。
    1,Database module就是本地?cái)?shù)據(jù),可以使用標(biāo)準(zhǔn)的sql語(yǔ)法操作,比如建表查詢刪除等等。
    這樣很多常用數(shù)據(jù)我們都可以本地化存儲(chǔ),不用每次都從server端下載,
    提升了用戶體驗(yàn),減少不必要的數(shù)據(jù)往返.
    特別是對(duì)網(wǎng)絡(luò)環(huán)境不好的。如果用戶在操作的時(shí)候斷網(wǎng)絡(luò),就可以把輸入的數(shù)據(jù)現(xiàn)保存到本地庫(kù),
    后期網(wǎng)絡(luò)正常后在同步。

    2,LocalServer module就是本地服務(wù)器,大家都知道b/s的文件都是存放在server端的,
    不存在什么客戶端,如果網(wǎng)絡(luò)出了什么問題,那么系統(tǒng)也就不能訪問了,
    LocalServer module就是為讓斷網(wǎng)的時(shí)候依然可以使用b/s系統(tǒng),他將server端的一些文件存儲(chǔ)到本地.
    比如我們要登記一個(gè)資料,以前沒有b/s的系統(tǒng)斷網(wǎng)了肯定不行,錄入的界面打不開,打開了也無法錄入提交到服務(wù)器.
    用了LocalServer module,我們就可以在斷網(wǎng)的情況下打開錄入界面,然后錄入,然后使用Database module存儲(chǔ),
    網(wǎng)絡(luò)好了的時(shí)候在同步,我們也不用總是擔(dān)心數(shù)據(jù)沒及時(shí)錄入以免以后就忘記錄入了。
    (這一點(diǎn)我們暫時(shí)沒有使用,和界面的設(shè)計(jì)有些關(guān)系,對(duì)我們的系統(tǒng)不太容易應(yīng)用,有些界面暫時(shí)沒辦法本地化)

    3,WorkerPool module.工作者池,這是一個(gè)最重要的模塊,用過pool技術(shù)的都知道,
    就是pool中的各個(gè)主體獨(dú)自工作,這里的pool是實(shí)現(xiàn)了讓多個(gè)js在后臺(tái)異步運(yùn)行互不干涉.
    這樣用戶在使用系統(tǒng)的時(shí)候,是感受不到有js在運(yùn)行的,以前js運(yùn)行的時(shí)候,界面都是不可操作的,
    必須要等js運(yùn)行完了,才能做其他操作,使用WorkerPool module就可以解決這個(gè)問題,
    比如在我們的系統(tǒng)中,要把服務(wù)器的數(shù)據(jù)庫(kù)(某個(gè)表)本地化,大概需要1個(gè)小時(shí),
    如果使用傳統(tǒng)的js來操作,界面就要運(yùn)行一個(gè)小時(shí)(可能沒有響應(yīng)),ie基本都是白屏.
    這顯然是行不通的了,所有我們只能用WorkerPool module,在用戶沒有感覺的情況下,
    在后臺(tái)通過ajax分段獲取到服務(wù)器的數(shù)據(jù),然后啟動(dòng)WorkerPool module寫入,效果感覺非常的不錯(cuò)。


    以上就是自己試用(也算是正式的用了)后的一點(diǎn)感受,和大家一起分享。

    web開發(fā),真的是其樂無窮。感謝哪些技術(shù)牛人。

    posted @ 2008-09-21 01:12 小小it 閱讀(249) | 評(píng)論 (0)編輯 收藏
    真正技術(shù)高手是如何煉成的?

    在由CSDN和《程序員》雜志聯(lián)合舉辦的第三屆中國(guó)軟件技術(shù)英雄會(huì)(上海站)上,由主持人CSDN首席分析師孟巖,上海群碩大中華區(qū)軟件開發(fā)總監(jiān)邵榮,阿里軟件技術(shù)總監(jiān)葉偉,盛大游戲首席技術(shù)官朱繼盛, 趨勢(shì)科技(中國(guó))有限公司技術(shù)總監(jiān)蔡昇欽,巨人網(wǎng)絡(luò)集團(tuán)首席技術(shù)官CTO宋仕良,淘寶網(wǎng)首席架構(gòu)師王文彬共同參與的CTO論壇上,就有關(guān)CTO是否必須為技術(shù)高手,從程序員到技術(shù)高手成長(zhǎng)之路,知名互聯(lián)網(wǎng)公司如何招聘人才等問題與參會(huì)者進(jìn)行了深入的交流。

    精彩觀點(diǎn):
    我覺得CTO并不必須是技術(shù)大拿,大家今天可以看到,從CTO的定義來看,CTO的角色是用技術(shù)服務(wù)公司的商業(yè)模式。從這個(gè)定義,只要你對(duì)技術(shù)有相當(dāng)性的掌握,其實(shí)你可以不必從底層做起?!跷谋?/p>

    CTO很重要的目標(biāo)是在于它能夠整合公司的商業(yè)能力,成為一個(gè)CTO的重點(diǎn),是你對(duì)公司核心技術(shù)的了解度跟掌握度,還有公司主要的核心業(yè)務(wù)的掌握度。——蔡昇欽

    技術(shù)高手和CTO這兩個(gè)角色,打個(gè)比方,像一個(gè)樂隊(duì)里面,技術(shù)高手像小提琴演奏者,或者是一個(gè)鋼琴演奏者,但是CTO相當(dāng)于一個(gè)樂隊(duì)的總指揮,樂隊(duì)的指揮需要有對(duì)音樂的整體感覺,這方面肯定更拿手。——朱繼盛

    CTO還是應(yīng)該是一個(gè)內(nèi)功高手,還是要有點(diǎn)內(nèi)功,這說明什么,你在技術(shù)方面,應(yīng)該有技術(shù)的洞察力,要看到商業(yè)和技術(shù)的結(jié)合?!~偉

    跟技術(shù)團(tuán)隊(duì),尤其跟程序員,跟工程師,你要有共同語(yǔ)言,我覺得如果說沒有一定技術(shù)深度的話,其實(shí)很難能夠融進(jìn)整個(gè)的團(tuán)隊(duì)?!蹣s

    如果作為一家創(chuàng)業(yè)型的公司,特別是互聯(lián)網(wǎng),特別是軟件行業(yè),CTO必須是一個(gè)技術(shù)高手,因?yàn)槟闶且患覄?chuàng)業(yè)公司,技術(shù)平臺(tái)應(yīng)該是公司的核心業(yè)務(wù),如果CTO不是技術(shù)高手,這個(gè)公司很難在商業(yè)上有大的作為?!问肆?/p>

    程序員或高手容易犯的錯(cuò)誤是什么,或者我覺得做得不夠的地方,是程序員容易覺得我做的這個(gè)東西很好,很牛,我這個(gè)東西別人應(yīng)該喜歡用,由我來推演別人?!蹣s

    要成為高手,就像練功一樣,你必須能耐得住寂寞,要關(guān)在研究室里面,像大家一樣,晚上寫代碼,有時(shí)候這種東西不是平常人可以做到的,假如你可以呆過這段期間的話,我相信你練到功成了以后,這些東西你就可以發(fā)揮出來了,我想這是成為高手很重要的因素?!跷谋?/p>

    我建議大家去嘗試做產(chǎn)品經(jīng)理或者系統(tǒng)分析師,架構(gòu)師很多人誤解為純技術(shù)的,其實(shí)許多的架構(gòu)師對(duì)商業(yè)的分析是非常擅長(zhǎng),對(duì)于系統(tǒng)分析師,因?yàn)橄到y(tǒng)分析師是非常清晰地要描繪出商業(yè)的目標(biāo)在什么地方,分解成什么東西,跟技術(shù)有關(guān)聯(lián)?!~偉

    首先在于留住人才,我們讓工程師知道,工程師他不是低于管理者的,也就是說,你一個(gè)經(jīng)理,他所拿到的整個(gè)薪資,不一定要大于他所管理的工程師。——蔡昇欽


    以下為論壇實(shí)錄:

    主持人:在正式開始之前想先做一個(gè)小調(diào)查,我想請(qǐng)問一下,在座的六位CTO都是技術(shù)管理者,都是技術(shù)大拿,你們誰(shuí)認(rèn)為成為一個(gè)技術(shù)管理的高手,或者CTO,成為技術(shù)高手是必經(jīng)之路,想成為一個(gè)CTO必須先成為一個(gè)技術(shù)高手嗎?

    淘寶網(wǎng)首席架構(gòu)師王文彬:先說明一下,我是假CTO,我的職位其實(shí)是做技術(shù),在淘寶做品牌架構(gòu),說實(shí)在的,我有一個(gè)技術(shù)背景,但我覺得CTO并不必須是技術(shù)大拿,大家今天可以看到,從CTO的定義來看,CTO的角色是用技術(shù)服務(wù)公司的商業(yè)模式。從這個(gè)定義,只要你對(duì)技術(shù)有相當(dāng)性的掌握,其實(shí)你可以不必從底層做起,我們今天講的是CTO是不是一定要從底層的技術(shù)人員干起,假如從這個(gè)角度,我覺得做CTO不一定經(jīng)過必須這個(gè)角色,當(dāng)然現(xiàn)在業(yè)界很多CTO,我想在座很多CTO是從技術(shù)出身,這是現(xiàn)實(shí),但是理論上我不覺得是一定的事實(shí)。

    趨勢(shì)科技技術(shù)總監(jiān)蔡昇欽:我認(rèn)為CTO有很重要的目標(biāo)是在于它能夠整合公司的商業(yè)能力,成為一個(gè)CTO的重點(diǎn),是你對(duì)公司核心技術(shù)的了解度跟掌握度,還有公司主要的核心業(yè)務(wù)的掌握度,所以不一定說非要從底層干起,當(dāng)然CTO也可以是掌握技術(shù)最高的那個(gè)人,但是這不是一個(gè)唯一的一個(gè)對(duì)應(yīng)關(guān)系。

    盛大游戲首席技術(shù)官朱繼盛:技術(shù)高手和CTO這兩個(gè)角色,打個(gè)比方,像一個(gè)樂隊(duì)里面,技術(shù)高手像小提琴演奏者,或者是一個(gè)鋼琴演奏者,但是CTO相當(dāng)于一個(gè)樂隊(duì)的總指揮,樂隊(duì)的指揮需要有對(duì)音樂的整體感覺,這方面肯定更拿手,但是你說他,說到他必須是一個(gè)小提琴高手,或者必須是一個(gè)鋼琴高手,這不一定,也說明作為一個(gè)CTO的話,不一定是從一個(gè)技術(shù)高手成長(zhǎng)過來的,作為一個(gè)CTO,他最主要的職能在于整體的協(xié)調(diào),對(duì)于音樂整體的把握,或者技術(shù)整體的把握上。

    阿里軟件技術(shù)總監(jiān)葉偉:這個(gè)問題很難回答,是不是一定要成為一個(gè)高手,我曾經(jīng)發(fā)現(xiàn)自己技術(shù)上好像也有點(diǎn)高,但是很快發(fā)現(xiàn)自己不高了,因?yàn)楦呤痔?,剛才盛大的朱總也談到了,你不可能樣樣都精通,我本來想打這個(gè)比喻也差不多,不過總的感覺,還是應(yīng)該是一個(gè)內(nèi)功高手,還是要有點(diǎn)內(nèi)功,這說明什么,你在技術(shù)方面,應(yīng)該有技術(shù)的洞察力,要看到商業(yè)和技術(shù)的結(jié)合。我還得補(bǔ)充一點(diǎn),我們就從CTO的詞上來說,最后一個(gè)詞是officer,officer什么意思,實(shí)際上是個(gè)管理者,你真正的本事是把一個(gè)團(tuán)隊(duì)凝聚在一起,并且服務(wù)于商業(yè),如果你沒有那方面的能力,你今天編程越厲害,或者某個(gè)方面精通的,根本不能把你放到CTO這個(gè)位置上面,越放到上面越危害,你帶著一幫人不知道往哪方面奔,你純粹只是興趣,無法為給公司帶來商業(yè)價(jià)值,大家都知道公司其實(shí)是要產(chǎn)生這個(gè)價(jià)值。

    群碩大中華區(qū)軟件開發(fā)總監(jiān)邵榮:我更傾向于必須成為技術(shù)高手才能成為CTO。剛剛幾位的觀點(diǎn)我是認(rèn)同的,但是還有一些不同的想法。第一個(gè)就是自己大言不慚來講,我自己是走技術(shù)這條路過來的,然后在這個(gè)過程里面,我自我感覺,就是說你跟技術(shù)團(tuán)隊(duì),尤其跟程序員,跟工程師,你要有共同語(yǔ)言,我覺得如果說沒有一定技術(shù)深度的話,其實(shí)很難能夠融進(jìn)整個(gè)的團(tuán)隊(duì),尤其,當(dāng)這個(gè)團(tuán)隊(duì),比如說從很小規(guī)模,你很可能在前面做很高指點(diǎn)的話,能夠落地,給他們一些幫助,所以說在整個(gè)我覺得成為一個(gè)技術(shù)主管的過程當(dāng)中,如果說有相關(guān)的比較深的這樣一個(gè)經(jīng)驗(yàn)的話,我想應(yīng)該會(huì)有一定的幫助,整個(gè)到后面真正成為CTO,或者成為技術(shù)的主管的時(shí)候,那個(gè)時(shí)候是不是技術(shù)還是跟原來一樣重要,不是,它只是屬于在整個(gè)的過程當(dāng)中,其中一環(huán)吧。

    巨人網(wǎng)絡(luò)集團(tuán)首席技術(shù)官宋仕良:剛才幾位的觀點(diǎn)我是同意的,我之所以更傾向于必須成為技術(shù)高手才能成為CTO,其實(shí)我自己也是一個(gè)從技術(shù)的底層干起來,我也是寫程序的,我為什么覺得這個(gè)問題可能要分兩個(gè)部分來看,如果作為一家創(chuàng)業(yè)型的公司,特別是互聯(lián)網(wǎng),特別是軟件行業(yè),CTO必須是一個(gè)技術(shù)高手,因?yàn)槟闶且患覄?chuàng)業(yè)公司,你的公司要?jiǎng)?chuàng)業(yè),技術(shù)平臺(tái)應(yīng)該是公司的核心業(yè)務(wù),如果CTO不是技術(shù)高手,我覺得這個(gè)公司可能是很難在商業(yè)上有大的作為,如果像一些傳統(tǒng)的公司,或者做金融那些公司,它來有一個(gè)做IT的部門,就不一定是一個(gè)技術(shù)高手,更重要的是偏重管理,或者是對(duì)業(yè)務(wù)流程的熟練,并不一定是對(duì)技術(shù)要專注。

    主持人:不管怎么說,臺(tái)上的六位都是我們心目中公認(rèn)的技術(shù)高手,我想問其中幾位,臺(tái)下有很多人,有的人已經(jīng)是高手了,有的人還在成為高手的路上,我想你們跟大家分享一下,如何才能成為一名技術(shù)高手,成為一個(gè)技術(shù)高手一個(gè)最重要的經(jīng)驗(yàn)是什么,我想邵榮首先與大家分享一下你的觀點(diǎn)。

    邵榮:先簡(jiǎn)單說說我自己的一個(gè)成長(zhǎng)經(jīng)歷,其實(shí)我在95年、96年左右的時(shí)候,我在操作系統(tǒng)上玩java,我的導(dǎo)師要求我在一個(gè)月之內(nèi)掌握當(dāng)時(shí)的內(nèi)容,其實(shí)就在那個(gè)時(shí)間開始做很多事,憑著狂熱,后面我在DOS里面寫自己的Windows的驅(qū)動(dòng),去驅(qū)動(dòng)整個(gè)的鼠標(biāo)、鍵盤,再到后面,幫那個(gè)研究所做過一個(gè),大家不知道南極星,我自己做了一個(gè),幫香港的一個(gè)公司做了一個(gè)斯托尼方。我那個(gè)時(shí)候真的有點(diǎn)不知天高地厚,就想走出蘇州,我以前在蘇州大學(xué)里面,自己也做了老師,還教軟件工程,教C++,當(dāng)時(shí)我走出蘇州的時(shí)候,我講了一句話,在整個(gè)蘇州可能沒有人在C++上超過我,最多只能跟我溝通交流,過了多少年才知道自己錯(cuò)得多厲害,當(dāng)時(shí)自己的自信心很膨脹,我那時(shí)候基本上把白天黑夜倒過來干,基本上是每天吃完早飯回去睡覺,然后別人吃中飯,我吃早飯,連續(xù)很多年,大概是最起碼4、5年時(shí)間一直這么來干活和工作的。但事實(shí)上隨著時(shí)間推移,號(hào)稱自己覺得還可以,慢慢開始有不同的理解,當(dāng)中有一個(gè)關(guān)于互聯(lián)網(wǎng),我不知道有多少人知道“白云黃鶴”這個(gè)BBS,這是在教育網(wǎng)里面僅次于清華的,我當(dāng)過兩年版主,通過在里面解決問題,帶來很多思索,之后我又開始瘋狂看軟件工程,后面又開始看管理,在市面上的管理方面的書我都看過,事實(shí)上一步一步走過來,到今天我思索很多東西,很多時(shí)候在里面思索一些商業(yè)模式,思考整個(gè)團(tuán)隊(duì)的建設(shè),思考很多東西三年之后會(huì)發(fā)生什么事情,客戶那邊是什么東西,那這么多年里面,我覺得有一個(gè)詞,就是我影響很深刻的,可能對(duì)大家有些啟發(fā),叫EMPATHY,這個(gè)詞的中文含義叫移神,那么我把它去更形象化來講,就是將心比心,我覺得這么多年過來了,從技術(shù)高手轉(zhuǎn)到現(xiàn)在為止,可能很多時(shí)間是負(fù)責(zé)技術(shù)的方向,甚至于是整個(gè)業(yè)務(wù)方向,從原來的執(zhí)行者變到現(xiàn)在的一個(gè)布局者,我覺得很多很多時(shí)候,EMPATHY這個(gè)詞給我自己很大的一個(gè)促進(jìn)或啟迪吧,程序員或高手容易犯的錯(cuò)誤是什么,或者我覺得做得不夠的地方,我做的這個(gè)東西很好,很牛,我這個(gè)東西別人應(yīng)該喜歡用,由我來推演別人,EMPATHY這個(gè)東西,我做這個(gè)東西首先站到別人的角度看,我想要帶團(tuán)隊(duì),我會(huì)站到團(tuán)隊(duì)角度看這個(gè)問題,你必須在很早的時(shí)候預(yù)估到很多部分,我覺得很多程序員應(yīng)該了解,但是最后沒有做的事情是嘗試性的一些東西,所以隨著時(shí)間推移,我覺得做真正的技術(shù)高手,或者想成為技術(shù)高手,我覺得應(yīng)該往一些更軟性的東西想,講句實(shí)話,我往管理方向做的時(shí)候,看了很多哲學(xué)和心理學(xué)的書,這些東西對(duì)擬人生有非常多的促進(jìn),不要走太多剛硬的路。

    主持人:邵總很性急,一下把我后面要問的問題全都回答了。我們接著往下問問葉總,我知道您的技術(shù)非常好,思路也很活躍,所以您走上技術(shù)這條路,但是我有一個(gè)問題是,您后來為什么沒有走上創(chuàng)業(yè)的路線,您覺得怎么評(píng)價(jià)一個(gè)技術(shù)人員的價(jià)值,跟著人干也算成功,還是我非要自己創(chuàng)業(yè)呢?

    葉偉:這個(gè)問題相信很多人都面臨著,不管你曾經(jīng)或者將來,你最終選擇了什么,你有可能選擇了去創(chuàng)業(yè),也可能這時(shí)候沒有想創(chuàng)業(yè),我個(gè)人認(rèn)為呢,有幾個(gè)方面,一個(gè)是來自于客觀上,比如說跟人的性格有關(guān)系,有些人可能性格上并不善于冒風(fēng)險(xiǎn),大家都知道創(chuàng)業(yè)是非常冒風(fēng)險(xiǎn)的。第二個(gè),你的知識(shí)結(jié)構(gòu)能力方面可能有局限性,你創(chuàng)業(yè),所有的責(zé)任都是你在承擔(dān),你要考慮是否能得到成功,你會(huì)考察你的特長(zhǎng)在什么地方,從性格方面說,可能有的人說我希望去寧為雞頭,不為牛尾。我另外有一個(gè)觀點(diǎn),這也是我自己的,可能我沒有去創(chuàng)業(yè)的很重要的想法,我真正想創(chuàng)造社會(huì)價(jià)值,這個(gè)價(jià)值要擺在舞臺(tái)上,這個(gè)舞臺(tái)如果適合你發(fā)展,而且它也很大,而且我們大家都知道互聯(lián)網(wǎng)可以把全世界都聯(lián)合起來,你有沒有智慧,你跟著英明的道路走,這是你可以考慮的。說實(shí)在的,我自己的經(jīng)歷,我開始的時(shí)候,沒有進(jìn)外企,為什么呢,我讀書的時(shí)候去打工,所以我在民營(yíng)企業(yè),很快做大了,那時(shí)候我做CTO,管理幾十個(gè)人,后來我覺得這個(gè)行業(yè)比較小,我做ERP,我也不再做CTO了,ERP大家知道會(huì)影響很多的企業(yè),OK,我去做這個(gè)東西,我進(jìn)了金蝶,在行業(yè)里比較大,然后后來我進(jìn)了互聯(lián)網(wǎng)行業(yè),阿里巴巴,因?yàn)槲覀円プ鲭娮由虅?wù),電子商務(wù)它將影響更大范圍的人,所以我覺得這個(gè)能夠創(chuàng)造更大的社會(huì)價(jià)值。

    主持人:我昨天去巨人訪問的時(shí)候,巨人的同事向我們說,宋總其實(shí)是一個(gè)不善于言詞的人,但是我想問的問題是,您這樣典型的技術(shù)人員的個(gè)性,怎么樣管理一個(gè)團(tuán)隊(duì)呢。

     宋仕良:確實(shí)我平時(shí)在工作中是不善言詞的,因?yàn)槲覒?yīng)該說比較喜歡做技術(shù)工作,我在學(xué)校里面天天鉆研技術(shù),工作之后也遇到一些朋友,然后朋友都是一些技術(shù)高手,因?yàn)槲夜ぷ鞯臅r(shí)候去一家公司,那家公司的同事也是技術(shù)高手,在清華BBS上被評(píng)為中國(guó)十大黑客之一,那不是貶義的,是軟件高手或者技術(shù)高手,是做輸入法的一個(gè)作者,我從他的身上看到一個(gè)真正的技術(shù)高手,是一個(gè)什么樣的人,就是說平時(shí)不去太追逐一些功名這些東西,回到剛才說的話題,我一個(gè)不善言詞的人如何把100多人的團(tuán)隊(duì)帶下來,主要還是靠朋友,可能我會(huì)跟我的另一個(gè)搭檔,他的溝通能力比較強(qiáng),然后他在從事人際交往,在管理當(dāng)中會(huì)比較擅長(zhǎng)一點(diǎn),我專注于做技術(shù)這塊,相當(dāng)于一個(gè)黃金組合了。

    主持人:王文彬先生是我們淘寶網(wǎng)的首席架構(gòu)師,我知道您在淘寶網(wǎng)上扮演兩種角色,一種是帶領(lǐng)團(tuán)隊(duì)的角色,另外一種是掌管整個(gè)淘寶的架構(gòu)。您覺得這兩種角色,CTO帶團(tuán)隊(duì)的角色和做架構(gòu)師是什么關(guān)系?您是如何協(xié)調(diào)好這兩者的關(guān)系的?

    王文彬:的確有點(diǎn)挑戰(zhàn),我老板每次跟我說你架構(gòu)為什么沒有做好,我說我一個(gè)人扮演兩個(gè)角色(笑),但是這個(gè)角色里面是有相關(guān)的,比如我下面的同仁,其實(shí)大家都關(guān)注架構(gòu),所以其實(shí)我今天在帶領(lǐng)淘寶團(tuán)隊(duì)做架構(gòu)的時(shí)候,會(huì)依賴他們實(shí)行部分的架構(gòu)設(shè)計(jì),因?yàn)樘詫氝@么大的網(wǎng)站不是一個(gè)人就可以做得出來的,這也需要大家通力合作。這樣自然就有一個(gè)團(tuán)隊(duì),我想我只是起帶頭作用,帶這個(gè)團(tuán)隊(duì)成本比較小,這也是為什么我兩方面能夠兼顧的原因吧。其實(shí)我再補(bǔ)充一點(diǎn),剛剛主持人問怎么去變成技術(shù)高手,需要什么調(diào)整,我也一直在思考,其實(shí)我同意邵總的講法,今天你做程序,技術(shù)上的東西最需要的是熱情,這個(gè)熱情也需要你具備一定的條件,我總結(jié)我自己的經(jīng)驗(yàn)來看,當(dāng)然我也有一點(diǎn)運(yùn)氣,加入了一流的團(tuán)隊(duì),我想這會(huì)刺激一個(gè)人潛力的發(fā)揮,假如我今天沒有遇到這群人,我不覺得我今天的看法能夠到這種程度,但是另外一點(diǎn),我覺得你今天要走技術(shù)這條路,有一點(diǎn),要成為高手,就像練功一樣,你必須能耐得住寂寞,要關(guān)在研究室里面,像大家一樣,晚上寫代碼,有時(shí)候這種東西不是平常人可以做到的,假如你可以呆過這段期間的話,我相信你練到功成了以后,這些東西你就可以發(fā)揮出來了,我想這是成為高手很重要的因素?,F(xiàn)在在中國(guó),很多公司都在征才,其實(shí)大家對(duì)技術(shù)高手的需求是非常大的,只要把握這幾點(diǎn),相信大家有機(jī)會(huì)成為一個(gè)技術(shù)高手。

    主持人:葉總好像有什么想補(bǔ)充的?

    葉偉:是的,我想補(bǔ)充的是說,管理這個(gè)東西,它是你的工具,你的手段,對(duì)一個(gè)CTO來說,或者對(duì)負(fù)責(zé)技術(shù)研發(fā)的總監(jiān)來說,實(shí)現(xiàn)這個(gè)目標(biāo),這是你的責(zé)任,管理是你的手段之一,你搭好架構(gòu),也是你的手段之一,這些東西你都要去管,沒有一項(xiàng)可以落下來。另外一方面,這些責(zé)任不見得是跑在最頂上的人才有責(zé)任,其實(shí)我們的一個(gè)技術(shù)主管,經(jīng)理他都會(huì)有責(zé)任,你說他當(dāng)經(jīng)理不要管團(tuán)隊(duì),也要,只是CTO更專注在商業(yè)和技術(shù)架構(gòu)之間形成橋梁,他需要把商業(yè)的東西分解成技術(shù)解決方案,反過來又要用我們的技術(shù)驅(qū)動(dòng)創(chuàng)新,形成商業(yè)上的一些想法,所以我覺得是說,管理它是一個(gè)工具,幫助我們,你不要去忽略它,然后我想補(bǔ)充一下,剛才邵總前面談的問題,怎么樣成為一個(gè)CTO,一個(gè)是說你要以終為始,你看CTO核心的能力點(diǎn)在什么地方,我們剛才談到是說,它是在跨越商業(yè)和技術(shù),所以你要有這個(gè)技術(shù),第二個(gè)你要組得起團(tuán)隊(duì)來搞攻堅(jiān)戰(zhàn),這兩方面都要,你要練很多東西,我今天講不完,我提兩個(gè)主要的,你可以同時(shí)去嘗試,可能你距離CTO就近一些,第一個(gè)是做項(xiàng)目經(jīng)理,沒有豐富的項(xiàng)目經(jīng)理,你根本就不知道怎么樣跟人家合作,怎么樣取舍,怎么樣排列優(yōu)先順序,怎么樣控制你的資源,前面我說CTO是個(gè)officer,第二個(gè)方面,他更多要有站得高看得遠(yuǎn)的角色,所以我建議大家去嘗試做產(chǎn)品經(jīng)理或者系統(tǒng)分析師,我談架構(gòu)師,因?yàn)檎劶軜?gòu)師很多人誤解為純技術(shù)的,許多的架構(gòu)師對(duì)商業(yè)的分析是非常擅長(zhǎng),所以我還是談一談系統(tǒng)分析師,因?yàn)橄到y(tǒng)分析師是非常清晰地要描繪出商業(yè)的目標(biāo)在什么地方,分解成什么東西,跟技術(shù)有關(guān)聯(lián),我建立大家在這兩個(gè)角色方面嘗試一下。

    主持人:謝謝葉總,我們還有一位沒發(fā)言。我知道趨勢(shì)科技有一個(gè)特別優(yōu)良的傳統(tǒng),你們?cè)谂囵B(yǎng)人才,以及留住人才這件事情上很有功力,我想了解一下,您怎么在您的技術(shù)團(tuán)隊(duì)里面培養(yǎng)人才,留住人才,這是一個(gè)大家現(xiàn)在很關(guān)心的話題。

    蔡昇欽:培養(yǎng)人才在趨勢(shì)科技的做法,就是你給他舞臺(tái),然后他就是自己的編劇,他就是自己的導(dǎo)演,用這樣的方式來做,我們?cè)谂囵B(yǎng)技術(shù)高手的層面上,在公司的框架當(dāng)中,我們是把人才分成兩個(gè)方面來看,在技術(shù)這條路上走的話,首先在于留住人才,我們讓工程師知道,工程師他不是低于管理者的,也就是說在趨勢(shì),你一個(gè)經(jīng)理,他所拿到的整個(gè)薪資,不一定要大于他所管理的工程師,因?yàn)槲覀儽仨氉尮镜膱F(tuán)隊(duì)知道,你喜歡鉆研技術(shù),那是因?yàn)槟愕呐d趣所在,你喜歡管理團(tuán)隊(duì),你喜歡跟人打交道,那是你的興趣所在,從一個(gè)公司角度看,我們鼓勵(lì)人基于自己的興趣做好他的發(fā)展,所以從這樣的情況了解員工后段的需求,然后安排他去他有可能的位置,很自然而然員工就會(huì)跟公司走得很近。像我通常會(huì)跟我的團(tuán)隊(duì)的人員講,不管是資深的還是資淺的,我每年會(huì)問他們一個(gè)問題,你有沒有想過你5年后干嘛,我會(huì)記得他們2006年跟我講什么,2007年跟我講什么,2008年跟我講什么,他有沒有改變他人生的五年規(guī)劃,三年規(guī)劃,我們盡可能在公司的范疇滿足員工的需要,我想這樣子,員工就會(huì)成長(zhǎng),就會(huì)跟公司走在一起。

    主持人:人才的問題其實(shí)是現(xiàn)在大家都很關(guān)心的,我在主持這個(gè)會(huì)之前,有人特意給我發(fā)消息,建議我多問在座的CTO一些關(guān)于怎樣招募團(tuán)隊(duì),保留團(tuán)隊(duì)的問題,由于我們現(xiàn)在人才培養(yǎng)存在一些問題,導(dǎo)致我們市場(chǎng)上優(yōu)秀人才的數(shù)量有限,就帶來保留人才和爭(zhēng)奪人才之間的矛盾,我想問一下宋總,我昨天去巨人的時(shí)候,聽說你們團(tuán)隊(duì)相當(dāng)穩(wěn)定,你覺得除了巨人的收入高以外,這個(gè)當(dāng)然是很重要的因素,你還有什么訣竅嗎?

    宋仕良:應(yīng)該還是說公司重視技術(shù)人員,首先你重視人才,你應(yīng)該是要尊重人才,一個(gè)技術(shù)人員,他有他自己的想法,而且每個(gè)人的想法都是不一樣的,你要重視他的想法。   

    主持人:這種想法跟公司的目標(biāo)不一致怎么辦。

    宋仕良:目標(biāo)不一致的話,那應(yīng)該是給他做工作,就找他談心,這個(gè)肯定要統(tǒng)一目標(biāo)的,如果目標(biāo)不一致,大家肯定走不到一起來,首先你在組建這個(gè)團(tuán)隊(duì)的時(shí)候,在選人方面,應(yīng)該是物以類聚,我覺得至少應(yīng)該選大家有興趣,或者有共同拼搏方向的,或者是大家奮斗的方向是一致的,至少奮斗的目標(biāo)一致的話,才能夠很好地溝通,不會(huì)說我提出一個(gè)觀點(diǎn),另外一個(gè)人會(huì)有很大的反駁,首先你在組建團(tuán)隊(duì)的時(shí)候,每個(gè)人雖然達(dá)不到完全一致,但是大家的目標(biāo)是一致,中間團(tuán)隊(duì)在磨合的過程中,肯定會(huì)出現(xiàn)這樣那樣的問題,這些問題我想都是可以解決的,因?yàn)楣净蛘咄ㄟ^一些協(xié)調(diào),或者是互相的理解,互相的支持。

    主持人:朱總您覺得盛大在保持人員不流失方面如何。

    朱繼盛:我覺得核心的思想只有一點(diǎn),給相應(yīng)的人自己的舞臺(tái),施展他自己的東西??梢耘e一些例子,比如說我們盛大集團(tuán)的副總裁是80后的,他能作為一個(gè)上市公司的總裁。再舉一個(gè)例子,去年盛大有很優(yōu)秀的員工離職了,這個(gè)離職并沒有任何人勸他,他自己有這個(gè)意愿,要自己創(chuàng)業(yè),盛大有機(jī)制,讓他自己編一個(gè)游戲,他在盛大的周圍去工作,這樣的例子,實(shí)際上在盛大有非常多這樣的例子。

    主持人:謝謝臺(tái)上的嘉賓和底下的觀眾。

    嘉賓:謝謝大家。(付江/整理)

     

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

    posted @ 2008-09-21 01:09 小小it 閱讀(201) | 評(píng)論 (0)編輯 收藏
    一路讀樓蘭

    一路讀樓蘭

    我忽然有一種很不祥的預(yù)感,好像大難真要臨頭了似的.貌似不能一路讀樓蘭了。。

      這座樓蘭城是婁沙為他的樓蘭公主而建的.他為她開墾田地,發(fā)展養(yǎng)殖,他為她創(chuàng)辦學(xué)堂,設(shè)立祠堂,他為她維持公共次序,并逐步逐步地建起了我們這座城最初的文明.在此過程中,他收獲了全城百姓對(duì)他的敬重與愛戴,但是,他真正在意的還是他的樓蘭公主.他是絕對(duì)不會(huì)讓他的樓蘭公主離開他的地盤了!

      他的樓蘭公主當(dāng)然不是我,他的樓蘭公主是迷一樣的,沒人知道她的過去與將來.他的樓蘭公主無疑也是堅(jiān)定的,也許,見了棺材,她也不會(huì)落淚,而此刻,她正挽著她同樣身世如迷的兒子走在隊(duì)伍的最前列,放在小說一路讀(www.yiludu.cn)的首頁(yè)許久

      全都瘋了嗎!我飛奔下樓,追逐人群,我不知道我要干什么,也不知道我能干什么.

      不祥的預(yù)感應(yīng)驗(yàn)了!婁沙象個(gè)瘋子一樣沖將出來,手里握著一柄明晃晃的大刀, 朝他的樓蘭公主叫囂道:“我最后再說一遍!你今日膽敢踏出樓蘭城半步,我就砍翻這里所有的人!!!”

    posted @ 2008-09-21 00:53 小小it 閱讀(158) | 評(píng)論 (0)編輯 收藏
    主站蜘蛛池模板: 亚洲男人的天堂一区二区| 亚洲第一AV网站| 男女超爽视频免费播放| 在线视频免费国产成人| 亚洲精华国产精华精华液好用| 毛片免费观看视频| 日韩亚洲产在线观看| 毛片基地免费视频a| 亚洲中文无码mv| 色吊丝最新永久免费观看网站 | 亚洲国产成人精品无码区花野真一| 美女黄网站人色视频免费国产 | 日本免费网址大全在线观看| 亚洲国产精品成人综合久久久 | 亚洲午夜久久久久妓女影院| 中文精品人人永久免费| 精品亚洲一区二区| 未满十八18禁止免费无码网站| 久久亚洲精精品中文字幕| 亚洲高清视频免费| 亚洲午夜久久久影院| 免费一区二区三区| 久久久久亚洲AV无码永不| 久草免费在线观看视频| 亚洲日韩乱码中文字幕| 免费国内精品久久久久影院| 一级毛片在线播放免费| 亚洲AV中文无码乱人伦下载| 最近中文字幕高清免费中文字幕mv | 色偷偷亚洲女人天堂观看欧| 免费看的一级毛片| 特级毛片全部免费播放a一级| 亚洲一区二区三区在线视频| 免费成人在线视频观看| 亚洲日韩国产精品无码av| 卡1卡2卡3卡4卡5免费视频| 特级毛片免费播放| 亚洲第一精品福利| 无码中文字幕av免费放| 国产亚洲精品美女| 久久亚洲精品视频|