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

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

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

    @OverWrite BlogJava

      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      128 隨筆 :: 0 文章 :: 29 評(píng)論 :: 0 Trackbacks

    2008年6月2日 #

    httpclient已停止維護(hù),其替代產(chǎn)品為 Apache HttpComponents 。 官方聲明如下(詳細(xì)信息點(diǎn)擊這里):
    The Commons HttpClient project is now end of life, and is no longer being developed. It has been replaced by the Apache HttpComponents project in its HttpClient and HttpCore modules, which offer better performance and more flexibility.

    HttpClient 是 Apache Jakarta Common 下的子項(xiàng)目,可以用來(lái)提供高效的、最新的、功能豐富的支持 HTTP 協(xié)議的
    客戶(hù)端程工具包,并且它支持 HTTP 協(xié)議最新的版本和建議。本文首先介紹 HTTPClient,然后根據(jù)作者實(shí)際工作經(jīng)驗(yàn)給出了一些常見(jiàn)問(wèn)題的解決方法。 

    所以打算用HttpClient的朋友,可以考慮使用HttpComponents 了。
    HttpComponents 入門(mén),筆者認(rèn)為 iteye上的一篇文章寫(xiě)的不錯(cuò),大家可以參考 《HttpComponents入門(mén)解析》
    posted @ 2012-08-12 17:50 vesung 閱讀(397) | 評(píng)論 (0)編輯 收藏

    現(xiàn)在本本屏幕越來(lái)越小, 在上面運(yùn)行eclipse就會(huì)顯得字體小, 那么如何調(diào)整字體大小那?
    方法一:
        打開(kāi)菜單 window->preferences->general->appearance->colors and fonts
    打開(kāi)basec里面的text font 進(jìn)行編輯會(huì)彈出一個(gè)字體編輯的窗口, 在里面調(diào)整字體即可。

    方法二:
        因?yàn)閑clipse版本眾多,所以菜單路徑也會(huì)有所差異。 還有一種方法可以不用擔(dān)心不同版本的差異:
        開(kāi)始先打開(kāi)菜單 window->preferences   在左上角數(shù)據(jù)font 回車(chē), eclipse就會(huì)自動(dòng)搜索出可以設(shè)置字體的地方了。 接下來(lái)打開(kāi)basec里面的text font 進(jìn)行編輯會(huì)彈出一個(gè)字體編輯的窗口, 在里面調(diào)整字體即可。 


    一點(diǎn)小技巧希望對(duì)大家能有所幫助。
    posted @ 2012-07-26 14:46 vesung 閱讀(43763) | 評(píng)論 (1)編輯 收藏

    這篇文章在chinaunix上看到,寫(xiě)的很不錯(cuò)。希望能對(duì)學(xué)習(xí)linux的人有所幫助。

    隨著Linux應(yīng)用的擴(kuò)展許多朋友開(kāi)始接觸Linux,根據(jù)學(xué)習(xí)Windwos的經(jīng)驗(yàn)往往有一些茫然的感覺(jué):不知從何處開(kāi)始學(xué)起。作為一個(gè) Linux系統(tǒng)管理員,我看了許多有關(guān)Linux的文檔和書(shū)籍,并為學(xué)習(xí)Linux付出了許多艱苦的努力。當(dāng)真正獲得了一份正式的Linux系統(tǒng)管理工作 后,我更加深刻地理解了Linux的靈魂:服務(wù)與多用戶(hù)。Linux系統(tǒng)知識(shí)是非常廣博的,但是只要掌握了重點(diǎn)知識(shí),管理它并沒(méi)有想象中的那么可怕。在下 面我會(huì)將作為系統(tǒng)管理員的一些工作心得和總結(jié)出來(lái)的經(jīng)驗(yàn)系統(tǒng)地介紹給大家。

    一、 學(xué)習(xí)的目的

    通過(guò)Linux的學(xué)習(xí)掌握UNIX的目的想必不用多說(shuō)了,在這個(gè)網(wǎng)絡(luò)人才身價(jià)倍增的年代,想靠技術(shù)吃飯又不想掌握網(wǎng)絡(luò)和編程技術(shù)是不明智的。當(dāng)一人第一次 聽(tīng)說(shuō)Linux并躍躍欲試的時(shí)候,總會(huì)提出幾個(gè)?,它是什么(What)? 為什么要用它(Why)? 怎樣學(xué)習(xí)它(How)?做為開(kāi)放源碼運(yùn)動(dòng)的主要組成部分,Linux的應(yīng)用越來(lái)越廣泛,從我們平時(shí)的娛樂(lè)、學(xué)習(xí),到商業(yè)、政府辦公,再到大規(guī)模計(jì)算的應(yīng) 用。為了滿足人們的需求,各種各樣的、基于Linux的應(yīng)用軟件層出不窮。只要具備了LinuX的基本功,并具有了自學(xué)的能力之后,都可以通過(guò)長(zhǎng)期的學(xué)習(xí) 將專(zhuān)項(xiàng)內(nèi)容予以掌握。

    二、 從命令開(kāi)始從基礎(chǔ)開(kāi)始

    常常有些朋友一接觸Linux 就是希望構(gòu)架網(wǎng)站,根本沒(méi)有想到要先了解一下Linux 的基礎(chǔ)。這是相當(dāng)困難的。雖然Linux桌面應(yīng)用發(fā)展很快,但是命令在Linux中依然有很強(qiáng)的生命力。Linux是一個(gè)命令行組成的操作系統(tǒng),精髓在命 令行,無(wú)論圖形界面發(fā)展到什么水平這個(gè)原理是不會(huì)變的,Linux命令有許多強(qiáng)大的功能:從簡(jiǎn)單的磁盤(pán)操作、文件存取、到進(jìn)行復(fù)雜的多媒體圖象和流媒體文 件的制作。這里筆者把它們中比較重要的和使用頻率最多的命令,按照它們?cè)谙到y(tǒng)中的作用分成幾個(gè)部分介紹給大家,通過(guò)這些基礎(chǔ)命令的學(xué)習(xí)我們可以進(jìn)一步理解 Linux系統(tǒng):

    ●安裝和登錄命令:login、 shutdown、 halt、 reboot 、mount、umount 、chsh
    ●文件處理命令:file、 mkdir、 grep、dd、 find、 mv 、ls 、diff、 cat、 ln
    ●系統(tǒng)管理相關(guān)命令: df、 top、 free、 quota 、at、 lp、 adduser、 groupadd kill、 crontab、 tar、 unzip、 gunzip 、last
    ●網(wǎng)絡(luò)操作命令:ifconfig、 ip 、ping 、 netstat 、telnet、 ftp、 route、 rlogin rcp 、finger 、mail 、nslookup
    ●系統(tǒng)安全相關(guān)命令: passwd 、su、 umask 、chgrp、 chmod、chown、chattr、sudo、 pswho

    三、 選擇一本好的Linux書(shū)籍

    無(wú)論在論壇還是讀者反饋中,我們看到最多的問(wèn)題往往是某個(gè)新手,在安裝或使用linux的過(guò)程中遇到一個(gè)具體的問(wèn)題就開(kāi)始提問(wèn),很多都是重復(fù)性的問(wèn)題,甚 至有不少人連基本的問(wèn)題描述都不是很清楚。這說(shuō)明很多初學(xué)linux的人還沒(méi)有掌握基本功。怎樣才能快速提高掌握l(shuí)inux的基本功呢? 最有效的方法莫過(guò)于學(xué)習(xí)權(quán)威的linux工具書(shū),工具書(shū)對(duì)于學(xué)習(xí)者而言是相當(dāng)重要的。一本錯(cuò)誤觀念的工具書(shū)卻會(huì)讓新手整個(gè)誤入歧途。目前國(guó)內(nèi)關(guān)于 linux的書(shū)籍有很多不過(guò)精品的不多,筆者強(qiáng)烈建議閱讀影印本的“o'reilly原版linux圖書(shū)”,而且出版社還提供了一個(gè)非常好的路線圖


    四 、養(yǎng)成在命令行下工作

    一定要養(yǎng)成在命令行下工作的習(xí)慣,要知道X-window只是運(yùn)行在命令行模式下的一個(gè)應(yīng)用程序。在命令行下學(xué)習(xí)雖然一開(kāi)始進(jìn)度較慢,但是熟悉后,您未來(lái) 的學(xué)習(xí)之路將是以指數(shù)增加的方式增長(zhǎng)的。從網(wǎng)管員來(lái)說(shuō),命令行實(shí)際上就是規(guī)則,它總是有效的,同時(shí)也是靈活的。即使是通過(guò)一條緩慢的調(diào)制解調(diào)器線路,它也 能操縱幾千公里以外地遠(yuǎn)程系統(tǒng)。

    五、用Unix思維思考Linux

    由于Linux是參照Unix的思想來(lái)設(shè)計(jì)的,理解和掌握它就必須以Unix的思維來(lái)進(jìn)行,而不能以Windows思維。不可否認(rèn),windows 在市場(chǎng)上的成功很大一部分在于技術(shù)思想的獨(dú)到之處??墒沁@個(gè)創(chuàng)新是在面對(duì)個(gè)人用戶(hù)的前提下進(jìn)行的,而面對(duì)著企業(yè)級(jí)的服務(wù)應(yīng)用,它還是有些力不從心。多年來(lái) 在計(jì)算機(jī)操作系統(tǒng)領(lǐng)域一直是二者獨(dú)大:unix在服務(wù)器領(lǐng)域,Windows在個(gè)人用戶(hù)領(lǐng)域。由此可見(jiàn),用戶(hù)需求決定了所采用的操作系統(tǒng)。不管什么原因, 如果要學(xué)習(xí)Linux,那么首先要將思維從Windows的“這個(gè)小河” 中拖出來(lái),放入U(xiǎn)nix的海洋。

    六 、學(xué)習(xí)shell

    對(duì)于Shell(中文名稱(chēng)殼),習(xí)慣Windows的讀者肯定是非常陌生的,因?yàn)閃indows只有一個(gè)“Shell”(如果可以說(shuō)是Shell的話), 那就是Windows自己。用一句話容易理解的解釋就是,shell是用戶(hù)輸入命令與系統(tǒng)解釋命令之間的中介。最直觀的說(shuō)法,一種Shell有一套自己的 命令。舉一個(gè)容易理解的例子,Linux的標(biāo)準(zhǔn)Shel是Bash Shel;Solaris的shell是B shell;Linux的Shell是以命令行的方式表現(xiàn)出來(lái)的。讀者可能會(huì)不理解,Windows從命令行“進(jìn)化”到了圖形界面,那么Linux現(xiàn)在還 使用命令行豈不是一種倒退?

    當(dāng)初我剛剛接觸Linux時(shí)就曾有過(guò)這種想法。可是后來(lái)發(fā)現(xiàn),如果使用圖形界面,那么分配給應(yīng)用軟件的資源就少了,在價(jià)格昂貴的服務(wù)器上,能夠以較低的硬件配置實(shí)現(xiàn)同樣的功能是非常重要的。

    下面舉例說(shuō)明,一臺(tái)服務(wù)器有1GB內(nèi)存,假設(shè)其中512MB用于處理圖形界面,若要安裝一個(gè)需要784MB內(nèi)存的數(shù)據(jù)庫(kù)軟件,惟一的辦法就是擴(kuò)大內(nèi)存。但 是如果使用命令行,系統(tǒng)可能只需要64MB內(nèi)存,其它的內(nèi)存就可以供數(shù)據(jù)庫(kù)軟件使用了。使用命令行,不僅是內(nèi)存,而且CPU及硬盤(pán)等資源的占用都要節(jié)省很 多。所以,作為服務(wù)器使用命令行是優(yōu)點(diǎn)而不是缺點(diǎn)。既然Shell有這么多優(yōu)點(diǎn),就必須要學(xué)習(xí)它。
    七、勤于實(shí)踐

    要增加自己Linux 的技能,只有通過(guò)實(shí)踐來(lái)實(shí)現(xiàn)了。所以,趕快找一部計(jì)算機(jī),趕快安裝一個(gè) Linux 發(fā)行版本,然后進(jìn)入精彩的Linux世界。相信對(duì)于你自己的 Linux 能力必然大有斬獲。此外,人腦不像計(jì)算機(jī)的硬盤(pán)一樣,除非硬盤(pán)壞掉了或者是資料被你抹掉了,否則儲(chǔ)存的資料將永遠(yuǎn)而且立刻的記憶在硬盤(pán)中。在人類(lèi)記憶的曲 線中,你必須要不斷的重復(fù)練習(xí)才會(huì)將一件事情記得比較熟。

    同樣的,學(xué)習(xí) Linux 也一樣,如果你無(wú)法經(jīng)常學(xué)習(xí)的話,學(xué)了后面的,前面的忘了。你對(duì)Linux命令熟悉后你可以開(kāi)始搭建一個(gè)小的Linux網(wǎng)絡(luò),這是最好的實(shí)踐方法。 Linux是網(wǎng)絡(luò)的代名詞,Linux網(wǎng)絡(luò)服務(wù)功能非常強(qiáng)大,不論是郵件服務(wù)器、Web服務(wù)器、DNS服務(wù)器等都非常完善。當(dāng)然你不需搭建所有服務(wù),可以 慢慢來(lái)。需要說(shuō)明的是這個(gè)Linux網(wǎng)絡(luò)對(duì)于初學(xué)者有兩三臺(tái)計(jì)算機(jī)即可。自己多動(dòng)手,不要非要等著別人幫你解決問(wèn)題。

    八、學(xué)會(huì)使用文檔

    和私有操作系統(tǒng)不同,各個(gè)Linux的發(fā)行版本的技術(shù)支持時(shí)間都較短,這對(duì)于Linux初學(xué)者是往往不夠的。其實(shí)當(dāng)你安裝了一個(gè)完整的Linux系統(tǒng)后其 中已經(jīng)包含了一個(gè)強(qiáng)大的幫助,只是可能你還沒(méi)有發(fā)現(xiàn)和使用它們的技巧。主流Linux發(fā)行版都自帶非常詳細(xì)的文檔(包括手冊(cè)頁(yè)和FAQ),從系統(tǒng)安裝到系 統(tǒng)安全,針對(duì)不同層次的人的詳盡文檔,仔細(xì)閱讀文檔后40%問(wèn)題都可在此解決。查閱經(jīng)典工具書(shū)和Howto,特別是Howto是全球數(shù)以萬(wàn)計(jì)的 Linux、Unix的經(jīng)驗(yàn)總結(jié)非常有參考價(jià)值通常40%的問(wèn)題同樣可以解決。安裝一個(gè)新的軟件時(shí)先看README,再看INSTALL然后看FAQ,最 后才動(dòng)手安裝,這樣遇到問(wèn)題就知道為什么。如果說(shuō)明文檔不看,結(jié)果出了問(wèn)題再去論壇來(lái)找答案反而浪費(fèi)時(shí)間。

    當(dāng)查找文檔時(shí), 一定要看文檔是在何種版本、何種環(huán)境及何種狀態(tài)下出現(xiàn)的何種結(jié)果。對(duì)于文檔的有效性, 一時(shí)還無(wú)法在操作前就知道結(jié)論如何,那么對(duì)某個(gè)專(zhuān)題或問(wèn)題,閱讀相關(guān)的多篇文章將會(huì)節(jié)省大量的時(shí)間,還可以保證盡量“干凈”的環(huán)境,有效避免因?yàn)椴煌僮? 所造成的更多問(wèn)題。操作時(shí)要仔細(xì)核對(duì)各個(gè)步驟及輸出的結(jié)果,盡量保持與文檔一致。

    九、在Linux論壇獲取幫助

    如果上面的措施沒(méi)有解決問(wèn)題,此時(shí)你就需要Linux社區(qū)的幫助了。需要說(shuō)明的是你要有周全的思考,準(zhǔn)備好你的問(wèn)題,不要草率的發(fā)問(wèn),否則只會(huì)得到到草率 的回答或者根本得不到任何答案。越表現(xiàn)出在尋求幫助前為解決問(wèn)題付出的努力,你越能得到實(shí)質(zhì)性的幫助。最好先搜尋一下論壇是否有您需要的文章。這樣可以獲 得事半功倍的效果。

    你需要提供精確有效的信息。這并不是要求你簡(jiǎn)單的把成噸的出錯(cuò)代碼或者數(shù)據(jù)完全轉(zhuǎn)儲(chǔ)摘錄到你的提問(wèn)中。如果你有龐大而復(fù)雜的測(cè)試條件,盡量把它剪裁得越小 越好??赡苣銜?huì)遇到這種情況,對(duì)于一個(gè)問(wèn)題會(huì)出現(xiàn)不同內(nèi)容回答,這時(shí)你需要通過(guò)實(shí)踐來(lái)驗(yàn)證。另外把這個(gè)問(wèn)題放在其他Linux社區(qū)請(qǐng)求幫助也是一種選擇。 如果得不到答案,請(qǐng)不要以為我們覺(jué)得無(wú)法幫助你。有時(shí)只是看到你問(wèn)題的人不知道答案罷了。這時(shí)換一個(gè)社區(qū)是不錯(cuò)的選擇。

    十、學(xué)習(xí)專(zhuān)業(yè)英文

    如果你想深入學(xué)習(xí)Linux,看不懂因?yàn)槲臋n實(shí)在是太難了。寫(xiě)的最好的,最全面的文檔都是英語(yǔ)寫(xiě)的,最先發(fā)布的技術(shù)信息也都是用英語(yǔ)寫(xiě)的。即便是非英語(yǔ)國(guó)家的人發(fā)布技術(shù)文檔,也都首先翻譯成英語(yǔ)在國(guó)際學(xué)術(shù)雜志和網(wǎng)絡(luò)上發(fā)表。

    通過(guò)man、info等命令,可以從在線幫助中快速地獲得所需要的命令和操作方法。不要害怕海量的系統(tǒng)幫助,仔細(xì)閱讀幾個(gè)man或info文檔就會(huì)發(fā)現(xiàn), 這些幫助幾乎都按照固定格式寫(xiě)成一命令名稱(chēng)、參數(shù)、參數(shù)說(shuō)明、使用例子、參考等。當(dāng)英語(yǔ)成為一種習(xí)慣,就會(huì)自覺(jué)地查找或訂閱互聯(lián)網(wǎng)上感興趣的英文材料。這 樣,在不知不覺(jué)中就已經(jīng)和世界同步。

    十一、在社區(qū)共享你的經(jīng)驗(yàn)

    隨著Linux應(yīng)用的擴(kuò)展,出現(xiàn)了不少Linux社區(qū)。其中有一些非常優(yōu)秀的社區(qū):水木清華、其中有一些非常優(yōu)秀的社區(qū):www.linuxforum.net(國(guó)內(nèi)最高水平GNU站點(diǎn))、http://www.chinaunix.net/ (中國(guó)最大的Unix技術(shù)社區(qū)),隨著知識(shí)的不斷積累,就可以把自己動(dòng)手解決一些前人沒(méi)有遇到的問(wèn)題寫(xiě)出文檔在網(wǎng)絡(luò)上共享給其他讀者。這個(gè)時(shí)候,也就成為 了一名“高手”。Linux的使用者一般都是專(zhuān)業(yè)人士,他們有著很好的電腦背景且愿意協(xié)助他人,Linux高手更具有鼓勵(lì)新手的文化精神。

    最后是一個(gè)筆者的Linux學(xué)習(xí)的路線圖(roadmap):

    ●了解Linux 的基礎(chǔ)知識(shí),這些包含了用戶(hù)管理、群組的概念、權(quán)限的觀念等;
    ●掌握至少50個(gè)以上的常用命令;
    ●掌握.tgz、.rpm等軟件包的常用安裝方法
    ●學(xué)習(xí)添加外設(shè),安裝設(shè)備驅(qū)動(dòng)程序(比如網(wǎng)卡)
    ●熟悉Linux文件系統(tǒng) 和目錄結(jié)構(gòu)。
    ●掌握vi,gcc,gdb等常用編輯器,編譯器,調(diào)試器 。
    ●理解shell別名、管道、I/O重定向、輸入和輸出以及shell腳本編程。
    ●網(wǎng)絡(luò)的基礎(chǔ)包括: 掌握路由概念、OSI七層網(wǎng)絡(luò)模型、TCP/IP模型及相關(guān)服務(wù)對(duì)應(yīng)的層次對(duì)于Linux學(xué)習(xí)非常重要的。然后學(xué)習(xí)Linux環(huán)境下的組網(wǎng)。
    posted @ 2008-07-31 17:49 vesung 閱讀(393) | 評(píng)論 (0)編輯 收藏

    國(guó)外開(kāi)發(fā)者博客中有一篇有趣的文章,將程序員按水平像軟件版本號(hào)那樣劃分為不同的版本。相對(duì)于在招聘時(shí)分為初級(jí),中級(jí),高級(jí)程序員,直接表明需要某種語(yǔ)言N版本的程序員或許更方便直接。根據(jù)作者的觀點(diǎn),可將WEB開(kāi)發(fā)者大致分為以下幾個(gè)版本:

    Alpha:閱讀過(guò)一些專(zhuān)業(yè)書(shū)籍,大多數(shù)能用Dreamweaver或者FrontPage幫朋友制作一些Web頁(yè)面。但在他們熟練掌握HTML代碼以前,你大概不會(huì)雇傭他們成為職業(yè)的WEB制作人員。

    Beta:已經(jīng)比較擅長(zhǎng)整合站點(diǎn)頁(yè)面了,在HTML技巧方面也有一定造詣,但還是用Tables來(lái)制作頁(yè)面,不了解CSS,在面對(duì)動(dòng)態(tài)頁(yè)面或數(shù)據(jù)庫(kù)連接時(shí)還是底氣不足。

    Pre Version 1 (0.1):比Beta版的開(kāi)發(fā)者水平要高。熟悉HTML,開(kāi)始了解CSS是如何運(yùn)作的,懂一點(diǎn)JavaScript,但還是基于業(yè)余水準(zhǔn),逐步開(kāi)始關(guān)心動(dòng)態(tài)站點(diǎn)搭建和數(shù)據(jù)庫(kù)連接的知識(shí)。這個(gè)版本的WEB開(kāi)發(fā)人員還遠(yuǎn)不能成為雇主眼中的香餑餑。

    1.0: 能夠基本把控整個(gè)站點(diǎn)開(kāi)發(fā),針對(duì)每個(gè)問(wèn)題盡可能的找到最直接的解決辦法。但對(duì)可測(cè)性,可擴(kuò)展性以及在不同(層)框架下如何選擇最合適的WEB設(shè)計(jì)工具尚無(wú)概念。這個(gè)版本的WEB開(kāi)發(fā)者有良好的技術(shù)基礎(chǔ),需要有進(jìn)一步的幫助和指導(dǎo)。

     

    2.0:懂面向?qū)ο蟮木幊陶Z(yǔ)言,理解分層開(kāi)發(fā)的必要性,關(guān)注代碼分離,對(duì)問(wèn)題尋找更完美的解決方法,偶然也會(huì)考慮設(shè)計(jì)模式的問(wèn)題,但對(duì)此仍然概念不清。屬于優(yōu)秀的初級(jí)開(kāi)發(fā)者,能完成較松散的代碼開(kāi)發(fā)(相對(duì)大型嚴(yán)謹(jǐn)?shù)恼军c(diǎn)開(kāi)發(fā)而言),在面對(duì)較復(fù)雜問(wèn)題尋找解決辦法時(shí)需要周邊人的幫助。

    3.0:開(kāi)始較為深入的理解面向?qū)ο缶幊毯驮O(shè)計(jì)模式,了解他們的用途,當(dāng)看到好的設(shè)計(jì)模式時(shí)能看透其本質(zhì),逐步關(guān)注分層的架構(gòu)解決辦法和可測(cè)試性。理解不同的開(kāi)發(fā)語(yǔ)言并能說(shuō)出他們的異同(例如各自的優(yōu)勢(shì))。屬于優(yōu)秀的中級(jí)別開(kāi)發(fā)者,雇主也確信他們最終能找到問(wèn)題的解決辦法,這個(gè)版本的人可以給1.0和2.0的開(kāi)發(fā)者以指導(dǎo)。但他們對(duì)架構(gòu)的理解仍然不夠清晰,值得一提的是,只要給予一些指導(dǎo),他們能很快理解并熟記做出的決定,以及選定方案的優(yōu)勢(shì)所在。

    4.0:理解模式,重視用戶(hù)的反饋。著手研究方法論,架構(gòu)設(shè)計(jì)和軟件開(kāi)發(fā)的最佳入口。頭腦中已經(jīng)形成了超越開(kāi)發(fā)語(yǔ)言,技術(shù)架構(gòu)的整體方案,可根據(jù)需求解構(gòu)程序。能從理論的角度,不同模式如何融合成最佳形態(tài),將多種X-驅(qū)動(dòng)的模式應(yīng)用到不同的方案中。是精通多語(yǔ)言的高手,理解不同系統(tǒng)和方法論的細(xì)微差別,屬于高級(jí)程序員。這個(gè)級(jí)別的人能夠輕易的輔導(dǎo)2.0和3.0的程序員,將他們推向更高的級(jí)別。

    5.0:從系統(tǒng)的角度考慮問(wèn)題。對(duì)各種系統(tǒng)結(jié)構(gòu)有深入研究,能對(duì)整個(gè)代碼架構(gòu)中的問(wèn)題進(jìn)行改進(jìn)。在團(tuán)隊(duì)粘合性以及代碼安全性方面有杰出貢獻(xiàn)。對(duì)1.0到4.0版本的開(kāi)發(fā)人員出現(xiàn)的問(wèn)題能及時(shí)察覺(jué),讓整個(gè)團(tuán)隊(duì)保持積極性且保持興奮的狀態(tài)創(chuàng)建軟件解決辦法。舉例來(lái)說(shuō),他們總是對(duì)新的技術(shù)和信息保持饑渴狀態(tài),試圖用最簡(jiǎn)便的方案解決開(kāi)發(fā)任務(wù)。在整個(gè)IT團(tuán)隊(duì)中獲得信任,屬于高級(jí)程序員和架構(gòu)師。

    那么,您屬于哪個(gè)版本的程序員呢?

    posted @ 2008-06-29 23:28 vesung 閱讀(625) | 評(píng)論 (1)編輯 收藏

    中國(guó)互聯(lián)網(wǎng)審查制度的不透明一直為人所詬病?,F(xiàn)在還不清楚56.com是因?yàn)槭裁撮_(kāi)罪了監(jiān)管機(jī)構(gòu),也不知道該網(wǎng)站會(huì)關(guān)閉多久。這些疑問(wèn)也表明籠罩整個(gè)中國(guó)互聯(lián)網(wǎng)視頻領(lǐng)域的風(fēng)險(xiǎn),即使是那些有明智投資方支持的大型互聯(lián)網(wǎng)公司也面臨著同樣的問(wèn)題。該網(wǎng)站至少募集了3,000萬(wàn)美元資金,投資方中包括風(fēng)險(xiǎn)投資巨頭Sequoia Capita和華特•迪斯尼(Walt Disney Co.)旗下的Steamboat Ventures。

    網(wǎng)絡(luò)視頻主管部門(mén)之一的中國(guó)國(guó)家廣電總局(SARFT)沒(méi)有回復(fù)記者就56.com問(wèn)題的采訪申請(qǐng)。該網(wǎng)站首席財(cái)務(wù)長(zhǎng)張福興(Jay Chang)拒絕發(fā)表評(píng)論,其投資方的人士也拒絕置評(píng)。

    看來(lái)清理行動(dòng)開(kāi)始下狠手了。
    posted @ 2008-06-23 08:54 vesung 閱讀(352) | 評(píng)論 (0)編輯 收藏

    不說(shuō)廢話了,直接看代碼:
    頁(yè)面:
    <html>
    <head>
    <script type='text/javascript' src='jquery.js'></script>
    <script type='text/javascript'>
    //js代碼1
    <script>

    <body>
    <table>
     
    <tr>
      
    <td>級(jí)聯(lián)菜單</td>
      
    <td>
        
    <select name='city' class='amenu'>
         
    <option value=''>-市局全部-</option>
         
    <option value='1'>a市</option>
         
    <option value='2'>b市</option>
         
    <option value='3'>c市</option>
        
    </select>
      
    </td>
      
    <td>
        
    <select name='country' class='amenu'>
         
    <option value=''>-縣局全部-</option>
         
    <option value='1'>test</option>
        
    </select>
      
    </td>
      
    <td>
        
    <select name='taxOffice' class='amenu'>
         
    <option value=''>-所全部-</option>
         
    <option value='1'>test</option>    
        
    </select>
      
    </td>
      
    <td>
        
    <select name='taxOffical' class='amenu'>
         
    <option value=''>-職員全部-</option>
         
    <option value='1'>test</option>    
        
    </select>
      
    </td>
     
    </tr>
    </table>
    </body>

    對(duì)應(yīng)的js代碼:
    js代碼1:
    //本菜單是4級(jí)級(jí)聯(lián)菜單,采用jquery框架來(lái)實(shí)現(xiàn)
    $(document).ready(function(){
     
    //為所有class為amenu的元素綁定onchange事件
     $('.amenu').change(function(){
      
    //記錄本級(jí)菜單標(biāo)志
      var orgLevel = this.name;
      
    //下級(jí)菜單
      var nextMenu = $(this).parents().next().children[0];
      
    //ajax動(dòng)作提交的對(duì)象(后臺(tái)采用java程序)
      var postUrl = 'pubOrgAjax.do';

      
    //如果本菜單是最后一級(jí)菜單的話則不做任何動(dòng)作
      if(orgLevel=='taxOffical') return true;
      
    //本級(jí)菜單選擇為全部選項(xiàng),則下級(jí)菜單也置為全部
      if(this.value == ''){
       
    var firstOption = nextMenu.option[0];
       nextMenu.length
    =0;
       nextMenu.options.add(firstOption);
       
    return true;
      }


      
    //ajax動(dòng)作
      $.post(postUrl,{orgFlag:orgLevel,orgCode:this.value},function(xml){
        
    var dicts = $('dict',xml);
        
    if(dicts.length<1){alert('返回?cái)?shù)據(jù)錯(cuò)誤,請(qǐng)重新登陸');return false;}
        
    //清空nextMenu
        if(nextMenu.options[0].value == ''){
          
    var firstOption = nextMenu.options[0].text;
          nextMenu.length 
    = 0;
          nextMenu.options.add(
    new Option(firstOption,''));
        }
    else{
          nextMenu.length 
    = 0;
        }

        
    //為清空后的nextMenu填充新值
        for(var i=0;i<dicts.length;i++){
          
    var newOption = new Option($('name',dicts[i]).text(),$('code',dicts[i]).text());
          nextMenu.options.add(newOption);
        }

        
      }
    );
      
     }
    );
    }
    );

    后臺(tái)返回的數(shù)據(jù)格式:
    <?xml version="1.0" cencodeing="gbk"?>
    <ajax-response>
    <response>
     
    <dict>
        
    <code>1</code>
        
    <name>市局1</name>
     
    </dict>
     
    <dict>
     
     
    </dict>

     
    </response>
    </ajax-respnse>

    posted @ 2008-06-12 09:44 vesung 閱讀(9840) | 評(píng)論 (5)編輯 收藏

    Yahoo本周發(fā)表研發(fā)一年的Yahoo!BrowserPlus預(yù)覽版,這是一個(gè)用來(lái)延伸網(wǎng)絡(luò)應(yīng)用的平臺(tái),開(kāi)發(fā)人員可透過(guò)該平臺(tái)結(jié)合桌面程序,而用戶(hù)只要透過(guò)瀏覽器就能執(zhí)行利用該平臺(tái)開(kāi)發(fā)的網(wǎng)絡(luò)應(yīng)用。

    現(xiàn)階段BrowserPlus平臺(tái)所提供的功能包括自桌面拖曳、客戶(hù)端的圖像處理,以及桌面通知工具等。Yahoo指出,BrowserPlus的最大特色就是可以直接新增或更新服務(wù)而不用重新啟動(dòng)瀏覽器,甚至不需重新下載網(wǎng)頁(yè),對(duì)使用者而言,這代表在執(zhí)行這些新應(yīng)用時(shí)不用進(jìn)行安裝或受到其他干擾;開(kāi)發(fā)人員則能透過(guò)單一的功能呼叫檢視或啟動(dòng)新服務(wù)。

    Yahoo展示了基于BrowserPlus所設(shè)計(jì)的應(yīng)用范例,其中一個(gè)為照片上傳工具Photo Uploader,該工具參考了Flickr Uploader桌面應(yīng)用程序的功能,用戶(hù)可以透過(guò)瀏覽器,從桌面上拖曳照片,并進(jìn)行諸如旋轉(zhuǎn)、改變大小以及特效等簡(jiǎn)單的編輯功能。

    BrowserPlus屬于近來(lái)風(fēng)行的豐富網(wǎng)絡(luò)應(yīng)用程序(RIA)平臺(tái),Yahoo利用該平臺(tái)替開(kāi)發(fā)人員處理了復(fù)雜的軟件發(fā)表及更新功能,讓開(kāi)發(fā)人員及使用者皆能從中受益。

    Yahoo目前僅允許Yahoo及其合作伙伴使用BrowserPlus,預(yù)計(jì)在公開(kāi)版本發(fā)表后才會(huì)供其他開(kāi)發(fā)人員使用?,F(xiàn)階段BrowserPlus支持Windows XP及Mac OS X等操作系統(tǒng),以及IE、Firefox及Safari等瀏覽器,未來(lái)將支持更多的平臺(tái)。

    Yahoo指出,Yahoo致力于開(kāi)發(fā)開(kāi)放的平臺(tái),其中一項(xiàng)重點(diǎn)是提供開(kāi)發(fā)人員用來(lái)開(kāi)發(fā)內(nèi)容的客戶(hù)端工具,Yahoo先前已釋出Yahoo用戶(hù)接口鏈接庫(kù)(Yahoo!User Interface Library,YUI)開(kāi)放源碼計(jì)劃,BrowserPlus則是提供以瀏覽器為基礎(chǔ)的網(wǎng)站開(kāi)發(fā)解決方案,該平臺(tái)之后也將朝開(kāi)放的目標(biāo)前進(jìn)。

    豐富網(wǎng)絡(luò)應(yīng)用程序平臺(tái)成為各大業(yè)者爭(zhēng)相競(jìng)逐的領(lǐng)域,市場(chǎng)上類(lèi)似的平臺(tái)還包括微軟發(fā)表的Silverlight、Adobe的AIR,以及Mozilla基金會(huì)所開(kāi)發(fā)的Prism等

    posted @ 2008-06-05 08:50 vesung 閱讀(423) | 評(píng)論 (0)編輯 收藏

    (轉(zhuǎn)載)
    2007年6月項(xiàng)目準(zhǔn)備開(kāi)始了,剛來(lái)到一個(gè)新的項(xiàng)目組,什么都是新的,除了我自己。

    需要一個(gè)新的框架來(lái)開(kāi)發(fā)項(xiàng)目,香港的同事決定使用Dojo,DWR, 我開(kāi)始學(xué)習(xí)使用dojo,時(shí)間很短,但是我還是基本上熟悉了dojo的基本控件和架構(gòu)。在此基礎(chǔ)上搭建起了項(xiàng)目的基本框架。這是一個(gè)單頁(yè)面,基于ajax和dojo widget的系統(tǒng),一切都那么的新奇,又充滿挑戰(zhàn),但是既然dojo有這么多后臺(tái),又有香港同事的推薦,我顯得自信滿滿。

    框架搭建的同事,也開(kāi)始后了緊鑼密鼓的招兵買(mǎi)馬,一起都像是從零開(kāi)始。陸陸續(xù)續(xù),招了5個(gè)程序員和一個(gè)測(cè)試員。開(kāi)始了整個(gè)項(xiàng)目的快速開(kāi)發(fā),由于需求由香港負(fù)責(zé),而且需求做的比較細(xì)致,基本上問(wèn)題很少。Dojo 卻是麻煩不斷。

    首先的一個(gè)壞消息是當(dāng)我們做完了幾乎全部300個(gè)頁(yè)面的時(shí)候,dojo宣布0.43不在得到支持,取而代之是完全不同的dojo0.9。 而且dojo0.9 還不是穩(wěn)定的版本,問(wèn)題多多,讓我們騎虎難下,最后還是決定按兵不動(dòng)。 隨之而來(lái),是dojo1.0,dojo1.1 的陸續(xù)發(fā)布,但是一直都無(wú)法讓我看到希望的曙光。 與之相對(duì)的是ext在國(guó)內(nèi)的廣泛使用和熱烈追捧。

    Dojo 的控件有很多奇怪的地方,日期選擇控件的行為非常怪異,與國(guó)內(nèi)的使用習(xí)慣很不相同。而且樣式極其丑陋,當(dāng)字體放大縮小的時(shí)候更是丑陋。顯示的格式和保存的格式需要分別指定。我們修改了大量的代碼。

    dojo 的下拉框也被用戶(hù)投訴,過(guò)濾之后一定要再選擇一次或者按回車(chē)才能選定結(jié)果,前臺(tái)值和后臺(tái)值分開(kāi)操作也帶來(lái)很多不變。

    dojo 的驗(yàn)證文本框顏色現(xiàn)實(shí)有bug,我們不得不修改代碼

    dojo的對(duì)話框也有問(wèn)題,對(duì)話框中無(wú)法在彈出對(duì)話框。對(duì)話框的操作和控制很不靈活。

    js代碼不利于管理,容易發(fā)生命名沖突。

     

    致命的問(wèn)題發(fā)生在項(xiàng)目的后期,在客戶(hù)的系統(tǒng)進(jìn)行測(cè)試時(shí)發(fā)現(xiàn)。dojo的性能非常差,在賽揚(yáng)2G的電腦上,一個(gè)頁(yè)面顯示的時(shí)間竟然需要17秒。簡(jiǎn)直就是噩夢(mèng)。

    另外使用dojo的對(duì)話框時(shí)出現(xiàn)cpu占用100%而且一直不回落下來(lái)。

    頁(yè)面載入完成的時(shí)候,它有將整個(gè)頁(yè)面重新刷新一次,又需要花費(fèi)額外的5到8s時(shí)間,不僅花費(fèi)更多的時(shí)間,而且嚴(yán)重影響客戶(hù)體驗(yàn)。

     

    還有開(kāi)發(fā)過(guò)程中碰到的無(wú)數(shù)問(wèn)題,雖然一個(gè)一個(gè)被解決,但是無(wú)疑是一次一次痛苦的煎熬。

     

    最后,在性能面前,我被dojo徹底打敗,如此的速度是任何客戶(hù)都無(wú)法忍受的,客戶(hù)不可能為了這個(gè)系統(tǒng)全部升級(jí)電腦cpu。而且還有很多未知的問(wèn)題可能還沒(méi)有被發(fā)覺(jué),不如內(nèi)存泄露,可能導(dǎo)致資源耗盡,內(nèi)存耗盡。cpu 的占用可能在使用時(shí)間長(zhǎng)了之后越來(lái)越高,等等,這些都是我擔(dān)心的問(wèn)題。

     

    使用Ajax或者說(shuō)Rich client,一定要謹(jǐn)慎啊。使用新的技術(shù)和框架,一定要謹(jǐn)慎,這是我的教訓(xùn),希望給同行們一個(gè)參考。

    posted @ 2008-06-04 11:32 vesung 閱讀(2099) | 評(píng)論 (2)編輯 收藏

    看兩段代碼:
    import java.util.ArrayList;   
    import java.util.List;   
      
    public class TailRecursionTest {   
        
    public static void main(String[] args) {   
            TailRecursionTest t 
    = new TailRecursionTest();   
            
    for (int i = 0; i < 10000; i++)   
                t.a(
    0);   
        }
       
      
        
    public void a(int j) {   
            j
    ++;   
            List list 
    = new ArrayList<Integer>(100000);   
            
    // 對(duì)list進(jìn)行處理   
        }
       
    }

    沒(méi)啥特殊的,僅僅是為了測(cè)試,我們將a方法調(diào)用10000次,a方法創(chuàng)建一個(gè)有100000個(gè)元素的list的局部變量。
    第二個(gè)程序:
    import java.util.ArrayList;   
    import java.util.List;   
      
    public class TailRecursionTest2 {   
        
    public static void main(String[] args) {   
            TailRecursionTest2 t 
    = new TailRecursionTest2();   
            t.a(
    0);   
        }
       
      
        
    public void a(int j) {   
            System.out.println(j);   
            j
    ++;   
            
    if (j == 10000)   
                
    return;   
            List list 
    = new ArrayList<Integer>(100000);   
            
    // 對(duì)list進(jìn)行處理   
            a(j);   
        }
       
    }
      

    也沒(méi)啥特殊的,就是將循環(huán)換成了遞歸,a方法做的事情沒(méi)變。兩個(gè)都跑一下,程序1順利結(jié)束,程序2出問(wèn)題了,啥問(wèn)題?如下:
    161  
    162  
    163  
    164  
    165  
    Exception in thread 
    "main" java.lang.OutOfMemoryError: Java heap space   
        at java.util.ArrayList.
    <init>(Unknown Source)   
        at TailRecursionTest2.a(TailRecursionTest2.java:
    17)   
        at TailRecursionTest2.a(TailRecursionTest2.java:
    20)   
        at TailRecursionTest2.a(TailRecursionTest2.java:
    20)   
        at TailRecursionTest2.a(TailRecursionTest2.java:
    20)   
        at TailRecursionTest2.a(TailRecursionTest2.java:
    20

    我倒,才運(yùn)行166次了,heap就滿了。問(wèn)題在哪呢?oh,yep,你肯定想到了,是不是重復(fù)創(chuàng)建list這個(gè)大集合引起的呢?它不是局部變量嗎?怎么也會(huì)溢出?是的,list是局部變量,在a的方法棧里引用著,指向heap上的大對(duì)象,更關(guān)鍵的問(wèn)題在于,java是沒(méi)有尾遞歸優(yōu)化的,遞歸方法是不會(huì)使用同一個(gè)棧幀,每一次遞歸調(diào)用,都將壓入新的棧幀,并且這個(gè)棧幀上又new了一個(gè)list變量,引用著heap上新的一個(gè)大集合。隨著棧深度的增加, jvm里維持著一條長(zhǎng)長(zhǎng)的方法調(diào)用軌跡以便你能回來(lái),在方法沒(méi)有返回之前,這些list變量一直被各自的棧幀引用著,不能被GC,你說(shuō),能不OOM嗎?

        也許,你想到了個(gè)補(bǔ)救方法來(lái)挽救程序2,就是每次在處理完list后,我把它設(shè)置為null,不讓棧幀繼續(xù)引用著它,咱編寫(xiě)對(duì)gc友好的代碼,這不就行了,試試:


    import java.util.ArrayList;   
    import java.util.List;   
      
    public class TailRecursionTest2 {   
        
    public static void main(String[] args) {   
            TailRecursionTest2 t 
    = new TailRecursionTest2();   
            t.a(
    0);   
        }
       
      
        
    public void a(int j) {   
            System.out.println(j);   
            j
    ++;   
            
    if (j == 10000)   
                
    return;   
            List list 
    = new ArrayList<Integer>(100000);   
            
    // 對(duì)list進(jìn)行處理   
            list = null;  //gc友好   
            a(j);   
        }
       
    }
     

    得意洋洋,我跑一下看看,這次跑到4000多次,但是:
       
    4289  
    4290  
    4291  
    4292  
    java.lang.StackOverflowError   
        at sun.nio.cs.ext.DoubleByteEncoder.encodeArrayLoop(Unknown Source)   
        at sun.nio.cs.ext.DoubleByteEncoder.encodeLoop(Unknown Source)   
        at java.nio.charset.CharsetEncoder.encode(Unknown Source) 

    總結(jié):在java里,遞歸最好咱還是別用,老老實(shí)實(shí)地while、for;就算遞歸了,最好遞歸方法不要new太大的對(duì)象,除非你能確定遞歸的深度不是那么大,否則OOM和堆棧溢出的陰影將籠罩著你。
    posted @ 2008-06-03 09:14 vesung 閱讀(1564) | 評(píng)論 (0)編輯 收藏

    先看下面表格:

    作用域
    當(dāng)前類(lèi) 同一package 子孫類(lèi)
    其他package
    public √   
    √   
    √   
    √   
    protected
    √   
    √   
    √   
      × 
    default √   
    √   
      × 
      × 
    private √   
      × 
      × 
      × 

    不寫(xiě)時(shí)默認(rèn)為default

    我們先看類(lèi):

    public class  Test 可以在任何地方訪問(wèn),無(wú)論是否為當(dāng)前package
    class Test 只允許當(dāng)前的package使用,不允許其它package使用
    class 不與許prirvate和protected ,所以不討論了

    我們?cè)倏捶椒?br /> private 的只允許類(lèi)自己使用,子類(lèi)都不可見(jiàn)。但允許inner類(lèi)調(diào)用,因?yàn)閕nner類(lèi)屬于他自己。

    class Test 里面的方法
      public 和default和protected 方法,允許同包的訪問(wèn),因?yàn)轭?lèi)是default的,所以方法不可能大于它

    public class Test 里面的方法
      private 只允許自己內(nèi)部訪問(wèn)
     default 只允許同包的訪問(wèn)
      protected 只允許同包和子類(lèi)訪問(wèn)
      public 可以任意訪問(wèn)
    posted @ 2008-06-02 09:12 vesung 閱讀(879) | 評(píng)論 (0)編輯 收藏

    主站蜘蛛池模板: 成人超污免费网站在线看| 永久中文字幕免费视频网站| 亚洲天堂中文字幕| 69视频在线是免费观看| 亚洲欧洲春色校园另类小说| 噼里啪啦免费观看高清动漫4| 亚洲人成无码网站在线观看| 成在线人永久免费视频播放| 久久www免费人成精品香蕉| 亚洲国产人成网站在线电影动漫| 97免费人妻无码视频| 免费播放国产性色生活片| 亚洲最新视频在线观看| 国产男女猛烈无遮挡免费视频 | 一级毛片aa高清免费观看| 少妇中文字幕乱码亚洲影视| 日本免费电影一区| 外国成人网在线观看免费视频| 美女被免费网站在线视频免费 | 99久久精品免费视频| 黄色免费网址大全| 亚洲日本乱码卡2卡3卡新区| 亚洲大尺度无码专区尤物| 免费国产人做人视频在线观看| 日本卡1卡2卡三卡免费| 又黄又大的激情视频在线观看免费视频社区在线 | 国内精品免费视频精选在线观看| 亚洲精品无码mⅴ在线观看| 亚洲视频免费播放| 国产成人亚洲综合无码精品 | 7777久久亚洲中文字幕蜜桃 | 亚洲色欲或者高潮影院| 中文字幕亚洲天堂| 亚洲精品国产自在久久| 国产小视频免费观看| 精品久久久久久久免费加勒比| 2021国内精品久久久久精免费| 免费人成黄页在线观看日本| 精品一区二区三区免费观看| 免费视频成人国产精品网站| 亚洲aⅴ无码专区在线观看春色 |