安靜的等待

          茹呲綄鎂
          posts - 51, comments - 9, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          papervision3d

          先看看這個幾個網址的東西:

          http://www.papervision3d.org/

          >http://www.noventaynueve.com/2007/

          >http://www.rhythmoflines.co.uk/

          >http://carlosulloa.com/

          papervision3d
          papervision3d

          Papervision3D Component v1.5 下載地址:>http://code.google.com/p/papervision3d/downloads/detail?name=PV3DComponents_v1.5.1.mxp&can=2&q=

          以前還研究全景視圖呢,現在看來,直接用這個就可以解決了,而且速度肯定更快!

          官方博客:>http://blog.papervision3d.org/

          posted @ 2007-08-28 15:51 ricki 閱讀(1325) | 評論 (1)編輯 收藏

          今天無意中在群里面看到了微軟關于Silverlight的站點:http://silverlight.net/,后來跟著鏈接找了半天又找到了它的Microsoft站點:http://www.microsoft.com/silverlight/default01.aspx,上面的視頻相當不錯,應該是Expression的作品,不過在看之前還是要安裝Silverlight插件。

          作為Flash的競爭者,現在才出現的確有點晚,不過要是以Flex的競爭者,由于Ajax和.net程序員的數量遠遠超出Flex程序員,這個倒是有點看頭。

          這個是一個演示網站:http://silverlight.net/fox/

          軟件需求:Microsoft Silverlight 1.0 Beta - for Mac or for Windows(播放插件),Microsoft Silverlight 1.1 Alpha - for Mac or for Windows(程序開發預覽),Microsoft Visual Studio codename “Orcas” Beta 1(微軟下一代Visual Studio產品),Microsoft Silverlight Tools Alpha for Visual Studio codename “Orcas” Beta 1(Visual Studio的Silverlight開發包),Expression Blend 2 May Preview (給Silverlight開發用戶界面和設計),Expression Media Encoder May Preview (視頻開發),Expression Design (設計矢量圖形)。

          關于后面的圖形界面開發的軟件,可以看看Expression系列介紹視頻,這個是Expression的主站http://www.microsoft.com/expression/

          看了一下他制作的過程的視頻,感覺有點像是Flash IDE+Flex開發,但是協作的確是相當強悍:Expression Blend可以對圖形進行補間動畫,而到了Visual Studio可以進行程序代碼對圖形進行運算操作。

          感覺上他在圖形圖像上的確比Flex有優勢,但是和成熟的Flash相比它現在還是Alpha、Beta。看到這里我不得不想到,Flex和Flash在下一個版本的Flash IDE中,肯定是要融合在一起了,就算是不在一起也是要能夠很好的相互協作,雖然現在CS3出來了,但是還是沒有很好的看到他們的協作,Bridge也只能算一個瀏覽器。協作方面微軟已經搶在前面了,Adobe要加把勁了。

          真希望下一次看到Adobe的軟件工作方式是:Flash中編輯的矢量圖形可以在Illustrator中編輯完成后又放回Flash,PSD圖片在Flash中可以直接發送給Photoshop編輯,編輯后可以直接更新Flash中的PSD;AS直接就由Flex(或是Flash)來搞定,AE也一樣在一起隨意工作,我們只需要輕輕點按鈕就可以在不同的軟件中做他擅長的事情,最后在Flash(Flex)中輸出swf。

          posted @ 2007-08-28 15:37 ricki 閱讀(316) | 評論 (0)編輯 收藏


          http://community.studyez.com/fil ... lop/entry52462.aspx

          需要申請一個賬號,比較簡單。序列號在下面


          Expression Studio簡體中文正式版,2007/7/2發布,包括Microsoft Expression系列所有產品:
          Microsoft Expression Web 網頁設計工具
          Microsoft Expression Blend 交互設計工具
          Microsoft Expression Design 平面圖形設計工具
          Microsoft Expression Media 多媒體編輯工具

          微軟Microsoft Expression Studio 官方簡體中文正式版!注冊碼。

          Product Key:
          Expression Blend:  42XVR-43TCK-QFXGX-TG3P6-HVPYB
          Expression Design: B7QRP-P7W7G-QY689-R7DCB-4BGH4
          Expression Web:    DDWJC-VFGHJ-7GFK6-9QK3D-PFTHW
          Expression Studio: B7QRP-P7W7G-QY689-R7DCB-4BGH4



            網頁設計工具-Expression Web

            微軟發布了最新開發的網頁設計工具Expression Web,它是微軟Expression設計套裝的一部分。作為網頁編輯工具 FrontPage的替代產品,Expression Web在功能以及可擴展性方面都有很大提升,而Frontpage將于今年正式結束它的使命。

            圖形設計工具-Expression Design

            微軟是這樣描述Expression Design的:“它是一款專業圖形設計工具,提供豐富的像素描繪功能以及順暢靈活的矢量圖編輯功能,能夠快速創建設計工作流程。 借助Expression Design,你可以為屏幕,網頁或打印產品創建復雜的設計和圖形元素。”   Expression Design的功能類似于大家早已熟悉的Adobe Photoshop,提供許多Windows自帶畫圖工具沒有的高級圖形編輯功能(如層等)。

            物件管理工具-Expression Media

            新加入到Expression Studio家族的新成員就是Expression Media,它是改變了商標的iView MediaPro,它是一個物件管理工具,包括了一個用于跟蹤如圖片,字體,音頻與視頻等數字媒體的可視化目錄。

            可視化交互工具-Expression Blend

            Expression Blend 全方位的3D、動畫、硬件加速顯示引擎 能夠將矢量圖形、位圖、3D內容、視頻、音頻和富文本合成到一起,三維視圖能夠自由地混合在其它2D和媒體元素之間,允許在一個設計作品的不同元素之間進行功能強大的可視化交互。 Expression Blend 可以 導入與合并矢量圖和位圖元素 ,或者繪制與編輯矢量圖元素并應用高級漸變、Alpha透明度和筆觸設置。

          posted @ 2007-08-28 15:34 ricki 閱讀(388) | 評論 (0)編輯 收藏

               摘要: 以下寫作經典200句背誦完會使你的寫作水平突飛猛進,記住一定要爛熟于心,可以使用超循環背誦大表進行背誦,使背誦變得輕松有計劃,更重要的是減少遺忘。200句并不多,永遠是熟能生巧,你一輩子用的句子無非就是幾十句,這200句是精華中的精華,不僅運用于寫作,這些精彩的句式可以運用于口語中,使你的表達非凡!希望大家在英文考級中能用得到! 背誦方法:(原則:短時間搞定) 1、分單元背,把200個句子根據你自...  閱讀全文

          posted @ 2007-08-15 10:44 ricki 閱讀(1256) | 評論 (0)編輯 收藏

          現在中國所有招聘網站都是以人事經理為中心,因為他們是給錢的一方,較少從求職者角度考慮,如果我們從求職者立場或者中立立場來看中國招聘網站的生意模式及運作流程,將這個求職者并不知曉的事情公布出來,你就會更好清醒認識招聘網站,也更好的實際的利用人才網站求職:  
              
            1、   人才網站與企業人事經理的生意模式對求職者影響:  

            人才網站的行規是企業人事經理支付600元,可以在一個月內發布一定的職位讓求職者投遞簡歷,可以搜索查看人才網站簡歷庫的簡歷,還可以下載一定數量的簡歷主動與求職者聯系。而大企業及知名公司一般都是購買1年的招聘服務。問題就出來了:如果這個職位1到2周企業招到人了,但他購買的是1個月的服務,所以企業的職位還是掛在網上,而且人才網站競爭激烈,一般都會贈送1個月服務。所以一般職位至少1個月掛在人才網站是無效的,是浪費求職者查看與投遞簡歷時間的。  
              
            大公司最不可靠,他們用網絡、報紙、現場,1年的大大banner永遠掛在人才網站上,他們并不需要人,只是為了廣告宣傳。  
            所以人才網站50%以上的職位都是過期的、無效的、不招人或招滿人的,所有求職者抱怨我投了那么多簡歷為什么反饋率那么低,反饋率低是非常正常的。  
              
            另外51job網站的反饋率是最低的,這也是行業秘密:因為51Job的資源80%是以報紙招聘為主,報紙招聘效率高,但網站上的職位都是在報紙上刊登過后作為免費與補充服務,所以很多HR只會看報紙上來的簡歷,網站來的簡歷基本不看,在加上51job簡歷投遞量實在太大,那些懶惰的HR才懶得一封一封的看,只會用搜索關鍵字來看,如本科+3年工作經驗+主管等,其他不符合條件的看都不看一眼。所以你知道為什么一直沒有公司找你面試,不是你不行,而是HR都不看你發的簡歷。下面第二部分告訴你如何被他們搜索到。  
              
            現在你知道網絡招聘的反饋率為什么那么低了吧。不信你用自動回復郵件形式發送中國3大招聘網站職位HR的郵箱,看看有多少HR看了你的簡歷,一個工作論壇的網友說,他試著發了100個HR郵箱簡歷,可以通過自動回復的反饋率統計,可以看到50%HR不看簡歷就直接刪除,30%根本就不打開郵件,只有20%打開郵箱,還有10%可能已經找到人的。他的分析說即使是中國前3名招聘網站以嚴格標準來看也只有10%職位是真正要急迫招人的。  
              
            2、既然知道一些潛   規則,那我們也迎合一些這些規則,告訴你一些網絡求職的小秘密  

            (1)采用行業招聘網站求職。因為行業招聘網站是按行業發布職位信息的,所以專業和工作經歷比較對口。比如你要找物業管理類的工作,你到xx工作網的物業管理招聘頻道上去注冊簡歷就比較好,因為那里全部都是物業管理類的企業在招聘;如果你要找外貿的工作,你就可以xx工作網的外貿招聘頻道去找,肯定有大量的外貿工作機會。其它的就不在列舉。在目前的情況下,幾乎每個行業的人才在萬行工作網上都能找到自己的頻道。  
              
            (2)簡歷要與大公司沾邊  
            當人事經理搜索招聘網站簡歷庫簡歷時,一般會以關鍵字“知名企業名稱+職位名稱”,比如消費品行業可能喜歡可口可樂及寶潔的人,人事經理會這樣搜索,例如:“可口可樂+銷售經理”,系統會搜索到簡歷中出現以上關鍵字的求職者,如果你的簡歷里出現知名企業名稱的字樣,就可以被搜索到,例如:“我在xx礦泉水公司工作,成功地令競爭對手——可口可樂旗下的天與地礦泉水在當地的市場份額減少……”:“我在可口可樂的廣州白云區經銷商工作”等。又提高了人事經理瀏覽簡歷的機會!  
              
            (3)   經常刷新簡歷  
            當人事經理搜索簡歷庫的簡歷時,符合條件的簡歷是按刷新的時間順序排列,而一般只會看前面一兩頁。很多求職者其實并不知道刷新簡歷可以獲得更多求職機會。因此每次登陸,最好都刷新簡歷,刷新以后,就能排在前面,更容易被人事經理找到!  
              
            (4)   不要只應聘最近三天的職位  
            一般求職者認為剛剛發布的最新的招聘信息肯定是成功率最大的,其實不然。因為很多企業人事經理沒有及時的登陸刷新刊登的職位,所以求職者在搜索職位時剛刷新的職位會排在前面,這些職位應聘的人多,競爭大,相反,一些職位已經是半個月甚至兩個月的,應聘的人少,成功率反而高。  
              
            (5)   讓你的郵件永遠在最前面  
            你要知道每天人事經理看求職者郵箱,他們其實是很懶的,100多頁簡歷郵件他們最多只看前5頁!你現在應該知道為什么你的求職簡歷永遠沒有回應!  
            所以發郵件到企業指定的郵箱時,怎樣才能讓你的郵件永遠排在最前面,讓人事經理每次打開郵箱都首先看到你的郵件?只要在發郵件前,把電腦系統的日期改為一個將來的日期,如2008年,因為大多郵箱都是默認把郵件按日期排序,所以你的郵件起碼要到2008年以后才會被排在后面!   (如果你求職成功,要向我請客耶!)  
              
            (6)   新穎的郵件標題  
            人事經理每天收到大量的求職電子郵件,求職者一般會按企業要求把郵件題目寫成:應聘xx職位,怎樣才能吸引人事經理的眼球,讓他先打開自己的郵件?可以在郵件題目上做文章。一天人事經理收到幾百封郵件,只有標題新穎的才有機會被打開。  
            例子:我的一個女性朋友發了100多封郵件求職都沒有任何反應,因為應聘做文員的太多了,而我這個朋友做過空姐,我將她的郵件標題改為“空姐來廣州找工作”,引起絕大部分男人事經理想入非非,結果三天之內有30多個男人事經理通知面試,3個月找不到工作的她而變成3天找到上十份工作。你現在知道郵件標題的重要性了吧。  
              
            (7)   簡歷最好放靚照  
            對于人事經理來說,每天需要瀏覽大量簡歷,如果同等的條件,一般會先通知有照片的求職者來面試,因為通過照片,人事經理對應聘者又多了幾分了解。如果是美女,被通知的可能性就更大。我作為人事經理,曾經招聘一個人事主管,收到300多封簡歷,我找出前30份有相片的前5份,通知了最漂亮相片的2個女孩,就定下了其中的一個。對于一般職位如文職人員之類,中國人的傳統還是以貌取人,你即使不漂亮,也照一個藝術照,就增多了面試機會(與其等死,還不如放手一搏),畢竟很現實的是,簡歷的目的就是有面試的機會,其他就要靠實力與運氣了。  
              
            (8)求職信“罵”對方公司往往會帶來意想不到的效果  
            一般人認為在求職信中稱贊對方公司會引起好感,其實不然。如果先指出這家公司的缺點,往往會引起關注,語不驚人死不休呢,我作為人事經理,我只會對指出我們缺點的求職者有好感,對恭維我們公司的求職者一般會放在一邊。即使你不知道對方公司缺點,你隨便寫一些永遠不會錯的:“我認為貴司創新不夠,市場表現過于常規化;我以消費者心態觀察貴司,發現貴司客戶服務還有許多待改進的地方;我發現貴司品牌形象還有可能做的更好……”如聞其詳,可面談。可勾引相關公司面試。只要有面試機會,其他再說。(簡歷有機會面試目的是一切,手段是無所謂的)。  
              
            (9)自己要學會讓簡歷與職位匹配  
            2個觀念都是有效的:一是不要太在乎對方職位要求的描述,很多職位描述只是寫寫,連經理都不知道要招什么樣的人,如果你看到對方職位要求本科,你是專科就不敢投遞簡歷,那就失去機會了。如果你看到對方要求有5年經驗,你只有3年經驗,你也不敢投,那完全沒有必要。因為人事經理們對職位的描述只是例行公事隨便謝謝而已,你千萬不要當真!  
              
            另外一個匹配觀念就是他的職位如何描述,你就改變你的簡歷換一個說法匹配,如他說要求領導能力強,你的簡歷也說具有領導才能,他要溝通能力一流,你的簡歷也說我最擅長溝通。你的簡歷表面匹配度最高,也可以多增加機會。你可將簡歷改成為他職位描述完全量身定做的簡歷。  
              
            其實求職者有更多的面試機會,不但可以增加成功求職機會,還可以增加自己的信心,工資越叫越高還可以積累面試經驗。很多優秀的求職者網上發了很多簡歷沒有回應,以為自己不行沒有競爭力,只好自動降價,實為可惜!   特別是中國最大的招聘網站51job的簡歷投遞反饋率是同行業最低的,因為它主要資源80%投入報紙,報紙招聘完甚至錄取完畢后將職位入庫,只是將職位作為一個擺設放到網站。  
              
            要知道現在網絡求職的成功率一般2個月是發1000份簡歷,有8份面試,2份成功,一個是你不想去的,可能一個是你相對滿意的。所以網絡求職的朋友千萬不要對自己失去信心。  

          posted @ 2007-08-15 10:41 ricki 閱讀(322) | 評論 (0)編輯 收藏

              下文是比爾·蓋茨今年6月7日在哈佛大學畢業典禮上的演講的翻譯。他在其中談到了很多事情,包括他的學生時代、他的退學經歷、以及他眼中人生最有意義的事情。我覺得內容非常好,完全改變了我對比爾·蓋茨的看法,所以花了兩個晚上翻譯出來,希望讓更多的人看到。

              尊敬的Bok校長,Rudenstine前校長,即將上任的Faust校長,哈佛集團的各位成員,監管理事會的各位理事,各位老師,各位家長,各位同學:
          有一句話我等了三十年,現在終于可以說了:“老爸,我總是跟你說,我會回來拿到我的學位的!”
                  我要感謝哈佛大學在這個時候給我這個榮譽。明年,我就要換工作了(注:指從微軟公司退休)……我終于可以在簡歷上寫我有一個本科學位,這真是不錯啊。
                 我為今天在座的各位同學感到高興,你們拿到學位可比我簡單多了。哈佛的校報稱我是“哈佛大學歷史上最成功的輟學生”。我想這大概使我有資格代表我這一類學生發言……在所有的失敗者里,我做得最好。
                  但是,我還要提醒大家,我使得Steve Ballmer(注:微軟總經理)也從哈佛商學院退學了。因此,我是個有著惡劣影響力的人。這就是為什么我被邀請來在你們的畢業典禮上演講。如果我在你們入學歡迎儀式上演講,那么能夠堅持到今天在這里畢業的人也許會少得多吧。
                 對我來說,哈佛的求學經歷是一段非凡的經歷。校園生活很有趣,我常去旁聽我沒選修的課。哈佛的課外生活也很棒,我在Radcliffe過著逍遙自在 的日子。每天我的寢室里總有很多人一直待到半夜,討論著各種事情。因為每個人都知道我從不考慮第二天早起。這使得我變成了校園里那些不安分學生的頭頭,我 們互相粘在一起,做出一種拒絕所有正常學生的姿態。
                 Radcliffe是個過日子的好地方。那里的女生比男生多,而且大多數男生都是理工科的。這種狀況為我創造了最好的機會,如果你們明白我的意思。可惜的是,我正是在這里學到了人生中悲傷的一課:機會大,并不等于你就會成功。
                 我在哈佛最難忘的回憶之一,發生在1975年1月。那時,我從宿舍樓里給位于Albuquerque的一家公司打了一個電話,那家公司已經在著手制造世界上第一臺個人電腦。我提出想向他們出售軟件。
                我很擔心,他們會發覺我是一個住在宿舍的學生,從而掛斷電話。但是他們卻說:“我們還沒準備好,一個月后你再來找我們吧。”這是個好消息,因為那時 軟件還根本沒有寫出來呢。就是從那個時候起,我日以繼夜地在這個小小的課外項目上工作,這導致了我學生生活的結束,以及通往微軟公司的不平凡的旅程的開 始。
                不管怎樣,我對哈佛的回憶主要都與充沛的精力和智力活動有關。哈佛的生活令人愉快,也令人感到有壓力,有時甚至會感到泄氣,但永遠充滿了挑戰性。生 活在哈佛是一種吸引人的特殊待遇……雖然我離開得比較早,但是我在這里的經歷、在這里結識的朋友、在這里發展起來的一些想法,永遠地改變了我。
                但是,如果現在嚴肅地回憶起來,我確實有一個真正的遺憾。
                我離開哈佛的時候,根本沒有意識到這個世界是多么的不平等。人類在健康、財富和機遇上的不平等大得可怕,它們使得無數的人們被迫生活在絕望之中。
                我在哈佛學到了很多經濟學和政治學的新思想。我也了解了很多科學上的新進展。
                但是,人類最大的進步并不來自于這些發現,而是來自于那些有助于減少人類不平等的發現。不管通過何種手段——民主制度、健全的公共教育體系、高質量的醫療保健、還是廣泛的經濟機會——減少不平等始終是人類最大的成就。
                我離開校園的時候,根本不知道在這個國家里,有幾百萬的年輕人無法獲得接受教育的機會。我也不知道,發展中國家里有無數的人們生活在無法形容的貧窮和疾病之中。我花了幾十年才明白了這些事情。
               在座的各位同學,你們是在與我不同的時代來到哈佛的。你們比以前的學生,更多地了解世界是怎樣的不平等。在你們的哈佛求學過程中,我希望你們已經思考過一個問題,那就是在這個新技術加速發展的時代,我們怎樣最終應對這種不平等,以及我們怎樣來解決這個問題。
                為了討論的方便,請想象一下,假如你每個星期可以捐獻一些時間、每個月可以捐獻一些錢——你希望這些時間和金錢,可以用到對拯救生命和改善人類生活有最大作用的地方。你會選擇什么地方?
                對Melinda(注:蓋茨的妻子)和我來說,這也是我們面臨的問題:我們如何能將我們擁有的資源發揮出最大的作用。
                在討論過程中,Melinda和我讀到了一篇文章,里面說在那些貧窮的國家,每年有數百萬的兒童死于那些在美國早已不成問題的疾病。麻疹、瘧疾、肺 炎、乙型肝炎、黃熱病、還有一種以前我從未聽說過的輪狀病毒,這些疾病每年導致50萬兒童死亡,但是在美國一例死亡病例也沒有。
                我們被震驚了。我們想,如果幾百萬兒童正在死亡線上掙扎,而且他們是可以被挽救的,那么世界理應將用藥物拯救他們作為頭等大事。但是事實并非如此。那些價格還不到一美元的救命的藥劑,并沒有送到他們的手中。
                如果你相信每個生命都是平等的,那么當你發現某些生命被挽救了,而另一些生命被放棄了,你會感到無法接受。我們對自己說:“事情不可能如此。如果這是真的,那么它理應是我們努力的頭等大事。”
                所以,我們用任何人都會想到的方式開始工作。我們問:“這個世界怎么可以眼睜睜看著這些孩子死去?”
                答案很簡單,也很令人難堪。在市場經濟中,拯救兒童是一項沒有利潤的工作,政府也不會提供補助。這些兒童之所以會死亡,是因為他們的父母在經濟上沒有實力,在政治上沒有能力發出聲音。
                 But you and I have both.
                 但是,你們和我在經濟上有實力,在政治上能夠發出聲音。
                我們可以讓市場更好地為窮人服務,如果我們能夠設計出一種更有創新性的資本主義制度——如果我們可以改變市場,讓更多的人可以獲得利潤,或者至少可 以維持生活——那么,這就可以幫到那些正在極端不平等的狀況中受苦的人們。我們還可以向全世界的政府施壓,要求他們將納稅人的錢,花到更符合納稅人價值觀 的地方。
                 如果我們能夠找到這樣一種方法,既可以幫到窮人,又可以為商人帶來利潤,為政治家帶來選票,那么我們就找到了一種減少世界性不平等的可持續的發展道路。這個任務是無限的。它不可能被完全完成,但是任何自覺地解決這個問題的嘗試,都將會改變這個世界。
           在這個問題上,我是樂觀的。但是,我也遇到過那些感到絕望的懷疑主義者。他們說:“不平等從人類誕生的第一天就存在,到人類滅亡的最后一天也將存在。——因為人類對這個問題根本不在乎。”我完全不能同意這種觀點。
                我相信,問題不是我們不在乎,而是我們不知道怎么做。
                此刻在這個院子里的所有人,生命中總有這樣或那樣的時刻,目睹人類的悲劇,感到萬分傷心。但是我們什么也沒做,并非我們無動于衷,而是因為我們不知道做什么和怎么做。如果我們知道如何做是有效的,那么我們就會采取行動。
                改變世界的阻礙,并非人類的冷漠,而是世界實在太復雜。
                為了將關心轉變為行動,我們需要找到問題,發現解決辦法的方法,評估后果。但是世界的復雜性使得所有這些步驟都難于做到。
                即使有了互聯網和24小時直播的新聞臺,讓人們真正發現問題所在,仍然十分困難。當一架飛機墜毀了,官員們會立刻召開新聞發布會,他們承諾進行調查、找到原因、防止將來再次發生類似事故。
                但是如果那些官員敢說真話,他們就會說:“在今天這一天,全世界所有可以避免的死亡之中,只有0.5%的死者來自于這次空難。我們決心盡一切努力,調查這個0.5%的死亡原因。”
                 顯然,更重要的問題不是這次空難,而是其他幾百萬可以預防的死亡事件。
                 我們并沒有很多機會了解那些死亡事件。媒體總是報告新聞,幾百萬人將要死去并非新聞。如果沒有人報道,那么這些事件就很容易被忽視。另一方面,即使 我們確實目睹了事件本身或者看到了相關報道,我們也很難持續關注這些事件。看著他人受苦是令人痛苦的,何況問題又如此復雜,我們根本不知道如何去幫助他 人。所以我們會將臉轉過去。就算我們真正發現了問題所在,也不過是邁出了第一步,接著還有第二步:那就是從復雜的事件中找到解決辦法。
                  如果我們要讓關心落到實處,我們就必須找到解決辦法。如果我們有一個清晰的和可靠的答案,那么當任何組織和個人發出疑問“如何我能提供幫助”的時 候,我們就能采取行動。我們就能夠保證不浪費一丁點全世界人類對他人的關心。但是,世界的復雜性使得很難找到對全世界每一個有愛心的人都有效的行動方法, 因此人類對他人的關心往往很難產生實際效果。
                  從這個復雜的世界中找到解決辦法,可以分為四個步驟:確定目標,找到最高效的方法,發現適用于這個方法的新技術,同時最聰明地利用現有的技術,不管它是復雜的藥物,還是最簡單的蚊帳。
                 艾滋病就是一個例子。總的目標,毫無疑問是消滅這種疾病。最高效的方法是預防。最理想的技術是發明一種疫苗,只要注射一次,就可以終生免疫。所以, 政府、制藥公司、基金會應該資助疫苗研究。但是,這樣研究工作很可能十年之內都無法完成。因此,與此同時,我們必須使用現有的技術,目前最有效的預防方法 就是設法讓人們避免那些危險的行為。
                要實現這個新的目標,又可以采用新的四步循環。這是一種模式。關鍵的東西是永遠不要停止思考和行動。我們千萬不能再犯上個世紀在瘧疾和肺結核上犯過的錯誤,那時我們因為它們太復雜,而放棄了采取行動。
                在發現問題和找到解決方法之后,就是最后一步——評估工作結果,將你的成功經驗或者失敗經驗傳播出去,這樣其他人就可以從你的努力中有所收獲。
                當然,你必須有一些統計數字。你必須讓他人知道,你的項目為幾百萬兒童新接種了疫苗。你也必須讓他人知道,兒童死亡人數下降了多少。這些都是很關鍵的,不僅有利于改善項目效果,也有利于從商界和政府得到更多的幫助。
                但是,這些還不夠,如果你想激勵其他人參加你的項目,你就必須拿出更多的統計數字;你必須展示你的項目的人性因素,這樣其他人就會感到拯救一個生命,對那些處在困境中的家庭到底意味著什么。
                幾年前,我去瑞士達沃斯旁聽一個全球健康問題論壇,會議的內容有關于如何拯救幾百萬條生命。天哪,是幾百萬!想一想吧,拯救一個人的生命已經讓人何等激動,現在你要把這種激動再乘上幾百萬倍……但是,不幸的是,這是我參加過的最最乏味的論壇,乏味到我無法強迫自己聽下去。
                那次經歷之所以讓我難忘,是因為之前我們剛剛發布了一個軟件的第13個版本,我們讓觀眾激動得跳了起來,喊出了聲。我喜歡人們因為軟件而感到激動,那么我們為什么不能夠讓人們因為能夠拯救生命而感到更加激動呢?除非你能夠讓人們看到或者感受到行動的影響力,否則你無法讓人們激動。如何做到這一點,并不是一件簡單的事。
               同前面一樣,在這個問題上,我依然是樂觀的。不錯,人類的不平等有史以來一直存在,但是那些能夠化繁為簡的新工具,卻是最近才出現的。這些新工具可以幫助我們,將人類的同情心發揮最大的作用,這就是為什么將來同過去是不一樣的。這個時代無時無刻不在涌現出新的革新——生物技術,計算機,互聯網——它們給了我們一個從未有過的機會,去終結那些極端的貧窮和非惡性疾病的死亡。
                六十年前,喬治·馬歇爾也是在這個地方的畢業典禮上,宣布了一個計劃,幫助那些歐洲國家的戰后建設。他說:“我認為,困難的一點是這個問題太復雜, 報紙和電臺向公眾源源不斷地提供各種事實,使得大街上的普通人極端難于清晰地判斷形勢。事實上,經過層層傳播,想要真正地把握形勢,是根本不可能的。”馬歇爾發表這個演講之后的三十年,我那一屆學生畢業,當然我不在其中。那時,新技術剛剛開始萌芽,它們將使得這個世界變得更小、更開放、更容易看到、距離更近。低成本的個人電腦的出現,使得一個強大的互聯網有機會誕生,它為學習和交流提供了巨大的機會。
                網絡的神奇之處,不僅僅是它縮短了物理距離,使得天涯若比鄰。它還極大地增加了懷有共同想法的人們聚集在一起的機會,我們可以為了解決同一個問題,一起共同工作。這就大大加快了革新的進程,發展速度簡直快得讓人震驚。
                 與此同時,世界上有條件上網的人,只是全部人口的六分之一。這意味著,還有許多具有創造性的人們,沒有加入到我們的討論中來。那些有著實際的操作經驗和相關經歷的聰明人,卻沒有技術來幫助他們,將他們的天賦或者想法與全世界分享。
            我們需要盡可能地讓更多的人有機會使用新技術,因為這些新技術正在引發一場革命,人類將因此可以互相幫助。新技術正在創造一種可能,不僅是政府,還 包括大學、公司、小機構、甚至個人,能夠發現問題所在、能夠找到解決辦法、能夠評估他們努力的效果,去改變那些馬歇爾六十年前就說到過的問題——饑餓、貧 窮和絕望。
                 哈佛是一個大家庭。這個院子里在場的人們,是全世界最有智力的人類群體之一。我們可以做些什么?
                 毫無疑問,哈佛的老師、校友、學生和資助者,已經用他們的能力改善了全世界各地人們的生活。但是,我們還能夠再做什么呢?有沒有可能,哈佛的人們可以將他們的智慧,用來幫助那些甚至從來沒有聽到過“哈佛”這個名字的人?
                請允許我向各位院長和教授,提出一個請求——你們是哈佛的智力領袖,當你們雇用新的老師、授予終身教職、評估課程、決定學位頒發標準的時候,請問你們自己如下的問題:
                 我們最優秀的人才是否在致力于解決我們最大的問題?
                 哈佛是否鼓勵她的老師去研究解決世界上最嚴重的不平等?哈佛的學生是否從全球那些極端的貧窮中學到了什么……世界性的饑荒……清潔的水資源的缺乏……無法上學的女童……死于非惡性疾病的兒童……哈佛的學生有沒有從中學到東西?
                 那些世界上過著最優越生活的人們,有沒有從那些最困難的人們身上學到東西?
                這些問題并非語言上的修辭。你必須用自己的行動來回答它們。
                我的母親在我被哈佛大學錄取的那一天,曾經感到非常驕傲。她從沒有停止督促我,去為他人做更多的事情。在我結婚的前幾天,她主持了一個新娘進我家的 儀式。在這個儀式上,她高聲朗讀了一封關于婚姻的信,這是她寫給Melinda的。那時,我的母親已經因為癌癥病入膏肓,但是她還是認為這是又一個傳播她 的信念的機會。在那封信的結尾,她寫道:“對于那些接受了許多幫助的人們,他們還在期待更多的幫助。”
                想一想吧,我們在這個院子里的這些人,被給予過什么——天賦、特權、機遇——那么可以這樣說,全世界的人們幾乎有無限的權力,期待我們做出貢獻。
                同這個時代的期望一樣,我也要向今天各位畢業的同學提出一個忠告:你們要選擇一個問題,一個復雜的問題,一個有關于人類深刻的不平等的問題,然后你 們要變成這個問題的專家。如果你們能夠使得這個問題成為你們職業的核心,那么你們就會非常杰出。但是,你們不必一定要去做那些大事。每個星期只用幾個小 時,你就可以通過互聯網得到信息,找到志同道合的朋友,發現困難所在,找到解決它們的途徑。
                不要讓這個世界的復雜性阻礙你前進。要成為一個行動主義者。將解決人類的不平等視為己任。它將成為你生命中最重要的經歷之一。
                在座的各位畢業的同學,你們所處的時代是一個神奇的時代。當你們離開哈佛的時候,你們擁有的技術,是我們那一屆學生所沒有的。你們已經了解到了世界 上的不平等,我們那時還不知道這些。有了這樣的了解之后,要是你再棄那些你可以幫助的人們于不顧,就將受到良心的譴責,只需一點小小的努力,你就可以改變 那些人們的生活。你們比我們擁有更大的能力;你們必須盡早開始,盡可能長時期堅持下去。
                知道了你們所知道的一切,你們怎么可能不采取行動呢?
               我希望,30年后你們還會再回到哈佛,想起你們用自己的天賦和能力所做出的一切。我希望,在那個時候,你們用來評價自己的標準,不僅僅是你們的專業 成就,而包括你們為改變這個世界深刻的不平等所做出的努力,以及你們如何善待那些遠隔千山萬水、與你們毫不涉及的人們,你們與他們唯一的共同點就是同為人 類。
               Good luck.最后,祝各位同學好運。(完)

          蓋茨:我又回來了 30年后終獲哈佛學位(組圖)

          圖:哈佛大學代理校長Derek Bok(最右邊)介紹畢業典禮主講人比爾·蓋茨出場,一旁觀看的則是NBA傳奇人物Bill Russell。
          Bok校長不忘開玩笑的說,“若你在哈佛能多讀完兩年才出去,那成就不就更驚人了?”蓋茨當年讀到大三就退學出去創業,成立了微軟。

          蓋茨:早就說我會回來拿學位的
          蓋茨:我又回來了 30年后終獲哈佛學位(組圖)

          圖:蓋茨上臺后,也不忘幽默地回應校長的話:“這一刻我等了30年了,阿爸,我早就跟你說過,我一定會回來拿到學位的。”

          不過場面話交代完畢,蓋茨馬上將話題轉到對抗貧窮與愛滋,這是蓋茨與妻子Melinda通過他們的基金會(Bill&Melinda Gates Foundation)所致力改善的目標之一。
          蓋茨向哈佛畢業生說,各位有責任改善世界不公平之處。“想想你們目前享受到的,大家就能明白世界對各位的期望是什么。”

          蓋茨鮑爾默曾經的同窗室友

          蓋茨:我又回來了 30年后終獲哈佛學位(組圖)

          圖:蓋茨與微軟首席執行官史蒂夫·鮑爾默(1977年哈佛畢業生)向主辦單位致意。鮑爾默跟蓋茨兩人在哈佛一年級時曾經同寢室。

          數字鴻溝并非OLPC能解決

          蓋茨:我又回來了 30年后終獲哈佛學位(組圖)

          圖:在會后記者會上,有記者詢問蓋茨對于Nicholas Negroponte發起“人人電腦”(One Laptop Per Child)計劃的看法。蓋茨回答說,這方面的工作都十分令人敬佩,但他的基金會希望以特定的方式來進行。

          “若以優先性來說,世界上有許多地方發生許多不公的事情,計算機運算并非這些問題的主因之一。”蓋茨表示。

          蓋茨全家福:老爸老媽和老婆

          蓋茨:我又回來了 30年后終獲哈佛學位(組圖)

          圖:比爾·蓋茨、太太Melinda、父親William Henry Gates Sr.,與后母Mimi Gardner Gates拍了一張大學畢業生的傳統:全家福照片。

          posted @ 2007-08-13 09:24 ricki 閱讀(232) | 評論 (0)編輯 收藏

          Apache和Tomcat同是Apache基金會下面的兩個項目。一個是HTTP WEB服務器,另一個是servlet容器(servlet container),最新的5.5.X系列實現Servlet 2.4/JSP 2.0Spec。在我們生產的環境中,往往需要Apache做前端服務器,Tomcat做后端服務器。此時我們就需要一個連接器,這個連接器的作用就是把 所有Servlet/JSP的請求轉給Tomcat來處理。在Apache2.2之前,一般有兩個組件可選擇。mod_jk和mod_jk2。后來 mod_jk2沒更新了,轉而更新mod_jk,所以現在一般都使用mod_jk做Apache和Tomcat的連接器。要指出的是mod_jk支持 Apache 1.x和2.X系列。
          不過,自從Apache2.2出來后,你又多了種選擇,那就是proxy-ajp.大家知道Apache里的proxy模塊,可以實現雙向代理功能,功能 非常強大。其實從連接器的實現原理上來說,用proxy模塊來實現是非常自然的。proxy模塊的功能無非就是把相關的請求發給特定的主機再返回結果。那 連接器的功能需求就是要把所有對Servlet/JSP的請求都轉給后臺的Tomcat。而且所FreeBSD郵件列表上說,使用proxy-ajp要比 mod_jk的效率要高。就我一個外行來看,至少使用Apache自帶模塊,要比另外編譯的來得可靠。


          apache2.2和tomcat5.5是一個不錯的組合,可以作為開發環境或者是工作服務器。在配置前需要下載以下幾個文件:
          1.下載JDK
          http://192.18.108.228/ECom/EComTicketServlet/BEGIN7CF7E6A4BCB54064E5D90FCCE00D7048/-2147483648/1579524843/1/732086/731822/1579524843/2ts+/westCoastFSEND/jdk-1.5.0_07-oth-JPR/jdk-1.5.0_07-oth-JPR:2/jdk-1_5_0_07-windows-i586-p.exe
          2.下載apache2.2
          http://mirror.vmmatrix.net/apache/httpd/binaries/win32/apache_2.2.2-win32-x86-no_ssl.msi
          3.下載tomcat5.5.17
          http://apache.justdn.org/tomcat/tomcat-5/v5.5.17/bin/apache-tomcat-5.5.17.exe


          一、安裝和配置JDK
          下載下來后,直接執行jdk-1.5.0_07-oth-JPR:2/jdk-1_5_0_07-windows-i586-p.exe
          實裝時建議選擇簡單的路徑,如E:\Web_Server\jdk1.5.0\
          安裝最后會要求安裝jre,繼續下一步就行,安裝路徑E:\Web_Server\jre1.5.0\。

          裝完后添加或編緝三個系統變量(已經有就編緝,沒有就新建):
          在PATH變量尾加在";E:\Web_Server\jdk1.5.0\bin\" (注意有個分號)
          新建Web_Server_HOME變量,值為 "E:\Web_Server\jdk1.5.0\"
          新建CLASSPATH變量,值為 "E:\Web_Server\jdk1.5.0\lib\tools.jar"

          二、安裝和測試apache
          在安裝前如已安裝了IIS,請先停止IIS服務。因為IIS和apache都默認使用80端口,否則會沖突。
          同樣直接運行安裝apache_2.2.2-win32-x86-no_ssl.msi,建議選擇簡單的路徑,如E:\Web_Server\ apache2.2\。安裝時會要求輸入一些關于這臺服務器的信息,如域名、管理員郵箱,這些信息將會加入到httpd.conf文件中。

          安裝完配置httpd.conf文件,在E:\Web_Server\apache2.2\conf\下
          用文本編緝器打開httpd.conf,在DirectoryIndex index.html后添加index.jsp

          測試,在IE中輸入
          http://localhost/,如果apache工作應該可以看到"It works!"這樣的頁面。

          三、安裝和測試tomcat
          直接運行安裝tomcat,安裝路徑為E:\Web_Server\tomcat5.5\
          安裝完,好像步驟一,添加一個系統變量TOMCAT_HOME,變量值為"E:\Web_Server\tomcat5.5\"
          最后測試tomcat,因為tomcat默認使用了8080端口,所以在IE輸入
          http://localhost:8080,正常工作會看見一只小貓的頁面。

          四。整合apache和tomcat
          網上很多是通過mod_jk來整合的,由于apache2.2本身已經支持tomcat了,所以這里用proxy來整合tomcat,先把apache和tomcat都停止了。然后打開httpd.conf文件,把
          LoadModule proxy_module modules/mod_proxy.so
          LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
          前面的#號去掉,在文件最后添加
          ProxyPass /images/ !
          ProxyPass / ajp://127.0.0.1:8009/
          ProxyPassReverse / ajp://127.0.0.1:8009/
          上面幾名只是對apache進行簡單的優化。

          五、最后測試整合后的apache+tomcat
          啟動apache,再啟動tomcat,準備以下代碼的jsp文件,以便測試。
          <%@ page contentType="text/html;charset=gb2312" %>
          <HTML>
          <HEAD>
          <TITLE>JSP測試頁面</TITLE>
          </HEAD>
          <BODY>
          <%out.println("<h1>Hello World! </h1>");%>
          </BODY>
          </HTML>
          保存為test.jsp
          在E:\Web_Server\tomcat5.5\webapps\ROOT\下新建一個文件夾myjsp,并把test.jsp放在里面。
          在IE中輸入
          http://localhost:8080/myjsp/test.jsp
          再輸入
          http://localhost/myjsp/test.jsp
          如果兩次都顯示Hello World!說明已經成功整合了。


          ============================
          方法之二:
          Windows環境下的tomcat + apache配置(絕對實踐操作版)
          關鍵詞: tomcat apache

          Apache的HTTPD是目前比較受歡迎的網站服務器軟件,它不但功能強大,而且完全免費,并且支持市場上流行的各種操作系統(Windows, Linux,Mac os)。同時對于Java Servlet/JSP的支持,通常也會使用同樣Apache出品的Tomcat。
          Tomcat除了支持Java Servlet/JSP之外,也可以當做網站服務器使用,但是在對于靜態的html文件、圖片文件等的解析效率上不如Apache HTTPD的執行效率高。應用tomcat的服務器如果網站的訪問量較大,系統資源占用會明顯升高,近日筆者在項目執行過程中遇到這一問題,便也想到同時 應用tomcat+apache服務。Apache負責靜態資源處理,tomcat負責jsp和java servlet等動態資源的處理。在網上看了不少介紹Apache和Tomcat集成的帖子。大多為互相轉貼,有幾個關鍵問題沒有講清楚,并且多數文章講 解中所舉的軟件版本都已經比較老舊。因而筆者總結自己實際操作的經驗,希望對大家有所幫助。

          準備工作:
          1、 apache 2.0.55
          下載地址:
          http://apache.justdn.org/httpd/binaries/win32/apache_2.0.55-win32-x86-no_ssl.msi
          2、 Tomcat 5.5
          下載地址:
          http://tomcat.apache.org/download-55.cgi
          3、 JRE1.5.0 update6
          下載地址:
          http://java.sun.com/j2se/1.5.0/download.jsp
          你也可以選擇安裝JDK,JDK不僅包含了運行java應用程序的支持,同時也包含J2SE的開發包。但如果您只是應用的話,我建議您僅下載JRE即可,為什么?因為它小啊:)
          4、JK-apache-2.0.55
          下載地址:
          http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.15/mod_jk-apache-2.0.55.so
          注意jk的版本一定要與你的apache版本相同。Jk下載可以直接到apache.org官網下載,有多種版本,適用于各種操作系統,地址如下:
          http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/
          windows用戶進入win32目錄,不同的tomcat對應不同jk文件擴展名不同,有可能是*.dll,或者*.so,根據你的tomcat版本下載合適的jk版本。

          安裝,軟件的安裝順序可以適當調整,但是jre(jdk)一定要在tomcat之前安裝:
          1、安裝JRE(JDK)
          此處選擇默認安裝即可,(舊版本的JDK安裝完之后需要設置系統的環境變量,JRE和JDK1.5.0以后版本不設置也沒關系。)安裝完成之后你可以選擇按照下面的示例設置你的系統環境變量:我的電腦->右鍵屬性->常規->高級->環境變量
          JAVA_HOME = d:\Java\jre1.5.0_06
          CLASSPATH = .;d:\Java\jre1.5.0_06\lib\dt.jar;d:\Java\jre1.5.0_06\lib\tools.jar
          PATH = d:\Java\jre1.5.0_06\bin
          注意文件路徑要改成你實際安裝的路徑。

          2、Apache安裝
          此處注意,如果你本機已經裝了iis并且占用80端口,務必先在服務中將iis停止或禁用。軟件默認安裝即可。安裝過程中設置Network Domain和Server Name為localhost,設置你的email地址,下方會讓你選擇only for the current user或for all users。默認選擇for all users。這樣Apache就會占用80端口,并且做為一個系統服務開機自運行。
          安裝完成之后,你在瀏覽器中輸入
          http://localhost, 將會看到Apache的成功頁面.Apache的主目錄是d:\Apache\Apache2,此時Apache,已經運行,你可以在窗口的托盤看到他的 圖標,雙擊圖標,在彈開的窗口選擇"Open Apache Monitor",點Stop,停止Apaceh服務,因為下面要安裝Tomcat和JK.

          3、Tomcat安裝
          選擇安裝目錄為了d:\Tomcat,其余為默認安裝.成功后在瀏覽器中輸入
          http://localhost:8080,出現Tomcat頁面表示安裝成功了。關于tomcat的設置已經有很多非常詳細的文章,在此就不再詳述了。

          4、JK的安裝
          把mod_jk_2.0.55.so拷貝到d:\Apache\Apache2\modules\下.

          以上安裝全部完成后,打開cmd命令提示符,運行d:\Apache\Apache2\bin\Apache.exe -t 你將會看到"Syntax OK",表示Apache配置正常.這個命令非常有用,下面在繼續配置Apache的時候還會再次用到。

          配置服務器:

          1、配置Tomcat
          查找目錄下的conf/workers.properties文件,并對比下方文本內容,如有不同以下方內容為準修改。
          workers.tomcat_home=d:\Tomcat #讓mod_jk模塊知道Tomcat的位置
          workers.java_home=d:\Java\jre1.5.0_06 #讓mod_jk模塊知道jre的位置
          ps=\
          worker.list=ajp13 #模塊版本
          worker.ajp13.port=8009 #工作端口,若沒占用則不用修改
          worker.ajp13.host=localhost #本機,若上面的Apache主機不為localhost,作相應修改
          worker.ajp13.type=ajp13 #類型
          worker.ajp13.lbfactor=1 #代理數,不用修改

          如果文件不存在則創建。并填充上述內容。

          2、配置Apache
          打開d:\Apache\Apache2\conf下的httpd.conf,在最后加入下面這段代碼并保存。
          #設置Apache與Tomcat之間的連接,讓Apache遇到jsp文件時,在后臺將其交由Tomcat去處理
          LoadModule jk_module modules/mod_jk_2.0.55.so
          #此處mod_jk的文件為你下載的文件
          JkWorkersFile "d:/Tomcat/conf/workers.properties"
          #指定tomcat監聽配置文件地址
          JkLogFile "d:/Tomcat/logs/mod_jk2.log"
          #指定日志存放位置
          JkLogLevel info

          #設置虛擬主機

          ServerAdmin localhost
          DocumentRoot d:/test1
          #您的站點項目所在路徑,應與tomcat中的目錄設置相同
          ServerName localhost
          DirectoryIndex index.html index.htm index.jsp
          ErrorLog logs/shsc-error_log.txt
          CustomLog logs/shsc-access_log.txt common
          JkMount /servlet/* ajp13
          #讓Apache支持對servlet傳送,用以Tomcat解析
          JkMount /*.jsp ajp13
          #讓Apache支持對jsp傳送,用以Tomcat解析
          JkMount /*.do ajp13
          #讓Apache支持對.do傳送,用以Tomcat解析


          #開頭的行為注釋,可以刪除。此處的配置我是以設置虛擬目錄,重新指定了serverName,DocumentRoot路徑的方式配置站點,實際上, Apache的配置可以非常靈活,你也可以不采用虛擬目錄的方式,而直接去修改站點的默認配置,使用任意文本編輯工具,搜索如ServerName, DocumentRoot,ServerAdmin等相關項,然后將該項的配置根據你的實際情況進行修改即可。我建議大家可以多多嘗試不同的配置,這是一 種很有樂趣的體驗。
          所有的修改完成這后,再次執行d:\Apache\Apache2\bin\Apache.exe -t 如果看到"Syntax OK",說明你所有配置無誤,雙擊窗口的托盤中的圖標,然后點擊Start運行。
          在地址欄中分別輸入
          http://localhost/,與http://localhost:8080/若結果相同,Apache與Tomcat整合成功

          posted @ 2007-08-12 11:11 ricki 閱讀(395) | 評論 (0)編輯 收藏

          一、配置環境

          下載和安裝 JRE 1.5 最新版 (1.5.06)
          下載和安裝 Tomcat 最新版 (5.5.12),假定安裝目錄為 C:\Program Files\Apache Software Foundation\Tomcat 5.5
          二、使 Tomcat 集群配置生效

          修改 Tomcat 安裝目錄\conf\server.xml ,把 Server/Service/Engine/Host 下的 Cluster 結點前后的注釋符(<!-- 和 -->)刪除,并保存
          三、配置第二個 Tomcat 實例

          在 C:\Program Files\Apache Software Foundation\ 下新建目錄 Tomcat 5.5 Instance1
          將 C:\Program Files\Apache Software Foundation\Tomcat 5.5 目錄下的全部內容復制到 C:\Program Files\Apache Software Foundation\Tomcat 5.5 Instance1
          修改新實例的服務器配置文件 (C:\Program Files\Apache Software Foundation\Tomcat 5.5 Instance1\conf\server.xml),把其中的 Server/Service/Connector 的端口更改,以避免和第一個沖突(8080 -> 9080,8009 -> 9009,8443 -> 9443)
          修改 Cluster/Receiver 結點的 tcpListenPort 端口(此端口用于 Session 復制),以避免和第一個沖突(4001 -> 4002)
          注:Tomcat Cluster 默認使用多播來建立成員關系,即兩個實例的多播的地址和端口一樣,就可以互相認為是同一個 Cluster 的成員。

          四、啟動驗證兩個 Tomcat 實例能否正常工作

          直接用程序菜單里的 Monitor Tomcat 來啟動第一個實例(或在服務器里啟動)
          第二個實例啟動稍微麻煩一些,在 C:\Program Files\Apache Software Foundation\Tomcat 5.5 Instance1\Bin 下建一個 startup.bat ,用如下 java 命令來啟動:
          "C:\Program Files\Java\j實re1.5.0_06\bin\java.exe" -jar .\bootstrap.jar -Dcatalina.home="C:\Program Files\Apache Software Foundation\Tomcat 5.5 Instance1" -Dcatalina.base="C:\Program Files\Apache Software Foundation\Tomcat 5.5 Instance1" -Djava.endorsed.dirs="C:\Program Files\Apache Software Foundation\Tomcat 5.5\common\endorsed" -Djava.io.tmpdir="C:\Program Files\Apache Software Foundation\Tomcat 5.5 Instance1\temp" -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file="C:\Program Files\Apache Software Foundation\Tomcat 5.5 Instance1\conf\logging.properties" start

          看起來挺長,其實主要是第二個實例的安裝目錄太長的緣故,直接執行此批處理就可以啟動第二個實例,如果配置正確,應該可以看到集群管理器啟動,并和第一個實例   建立成員關系的信息。

          五、寫一個簡單Web應用,能顯示和設置 Session 屬性值,以供測試

          如果有開發工具,新建一個 Web App ,假設為 TomcatDemo
          新增 index.jsp ,加入如下代碼:
          <%@ page contentType="text/html; charset=UTF-8" import="java.util.*"%>
          <html><head><title>Cluster App Test</title></head>
          <body>
          Server Info: <%out.print(request.getLocalAddr() + " : " + request.getLocalPort());%>
          <%
          out.println("<br> ID " + session.getId());

          // 如果有新的 Session 屬性設置
          String dataName = request.getParameter("dataName");
          if (dataName != null && dataName.length() > 0) {
            String dataValue = request.getParameter("dataValue");
            session.setAttribute(dataName, dataValue);
          }

          out.print("<b>Session 列表</b>");

          Enumeration e = session.getAttributeNames();
          while (e.hasMoreElements()) {
            String name = (String)e.nextElement();
            String value = session.getAttribute(name).toString();
            out.println( name + " = " + value);
            }
          %>
          <form action="index.jsp" method="POST">
            名稱:<input type=text size=20 name="dataName">
            <br>
            值:<input type=text size=20 name="dataValue">
            <br>
            <input type=submit>
            </form>
          </body>
          </html>


          以上代碼主要是顯示服務器信息和 Session 值,并包含一個 Form ,可以隨時新建一個 Session 屬性值

          修改此用應用的 Web.xml ,加入 distributable 屬性,表示 Tomcat 要為此 Web 應用復制 Session  
          <web-app xmlns="
          http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
              <display-name>TomcatDemo</display-name>
              <distributable/>
          </web-app>

          將應用打包成 WAR 文件,分別上現兩個實例的 Tomcat Manager 來部署
          (如果沒有 Java 開發工具,可以直接建立一個 TomcatDemo 的目錄,用 Notepad 將如上的內容復制并保存成 index.jsp,然后在此目錄下新建子目錄 WEB-INF,再用 Notepad 新建一 Web.xml 文件,將上面的代碼復制保存,然后將此目錄壓縮成 Zip 文件,再把后綴改成 .war ,或利用 jar 命令來創建 .war 文件)

          六、測試 Tomcat 集群和 Session 復制的是否工作

          在 IE 中打開第一個實例中的 TomcatDemo (
          http://localhost:8080/TomcatDemo),在 Form 里隨便設置一個 Session 屬性,如 MyName = foo
          將 IE 地址欄中的地址修改為第二個實例中的 TomcatDemo(
          http://localhost:9080/TomcatDemo),刷新,就可以看到注意到 SessionID 不變, MyName 的屬性值已有了
          同樣,如果在第二實例中設置的值,在第一個實例的頁面中也能看到
          注意:必須在同一個 IE 窗口中進行如上測試,以保證是同一個 Session ,如果是兩個窗口,則 Session 可能不同,也互相看不到 Session 復制的結果。

          七、其它工作

          上述只實現了 Session 復制,而沒有實現 Load Balance(負載均衡),這可以利用 Apache 等來實現。

          posted @ 2007-08-09 17:23 ricki 閱讀(420) | 評論 (0)編輯 收藏

               摘要: 在開始做http://133.newsky.cn之前,我已經明白網站的開發與產品開發沒有什么不同。不過在2004年離開微軟中國研發中心Office組的時候,我對網站開發仍一無所知,這主要是因為我之前沒有任何互聯網研發的背景。雖然對傳統軟件產品的研發管理比較有經驗,但從未接觸過Internet相關的項目。   從零開始與網站開發親密接觸 去年我接手第一個網站項目http://www....  閱讀全文

          posted @ 2007-08-09 16:31 ricki 閱讀(353) | 評論 (0)編輯 收藏

          環境說明

                 Apache  :apache_2.0.55     1 個

                 Tomcat:  apache-tomcat-5.5.17 (zip版) 2個

                 mod_jk:: mod_jk-apache-2.0.55.so  1個

          第一部分:負載均衡

              負載均衡,就是apache將客戶請求均衡的分給tomcat1,tomcat2....去處理

             1.安裝apche,tomcat

             http://httpd.apache.org/ 下載Apache 2.0.55

              http://tomcat.apache.org/download-55.cgi 下載tomcat5.5 zip版本(解壓即可,綠色版)

             http://apache.justdn.org/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.15/  下載mod_jk,注意和  apache版本匹配

             按照jdk,我的路徑為:E:\ide\apache\Apache2

             解壓兩份Tomcat, 路徑分別為 E:\ide\tomcat1,E:\ide\tomcat2

          下載mod_jk

          2.gif

          2.修改Apache配置文件http.conf

             在apache安裝目錄下conf目錄中找到http.conf

             在文件最后加上下面一句話就可以了

            include "E:\ide\apache\Apache2\conf\mod_jk.conf"

          2. http.conf 同目錄下新建mod_jk.conf文件,內容如下

          #加載mod_jk Module
          LoadModule jk_module modules/mod_jk-apache-2.0.55.so
          #指定 workers.properties文件路徑
          JkWorkersFile conf/workers.properties
          #指定那些請求交給tomcat處理,"controller"為在workers.propertise里指定的負載分配控制器
          JkMount /*.jsp controller

          3.在http.conf同目錄下新建 workers.properties文件,內容如下

          worker.list = controller,tomcat1,tomcat2  #server 列表
          #========tomcat1========
          worker.tomcat1.port=8009         #ajp13 端口號,在tomcat下server.xml配置,默認8009
          worker.tomcat1.host=localhost  #tomcat的主機地址,如不為本機,請填寫ip地址
          worker.tomcat1.type=ajp13
          worker.tomcat1.lbfactor = 1   #server的加權比重,值越高,分得的請求越多
          #========tomcat2========
          worker.tomcat2.port=9009       #ajp13 端口號,在tomcat下server.xml配置,默認8009
          worker.tomcat2.host=localhost  #tomcat的主機地址,如不為本機,請填寫ip地址
          worker.tomcat2.type=ajp13
          worker.tomcat2.lbfactor = 1   #server的加權比重,值越高,分得的請求越多
          #========controller,負載均衡控制器========
          worker.controller.type=lb
          worker.controller.balanced_workers=tomcat1,tomcat2   #指定分擔請求的tomcat
          worker.controller.sticky_session=1

          4.修改tomcat配置文件server.xml

          如果你在不同電腦上安裝tomcat,tomcat的安裝數量為一個,可以不必修改tomcat配置文件
          我這里是在同一臺電腦上安裝兩個tomcat,所以需要更改其中一個的設置
          打開tomcat2/conf/server.xml文件
                  
                  
                  

          5.編寫一個測試jsp
          建立一個目錄test.里面新建一個test.jsp,內容為
          <%
             System.out.println("===========================");
          %>

          把test放到tomcat1,tomcat2的webapps下

          6.啟動apache,tomcat1,tomcat2,進行測試
          通過 http://localhost/test/test.jsp 訪問,查看tomcat1的窗口,可以看到打印了一行"=========="
          再刷新一次,tomcat2也打印了一條,再刷新,可以看到請求會被tomcat1,tomcat2輪流處理,實現了負載均衡.
                  

          第二部分,配置集群

             只配置負載均衡還不行,還要session復制,也就是說其中任何一個tomcat的添加的session,是要同步復制到其它tomcat, 集群內的tomcat都有相同的session

          1. 修改tomcat1, tomcat2的server.xml,將集群部分配置的在注釋符刪掉,并將tomcat2的4001端口改為4002,以避免與tomcat沖突,當然,如果是兩臺電腦,是不用改端口的,去掉注釋符即可  
                
                
                
                
          2,修改測試項目test

          修改test.jsp,內容如下

          <%@ page contentType="text/html; charset=GBK" %>
          <%@ page import="java.util.*" %>
          <html><head><title>Cluster App Test</title></head>
          <body>
          Server Info:
          <%
          out.println(request.getLocalAddr() + " : " + request.getLocalPort()+"<br>");%>
          <%
            out.println("<br> ID " + session.getId()+"<br>");
           // 如果有新的 Session 屬性設置
            String dataName = request.getParameter("dataName");
            if (dataName != null && dataName.length() > 0) {
               String dataValue = request.getParameter("dataValue");
               session.setAttribute(dataName, dataValue);
            }
          out.print("<b>Session 列表</b>");
          Enumeration e = session.getAttributeNames();
            while (e.hasMoreElements()) {
               String name = (String)e.nextElement();
               String value = session.getAttribute(name).toString();
               out.println( name + " = " + value+"<br>");
                   System.out.println( name + " = " + value);
             }
          %>
            <form action="index.jsp" method="POST">
              名稱:<input type=text size=20 name="dataName">
               <br>
              值:<input type=text size=20 name="dataValue">
               <br>
              <input type=submit>
             </form>
          </body>
          </html>

          然后在test 新建WEB-INF目錄,WEB-INF下新建web.xml,內容如下
          <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
                 <display-name>TomcatDemo</display-name>
                 <distributable/>
          </web-app>

          注意:在你的應用的web.xml加入  <distributable/> 即可
          ok,講test復制到tomcat1,tomcat2的webapps下,重啟apache,tomcat1,tomcat2,輸入網址 http://localhost/test/test.jsp  
          新建一個 名稱為 xiaoluo  ,值為 cdut 的session,提交查詢,新開一個ie窗口,再提交查詢,如圖,可以看到,兩個tomcat 是負載均衡,并且session同步的
                       

          posted @ 2007-08-09 16:14 ricki 閱讀(302) | 評論 (0)編輯 收藏

          僅列出標題
          共5頁: 上一頁 1 2 3 4 5 下一頁 
          主站蜘蛛池模板: 宁明县| 四平市| 酒泉市| 璧山县| 兴海县| 三江| 绥化市| 拜城县| 临西县| 石嘴山市| 山西省| 台东市| 天镇县| 阳春市| 德保县| 建德市| 沿河| 兴文县| 长子县| 平顶山市| 泰来县| 瓮安县| 伊宁市| 金山区| 随州市| 嘉峪关市| 普兰店市| 湖南省| 威远县| 和田县| 玛多县| 北辰区| 扎鲁特旗| 当涂县| 微山县| 张家港市| 镇远县| 鹤峰县| 丰县| 扬州市| 莱阳市|