Read Sean

          Read me, read Sean.
          posts - 508, comments - 655, trackbacks - 9, articles - 4


          http://www.extremeplanner.com/blog/2007/02/managing-distributed-software-teams.html

          這篇blog文章講的是如何管理分布式的軟件開(kāi)發(fā)團(tuán)隊(duì)。現(xiàn)如今許許多多的軟件開(kāi)發(fā)團(tuán)隊(duì)都面臨跨辦公室、跨樓層、甚至是跨地域、跨時(shí)區(qū)的協(xié)同合作開(kāi)發(fā),一個(gè)完整的團(tuán)隊(duì)被拆散成2個(gè)或者更多的小團(tuán)隊(duì),如何管理好這樣的“分布式”團(tuán)隊(duì),值得我們思考。

          這篇blog的作者給我們開(kāi)了個(gè)好頭,他整理了如下幾點(diǎn):
          1- 讓開(kāi)發(fā)人員結(jié)對(duì)完成設(shè)計(jì)和編碼,讓組員保持溝通;
          2- 讓項(xiàng)目的信息可以在線看到;
          3- 周期性的讓組員面對(duì)面交流;
          4- 每天都開(kāi)會(huì),會(huì)議不必很正式很長(zhǎng),主要目的是讓所有人都對(duì)項(xiàng)目現(xiàn)狀、自己的工作和組員們遇到的困難有所了解;
          5- 使用多種溝通和交流的工具/平臺(tái),如電話、IM、blog、Wiki。

          我覺(jué)得尤為重要的是:
          1- 把項(xiàng)目信息放在一個(gè)方便的、大家都能看到的地方,并保持更新,這個(gè)可以通過(guò)Wiki來(lái)做,關(guān)鍵是需要專人維護(hù),Wiki是死的人是活的,Wiki有多大價(jià)值完全在于維護(hù)它的人給它多少信息如何組織這些信息;
          2- 保持溝通的暢通,隨時(shí)掌握?qǐng)F(tuán)隊(duì)其他人的現(xiàn)狀和遇到的問(wèn)題,也讓他人掌握自己的進(jìn)展和困難,這就體現(xiàn)出daily meeting的重要。


          posted @ 2007-02-17 16:59 laogao 閱讀(422) | 評(píng)論 (0)編輯 收藏


          http://www.nytimes.com/2007/02/15/business/worldbusiness/15toyota.html

          來(lái)自紐約時(shí)報(bào)的文章: "The ‘Toyota Way’ Is Translated for a New Generation of Foreign Managers"。在豐田全球擴(kuò)張的過(guò)程中,在全球各地都建立了分支機(jī)構(gòu)和生產(chǎn)工廠,雇傭了大量當(dāng)?shù)氐墓と撕凸芾砣藛T,如何將豐田多年積累的所謂“豐田模式”貫徹到所有海外工廠的日常管理,成為了一項(xiàng)頗具挑戰(zhàn)的工作。

          豐田模式,如果我的理解沒(méi)有錯(cuò),其最核心最基本的概念是“集體思考”,強(qiáng)調(diào)可視性和持續(xù)改進(jìn)。展開(kāi)來(lái)說(shuō),比較有趣的幾點(diǎn):
          1- 問(wèn)題是大家共同的,有問(wèn)題大家一起解決。
          2- 在出現(xiàn)問(wèn)題的現(xiàn)場(chǎng)解決問(wèn)題而不是在辦公桌。
          3- 任何人都可以指手畫(huà)腳,發(fā)現(xiàn)質(zhì)量問(wèn)題,工人有權(quán)直接停掉生產(chǎn)線。
          4- 持續(xù)發(fā)現(xiàn)問(wèn)題并解決。
          5- 建立共識(shí)。
          6- 對(duì)人,尤其是一線工人的尊重。
          7- 危機(jī)意識(shí)。

          “豐田模式”有很多概念來(lái)自日本本土文化,并不能簡(jiǎn)單的復(fù)制。如今很多生產(chǎn)企業(yè)已經(jīng)在活學(xué)活用豐田模式,把適用的部分應(yīng)用到日常的開(kāi)發(fā)工作中。那么對(duì)于軟件開(kāi)發(fā)的企業(yè)和團(tuán)隊(duì),有什么可以借鑒的經(jīng)驗(yàn)?

          對(duì)于一個(gè)團(tuán)隊(duì)的軟件產(chǎn)品或者項(xiàng)目組產(chǎn)出的代碼/文檔等提交件,首先是共同擁有,功勞是大家的,出現(xiàn)的問(wèn)題也是大家的;其次是大家需要一個(gè)很方便很直接的途徑看到團(tuán)隊(duì)的目標(biāo)和當(dāng)前的問(wèn)題;對(duì)于發(fā)現(xiàn)的問(wèn)題,團(tuán)隊(duì)任何人都有權(quán)指手畫(huà)腳,甚至叫停整個(gè)開(kāi)發(fā)來(lái)解決這些問(wèn)題。

          只有共同擁有和擔(dān)當(dāng),才能最大化團(tuán)隊(duì)所有人的責(zé)任感和成就感;只有大家都清楚的看到共同的目標(biāo),看到需要面對(duì)的困難和問(wèn)題,才能有目的的工作;當(dāng)有人發(fā)現(xiàn)團(tuán)隊(duì)出現(xiàn)問(wèn)題,遇到困難,必須有一個(gè)合理的途徑報(bào)告和解決。并且一個(gè)團(tuán)隊(duì)?wèi)?yīng)該有這種鼓勵(lì)和包容“指手畫(huà)腳”的文化,鼓勵(lì)大家發(fā)現(xiàn)問(wèn)題,持續(xù)改進(jìn)。

          這里面可能最難被接受的一點(diǎn)就是任何人都可以對(duì)發(fā)現(xiàn)的問(wèn)題指手畫(huà)腳并不惜停掉整個(gè)開(kāi)發(fā)。這一開(kāi)始看上去有些過(guò)激,但是細(xì)想起來(lái)則很有深意:叫停的權(quán)力帶來(lái)的最直接的好處是最終產(chǎn)品和提交件的質(zhì)量,可能有不少人認(rèn)為軟件質(zhì)量并沒(méi)有那么嚴(yán)重,或者覺(jué)得為了一點(diǎn)點(diǎn)質(zhì)量問(wèn)題影響整個(gè)進(jìn)度不值得,但是叫停的權(quán)力的真正威力來(lái)自它隱含的東西。當(dāng)所有人都明白質(zhì)量的重要性,也都明白一旦停產(chǎn),帶來(lái)的嚴(yán)重后果就是整個(gè)進(jìn)度的delay,整個(gè)團(tuán)隊(duì)的效率和產(chǎn)出都會(huì)受到牽連,大家就會(huì)很小心的遵守開(kāi)發(fā)的規(guī)范,大家對(duì)待自己的產(chǎn)出也更加有責(zé)任感,讓“壞分子”和“懶惰”無(wú)處容身。一旦叫停的權(quán)力成為團(tuán)隊(duì)文化的一部分,團(tuán)隊(duì)也就自然而然走上了持續(xù)改進(jìn)的道路。


          posted @ 2007-02-16 17:39 laogao 閱讀(804) | 評(píng)論 (0)編輯 收藏


          http://www.antoniocangiano.com/articles/2007/02/10/top-10-ruby-on-rails-performance-tips

          這是一篇關(guān)于提高RoR應(yīng)用性能的文章,提高RoR性能有兩個(gè)途徑,一個(gè)是服務(wù)器端配置,一個(gè)是在Rails這一塊的調(diào)整,此文側(cè)重于后者。主要的內(nèi)容包括:

          1- 在Ruby代碼級(jí)別采用更優(yōu)的方案;
          2- 充分利用緩存;
          3- 充分挖掘數(shù)據(jù)庫(kù)潛力;
          4- 合理使用finder查找函數(shù);
          5- 合并數(shù)據(jù)庫(kù)事務(wù);
          6- 控制好你的控制器,不要濫用filters和實(shí)例變量;
          7- 不要過(guò)度使用helpers,考慮HTML;
          8- 合理配置日志;
          9- 給你的Ruby GC打補(bǔ)丁;
          10- 不鼓吹"premature optimization",但是盡可能帶有性能考慮來(lái)進(jìn)行編碼。

          大家覺(jué)得對(duì)于RoR的應(yīng)用,上述這些說(shuō)到點(diǎn)子上了嗎?感覺(jué)RoR在性能調(diào)優(yōu)上我們積累的經(jīng)驗(yàn)還不是很多,我有點(diǎn)擔(dān)心,雖然上面有很多好的點(diǎn)子可以借鑒,文中提到的某些"強(qiáng)心劑"是否真的值得推廣?尤其是針對(duì)數(shù)據(jù)庫(kù)的那些"quick-and-dirty"的做法。

          posted @ 2007-02-11 12:55 laogao 閱讀(531) | 評(píng)論 (0)編輯 收藏


          JBoss的創(chuàng)始人Marc Fleury選擇離開(kāi)去年4月成功并購(gòu)JBoss的Red Hat。網(wǎng)上大大小小的報(bào)道已經(jīng)鋪天蓋地,不過(guò)我推薦大家讀這一篇來(lái)自Linux-Watch的Steven J. Vaughan Nichols的文章:

          We haven't heard the last of Marc Fleury

          離開(kāi)Red Hat的Marc Fleury會(huì)從大家的視線中消失嗎?Steven J. Vaughan Nichols大膽的預(yù)測(cè)Marc Fleury將重操開(kāi)源軟件的舊業(yè),不過(guò)不會(huì)是JBoss的克隆,而是一家Ruby on Rails的公司。


          posted @ 2007-02-10 13:53 laogao 閱讀(581) | 評(píng)論 (0)編輯 收藏


          自從筆者在BlogJava開(kāi)blog以來(lái),承蒙大家的支持和鼓勵(lì),兩年的時(shí)間內(nèi)隨筆已經(jīng)接近400篇,當(dāng)然也要感謝dudu為大家無(wú)償?shù)奶峁┝税ú┛蛨@在內(nèi)的人氣blog空間。

          為了更好的服務(wù)于我的讀者,與更多熱愛(ài)Java熱愛(ài)技術(shù)的朋友分享我的心得體會(huì)、交流經(jīng)驗(yàn),我已在JavaEye開(kāi)通分號(hào),從現(xiàn)在起,我的這兩個(gè)blog將同步更新。歡迎大家bookmark我的新地址:http://readsean.javaeye.com/[rss]。


          posted @ 2007-02-10 13:19 laogao 閱讀(429) | 評(píng)論 (1)編輯 收藏


          很多開(kāi)源框架的官方下載都會(huì)提供MD5的驗(yàn)證碼,用于驗(yàn)證下載的完整性,確保用戶下載的版本和發(fā)布者期望的版本是一致的,防止有人惡意篡改,尤其是存在很多鏡像站點(diǎn)的時(shí)候。使用Unix系統(tǒng)的朋友可以通過(guò)命令行直接md5 + 文件名,或者md5sum + 文件名取得本地文件的md5驗(yàn)證碼。使用Windows的朋友也能在網(wǎng)上找到不止一個(gè)提供MD5的工具。

          不過(guò)既然Ruby在Unix/Windows/Mac上都能跑,那Ruby有沒(méi)有提供MD5的功能讓我們可以以一致的方式取得MD5 checksum呢?答案是有。
          1. #!/usr/bin/env ruby  
          2. require 'digest/md5'  
          3. ARGV.each do |f|  
          4.     checksum = Digest::MD5.hexdigest(File.read(f))  
          5.     puts "#{f}:\t#{checksum}"  
          6. end  

          比如我們到http://struts.apahce.org/下載1.2.9版本Struts的源碼,下載到本地后,可以用上面的腳本獲取相應(yīng)的MD5碼,輸出為:

          struts-1.2.9-src.tar.gz   63ff6e570410876412f8fd97749b2415

          拿后面這個(gè)63ff6e570410876412f8fd97749b2415和官方網(wǎng)站上相應(yīng)的MD5 checksum作比對(duì)看是否一致,即可認(rèn)定下載到本地的版本是否完整。


          posted @ 2007-02-10 12:53 laogao 閱讀(2636) | 評(píng)論 (0)編輯 收藏


          今天在ZDNet上看到一篇挺有意思的blog,為什么Windows比Linux更難實(shí)現(xiàn)系統(tǒng)安全。文章舉例Windows+IIS和Linux+Apache處理同樣一個(gè)簡(jiǎn)單的帶有圖片的網(wǎng)頁(yè),在后臺(tái)的系統(tǒng)調(diào)用圖表大不一樣。系統(tǒng)調(diào)用越多,層次結(jié)構(gòu)越復(fù)雜,就越難實(shí)現(xiàn)安全性。

          http://blogs.zdnet.com/threatchaos/?p=311

          posted @ 2007-02-08 08:29 laogao 閱讀(514) | 評(píng)論 (0)編輯 收藏


          昨天試用一個(gè)WebService,需要確定是否正確安裝配置,用Ruby來(lái)做真的很方便,一個(gè)本來(lái)在Java中頗為麻煩的事,到了Ruby(irb)里面,變得很簡(jiǎn)單。你要做的,就是打開(kāi)irb,依次敲入以下代碼:
          1. require 'soap/wsdlDriver'    
          2. URL = 'http://somedomain/someapp/somewsdl'    
          3. soap_client = SOAP::WSDLDriverFactory.new(URL).create_rpc_driver  

          接下來(lái)就可以直接通過(guò)soap_client訪問(wèn)這個(gè)WebService的方法了,如:
          1. soap_client.version  
          2. soap_client.get_user_roles('user')  

          如果你指定
          1. soap_client.wiredump_file_base = 'log_file'  

          系統(tǒng)還能幫你記錄在使用WebService接口時(shí)所有發(fā)出和收到的xml消息。

          posted @ 2007-02-08 08:29 laogao 閱讀(1134) | 評(píng)論 (0)編輯 收藏


          "Management is doing things right, leadership is doing the right things."
          - Peter Drucker

          這是管理大師德魯克的名言,”管理是(要)把事情做對(duì),而領(lǐng)導(dǎo)是(要)做對(duì)的事情“。

          posted @ 2007-02-08 08:29 laogao 閱讀(458) | 評(píng)論 (0)編輯 收藏


          Apache旗下的ActiveMQ日前正式"畢業(yè)"成為Apache的頂級(jí)項(xiàng)目之一。官方主頁(yè)也從http://incubator.apache.org/activemq/改為http://activemq.apache.org/


          posted @ 2007-02-07 00:28 laogao 閱讀(964) | 評(píng)論 (0)編輯 收藏


          春節(jié)快到了,現(xiàn)在按農(nóng)歷應(yīng)該是六九吧?可這哪像是冬天?上海昨天白天氣溫竟高達(dá)21攝氏度,甚至有報(bào)道說(shuō)今天達(dá)到了歷史性的23度!近兩年我們時(shí)不時(shí)就能看到世界各地越來(lái)越多的出現(xiàn)反常的天氣狀況的報(bào)道,這究竟是不是全球氣候變暖在作祟,科學(xué)家們目前似乎還并不能給出一個(gè)一致的肯定或否定的答案。但我覺(jué)得,如果硬要說(shuō)這個(gè)天氣純屬自然規(guī)律,和人類活動(dòng)一點(diǎn)關(guān)系都沒(méi)有,多少有些牽強(qiáng),至少有點(diǎn)不負(fù)責(zé)任。來(lái)看News.com提供的一組圖片(含文字說(shuō)明):

          http://news.com.com/2300-11395_3-6156279-1.html

          其中第五張是NASA航拍的馬爾代夫群島(拍的真漂亮),平均海拔在1米左右,如果真如部分科學(xué)家預(yù)言的那樣,本世紀(jì)海平面上升7~23英寸(1英寸約合25.4毫米),這樣一個(gè)美麗的旅游度假勝地會(huì)變成什么樣子?(按照預(yù)期,2400年海平面平均將上升1米。)


          posted @ 2007-02-06 23:48 laogao 閱讀(651) | 評(píng)論 (0)編輯 收藏


          "The truth is more important than the facts."
          - Frank Lloyd Wright

          Frank Lloyd Wright是美國(guó)著名的建筑大師,坐落于曼哈頓的紐約古根海姆博物館即是出自Wright之手。這句話說(shuō)的是:真理比事實(shí)更加重要,你可以羅列出一大推甚至無(wú)數(shù)的事實(shí),但不管這些事實(shí)有多少,也比不上一個(gè)樸實(shí)無(wú)華的真理來(lái)得更有價(jià)值。這有點(diǎn)像我們現(xiàn)在面臨的信息爆炸,不管這些信息是否都是事實(shí),如果無(wú)法從海量的信息中得到有價(jià)值的部分,不論信息獲取多么便捷簡(jiǎn)單,也沒(méi)什么用。或者再換個(gè)例子,我們很多企業(yè)級(jí)的應(yīng)用中每天都在產(chǎn)生記錄企業(yè)活動(dòng)的數(shù)據(jù),如果沒(méi)有一個(gè)強(qiáng)大的BI (Business Intelligence)對(duì)這些數(shù)據(jù)進(jìn)行分析和挖掘,這些數(shù)據(jù)可能永遠(yuǎn)都是一堆0和1,無(wú)人問(wèn)津,最后被所有人遺忘。




          posted @ 2007-02-02 23:30 laogao 閱讀(642) | 評(píng)論 (0)編輯 收藏


          幾乎每次下班回家,都能在軌道交通站臺(tái)的廣告牌上看到這一句出自姚明的話,以至于不用費(fèi)心回想便可以脫口而出。我不喜歡籃球,也不是姚明的"粉絲",但我對(duì)這句話印象十分深刻。我想我之所以能夠如此清晰的記住這句話,還有更深層次的原因,那就是這句話引起了我內(nèi)心的共鳴。

          有人說(shuō)我是一個(gè)自視甚高、自命不凡的人,對(duì)待他人也是冷漠多過(guò)熱情。不知道這個(gè)能不能和"不合群"劃等號(hào),但確實(shí)反映了我個(gè)性的一個(gè)方面。我追求完美,喜歡條理,希望得到認(rèn)可,注重實(shí)際,對(duì)自己高標(biāo)準(zhǔn)嚴(yán)要求,對(duì)別人也有很高的期望。我自己并沒(méi)有覺(jué)得什么不對(duì),可能有時(shí)候有些鋒芒畢露、吹毛求疵吧,別人并不一定能夠接受。說(shuō)真的,夾起尾巴做人也許被很多人奉為職場(chǎng)上需要恪守的原則,我也可以低調(diào)再低調(diào),但是我認(rèn)為該說(shuō)的、該做的,我也會(huì)去說(shuō)、去做。我曾經(jīng)嘗試退縮,嘗試回避一些表達(dá)自己想法和不滿的念頭,但最終不但沒(méi)有收到任何積極的效果,反倒是讓我后悔沒(méi)有第一時(shí)間說(shuō)出來(lái)。

          我喜歡什么事大家都挑明了說(shuō),如果誰(shuí)覺(jué)得我有什么地方做得不好,可以提出來(lái),我虛心接受,有則改之無(wú)則加勉;同樣,我認(rèn)為誰(shuí)有什么地方值得改進(jìn),我也希望可以向他/她提出,而不必?fù)?dān)心被他/她誤解或者造成不必要的不愉快。有人提意見(jiàn),至少代表他/她還care,如果有一天,大家都不提意見(jiàn)了,也就意味著大家對(duì)別人,對(duì)周圍發(fā)生的事不再care,別人怎樣,對(duì)他/她已經(jīng)沒(méi)有所謂。如果這個(gè)"別人"和這個(gè)"周圍發(fā)生的事"和一個(gè)團(tuán)隊(duì)有關(guān),那么也就意味著這個(gè)團(tuán)隊(duì)出現(xiàn)了溝通和信任上的危機(jī),至少是失去了本可以更加健康發(fā)展的動(dòng)力。

          我可以謙卑而虛心,但我不能什么都不說(shuō)。


          posted @ 2007-02-02 01:13 laogao 閱讀(910) | 評(píng)論 (2)編輯 收藏


          一直誤以為CVSNT和Linux下的CVS不兼容,至少?zèng)]那么"無(wú)縫",事實(shí)證明一切真的很簡(jiǎn)單,以下就是從CVSNT遷出一個(gè)資源庫(kù)到Ubuntu下的全部步驟:

          1- 通過(guò)Samba或者其他方式將CVSNT資源庫(kù)整個(gè)目錄,包括CVSROOT子目錄,拷貝到Ubuntu文件系統(tǒng)中,chown,chmod。
          2- 在Ubuntu下編輯/etc/xinetd.d/cvspserver,在cvsargs增加--allow-root [YOUR CVS PATH],每一個(gè)資源庫(kù)均寫(xiě)在這里,以空格分隔。
          3- 命令行執(zhí)行sudo /etc/init.d/xinetd restart。

          遷移后的資源庫(kù)即可使用了,包括歷史修訂記錄、標(biāo)簽等等信息均完整保留,并不要求新的資源庫(kù)用戶和老資源庫(kù)用戶一致。這就是CVS值得我們叫好的地方,一切都那么簡(jiǎn)單、直接、好用。可能需要注意一下的是encoding,如果兩邊的encoding不一致,而文件名或目錄名出現(xiàn)非ASCII字符的話,可能出現(xiàn)無(wú)法同步或者部分文件丟失的現(xiàn)象,文件內(nèi)容出現(xiàn)非ASCII字符則不影響。

          See Also: [Tips] 在Ubuntu Linux 6.06 LTS (Dapper Drake)上安裝CVS服務(wù)


          posted @ 2007-02-02 00:24 laogao 閱讀(1229) | 評(píng)論 (0)編輯 收藏


          最近拿到的.rar格式的文件越來(lái)越多,不論是網(wǎng)上還是工作中,在Ubuntu下倒是好辦,sudo apt-get install rar即可搞定,但是切回Windows就有點(diǎn)慘,我沒(méi)有WinRAR的license,也不想安裝試用版什么的,于是一直在Linux下面做解壓,再不就是讓別人幫我解壓好給我。現(xiàn)在不必了,用上了傳說(shuō)中的7-Zip[^],開(kāi)源而且免費(fèi),總算可以和WinRAR徹底bye-bye了。


          posted @ 2007-02-02 00:04 laogao 閱讀(939) | 評(píng)論 (0)編輯 收藏

          僅列出標(biāo)題
          共34頁(yè): First 上一頁(yè) 5 6 7 8 9 10 11 12 13 下一頁(yè) Last 
          主站蜘蛛池模板: 大港区| 张家港市| 旬阳县| 陈巴尔虎旗| 慈利县| 恩施市| 嘉兴市| 宝坻区| 柳河县| 鄯善县| 天峨县| 农安县| 阜宁县| 郴州市| 尉氏县| 武穴市| 仲巴县| 凤冈县| 灌阳县| 金乡县| 陆川县| 成都市| 新干县| 定南县| 通辽市| 和静县| 阿合奇县| 霍城县| 郧西县| 光泽县| 竹北市| 夏津县| 林西县| 深圳市| 镇沅| 双牌县| 治多县| 长海县| 郴州市| 梁平县| 绵阳市|