Apache Camel 是一個非常優(yōu)秀的開源項目,這是一個非常強大的基于規(guī)則的路由以及媒介引擎,該引擎提供了一個基于POJO的 企業(yè)應(yīng)用模式(Enterprise Integration Patterns)的實現(xiàn),你可以采用其異常強大且十分易用的API 來配置其路由或者中介的規(guī)則。
Apache Camel 采用URI來描述各種組件,這樣你可以很方便地與各種傳輸或者消息模塊進行交互,其中包含的模塊有 HTTP, ActiveMQ, JMS, JBI, SCA, MINA or CXF Bus API。 這些模塊是采用可插拔的方式進行工作的。Apache Camel的核心十分小巧你可以很容易地將其集成在各種Java應(yīng)用中。
JavaEye的資深會員jnn (Willem Jiang,姜寧) 是Apache Camel項目主要維護者之一,他是一位非常優(yōu)秀的開源項目開發(fā)者和支持者,JavaEye非常榮幸的采訪了他。
jnn 博客:http://jnn.javaeye.com/
Apache Camel http://camel.apache.org/
FuseSource http://fusesource.com/
CXF 中文郵件組 http://groups.google.com/group/cxf-zh?hl=zh-CN
歡迎大家推薦更多開源項目給我們,支持中國的開源項目發(fā)展,發(fā)站內(nèi)短信給JavaEye管理員或者發(fā)信到webmaster@javaeye.com,謝謝。
Apache Camel 采用URI來描述各種組件,這樣你可以很方便地與各種傳輸或者消息模塊進行交互,其中包含的模塊有 HTTP, ActiveMQ, JMS, JBI, SCA, MINA or CXF Bus API。 這些模塊是采用可插拔的方式進行工作的。Apache Camel的核心十分小巧你可以很容易地將其集成在各種Java應(yīng)用中。
JavaEye的資深會員jnn (Willem Jiang,姜寧) 是Apache Camel項目主要維護者之一,他是一位非常優(yōu)秀的開源項目開發(fā)者和支持者,JavaEye非常榮幸的采訪了他。
jnn 博客:http://jnn.javaeye.com/
Apache Camel http://camel.apache.org/
FuseSource http://fusesource.com/
CXF 中文郵件組 http://groups.google.com/group/cxf-zh?hl=zh-CN
歡迎大家推薦更多開源項目給我們,支持中國的開源項目發(fā)展,發(fā)站內(nèi)短信給JavaEye管理員或者發(fā)信到webmaster@javaeye.com,謝謝。
采訪Apache Camel項目主要維護者之一 jnn 
JavaEye:1.Hi,jnn,非常榮幸能夠采訪你,你可以介紹一下自己為什么要加入Apache Camel項目嗎?
jnn:這個說起來有點話長,在加入Apache Camel之前, 我做有關(guān)Apache CXF的開發(fā)快一年的時間了。當(dāng)時Camel需要和CXF進行集成,于是我就自告奮勇接受了這個任務(wù),參與了Apache Camel的開發(fā)。(具體的過程可以參考我的一篇blog:
開源兩事記)
JavaEye:2.能介紹一下Apache Camel項目嗎? 它的特點,使用的范圍,和同類項目比如Mule相比較的優(yōu)勢?
jnn:對于企業(yè)應(yīng)用來說,由于歷史或者多廠商等原因造成了其系統(tǒng)之間的通訊協(xié)議多樣化,而由于企業(yè)業(yè)務(wù)發(fā)展,這些應(yīng)用系統(tǒng)之間交互需求日益增多。Apache Camel可以幫助大家通過定義簡單的路由規(guī)則來實現(xiàn)不同企業(yè)應(yīng)用之間的互聯(lián)互通。Apache Camel 把不同的企業(yè)應(yīng)用抽象成為Endpoint, 通過URI來對這些Endpoint 進行描述,由于Apache Camel提供了一個基于POJO的企業(yè)應(yīng)用模式(Enterprise Integration Patterns)的實現(xiàn),同時Camel提供了60多個組件來負(fù)責(zé)具體的傳輸協(xié) 議,這樣用戶可以通過簡單的消息路由規(guī)則定義,就可以實現(xiàn)各應(yīng)用系統(tǒng)之間交互。
簡單來說如果你有一個應(yīng)用只提供一個JMS接口, 而你的另一個應(yīng)用提供 WebServices接口,那你的路由規(guī)則可以這么定義:
from("jms://xxxx").to("cxf://xxxx)
【注】Camel通過CXF提供了對WebService的支持。
當(dāng)然你有可能需要對JMS接口過來的消息做一些處理在轉(zhuǎn)發(fā)給WebService應(yīng)用。
那你只需在兩個節(jié)點之間要加入一個processor來實現(xiàn)你需要做的處理就行了
from("jms://xxxx").processor(new MyProcessor()).to("cxf://xxxx")
由上面的例子可以看到Camel的路由規(guī)則很直觀簡單,你可以像寫Java代碼一樣定義路由規(guī)則。這得益于Camel的創(chuàng)建者 James Strachan(他也是Groovy的創(chuàng)建者)的貢獻。
當(dāng)然Camel還提供了其他方式來描述路由規(guī)則, 例如Spring 配置文件, Scala等。
目前市面上有不少的同類開源產(chǎn)品, 例如 Spring Integration, Mule等。
Camel與他們相比有最大的不同就是它十分小巧,而且不會讓程序員失去對代碼的控制。你可以把它當(dāng)作一個小的應(yīng)用庫,而不是一個大的運行容器。 這樣你可以很輕松 地將其集成到你的Web容器,JBI容器, 或者OSGi容器中。你可以像寫Java代碼到方式編輯你的路由規(guī)則,IDE可以取保你在短時間寫出正確 的規(guī)則。
還有Camel和Apache ActiveMQ,CXF,ServiceMix有很好的集成,而這些項目都是 企業(yè)應(yīng)用開發(fā)經(jīng)常會接觸到的。
JavaEye:3.現(xiàn)在大概有多少用戶使用Apache Camel項目。
jnn:這個問題比較難直接回答, 因為 Apache Camel是開源項目,大家可以在不通知我 們的情況下,直接使用, 所以我們沒有直接的數(shù)據(jù)來回答這個問題。現(xiàn)在 camel.apache.org 每天有1~2K的獨立IP訪問,還有 Apache Camel 的郵件 列表的活躍程度很高,目前排在Apache項目中的第七位http://www.nabble.com/Apache-f90.html
JavaEye:4.Apache Camel 2.0 M3版本剛剛于7月25日發(fā)布,2.0正式最終版將在什么什么發(fā)布? 2.0版本相比之前的版本有哪些重大改進。
jnn:Apache的Release風(fēng)格是沒有一個具體的時間的, 如果開發(fā)者覺得差不多了,就可 以發(fā)布。 目前Camel 2.0的開發(fā)基本就緒,目前我們正在修復(fù) 2.0 M3發(fā)布之后發(fā) 現(xiàn)的bug,如果順利的話,2.0版本應(yīng)該在下個月就能發(fā)布了。
Camel2.0 和 Camel 1.x相比我們簡化了API的設(shè)計,添加了很多新的組件,同時提 供了對OSGi的集成支持, 具體大家可以參考這個鏈接:http://camel.apache.org/camel-200-release.html
JavaEye:5.Apache Camel項目的roadmap是什么?近期遠(yuǎn)期的開發(fā)計劃是什么?
jnn:Apache 項目開發(fā)是通過郵件來驅(qū)動的,我們沒有項目經(jīng)理來給我們指定具體的 roadmap。很多Feature都是在和用戶的郵件討論中形成的。目前我們規(guī)劃的還是Camel 2.0部 分的內(nèi)容http://camel.apache.org/camel-20-design.html,歡迎大家加入Camel需求討論中來http://www.nabble.com/Camel---Users-f36428.htmlz。
JavaEye:6.能否請你介紹一下Apache Camel的支持組件,以及開源產(chǎn)品和Fuse這樣商業(yè)產(chǎn)品之間的區(qū)別嗎?
jnn:Camel 支持的組件有ActiveMQ,AMQP,Atom,Bean,Browse,Cometd,CXF 等,所有詳細(xì)支持的組件請看這個頁面: http://camel.apache.org/components.html,這里面還有一些Camel基本概念的介紹 http://jnn.javaeye.com/category/27938。我簡單給你說一下開源產(chǎn)品和Fuse這樣商業(yè)產(chǎn)品兩者的區(qū)別吧:開源軟件如果出現(xiàn)問題了,很難得到及時的修正, 因為你很難去推動開發(fā)人員去完成你的需求,如果是商業(yè)產(chǎn)品, 有一個契約關(guān)系, 這樣可以保證你的問題能夠及時被修正。還有商業(yè)產(chǎn)品有一整套的測試發(fā)布管理機制,來保證產(chǎn)品質(zhì)量。 而且我們的Fuse套件是集成了Apache Servicemix, ActiveMQ, CXF , Camel, 它們之間的版本關(guān)系是一致的。 而且目前Fuse套件會每個月做一次Release, 比起apache 的release要快很多。還有就是Fuse套件在Apache項目之上還提供了一些擴展的支持, 例如Fuse MR就提供了支持一些商業(yè)產(chǎn)品的支持,例如MS Queue, Progress Actiional 等。有Fuse套件本身也是開源的,只是使用的軟件許可和Apache的軟件許可不同。Apache的軟件許可允許你將Apache軟件打包到你的商業(yè)產(chǎn)品中,你不需要為此付任何費用。Fuse套件不允許你將Fuse套件打包到你的商業(yè)產(chǎn)品中, 當(dāng)然這是出于保護商業(yè)利益的角度上來說的。目前Fuse的測試是運行在6個操作系統(tǒng)平臺上, 除了包含常規(guī)的Unit test, 和Integration Test, 還包含CPI test。這是一般開源軟件項目不具備的。還有Fuse套件有專門的CS 支持隊伍。
JavaEye:7.請問,你加入Apache Camel項目大概有多長時間了?你主要負(fù)責(zé)哪部分的開發(fā)?
jnn:我是在2007年7月的時候加入 Apache Camel項目開發(fā)的, 到現(xiàn)在也有2年的時間了。Apache開源項目的開發(fā)比較松散,你可以選擇你自己感興趣的內(nèi)容工作,很難說哪塊代碼是由你負(fù)責(zé)開發(fā)的(誰都可以過來修改你的代碼
), 就目前的情況來 說 camel-cxf,camel-osgi 組件的開發(fā)和維護的主要工作由我來完成。
JavaEye:8.請問,你平均一周花多長時間在apache camel項目上?你覺得參與這個項目,最大的收獲是什么?
jnn:由于我是全職做Apache Camel商業(yè)版本的Fuse MR的開發(fā),所以基本上每周要花 20~30小時做與Apache Camel相關(guān)的工作,其他時間,我有可能會去做與Fuse相關(guān) 的開發(fā)支持工作。
參與這個項目的最大收獲就是接觸到了世界級的開發(fā)者,打開了我的眼界,當(dāng)然也從他們身上學(xué)到了不少的東西。
JavaEye:9.你對國內(nèi)的開發(fā)人員參與開源項目的現(xiàn)狀有什么評價?你能對希望加入國際開源項目的開發(fā)者提一些建議嗎?
jnn:去年年底的時候,我參加過Apache在北京組織的一次meet up,就Apache項目的參 與者來說在中國的開發(fā)者很少,好像只有我們之外就是Intel參與的Harmony項目的 成員。我曾經(jīng)寫過一篇blog提到國內(nèi)的開源現(xiàn)狀,我覺得如果大家想?yún)⑴c國際開源項目的開發(fā),需要轉(zhuǎn)變一個觀念,就是我們要真正融入到開源社區(qū)中來。
開源的最大好處就是沒有代碼壁壘, 但是光有免費的代碼是不夠的, 如果你想用好開源軟件,你需要真正融入到開源社區(qū)中來, 你可以在這里問問題, 提交 bug,或者補丁, 文檔。 其實只要你愿意,就可以加入到國際開源項目開發(fā)。
對于在校大學(xué)生來說,還有一個途徑可以幫助你加入到國際開源項目的開發(fā),就是參加Google舉辦的Summer of Code。目前Google和各大開源組織都有聯(lián)系,每年資助幾千名世界各地的學(xué)生參與開源項目的開發(fā)。今年夏天在Apache參加GSoC的中國學(xué)生大概有12個人,大概占今年Apache GSoC整個項目人數(shù)的三分之一。
JavaEye:10.能介紹Apache Camel的開發(fā)團隊嗎?您目前是通過SOHO的方式工作嗎?這種工作方式感覺如何?
jnn:整個團隊有4,5個人,查看團隊介紹:http://fusesource.com/community/apache-committers-and-fuse/。我們這比較特殊一點, 單位里同事很分散,在不同的地區(qū),大家都在家辦公。每個星期有電話會議,通過語音,郵件和其他方式交流。經(jīng)常在家工作會雖然有孤單感,這是優(yōu)點也是缺點,還有就是我們和國外的同事有時差, 有時候晚上也得干活, 所以干活和平時的生活分得不是很清楚。不過,現(xiàn)在我家女兒剛3個月, 我很享受在家工作的時間。另外,我們這邊同事(前同事)聯(lián)系還是比較緊密的, 基本上每個禮拜都會聚會一下。
JavaEye:11.你平時和國外的同事都是用英文交流嗎?很多程序員技術(shù)很好,但是覺得英文太難,你有什么建議嗎?
jnn:是的,和國外同事交流幾乎是全英文環(huán)境。這個就是要多寫多練。 其實我們的讀寫能力還是可以的,就是很少有機會直接和老外面對面的溝通。我剛開始的時候?qū)慐mail也很痛苦, 一封信得花2個小時左右, 現(xiàn)在寫得多了就好很多。目前直接和老外對話到機會還不多, 平時都是使用IRC, 和Email。 所以一定得多練習(xí),當(dāng)然開始到過程比較困難,只要你能堅持持續(xù)的使用,練習(xí)英文,練習(xí)口語,堅持半年以上,就挺過來,你的英文水平就能有很大的進步。關(guān)鍵要堅持。
JavaEye:12.作為一個JavaEye老會員,你對JavaEye網(wǎng)站有什么建議和意見嗎?
jnn:JavaEye目前的受眾很大,在業(yè)界的影響力也很大。我發(fā)現(xiàn)現(xiàn)在的JavaEye除了論壇也開始涉足媒體了,希望網(wǎng)站能夠繼續(xù)保持這個勢頭,繼續(xù)成為開發(fā)者心目中的最棒的軟件開發(fā)交流社區(qū)。
jnn:這個說起來有點話長,在加入Apache Camel之前, 我做有關(guān)Apache CXF的開發(fā)快一年的時間了。當(dāng)時Camel需要和CXF進行集成,于是我就自告奮勇接受了這個任務(wù),參與了Apache Camel的開發(fā)。(具體的過程可以參考我的一篇blog:
開源兩事記)
JavaEye:2.能介紹一下Apache Camel項目嗎? 它的特點,使用的范圍,和同類項目比如Mule相比較的優(yōu)勢?
jnn:對于企業(yè)應(yīng)用來說,由于歷史或者多廠商等原因造成了其系統(tǒng)之間的通訊協(xié)議多樣化,而由于企業(yè)業(yè)務(wù)發(fā)展,這些應(yīng)用系統(tǒng)之間交互需求日益增多。Apache Camel可以幫助大家通過定義簡單的路由規(guī)則來實現(xiàn)不同企業(yè)應(yīng)用之間的互聯(lián)互通。Apache Camel 把不同的企業(yè)應(yīng)用抽象成為Endpoint, 通過URI來對這些Endpoint 進行描述,由于Apache Camel提供了一個基于POJO的企業(yè)應(yīng)用模式(Enterprise Integration Patterns)的實現(xiàn),同時Camel提供了60多個組件來負(fù)責(zé)具體的傳輸協(xié) 議,這樣用戶可以通過簡單的消息路由規(guī)則定義,就可以實現(xiàn)各應(yīng)用系統(tǒng)之間交互。
簡單來說如果你有一個應(yīng)用只提供一個JMS接口, 而你的另一個應(yīng)用提供 WebServices接口,那你的路由規(guī)則可以這么定義:
from("jms://xxxx").to("cxf://xxxx)
【注】Camel通過CXF提供了對WebService的支持。
當(dāng)然你有可能需要對JMS接口過來的消息做一些處理在轉(zhuǎn)發(fā)給WebService應(yīng)用。
那你只需在兩個節(jié)點之間要加入一個processor來實現(xiàn)你需要做的處理就行了
from("jms://xxxx").processor(new MyProcessor()).to("cxf://xxxx")
由上面的例子可以看到Camel的路由規(guī)則很直觀簡單,你可以像寫Java代碼一樣定義路由規(guī)則。這得益于Camel的創(chuàng)建者 James Strachan(他也是Groovy的創(chuàng)建者)的貢獻。
當(dāng)然Camel還提供了其他方式來描述路由規(guī)則, 例如Spring 配置文件, Scala等。
目前市面上有不少的同類開源產(chǎn)品, 例如 Spring Integration, Mule等。
Camel與他們相比有最大的不同就是它十分小巧,而且不會讓程序員失去對代碼的控制。你可以把它當(dāng)作一個小的應(yīng)用庫,而不是一個大的運行容器。 這樣你可以很輕松 地將其集成到你的Web容器,JBI容器, 或者OSGi容器中。你可以像寫Java代碼到方式編輯你的路由規(guī)則,IDE可以取保你在短時間寫出正確 的規(guī)則。
還有Camel和Apache ActiveMQ,CXF,ServiceMix有很好的集成,而這些項目都是 企業(yè)應(yīng)用開發(fā)經(jīng)常會接觸到的。
JavaEye:3.現(xiàn)在大概有多少用戶使用Apache Camel項目。
jnn:這個問題比較難直接回答, 因為 Apache Camel是開源項目,大家可以在不通知我 們的情況下,直接使用, 所以我們沒有直接的數(shù)據(jù)來回答這個問題。現(xiàn)在 camel.apache.org 每天有1~2K的獨立IP訪問,還有 Apache Camel 的郵件 列表的活躍程度很高,目前排在Apache項目中的第七位http://www.nabble.com/Apache-f90.html
JavaEye:4.Apache Camel 2.0 M3版本剛剛于7月25日發(fā)布,2.0正式最終版將在什么什么發(fā)布? 2.0版本相比之前的版本有哪些重大改進。
jnn:Apache的Release風(fēng)格是沒有一個具體的時間的, 如果開發(fā)者覺得差不多了,就可 以發(fā)布。 目前Camel 2.0的開發(fā)基本就緒,目前我們正在修復(fù) 2.0 M3發(fā)布之后發(fā) 現(xiàn)的bug,如果順利的話,2.0版本應(yīng)該在下個月就能發(fā)布了。
Camel2.0 和 Camel 1.x相比我們簡化了API的設(shè)計,添加了很多新的組件,同時提 供了對OSGi的集成支持, 具體大家可以參考這個鏈接:http://camel.apache.org/camel-200-release.html
JavaEye:5.Apache Camel項目的roadmap是什么?近期遠(yuǎn)期的開發(fā)計劃是什么?
jnn:Apache 項目開發(fā)是通過郵件來驅(qū)動的,我們沒有項目經(jīng)理來給我們指定具體的 roadmap。很多Feature都是在和用戶的郵件討論中形成的。目前我們規(guī)劃的還是Camel 2.0部 分的內(nèi)容http://camel.apache.org/camel-20-design.html,歡迎大家加入Camel需求討論中來http://www.nabble.com/Camel---Users-f36428.htmlz。
JavaEye:6.能否請你介紹一下Apache Camel的支持組件,以及開源產(chǎn)品和Fuse這樣商業(yè)產(chǎn)品之間的區(qū)別嗎?
jnn:Camel 支持的組件有ActiveMQ,AMQP,Atom,Bean,Browse,Cometd,CXF 等,所有詳細(xì)支持的組件請看這個頁面: http://camel.apache.org/components.html,這里面還有一些Camel基本概念的介紹 http://jnn.javaeye.com/category/27938。我簡單給你說一下開源產(chǎn)品和Fuse這樣商業(yè)產(chǎn)品兩者的區(qū)別吧:開源軟件如果出現(xiàn)問題了,很難得到及時的修正, 因為你很難去推動開發(fā)人員去完成你的需求,如果是商業(yè)產(chǎn)品, 有一個契約關(guān)系, 這樣可以保證你的問題能夠及時被修正。還有商業(yè)產(chǎn)品有一整套的測試發(fā)布管理機制,來保證產(chǎn)品質(zhì)量。 而且我們的Fuse套件是集成了Apache Servicemix, ActiveMQ, CXF , Camel, 它們之間的版本關(guān)系是一致的。 而且目前Fuse套件會每個月做一次Release, 比起apache 的release要快很多。還有就是Fuse套件在Apache項目之上還提供了一些擴展的支持, 例如Fuse MR就提供了支持一些商業(yè)產(chǎn)品的支持,例如MS Queue, Progress Actiional 等。有Fuse套件本身也是開源的,只是使用的軟件許可和Apache的軟件許可不同。Apache的軟件許可允許你將Apache軟件打包到你的商業(yè)產(chǎn)品中,你不需要為此付任何費用。Fuse套件不允許你將Fuse套件打包到你的商業(yè)產(chǎn)品中, 當(dāng)然這是出于保護商業(yè)利益的角度上來說的。目前Fuse的測試是運行在6個操作系統(tǒng)平臺上, 除了包含常規(guī)的Unit test, 和Integration Test, 還包含CPI test。這是一般開源軟件項目不具備的。還有Fuse套件有專門的CS 支持隊伍。
JavaEye:7.請問,你加入Apache Camel項目大概有多長時間了?你主要負(fù)責(zé)哪部分的開發(fā)?
jnn:我是在2007年7月的時候加入 Apache Camel項目開發(fā)的, 到現(xiàn)在也有2年的時間了。Apache開源項目的開發(fā)比較松散,你可以選擇你自己感興趣的內(nèi)容工作,很難說哪塊代碼是由你負(fù)責(zé)開發(fā)的(誰都可以過來修改你的代碼

JavaEye:8.請問,你平均一周花多長時間在apache camel項目上?你覺得參與這個項目,最大的收獲是什么?
jnn:由于我是全職做Apache Camel商業(yè)版本的Fuse MR的開發(fā),所以基本上每周要花 20~30小時做與Apache Camel相關(guān)的工作,其他時間,我有可能會去做與Fuse相關(guān) 的開發(fā)支持工作。
參與這個項目的最大收獲就是接觸到了世界級的開發(fā)者,打開了我的眼界,當(dāng)然也從他們身上學(xué)到了不少的東西。
JavaEye:9.你對國內(nèi)的開發(fā)人員參與開源項目的現(xiàn)狀有什么評價?你能對希望加入國際開源項目的開發(fā)者提一些建議嗎?
jnn:去年年底的時候,我參加過Apache在北京組織的一次meet up,就Apache項目的參 與者來說在中國的開發(fā)者很少,好像只有我們之外就是Intel參與的Harmony項目的 成員。我曾經(jīng)寫過一篇blog提到國內(nèi)的開源現(xiàn)狀,我覺得如果大家想?yún)⑴c國際開源項目的開發(fā),需要轉(zhuǎn)變一個觀念,就是我們要真正融入到開源社區(qū)中來。
開源的最大好處就是沒有代碼壁壘, 但是光有免費的代碼是不夠的, 如果你想用好開源軟件,你需要真正融入到開源社區(qū)中來, 你可以在這里問問題, 提交 bug,或者補丁, 文檔。 其實只要你愿意,就可以加入到國際開源項目開發(fā)。
對于在校大學(xué)生來說,還有一個途徑可以幫助你加入到國際開源項目的開發(fā),就是參加Google舉辦的Summer of Code。目前Google和各大開源組織都有聯(lián)系,每年資助幾千名世界各地的學(xué)生參與開源項目的開發(fā)。今年夏天在Apache參加GSoC的中國學(xué)生大概有12個人,大概占今年Apache GSoC整個項目人數(shù)的三分之一。
JavaEye:10.能介紹Apache Camel的開發(fā)團隊嗎?您目前是通過SOHO的方式工作嗎?這種工作方式感覺如何?
jnn:整個團隊有4,5個人,查看團隊介紹:http://fusesource.com/community/apache-committers-and-fuse/。我們這比較特殊一點, 單位里同事很分散,在不同的地區(qū),大家都在家辦公。每個星期有電話會議,通過語音,郵件和其他方式交流。經(jīng)常在家工作會雖然有孤單感,這是優(yōu)點也是缺點,還有就是我們和國外的同事有時差, 有時候晚上也得干活, 所以干活和平時的生活分得不是很清楚。不過,現(xiàn)在我家女兒剛3個月, 我很享受在家工作的時間。另外,我們這邊同事(前同事)聯(lián)系還是比較緊密的, 基本上每個禮拜都會聚會一下。
JavaEye:11.你平時和國外的同事都是用英文交流嗎?很多程序員技術(shù)很好,但是覺得英文太難,你有什么建議嗎?
jnn:是的,和國外同事交流幾乎是全英文環(huán)境。這個就是要多寫多練。 其實我們的讀寫能力還是可以的,就是很少有機會直接和老外面對面的溝通。我剛開始的時候?qū)慐mail也很痛苦, 一封信得花2個小時左右, 現(xiàn)在寫得多了就好很多。目前直接和老外對話到機會還不多, 平時都是使用IRC, 和Email。 所以一定得多練習(xí),當(dāng)然開始到過程比較困難,只要你能堅持持續(xù)的使用,練習(xí)英文,練習(xí)口語,堅持半年以上,就挺過來,你的英文水平就能有很大的進步。關(guān)鍵要堅持。
JavaEye:12.作為一個JavaEye老會員,你對JavaEye網(wǎng)站有什么建議和意見嗎?
jnn:JavaEye目前的受眾很大,在業(yè)界的影響力也很大。我發(fā)現(xiàn)現(xiàn)在的JavaEye除了論壇也開始涉足媒體了,希望網(wǎng)站能夠繼續(xù)保持這個勢頭,繼續(xù)成為開發(fā)者心目中的最棒的軟件開發(fā)交流社區(qū)。
安徽新華電腦學(xué)校專業(yè)職業(yè)規(guī)劃師為你提供更多幫助【在線咨詢】