隨筆-124  評論-194  文章-0  trackbacks-0
           

          Dev-C++下基本數(shù)據(jù)類型學(xué)習(xí)小結(jié)

          環(huán)境: Dev-C++ 4.9.6.0 (gcc/mingw32), 使用-Wall編譯選項(xiàng)


          基本類型包括字節(jié)型(char)、整型(int)和浮點(diǎn)型(float/double)。
          定義基本類型變量時,可以使用符號屬性signed、unsigned(對于char、int),和長度屬性short、long(對

          于int、double)對變量的取值區(qū)間和精度進(jìn)行說明。

          下面列舉了Dev-C++下基本類型所占位數(shù)和取值范圍:

          符號屬性???? 長度屬性???? 基本型???? 所占位數(shù)???? 取值范圍?????? 輸入符舉例????? 輸出符舉例

          --??????????? --????????? char???????? 8???????? -2^7 ~ 2^7-1??????? %c????????? %c、%d、%u
          signed??????? --????????? char???????? 8???????? -2^7 ~ 2^7-1??????? %c????????? %c、%d、%u
          unsigned????? --????????? char???????? 8???????? 0 ~ 2^8-1?????????? %c????????? %c、%d、%u

          [signed]????? short?????? [int]??????? 16??????? -2^15 ~ 2^15-1????????????? %hd
          unsigned????? short?????? [int]??????? 16??????? 0 ~ 2^16-1???????????? %hu、%ho、%hx

          [signed]????? --?????????? int???????? 32??????? -2^31 ~ 2^31-1????????????? %d
          unsigned????? --????????? [int]??????? 32??????? 0 ~ 2^32-1????????????? %u、%o、%x

          [signed]????? long??????? [int]??????? 32??????? -2^31 ~ 2^31-1????????????? %ld
          unsigned????? long??????? [int]??????? 32??????? 0 ~ 2^32-1???????????? %lu、%lo、%lx

          [signed]????? long long?? [int]??????? 64??????? -2^63 ~ 2^63-1???????????? %I64d
          unsigned????? long long?? [int]??????? 64??????? 0 ~ 2^64-1????????? %I64u、%I64o、%I64x

          --??????????? --????????? float??????? 32?????? +/- 3.40282e+038???????? %f、%e、%g
          --??????????? --????????? double?????? 64?????? +/- 1.79769e+308? %lf、%le、%lg?? %f、%e、%g
          --??????????? long??????? double?????? 96?????? +/- 1.79769e+308??????? %Lf、%Le、%Lg

          幾點(diǎn)說明:

          1. 注意! 表中的每一行,代表一種基本類型。“[]”代表可省略。
          ?? 例如:char、signed char、unsigned char是三種互不相同的類型;
          ?? int、short、long也是三種互不相同的類型。
          ?? 可以使用C++的函數(shù)重載特性進(jìn)行驗(yàn)證,如:
          ?? void Func(char ch) {}
          ?? void Func(signed char ch) {}
          ?? void Func(unsigned char ch) {}
          ?? 是三個不同的函數(shù)。

          2. char/signed char/unsigned char型數(shù)據(jù)長度為1字節(jié);
          ?? char為有符號型,但與signed char是不同的類型。
          ?? 注意! 并不是所有編譯器都這樣處理,char型數(shù)據(jù)長度不一定為1字節(jié),char也不一定為有符號型。

          3. 將char/signed char轉(zhuǎn)換為int時,會對最高符號位1進(jìn)行擴(kuò)展,從而造成運(yùn)算問題。
          ?? 所以,如果要處理的數(shù)據(jù)中存在字節(jié)值大于127的情況,使用unsigned char較為妥當(dāng)。
          ?? 程序中若涉及位運(yùn)算,也應(yīng)該使用unsigned型變量。

          4. char/signed char/unsigned char輸出時,使用格式符%c(按字符方式);
          ?? 或使用%d、%u、%x/%X、%o,按整數(shù)方式輸出;
          ?? 輸入時,應(yīng)使用%c,若使用整數(shù)方式,Dev-C++會給出警告,不建議這樣使用。

          5. int的長度,是16位還是32位,與編譯器字長有關(guān)。
          ?? 16位編譯器(如TC使用的編譯器)下,int為16位;32位編譯器(如VC使用的編譯器cl.exe)下,int為32

          位。

          6. 整型數(shù)據(jù)可以使用%d(有符號10進(jìn)制)、%o(無符號8進(jìn)制)或%x/%X(無符號16進(jìn)制)方式輸入輸出。
          ?? 而格式符%u,表示unsigned,即無符號10進(jìn)制方式。

          7. 整型前綴h表示short,l表示long。
          ?? 輸入輸出short/unsigned short時,不建議直接使用int的格式符%d/%u等,要加前綴h。
          ?? 這個習(xí)慣性錯誤,來源于TC。TC下,int的長度和默認(rèn)符號屬性,都與short一致,
          ?? 于是就把這兩種類型當(dāng)成是相同的,都用int方式進(jìn)行輸入輸出。

          8. 關(guān)于long long類型的輸入輸出:
          ?? "%lld"和"%llu"是linux下gcc/g++用于long long int類型(64 bits)輸入輸出的格式符。
          ?? 而"%I64d"和"%I64u"則是Microsoft VC++庫里用于輸入輸出__int64類型的格式說明。
          ?? Dev-C++使用的編譯器是Mingw32,Mingw32是x86-win32 gcc子項(xiàng)目之一,編譯器核心還是linux下的gcc。
          ?? 進(jìn)行函數(shù)參數(shù)類型檢查的是在編譯階段,gcc編譯器對格式字符串進(jìn)行檢查,顯然它不認(rèn)得"%I64d",
          ?? 所以將給出警告“unknown conversion type character `I' in format”。對于"%lld"和"%llu",gcc理

          所當(dāng)然地接受了。
          ?? Mingw32在編譯期間使用gcc的規(guī)則檢查語法,在連接和運(yùn)行時使用的卻是Microsoft庫。
          ?? 這個庫里的printf和scanf函數(shù)當(dāng)然不認(rèn)識linux gcc下"%lld"和"%llu",但對"%I64d"和"%I64u",它則是

          樂意接受,并能正常工作的。

          9. 浮點(diǎn)型數(shù)據(jù)輸入時可使用%f、%e/%E或%g/%G,scanf會根據(jù)輸入數(shù)據(jù)形式,自動處理。
          ?? 輸出時可使用%f(普通方式)、%e/%E(指數(shù)方式)或%g/%G(自動選擇)。

          10. 浮點(diǎn)參數(shù)壓棧的規(guī)則:float(4 字節(jié))類型擴(kuò)展成double(8 字節(jié))入棧。
          ??? 所以在輸入時,需要區(qū)分float(%f)與double(%lf),而在輸出時,用%f即可。
          ??? printf函數(shù)將按照double型的規(guī)則對壓入堆棧的float(已擴(kuò)展成double)和double型數(shù)據(jù)進(jìn)行輸出。
          ??? 如果在輸出時指定%lf格式符,gcc/mingw32編譯器將給出一個警告。

          11. Dev-C++(gcc/mingw32)可以選擇float的長度,是否與double一致。

          12. 前綴L表示long(double)。
          ??? 雖然long double比double長4個字節(jié),但是表示的數(shù)值范圍卻是一樣的。
          ??? long double類型的長度、精度及表示范圍與所使用的編譯器、操作系統(tǒng)等有關(guān)。

          posted @ 2007-01-23 14:29 我愛佳娃 閱讀(3321) | 評論 (2)編輯 收藏
          看了幾篇中英文的AJAX庫/框架比較文章,為方便選擇使用,特歸納如下:
          首先,要在兩個類別中選擇,一個是編譯類,一個是非編譯類別。
          Echo2/GWT是將JAVA代碼編譯成JAVASCRIPT,乍看很方便,不用掌握J(rèn)S也能做出炫目界面。但這只適于不會或者不想了解JS的情況,對于還是想完全控制和定制界面的項(xiàng)目就不適合。
          另外,有一種觀點(diǎn)認(rèn)為JAVA->JS轉(zhuǎn)換是一種低級語言向高級語言轉(zhuǎn)換,本身沒有意義。有點(diǎn)像去學(xué)匯編,然后再找個工具把匯編語言代碼轉(zhuǎn)換成C代碼來用。我雖然沒完全想通這個觀點(diǎn),不過,我一直用C/C++,這幾年才逐漸發(fā)現(xiàn)JAVA確實(shí)是一種進(jìn)化。沒準(zhǔn)別人說的是對的呢?
          在Echo2和GWT中,GWT大部分工作是在客戶端,盡量少跟SERVER打交道,適合大型網(wǎng)站運(yùn)用;ECHO2信奉“用到才加載”的信條,所以會有大量向SERVER的訪問,適合企業(yè)應(yīng)用。另外,個人覺得ECHO2是個更全面的的一站式框架,界面也非常炫。但它的開發(fā)工具要收費(fèi)。
          再談非編譯類別,它們包括DOJO、PROTOTYPE、JQEURY,下面一一介紹:
          先說PROTOTYPE,它比較輕量極,能讓你的代碼更加簡化。最經(jīng)典莫過于“美圓函數(shù)”:
          document.getElementById(’elementid’) 變成$(’elementid’)
          它加強(qiáng)了JS語言的可開發(fā)性,降低了學(xué)習(xí)JS的門檻。
          DOJO最吸引人的是它的事件系統(tǒng)和豐富的可定制組件。它可以用形如下面的語句為各種HTML元素加入事件:
          dojo.event.connect(someNode, "onclick", doStuff);
          正由于DOJO提供了強(qiáng)大功能,它分成了許多包,可以分別包含使用。
          JQUERY也提供了美圓函數(shù),它的插件系統(tǒng)也提供象DOJO的組件,但它沒有PROTOTYPE那樣簡潔,也沒有DOJO這么多的組件供使用,但它兼收兩家優(yōu)點(diǎn),并且個頭不大,文檔也算完整,所以說它介乎于前述兩者之間。
          所以,如果你需要非常完整的工具組件請用DOJO,如果你想優(yōu)化你的JS代碼,提高書寫技巧請用PROTOTYPE,如果你想兩者兼顧就用JQUERY。
          posted @ 2007-01-05 17:24 我愛佳娃 閱讀(10935) | 評論 (6)編輯 收藏
          ?

          ???? 在實(shí)際網(wǎng)絡(luò)管理過程中,網(wǎng)絡(luò)管理應(yīng)具有的功能非常廣泛,包括了很多方面。在()SI網(wǎng)絡(luò)管理標(biāo)準(zhǔn)中定義了網(wǎng)絡(luò)管理的5大功能:配置管理、性能管理、故障管理、安全管理和計費(fèi)管理,這5大功能是網(wǎng)絡(luò)管理最基本的功能。事實(shí)上,網(wǎng)絡(luò)管理還應(yīng)該包括其他一些功能,比如網(wǎng)絡(luò)規(guī)劃、網(wǎng)絡(luò)操作人員的管理等。不過除了基本的網(wǎng)絡(luò)管理5。大功能,其他的網(wǎng)絡(luò)管理功能實(shí)現(xiàn)都與具體的網(wǎng)絡(luò)實(shí)際條件有關(guān),因此我們只需要關(guān)注OSI網(wǎng)絡(luò)管理標(biāo)準(zhǔn)中的5大功能,其中:

          ???? (1)配置管理:自動發(fā)現(xiàn)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),構(gòu)造和維護(hù)網(wǎng)絡(luò)系統(tǒng)的配置。監(jiān)測網(wǎng)絡(luò)被管對象的狀態(tài),完成網(wǎng)絡(luò)關(guān)鍵設(shè)備配置的語法檢查,配置自動生成和自動配置備份系統(tǒng),對于配置的一致性進(jìn)行嚴(yán)格的檢驗(yàn)。

          ????(2)故障管理;過濾、歸并網(wǎng)絡(luò)事件,有效地發(fā)現(xiàn)、定位網(wǎng)絡(luò)故障,給出排錯建議與排錯工具,形成整套的故障發(fā)現(xiàn)、告警與處理機(jī)制。

          ????(3)性能管理:采集、分析網(wǎng)絡(luò)對象的性能數(shù)據(jù),監(jiān)測網(wǎng)絡(luò)對象的性能,對網(wǎng)絡(luò)線路質(zhì)量進(jìn)行分析。同時,統(tǒng)計網(wǎng)絡(luò)運(yùn)行狀態(tài)信息,對網(wǎng)絡(luò)的使用發(fā)展作出評測、估計,為網(wǎng)絡(luò)進(jìn)一步規(guī)劃與調(diào)整提供依據(jù)。

          ????(4)安全管理:結(jié)合使用用戶認(rèn)證、訪問控制、數(shù)據(jù)傳輸、存儲的保密與完整性機(jī)制,以保障網(wǎng)絡(luò)管理系統(tǒng)本身的安全。維護(hù)系統(tǒng)日志,使系統(tǒng)的使用和網(wǎng)絡(luò)對象的修改有據(jù)可查。控制對網(wǎng)絡(luò)資源的訪問。

          ????5)計費(fèi)管理:對網(wǎng)際互聯(lián)設(shè)備按IP地址的雙向流量統(tǒng)計,產(chǎn)生多種信息統(tǒng)計報告及流量對比,并提供網(wǎng)絡(luò)計費(fèi)工具,以便用戶根據(jù)自定義的要求實(shí)施網(wǎng)絡(luò)計費(fèi)。

          ????下面我們將針對5大功能中每個部分的功能進(jìn)行具體的描述。

          1.配置管理

          ????(1)配置信息的自動獲取:在一個大型網(wǎng)絡(luò)中,需要管理的設(shè)備是比較多的,如果每個設(shè)備的配置信息都完全依靠管理人員的手工輸入,工作量是相當(dāng)大的,而且還存在出錯的可能性。對于不熟悉網(wǎng)絡(luò)結(jié)構(gòu)的人員來說,這項(xiàng)工作甚至無法完成‘因此,一個先進(jìn)的網(wǎng)絡(luò)管理系統(tǒng)應(yīng)該具有配置信息自動獲取功能。即使在管理人員不是很熟悉網(wǎng)絡(luò)結(jié)構(gòu)和配置狀況的情況下,也能通過有關(guān)的技術(shù)手段來完成對網(wǎng)絡(luò)的配置和管理。在網(wǎng)絡(luò)設(shè)備的配置信息中,根據(jù)獲取手段大致可以分為三類:一類是網(wǎng)絡(luò)管理協(xié)議標(biāo)準(zhǔn)的MIB中定義的配置信息(包括SNMP;和CMIP協(xié)議);二類是不在網(wǎng)絡(luò)管理協(xié)議標(biāo)準(zhǔn)中有定義,但是對設(shè)備運(yùn)行比較重要的配置信息;三類就是用于管理的一些輔助信息。

          ????(2)自動配置、自動備份及相關(guān)技術(shù):配置信息自動獲取功能相當(dāng)于從網(wǎng)絡(luò)設(shè)備中“讀”信息,相應(yīng)的,在網(wǎng)絡(luò)管理應(yīng)用中還有大量“寫”信息的需求。同樣根據(jù)設(shè)置手段對網(wǎng)絡(luò)配置信息進(jìn)行分類:一類是可以通過網(wǎng)絡(luò)管理協(xié)議標(biāo)準(zhǔn)中定義的方法(如SNMP中的set服務(wù))進(jìn)行設(shè)置的配置信息;二類是可以通過自動登錄到設(shè)備進(jìn)行配置的信息;三類就是需要修改的管理性配置信息。

          ???? (3)配置一致性檢查:在一個大型網(wǎng)絡(luò)中,由于網(wǎng)絡(luò)設(shè)備眾多,而且由于管理的原因,這些設(shè)備很可能不是由同一個管理人員進(jìn)行配置的。實(shí)際上‘即使是同一個管理員對設(shè)備進(jìn)行的配置,也會由于各種原因?qū)е屡渲靡恢滦詥栴}。因此,對整個網(wǎng)絡(luò)的配置情況進(jìn)行一致性檢查是必需的。在網(wǎng)絡(luò)的配置中,對網(wǎng)絡(luò)正常運(yùn)行影響最大的主要是路由器端口配置和路由信息配置,因此,要進(jìn)行、致性檢查的也主要是這兩類信息。

          ???? (4)用戶操作記錄功能:配置系統(tǒng)的安全性是整個網(wǎng)絡(luò)管理系統(tǒng)安全的核心,因此,必須對用戶進(jìn)行的每一配置操作進(jìn)行記錄。在配置管理中,需要對用戶操作進(jìn)行記錄,并保存下來。管理人員可以隨時查看特定用戶在特定時問內(nèi)進(jìn)行的特定配置操作。

          2.性能管理

          ????(1)性能監(jiān)控:由用戶定義被管對象及其屬性。被管對象類型包括線路和路由器;被管對象屬性包括流量、延遲、丟包率、CPU利用率、溫度、內(nèi)存余量。對于每個被管對象,定時采集性能數(shù)據(jù),自動生成性能報告。

          ???? (2)閾值控制:可對每一個被管對象的每一條屬性設(shè)置閾值,對于特定被管對象的特定屬性,可以針對不同的時間段和性能指標(biāo)進(jìn)行閾值設(shè)置。可通過設(shè)置閾值檢查開關(guān)控制閡值檢查和告警,提供相應(yīng)的閾值管理和溢出告警機(jī)制。

          ???? (3)性能分橋:對歷史數(shù)據(jù)進(jìn)行分析,統(tǒng)計和整理,計算性能指標(biāo),對性能狀況作出判斷,為網(wǎng)絡(luò)規(guī)劃提供參考。

          ???? (4)可視化的性能報告:對數(shù)據(jù)進(jìn)行掃描和處理,生成性能趨勢曲線,以直觀的圖形反映性能分析的結(jié)果。

          ???? (5)實(shí)時性能監(jiān)控:提供了一系列實(shí)時數(shù)據(jù)采集;分析和可視化工具,用以對流量、負(fù)載、丟包、溫度、內(nèi)存、延遲等網(wǎng)絡(luò)設(shè)備和線路的性能指標(biāo)進(jìn)行實(shí)時檢測,可任意設(shè)置數(shù)據(jù)采集間隔。

          ????(6)網(wǎng)絡(luò)對象性能查詢:可通過列表或按關(guān)鍵字檢索被管網(wǎng)絡(luò)對象及其屬性的性能記錄。

          3.故障管理

          ???? (1)故障監(jiān)測:主動探測或被動接收網(wǎng)絡(luò)上的各種事件信息,并識別出其中與網(wǎng)絡(luò)和系統(tǒng)故障相關(guān)的內(nèi)容,對其中的關(guān)鍵部分保持跟蹤,生成網(wǎng)絡(luò)故障事件記錄。

          ???? (2)故障報警:接收故障監(jiān)測模塊傳來的報警信息,根據(jù)報警策略驅(qū)動不同的報警程序,以報警窗口/振鈴(通知一線網(wǎng)絡(luò)管理人員)或電子郵件(通知決策管理人員)發(fā)出網(wǎng)絡(luò)嚴(yán)重故障警報。

          ???? (3)故障信息管理:依靠對事件記錄的分析,定義網(wǎng)絡(luò)故障并生成故障卡片,記錄排除故障的步驟和與故障相關(guān)的值班員日志,構(gòu)造排錯行動記錄,將事件-故障-日志構(gòu)成邏輯上相互關(guān)聯(lián)的整體,以反映故障產(chǎn)生、變化、消除的整個過程的各個方面。

          ???? (4)排錯支持工具:向管理人員提供一系列的實(shí)時檢測工具,對被管設(shè)備的狀況進(jìn)行測試并記錄下測試結(jié)果以供技術(shù)人員分析和排錯;根據(jù)已有的徘錯經(jīng)驗(yàn)和管理員對故障狀態(tài)的描述給出對徘錯行動的提示。

          ???? (5)檢索/分析故障信息:瀏閱并且以關(guān)鍵字檢索查詢故障管理系統(tǒng)中所有的數(shù)據(jù)庫記錄,定期收集故障記錄數(shù)據(jù),在此基礎(chǔ)上給出被管網(wǎng)絡(luò)系統(tǒng)、被管線路設(shè)備的可靠性參數(shù)。

          4.安全管理

          ???? 安全管理的功能分為兩部分,首先是網(wǎng)絡(luò)管理本身的安全,其次是被管網(wǎng)絡(luò)對象的安全。

          ????網(wǎng)絡(luò)管理過程中,存儲和傳輸?shù)墓芾砗涂刂菩畔W(wǎng)絡(luò)的運(yùn)行和管理至關(guān)重要,一旦泄密、被篡改和偽造,將給網(wǎng)絡(luò)造成災(zāi)難性的破壞。網(wǎng)絡(luò)管理本身的安全由以下機(jī)制來保證:

          ???? (1)管理員身份認(rèn)證,采用基于公開密鑰的證書認(rèn)證機(jī)制;為提高系統(tǒng)效率,對于信任域內(nèi)(如局域網(wǎng))的用戶,可以使用簡單口令認(rèn)證。

          ???? (2)管理信息存儲和傳輸?shù)募用芘c完整性,Web瀏覽器和網(wǎng)絡(luò)管理服務(wù)器之間采用安全套接字層(SSL)傳輸協(xié)議,對管理信息加密傳輸并保證其完整性;內(nèi)部存儲的機(jī)密信息,如登錄口令等,也是經(jīng)過加密的。

          ???? (3)網(wǎng)絡(luò)管理用戶分組管理與訪問控制,網(wǎng)絡(luò)管理系統(tǒng)的用戶(即管理員)按任務(wù)的不同分成若干用戶組,不同的用戶組中有不同的權(quán)限范圍,對用戶的操作由訪問控制檢查,保證用戶不能越權(quán)使用網(wǎng)絡(luò)管理系統(tǒng)。

          ???? (4)系統(tǒng)日志分析,記錄用戶所有的操作,使系統(tǒng)的操作和對網(wǎng)絡(luò)對象的修改有據(jù)可查,同時也有助于故障的跟蹤與恢復(fù)。

          ???? 網(wǎng)絡(luò)對象的安全管理有以下功能:

          ???? (1)網(wǎng)絡(luò)資源的訪問控制,通過管理路由器的訪問控制鏈表,完成防火墻的管理功能,即從網(wǎng)絡(luò)層(1P)和傳輸層(TCP)控制對網(wǎng)絡(luò)資源的訪問,保護(hù)網(wǎng)絡(luò)內(nèi)部的設(shè)備和應(yīng)用服務(wù),防止外來的攻擊。

          ???? (2)告警事件分析,接收網(wǎng)絡(luò)對象所發(fā)出的告警事件,分析員安全相關(guān)的信息(如路由器登錄信息、SNMP認(rèn)證失敗信息),實(shí)時地向管理員告警,并提供歷史安全事件的檢索與分析機(jī)制,及時地發(fā)現(xiàn)正在進(jìn)行的攻擊或可疑的攻擊跡象。

          ???? (3)主機(jī)系統(tǒng)的安全漏洞檢測,實(shí)時的監(jiān)測主機(jī)系統(tǒng)的重要服務(wù)(如WWW,DNS等)的狀態(tài),提供安全監(jiān)測工具,以搜索系統(tǒng)可能存在的安全漏洞或安全隱患,并給出彌補(bǔ)的措施。

          ???? 總之,網(wǎng)絡(luò)管理通過網(wǎng)關(guān)(即邊界路由器)控制外來用戶對網(wǎng)絡(luò)資源的訪問,以防止外來的攻擊;通過告警事件的分析處理,以發(fā)現(xiàn)正在進(jìn)行的可能的攻擊;通過安全漏洞檢擒來發(fā)現(xiàn)存在的安全隱患,以防患于未然。

          5.計費(fèi)管理

          ???? (1)計費(fèi)數(shù)據(jù)采集:計費(fèi)數(shù)據(jù)采集是整個計費(fèi)系統(tǒng)的基礎(chǔ),但計費(fèi)數(shù)據(jù)采集往往受到采集設(shè)備硬件與軟件的制約,而且也與進(jìn)行計費(fèi)的網(wǎng)絡(luò)資源有關(guān)。

          ???? (2)數(shù)據(jù)管理與數(shù)據(jù)維護(hù):計費(fèi)管理人工交互性很強(qiáng),雖然有很多數(shù)據(jù)維護(hù)系統(tǒng)自動完成,但仍然需要人為管理,包括交納費(fèi)用的輸入、聯(lián)網(wǎng)單位信息維護(hù),以及賬單樣式?jīng)Q定等。

          ???? (3)計費(fèi)政策制定;由于計費(fèi)政策經(jīng)常靈活變化,因此實(shí)現(xiàn)用戶自由制定輸入計費(fèi)政策尤其重要。這樣需要一個制定計費(fèi)政策的友好人機(jī)界面和完善的實(shí)現(xiàn)計費(fèi)政策的數(shù)據(jù)模型。

          ???? (4)政策比較與決策支持:計費(fèi)管理應(yīng)該提供多套計費(fèi)政策的數(shù)據(jù)比較,為政策制訂提供決策依據(jù)。

          ???? (5)數(shù)據(jù)分析與費(fèi)用計算:利用采集的網(wǎng)絡(luò)資源使用數(shù)據(jù),聯(lián)網(wǎng)用戶的詳細(xì)信息以及計費(fèi)政策計算網(wǎng)絡(luò)用戶資源的使用情況,并計算出應(yīng)交納的費(fèi)用。

          ???? (6)數(shù)據(jù)查詢:提供給每個網(wǎng)絡(luò)用戶關(guān)于自身使用網(wǎng)絡(luò)資源情況的詳細(xì)信息,網(wǎng)絡(luò)用戶根據(jù)這些信息可以計算、核對自己的收費(fèi)情況。

          posted @ 2006-12-25 10:41 我愛佳娃 閱讀(479) | 評論 (0)編輯 收藏
          下載
          進(jìn)入
          http://oss.oetiker.ch/rrdtool/pub/
          下載最新的RRDTool

          再進(jìn)入
          http://oss.oetiker.ch/rrdtool/pub/libs/
          下載所需要庫:
          [   ]freetype-2.1.10.tar.bz2   04-May-2006 15:18  1.0M 
          [CMP]libpng-1.2.10.tar.gz      04-May-2006 15:18  813K 
          [CMP]libart_lgpl-2.3.17.tar.gz 04-May-2006 15:18  386K 
          [CMP]zlib-1.2.3.tar.gz         18-Jul-2005 15:38  485K 


          設(shè)置目錄

          設(shè)置安裝目錄及編譯目錄:
          BUILD_DIR=/tmp/rrdbuild
          INSTALL_DIR=/usr/local/rrdtool-1.2.15
          mkdir -p $BUILD_DIR
          cd $BUILD_DIR

          把下載的所有庫放入這個目錄


          編譯Zlib

          tar  zxf zlib-1.2.3.tar.gz
          cd zlib-1.2.3
          env CFLAGS="-O3 -fPIC" ./configure --prefix=$BUILD_DIR/lb
          make
          make install


          編譯LibPng

          tar zxvf libpng-1.2.10.tar.gz
          cd libpng-1.2.10
          env CPPFLAGS="-I$BUILD_DIR/lb/include" LDFLAGS="-L$BUILD_DIR/lb/lib" CFLAGS="-O3 -fPIC" \
              ./configure --disable-shared --prefix=$BUILD_DIR/lb
          make
          make install


          編譯FreeType

          tar jxvf freetype-2.1.10.tar.bz2
          cd freetype-2.1.10
          env CPPFLAGS="-I$BUILD_DIR/lb/include" LDFLAGS="-L$BUILD_DIR/lb/lib" CFLAGS="-O3 -fPIC" \
              ./configure --disable-shared --prefix=$BUILD_DIR/lb
          make
          make install

          注意:此處解壓是帶"j"參數(shù),因?yàn)槭莃z2包;其它是帶"z"參數(shù)


          編譯libart_lgpl

          tar zxvf libart_lgpl-2.3.17.tar.gz
          cd libart_lgpl-2.3.17
          env CFLAGS="-O3 -fPIC" ./configure --disable-shared --prefix=$BUILD_DIR/lb
          make
          make install


          編譯RRDTool

          IR=-I$BUILD_DIR/lb/include
          CPPFLAGS="$IR $IR/libart-2.0 $IR/freetype2 $IR/libpng"
          LDFLAGS="-L$BUILD_DIR/lb/lib"
          CFLAGS=-O3
          export CPPFLAGS LDFLAGS CFLAGS

          ./configure --prefix=$INSTALL_DIR --disable-python --disable-tcl
          make clean
          make
          make install

          最后,可以將BIN目錄加入PATH:
          export PATH=/usr/local/rrdtool-1.2.15/bin:$PATH



          使用要點(diǎn)
          建庫
            rrdtool create test.rrd             \
                     --start 920804400          \
                     DS:speed:COUNTER:600:U:U   \
                     RRA:AVERAGE:0.5:1:24       \
                     RRA:AVERAGE:0.5:6:10

          DS是數(shù)據(jù)源,默認(rèn)是5分鐘采一次,6:10表示,每隔5分鐘采一次,共采6次計算一次平均值(即半小時),并留10次這樣的平均值(保留5小時數(shù)據(jù))

          加入數(shù)據(jù)
          rrdtool update test.rrd 920808300:12420
          即以time:value對的方式向它添加

          出圖
          rrdtool graph speed.png                                 \
                  --start 920804400 --end 920808000               \
                  DEF:myspeed=test.rrd:speed:AVERAGE              \
                  LINE2:myspeed#FF0000

          LINE2表示用2象素的線來畫,F(xiàn)F0000是紅色
          DEF是定義一個變量

          計算后出圖
          rrdtool graph speed3.png                             \
               --start 920804400 --end 920808000               \
               --vertical-label km/h                           \
               DEF:myspeed=test.rrd:speed:AVERAGE              \
               "CDEF:kmh=myspeed,3600,*"                       \
               CDEF:fast=kmh,100,GT,kmh,0,IF                   \
               CDEF:good=kmh,100,GT,0,kmh,IF                   \
               HRULE:100#0000FF:"Maximum allowed"              \
               AREA:good#00FF00:"Good speed"                   \
               AREA:fast#FF0000:"Too fast"

          CDEF是計算變量
          kmh=myspeed,3600,*表示,kmh是myspeed*3600,引號是為防止*被誤解
          kmh,100,GT,kmh,IF表示,((( kmh,100 ) GT ), 0, kmh) IF,也即判斷是kmh大于100取0值,否則取值kmh
          HRULE是畫一條警戒線

          DS種類
          COUNTER - 持續(xù)增長值,RRD會前后相減再除時間計算平均值
          GAUGE - 測量值,RRD不做處理,直接存
          DERIVE - 變化值可以為負(fù),其它與COUNTER一致
          ABSOLUTE - 也是不改變其值,直接存(與GAUGE有何區(qū)別呢?)

          最大值的WRAP
          當(dāng)?shù)竭_(dá)最大值時,COUNTER會被RESET,導(dǎo)致前后兩值相減為負(fù),這不符合COUNTER的定義,所以它會嘗試使用32位的最大值與這個負(fù)值相加來得到正常的正值,如果還是負(fù),它會嘗試用64位的最大值來使它變正。大部分情況可以處理。


          以上內(nèi)容主要參考如下網(wǎng)頁:
          http://oss.oetiker.ch/rrdtool/doc/rrdbuild.en.html
          http://oss.oetiker.ch/rrdtool/tut/rrdtutorial.en.html
          posted @ 2006-12-06 18:45 我愛佳娃 閱讀(12099) | 評論 (1)編輯 收藏
          作為作曲,那四年不敢說天天捧著《紅樓夢》讀,但它確實(shí)每時每刻都折磨著我。我想用全部的心血和努力豎一道高墻,讓后人們聽音樂時感受跨越之艱難,但我相信將來肯定有人超越我。《紅樓夢》重拍是很難的,不可擅動,不容褻瀆,要有客觀虔誠的態(tài)度,甚至要付出曹雪芹先生那樣的專注和汗水。我不會再重寫紅樓夢的歌曲了,因?yàn)樵诋?dāng)初寫時我就已經(jīng)傾盡所有,不是不想寫,是無法再寫。《紅樓夢》音樂不是我憑空想象的,而是在書中苦尋而得,在我心里,曹雪芹如果是作曲家也會這么寫。所以我不會參與新版《紅樓夢》的音樂制作。

          --《紅樓夢》作曲王立平語
          posted @ 2006-12-04 16:35 我愛佳娃 閱讀(2138) | 評論 (11)編輯 收藏
          用OpenSSL與JAVA(JSSE)通信一文中所生成的CA證書及keystore就可以在JAVA和OpenSSL之間通信了,下面以Perl代碼為例:(Perl實(shí)際使用了OpenSSL)

          下面的CLIENT端可以與前文提到的JAVA服務(wù)端通信:
          #use?strict;
          use?IO::Socket::SSL(debug4);

          my?($v_mode,?$sock,?$buf);

          if($ARGV[0]?eq?"DEBUG")?{?$IO::Socket::SSL::DEBUG?=?1;?}

          #?Check?to?make?sure?that?we?were?not?accidentally?run?in?the?wrong
          #?directory:

          unless?(-d?"certs")?{
          ????
          if?(-d?"../certs")?{
          ????
          chdir?"..";
          ????}?
          else?{
          #????die?"Please?run?this?example?from?the?IO::Socket::SSL?distribution?directory!\n";
          ????}
          }

          if(!($sock?=?IO::Socket::SSL->new(?PeerAddr?=>?'172.19.149.52',
          ???????????????????PeerPort?
          =>?'5555',
          ???????????????????Proto????
          =>?'tcp',
          ???????????????????SSL_verify_mode?
          =>?0x01,
          ???????????????????SSL_ca_file?
          =>?'mycerts/cacert.pem',
          ?????????????????)))?{
          ????
          warn?"unable?to?create?socket:?",?&IO::Socket::SSL::errstr,?"\n";
          ????
          exit(0);
          }?
          else?{
          ????
          warn?"connect?($sock).\n"?if?($IO::Socket::SSL::DEBUG);
          }

          #?check?server?cert.
          my?($subject_name,?$issuer_name,?$cipher);
          if(?ref($sock)?eq?"IO::Socket::SSL")?{
          ????
          $subject_name?=?$sock->peer_certificate("subject");
          ????
          $issuer_name?=?$sock->peer_certificate("issuer");
          ????
          $cipher?=?$sock->get_cipher();
          }
          warn?"cipher:?$cipher.\n",?"server?cert:\n",?
          ????
          "\t?'$subject_name'?\n\t?'$issuer_name'.\n\n";

          print?$sock?"Knock,?knock.\n";

          my?($buf)?=?$sock->getlines;

          $sock->close();

          print?"read:?'$buf'.\n";


          另外,也給出一個PERL的SVR端示例:
          #use?strict;
          use?IO::Socket::SSL(debug4);


          my?($sock,?$s,?$v_mode);

          if($ARGV[0]?eq?"DEBUG")?{?$IO::Socket::SSL::DEBUG?=?1;?}

          #?Check?to?make?sure?that?we?were?not?accidentally?run?in?the?wrong
          #?directory:

          unless?(-d?"certs")?{
          ????
          if?(-d?"../certs")?{
          ????
          chdir?"..";
          ????}?
          else?{
          #????die?"Please?run?this?example?from?the?IO::Socket::SSL?distribution?directory!\n";
          ????}
          }

          if(!($sock?=?IO::Socket::SSL->new(?Listen?=>?5,
          ???????????????????LocalAddr?
          =>?'10.56.28.35',
          ???????????????????LocalPort?
          =>?9000,
          ???????????????????Proto?????
          =>?'tcp',
          ???????????????????Reuse?????
          =>?1,
          ???????????????????SSL_use_cert?
          =>?1,
          ???????????????????SSL_verify_mode?
          =>?0x00,
          ???????????????????SSL_cert_file?
          =>?'mycerts/cert.pem',
          ???????????????????SSL_key_file?
          =>?'mycerts/key.pem'???????????????????
          ?????????????????))?)?{
          ????
          warn?"unable?to?create?socket:?",?&IO::Socket::SSL::errstr,?"\n";
          ????
          exit(0);
          }
          warn?"socket?created:?$sock.\n";

          while?(1)?{
          ??
          warn?"waiting?for?next?connection.\n";
          ??
          ??
          while(($s?=?$sock->accept()))?{
          ??????
          my?($peer_cert,?$subject_name,?$issuer_name,?$date,?$str);
          ??????
          ??????
          if(?!?$s?)?{
          ??????
          warn?"error:?",?$sock->errstr,?"\n";
          ??????
          next;
          ??????}
          ??????
          ??????
          warn?"connection?opened?($s).\n";
          ??????
          ??????
          if(?ref($sock)?eq?"IO::Socket::SSL")?{
          ??????
          $subject_name?=?$s->peer_certificate("subject");
          ??????
          $issuer_name?=?$s->peer_certificate("issuer");
          ??????}
          ??????
          ??????
          warn?"\t?subject:?'$subject_name'.\n";
          ??????
          warn?"\t?issuer:?'$issuer_name'.\n";
          ??
          ??????
          my?$date?=?localtime();
          ??????
          print?$s?"my?date?command?says?it's:?'$date'";
          ??????
          close($s);
          ??????
          warn?"\t?connection?closed.\n";
          ??}
          }


          $sock->close();

          warn?"loop?exited.\n";


          在PERL中寫SSL的SOCKET,要注意:
          SVR端中:
          ?????? SSL_use_cert => 1,
          ?????? SSL_verify_mode => 0x00,
          ?????? SSL_cert_file => 'mycerts/cert.pem',
          ?????? SSL_key_file => 'mycerts/key.pem'
          CLI端是:
          ?????? SSL_verify_mode => 0x01,
          ?????? SSL_ca_file => 'mycerts/cacert.pem',
          mode是0表示,不認(rèn)證對端,是1表示要認(rèn)證對方。
          posted @ 2006-12-04 15:20 我愛佳娃 閱讀(2635) | 評論 (2)編輯 收藏
               摘要: 概念 JAVA使用keystore文件來存儲所有KEY,keystore文件可以存放多個KEY,訪問它需要密碼。下面我介紹下如何將用OpenSSL做自簽名的證書一文中介紹的OpenSSL產(chǎn)生的KEY與JAVA的KEY轉(zhuǎn)換后使用,從而達(dá)到JAVA與OpenSSL通信的目的。用OpenSSL生成CA根證書,即(P1,V1)此步驟參見用OpenSSL做自簽名的證書一文在JAVA環(huán)境下生成自己的...  閱讀全文
          posted @ 2006-12-03 12:36 我愛佳娃 閱讀(11856) | 評論 (7)編輯 收藏
          這里抄錄LDAP+OpenSSL集中認(rèn)證配置一文的一部分:
          公私鑰:公鑰可以唯一解密私鑰加密過的數(shù)據(jù),反之亦然。以下用P指代公鑰,V指代私鑰。
          SSL過程:需要兩對公私鑰(P1,V1),(P2,V2),假設(shè)通信雙方是A和B,B是服務(wù)器,A要確認(rèn)和它通信的是B:
          A->B: hello
          B->A: 用V2加密過的P1(即用戶證書,A就用P2解密出P1)
          A->B: ok
          B->A: 用V1加密的一段信息
          A->B: 用P1加密一個自動生成的K(用之前的P1解密成功這段信息則認(rèn)為B是可信的了)
          B->A: 用K加密的數(shù)據(jù)(之后兩對密鑰功能結(jié)束,由K來加解密數(shù)據(jù))
          這里,P2就是第3方的CA證書,由于非對稱加密很慢,所以公私鑰只是用來保證K的傳送安全,之后通信是用K的對稱加密算法來保證。

          為什么通過以上過程A就能夠確定肯定是B,而不是某個C在假裝B了呢?因?yàn)檫@個過程中,B用V1加密過一段信息發(fā)給A,A也成功解開了。我們開頭談到公鑰(P1)只可以唯一解密私鑰(V1)加密過的信息,這樣A就可以完全相信B是擁有V1的,而V1是嚴(yán)格保密,只被服務(wù)提供公司擁有,所以保證了通信的服務(wù)方正確性。

          這里(P2,V2)就是certificate authority (CA)用來給客戶簽名用的公私鑰。
          (P1,V1)是客戶自己的公私鑰,提交給CA,CA所做的事情就是用(P2,V2)來給客戶的(P1,V1)簽名,簡單吧?
          V2是CA公司要保密的,而P2就是公用CA證書。用V2加密過(簽名過)的P1,稱為用戶證書,一般被安裝在服務(wù)器端。

          下面我們OpenSSL來做這一整件事情。

          先生成CA的公私鑰(Root Certificate )
          準(zhǔn)備工作
          mkdir CA 
          cd CA 
          mkdir newcerts private 
          echo '
          01' > serial 
          touch index.txt 

          生成配置文件。由于openssl命令行參數(shù)太多,所以就用文件來組織各種選項(xiàng)。
          其中,req_distinguished_name 節(jié)表示需要提示用戶輸入的信息。
          v3_ca是有關(guān)CA公私鑰生成的,v3_req是有關(guān)用戶證書生成的。
          ca_default是用CA公私鑰簽名的時候,用戶證書的默認(rèn)信息。

          vi ./openssl.cnf
          dir = .

          [ req ] 
          default_bits 
          = 1024 # Size of keys 
          default_keyfile 
          = key.pem # name of generated keys 
          default_md 
          = md5 # message digest algorithm 
          string_mask 
          = nombstr # permitted characters 
          distinguished_name 
          = req_distinguished_name 
          req_extensions 
          = v3_req 

          [ req_distinguished_name ] 
          # Variable name   Prompt string 
          #----------------------   ---------------------------------- 
          0.organizationName = Organization Name (company) 
          organizationalUnitName 
          = Organizational Unit Name (department, division) 
          emailAddress 
          = Email Address 
          emailAddress_max 
          = 40 
          localityName 
          = Locality Name (city, district) 
          stateOrProvinceName 
          = State or Province Name (full name) 
          countryName 
          = Country Name (2 letter code) 
          countryName_min 
          = 2 
          countryName_max 
          = 2 
          commonName 
          = Common Name (hostname, IP, or your name) 
          commonName_max 
          = 64 

          # Default values for the above
          , for consistency and less typing. 
          # Variable name   Value 
          #------------------------------   ------------------------------ 
          0.organizationName_default = EB Company 
          localityName_default 
          = Shen Zhen 
          stateOrProvinceName_default 
          = Guan Dong
          countryName_default 
          = CN

          [ v3_ca ] 
          basicConstraints 
          = CA:TRUE 
          subjectKeyIdentifier 
          = hash 
          authorityKeyIdentifier 
          = keyid:always,issuer:always 

          [ v3_req ] 
          basicConstraints 
          = CA:FALSE 
          subjectKeyIdentifier 
          = hash 


          [ ca ] 
          default_ca 
          = CA_default 

          [ CA_default ] 
          serial 
          = $dir/serial 
          database 
          = $dir/index.txt 
          new_certs_dir 
          = $dir/newcerts 
          certificate 
          = $dir/cacert.pem 
          private_key 
          = $dir/private/cakey.pem 
          default_days 
          = 365 
          default_md 
          = md5 
          preserve 
          = no 
          email_in_dn 
          = no 
          nameopt 
          = default_ca 
          certopt 
          = default_ca 
          policy 
          = policy_match 

          [ policy_match ] 
          countryName 
          = match 
          stateOrProvinceName 
          = match 
          organizationName 
          = match 
          organizationalUnitName 
          = optional 
          commonName 
          = supplied 
          emailAddress 
          = optional 


          生成CA公私鑰:
          openssl req -new -x509 -extensions v3_ca -keyout private/cakey.pem -out cacert.pem -days 3650 -config ./openssl.cnf 

          會提示輸入密碼,當(dāng)用它給用戶證書簽名時需要輸入,以避免其它人用它隨意產(chǎn)生用戶證書。
          -days表示有效期,因?yàn)樗歉C書,所以時間一定要很長,否則由它生成的用戶證書容易過期。

          這時就生成了:
          P1
          cacert.pem
          V1
          private/cakey.pem

          查看信息用:
          openssl x509 -in cacert.pem -noout -text


          生成P2,V2,即Certificate Signing Request (CSR)
          執(zhí)行:
          openssl req -new -nodes -out req.pem -config ./openssl.cnf
          這樣就生成了:
          P2
          req.pem
          V2
          key.pem

          用此命令查看:
          openssl req -in req.pem -text -verify -noout


          用CA的私鑰V1為P2簽名,即生成用戶證書
          執(zhí)行:
          openssl ca -out cert.pem -config ./openssl.cnf -infiles req.pem
          生成用戶證書:
          cert.pem
          此時,會拷貝一份到newcerts目錄下。并會更新數(shù)據(jù)庫文件:index.txt以及serail文件
          用命令查看:
          openssl x509 -in cert.pem -noout -text -purpose | more

          如果要去除可讀信息部分,執(zhí)行:
          mv cert.pem tmp.pem
          openssl x509 -in tmp.pem -out cert.pem


          安裝證書
          key.pem(V2)和cert.pem(用V1加密過的P2)安裝到服務(wù)端
          有的服務(wù)器需要把這兩個文件連為一個,可以執(zhí)行:
          cat key.pem cert.pem >key-cert.pem

          cacert.pem安裝到客戶端

          Apache的配置:
          File          Comment
          /home/httpd/html Apache DocumentRoot
          /home/httpd/ssl      SSL-related files
          /home/httpd/ssl/cert.pem Site certificate
          /home/httpd/ssl/key.pem Site private key

          Stunnel的配置
          stunnel -p /etc/ssl/certs/key-cert.pem 


          編輯于08.4.26,另有兩個例子:
          用OpenSSL與JAVA(JSSE)通信
          Perl與Java的SSL通信示例
          posted @ 2006-12-01 15:20 我愛佳娃 閱讀(15072) | 評論 (14)編輯 收藏

          基本概念
          LDAP是以樹方式組織的數(shù)據(jù)庫。每個節(jié)點(diǎn)可以有什么值是通過類來定義。
          LINUX或者其它應(yīng)用的認(rèn)證就是來BIND LDAP樹上的節(jié)點(diǎn),如果能夠BIND,就算認(rèn)證成功。
          要改變LINUX認(rèn)證方式,需要讓名字服務(wù)NSCD能夠到LDAP查找用戶,這需要nss_ldap.so。
          得到用戶后,再到LDAP去認(rèn)證,這需要pam_ldap.so實(shí)現(xiàn)。

          公私鑰:公鑰可以唯一解密私鑰加密過的數(shù)據(jù),反之亦然。
          SSL過程:需要兩對公私鑰(P1,V1),(P2,V2),假設(shè)通信雙方是A和B,B是服務(wù)器,A要確認(rèn)和它通信的是B:
          A->B: hello
          B->A: 用V2加密過的P1(即用戶證書,A就用P2解密出P1)
          A->B: ok
          B->A: 用V1加密的一段信息
          A->B: 用P1加密一個自動生成的K(用之前的P1解密成功這段信息則認(rèn)為B是可信的了)
          B->A: 用K加密的數(shù)據(jù)(之后兩對密鑰功能結(jié)束,由K來加解密數(shù)據(jù))
          這里,P2就是第3方的CA證書,由于非對稱加密很慢,所以公私鑰只是用來保證K的傳送安全,之后通信是用K的對稱加密算法來保證。


          需要安裝的組件
          Berkeley DB 4.2.52 or later - http://www.sleepycat.com/(僅服務(wù)端)
          NSS_LDAP 2.2.X or PAM_LDAP 1.6.X or later – http://www.padl.com/(僅客戶端)
          OpenSSL 0.9.7e or later – http://www.openssl.org/

          OpenLDAP 2.3.XX or later - http://www.openldap.org/(僅服務(wù)端)

          OpenSSH: http://www.openssh.org/

          #?cd?/var/tmp
          #?tar?xvf?openssh-
          3 .X.XpX.tar
          #?cd?openssh-
          3 .X.XpX
          #?./configure?--prefix
          = /usr?--with-pam?--sysconfdir = /etc/ssh?--with-ssl-dir = /usr



          需要修改的文件
          服務(wù)器端:
          /etc/openldap/slapd.conf

          include???/etc/openldap/schema/core.schema
          include???/etc/openldap/schema/cosine.schema
          include???/etc/openldap/schema/inetorgperson.schema
          include???/etc/openldap/schema/nis.schema


          loglevel?-
          1

          access?to?attrs
          = shadowLastChange , userPassword
          ??????by?self?write
          ??????by?*?auth

          access?to?*
          ??????by?*?read

          TLSCipherSuite??HIGH:MEDIUM:+SSLv2
          TLSCACertificateFile?/etc/openldap/cacert.pem
          TLSCertificateFile?/etc/openldap/slapd-cert-ldap1.pem
          TLSCertificateKeyFile?/etc/openldap/slapd-key-ldap1.pem

          TLSVerifyClient?never?

          database????bdb
          suffix????????
          " dc=example,dc=com "
          rootdn????????
          " cn=Manager,dc=example,dc=com "
          rootpw????????secret
          directory???????????????/var/lib/ldap
          index????objectClass????eq


          客戶端:
          /etc/ldap.conf

          host?ldap1.example.com
          base?dc
          = example , dc = com
          ssl?start_tls
          tls_cacertfile?/tmp/cacert.pem

          ??????/etc/pam.d/system-auth

          /etc/sysconfig/authconfig

          USEDB = no
          USEHESIOD
          = no
          USELDAP
          = yes
          USENIS
          = no
          USEKERBEROS
          = no
          USELDAPAUTH
          = yes
          USEMD5
          = yes
          USESHADOW
          = yes
          USESMBAUTH
          = no


          /etc/nsswitch.conf


          /etc/hosts

          127.0.0.1 ???????MD_Mother_HDA?localhost
          10.56.28.33 ?????ldap1.example.com

          /etc/ssh/sshd_config

          PasswordAuthentication?yes

          ChallengeResponseAuthentication?yes

          UsePAM?yes

          Subsystem???????sftp????/usr/libexec/sftp-server



          需要重啟的服務(wù)
          service nscd restart???????
          service sshd restart

          另外,這個文件是LDAP命令使用的,不是系統(tǒng)認(rèn)證所需:
          /etc/openldap/ldap.conf

          開始的時候可以不要SSL認(rèn)證,只需要注釋掉ldap.conf中start_tls一句即可。另外,SSL要求驗(yàn)證服務(wù)器,所以一定要在/etc/hosts文件里加入服務(wù)器完整名字,并與SSL證書中一致。

          posted @ 2006-11-28 15:56 我愛佳娃 閱讀(7388) | 評論 (5)編輯 收藏

          數(shù)碼相機(jī)可沖印照片尺寸對照表

          要達(dá)到滿意的數(shù)碼擴(kuò)印效果:
          照片規(guī)格(英寸)???? (厘米)?????? (像素)????? ?數(shù)碼相機(jī)類型

          ???1寸?????????? 2.5*3.5cm?????? 413*295
          ?? 身份證大頭照? 3.3*2.2???????? 390*260
          ?? 2寸?????????? 3.5*5.3cm????? ?626*413
          ?? 小2寸(護(hù)照) 4.8*3.3cm?????? 567*390
            5 寸 5x3.5??? 12.7*8.9??????? 1200x840以上? 100萬像素
            6 寸 6x4????? 15.2*10.2?????? 1440x960以上? 130萬像素
            7 寸 7x5????? 17.8*12.7?????? 1680x1200以上 200萬像素
            8 寸 8x6????? 20.3*15.2???????1920x1440以上 300萬像素
           10寸 10x8????? 25.4*20.3???????2400x1920以上 400萬像素
           12寸 12x10???? 30.5*20.3?????? 2500x2000以上 500萬像素
           15寸 15x10???? 38.1*25.4????? ?3000x2000???? 600萬像素
          另外,數(shù)碼的片子別管像素是幾百萬,只看長邊的像素數(shù),1200出5寸
          1400出6寸,1700出7寸,類推。。。

          1寸(是指英寸)=2.54cm
          我們說的x寸是指照片的長邊,如5寸就是照片長2.54x5=12.7cm
          12寸就是2.54x12=30.5cm ,
          8x12就是長邊2.54x12=30.5cm ,短邊2.54x8=20.3cm

          3R指紙,3R為89MM,5R為127MM
          通常3R指3*5 就是5寸 5R指5*7 就是7寸

          R的意思是長方型(英文是Rectangle),都以最短邊耒算.

          像135機(jī)拍的相片大都洗成3R,4R或5R以上,如果120機(jī)的6X7底洗成 3R相片,那它就沒"3寸 X 5寸"了,它按照比例出片是"3寸 x 3.5寸"了,這也算是3R相片,還有3寸一定要足夠.

          又像120哈蘇6X6底出的相片,因它的底片是正四方型,如果要出正四方的相片,如"3寸 X 3寸", "5寸 X 5寸",在這種情行我們不叫3R,而是3S或5S,S代表正四方型(英文是Square).

          數(shù)碼相機(jī)拍攝的照片一般是4:3的比例(與我們的顯示器的比例一致),而擴(kuò)印的照片的比例一般是3:2左右的(與膠卷負(fù)片的長寬比例一致),所以,講數(shù)碼相機(jī)的照片擴(kuò)印出來一般要把照片的比例剪裁成3:2左右的,這樣擴(kuò)印出來的照片才是正好充滿整張相紙。如果,您的照片不希望剪裁,或者是拍攝的內(nèi)容太滿,沒有剪裁的余地,就只好在擴(kuò)印的時候左右兩邊留一點(diǎn)白邊了。
          比如:您的照片是1600*1200的即比例是4:3的
          而6寸照片是15.2*10.2的即比例是3:2的
          如果您的照片不剪裁,4:3比例的照片放在3:2的相紙上面
          只能照片的兩邊各留一點(diǎn)白邊了,就像兩邊加了白框(上下不加)
          如果不想留白邊,可以把照片的上面或下面剪裁掉一些,
          使照片成為1600*1074的 (1600/15.2*10.2=1074),這樣就是3:2了,
          正好放滿整張6寸相紙了。

          8寸照片的規(guī)格是6*8(15.2*20.3cm)比例是4:3的,擴(kuò)印大多數(shù)數(shù)碼照片是正好不用剪裁的。


          常用照片尺寸

          照片規(guī)格(英寸) (厘米) (像素) 數(shù)碼相機(jī)類型

          1寸 2.5*3.5cm 413*295
          身份證大頭照 3.3*2.2 390*260
          2寸 3.5*5.3cm 626*413
          小2寸(護(hù)照) 4.8*3.3cm 567*390
          5 寸 5x3.5 12.7*8.9 1200x840以上 100萬像素
          6 寸 6x4 15.2*10.2 1440x960以上 130萬像素

          7 寸 7x5 17.8*12.7 1680x1200以上 200萬像素
          8 寸 8x6 20.3*15.2 1920x1440以上 300萬像素
          10寸 10x8 25.4*20.3 2400x1920以上 400萬像素
          12寸 12x10 30.5*20.3 2500x2000以上 500萬像素
          15寸 15x10 38.1*25.4 3000x2000 600萬像素

          常見證件照對應(yīng)尺寸

          1英寸25mm×35mm
          2英寸35mm×49mm
          3英寸35mm×52mm
          港澳通行證33mm×48mm
          赴美簽證50mm×50mm
          日本簽證45mm×45mm
          大二寸35mm×45mm
          護(hù)照33mm×48mm
          畢業(yè)生照33mm×48mm
          身份證22mm×32mm
          駕照21mm×26mm
          車照60mm×91mm

          名片
          橫版:90*55mm<方角> 85*54mm<圓角> 豎版:50*90mm<方角> 54*85mm<圓角> 方版:90*90mm 90*95mm

          IC卡
          85x54MM

          三折頁廣告
          標(biāo)準(zhǔn)尺寸: (A4)210mm x 285mm

          普通宣傳冊
          標(biāo)準(zhǔn)尺寸: (A4)210mm x 285mm

          文件封套
          標(biāo)準(zhǔn)尺寸:220mm x 305mm

          招貼畫
          標(biāo)準(zhǔn)尺寸:540mm x 380mm

          掛旗
          標(biāo)準(zhǔn)尺寸:8開 376mm x 265mm 4開 540mm x 380mm

          手提袋
          標(biāo)準(zhǔn)尺寸:400mm x 285mm x 80mm

          信紙 便條
          標(biāo)準(zhǔn)尺寸:185mm x 260mm 210mm x 285mm

          正度紙張:
          787×1092mm 開數(shù)(正度) 尺寸 單位(mm) 全開 781×1086 2開 530×760 3開 362×781 4開 390×543 6開 362×390 8開 271×390 16開 195×271 注:成品尺寸=紙張尺寸-修邊尺寸

          大度紙張:
          850*1168mm 開數(shù)(正度) 尺寸 單位(mm) 全開 844×1162 2開 581×844 3開 387×844 4開 422×581 6開 387×422 8開 290×422 注:成品尺寸=紙張尺寸-修邊尺寸

          常見開本尺寸
          (單位:mm) 開本尺寸:787 x 1092 對開:736 x 520 4開:520 x 368 8開:368 x 260 16開:260 x 184 32開:184 x 130 開本尺寸(大度):850 x 1168 對開:570 x 840 4開:420 x 570 8開:285 x 420 16開:210 x 285 32開:203 x 140

          有關(guān)新聞紙資料
          新聞紙尺寸有:547mm×392mm、545mm×370mm常見新聞紙又有以下幾種規(guī)格平板紙規(guī)格:787×1092毫米,850x ll68毫米, 880x l230毫米。卷筒紙規(guī)格:寬度787毫米,1092毫米, 1575毫米;長度約6000~8000米。

          CD一般設(shè)計大小
          1、內(nèi)頁:123*1262、底封:157*1243、碟面:外圈_118、內(nèi)圈_36或是25要達(dá)到滿意的數(shù)碼擴(kuò)印效果:照片規(guī)格(英寸) (厘米) (像素) 數(shù)碼相機(jī)類型1寸 2.5*3.5cm 413*295 身份證大頭照 3.3*2.2 390*2602寸 3.5*5.3cm 626*413小2寸(護(hù)照) 4.8*3.3cm 567*390 5 寸 5x3.5 12.7*8.9 1200x840以上 100萬像素6 寸 6x4 15.2*10.2 1440x960以上 130萬像素7寸 7x5 17.8*12.7 1680x1200以上 200萬像素8寸 8x6 20.3*15.2 1920x1440以上 300萬像素10寸 10x8 25.4*20.3 2400x1920以上 400萬像素12寸 12x10 30.5*20.3 2500x2000以上 500萬像素 15寸 15x10 38.1*25.4 3000x2000 600萬像素

          ?

          posted @ 2006-11-26 17:27 我愛佳娃 閱讀(2806) | 評論 (2)編輯 收藏
          僅列出標(biāo)題
          共13頁: First 上一頁 5 6 7 8 9 10 11 12 13 下一頁 
          主站蜘蛛池模板: 白河县| 萍乡市| 兖州市| 永昌县| 湘潭市| 交城县| 民县| 荥经县| 达孜县| 石台县| 灵宝市| 中卫市| 葵青区| 宁化县| 怀集县| 富顺县| 保康县| 墨江| 新和县| 格尔木市| 历史| 依兰县| 应用必备| 高雄市| 卓资县| 镇坪县| 蒙山县| 武宁县| 岗巴县| 江陵县| 左云县| 平乐县| 陵川县| 赫章县| 嘉善县| 十堰市| 宁河县| 肇源县| 武陟县| 岳池县| 扶绥县|