2007年8月25日
這方面的文章網(wǎng)絡(luò)上一搜一大堆。偶也不引用了。
偶的感覺是python的安裝和組件安裝亂七八糟。ruby的安裝和插件安裝感覺比較爽。其理念是學習linux的port和apt的包管理思路。
昨天準備離職了。
其實在這家公司里面,項目leader對我很不錯,時間也是比較寬松的。給了我很多的機會學習。甚至曾經(jīng)我有整整一個星期的時間去完整的學習ruby。對此我還是非常感激的。不過因為項目的原因以及各種管理上的不如意,我感覺自己始終不開心。
索性這次終于解放,于是我想先靜下心來,思考一下人生未來的路。順便學習一下我所喜愛的ruby和python。上次學習ruby已經(jīng)是幾個月以前的事情了,學完以后基本上沒有得到什么使用的機會到現(xiàn)在基本上忘記了。這次一并將python也學了,并比較列出。
幾乎所有的語言,都包含以下幾個部分
1,數(shù)據(jù)類型 ————被處理的
一般包括數(shù)字,字符串,可能還包括布爾類型;復雜數(shù)據(jù)類型;對oo的語言還要包括對象等。
2,對數(shù)據(jù)的處理 ————語法部分,
a,操作符和表達式
b,條件判斷語句
c,循環(huán)語句
d,跳轉(zhuǎn)語句
f,異常處理
3,代碼的組織
a,文件的組織
b,函數(shù)
c,對象
4,類庫
a,標準輸出入庫
b,文件庫
等
以上前三個部分,是一個語言基礎(chǔ)的部分。但是對一個語言深入的了解,還必須結(jié)合這個語言的背景,哲學理念,才可以達到比較深刻的地步。是以我們對python和ruby的學習將從這個地方開始。
我曾是個技術(shù)粉絲
但是多年的開發(fā)經(jīng)驗,使得我對技術(shù)的本質(zhì)認識的越來越清楚。至少對企業(yè)軟件開發(fā)人員來說,純粹的技術(shù)coding是沒有多少價值的。如同建筑行業(yè)一樣,真正有價值的東西在設(shè)計階段已經(jīng)完成了。
和傳統(tǒng)建筑行業(yè)開發(fā)不同,軟件開發(fā)行業(yè)不光是技術(shù)設(shè)計,還包括業(yè)務(wù)的設(shè)計。業(yè)務(wù)和技術(shù)摻雜在一起,構(gòu)成了軟件開發(fā)的復雜性。
在業(yè)務(wù)上,在技術(shù)上,尤其是在技術(shù)和業(yè)務(wù)的鴻溝之間,存在了太多太多因素。使得我們本來對相對簡單的軟件開發(fā)不敢抱有那么大的樂觀。更何況真正一個成功的項目還需要市場,客戶等等各個方面。
作為一個軟件開發(fā)人員,真的應(yīng)該放棄軟件自大的心態(tài),客觀的去看待軟件開發(fā)技術(shù)在整個軟件開發(fā)工程中的位置和地位。以一種推動企業(yè)發(fā)展,推動項目發(fā)展和成功的心態(tài)和目的去看待整個項目。就明白了軟件開發(fā)的真正意義和任務(wù)。也就能更好的完成自己的工作,甚至可以改變項目的成敗。
所以成敗不由技術(shù),成敗由你我的視野和努力。
最近公司項目經(jīng)理派我研究工作流并考慮在項目中使用。很有一些心得。工作流應(yīng)用我將之分為狹義工作流和廣義工作流。對狹義工作流而言,你可以將之理解為在工作流設(shè)計器里畫畫節(jié)點以及方向箭頭,設(shè)置好就節(jié)點數(shù)據(jù),動作就差不多了。(具體可以參見jbpm的websale這個demo)。
廣義的工作流是對服務(wù)之間的整合。核心問題是業(yè)務(wù)節(jié)點和工作流節(jié)點之間的映射,以及業(yè)務(wù)數(shù)據(jù)和工作流數(shù)據(jù)之間的映射,和普通工作流一樣還有流程判斷等等服務(wù)。實現(xiàn)了這些,各個業(yè)務(wù)模塊之間的數(shù)據(jù)就可以通過服務(wù),以定好的方式(進行方向控制和格式轉(zhuǎn)化)在各個節(jié)點之間流通,達到了服務(wù)整合的目的。
IBM為ESB定義了四個必備的功能:“路由器”——根據(jù)信息內(nèi)容,在不同應(yīng)用和服務(wù)之間進行信息傳輸和路由;“轉(zhuǎn)換器”——進行應(yīng)用之間的通信協(xié)議轉(zhuǎn)換;“翻譯機”——進行應(yīng)用之間的消息格式轉(zhuǎn)換;“收發(fā)室”——處理來自不同渠道的業(yè)務(wù)事件(同步傳輸,異步傳輸,發(fā)布/訂閱等方式)。
其中“路由器”和“收發(fā)室”都是針對服務(wù)的重用而設(shè)計的,而“轉(zhuǎn)換器”和“翻譯機”則專門用來解決異構(gòu)的通信問題。
針對重用和異構(gòu)這兩個難題,倪曉兵認為ESB提供了兩個核心的功能,服務(wù)的管理和數(shù)據(jù)的轉(zhuǎn)換。
我們DEC項目的目標就是建立一個全能服務(wù)倉庫(暫時我在DEC設(shè)計人員zy哪里得到的信息),而服務(wù)之間如何路由,如何轉(zhuǎn)換,語義的協(xié)調(diào)都沒有考慮,而后者卻是成敗的關(guān)鍵。
最關(guān)鍵的語義翻譯這一點,就現(xiàn)在的技術(shù)上來說還不能做到(需要很高的機器智能才能達到使得不同的系統(tǒng)的業(yè)務(wù)詞匯可以正確的映射,更何況是在所有的系統(tǒng)之間進行映射,同時應(yīng)用在企業(yè)級的應(yīng)用環(huán)境中)
也許真的有這樣的幻想,但是真的能夠做到這一步么?我深深的懷疑。就目前的技術(shù)手段,如果要達到數(shù)據(jù)映射的高度正確性,必須由人不同系統(tǒng)之間需要協(xié)調(diào)的數(shù)據(jù)進行語義確認方能進行有效的映射。
當考慮到還必須做到ESB系統(tǒng)對其接入的所有的服務(wù)數(shù)據(jù)的語義都這樣做時。我懷疑真的需要做到協(xié)調(diào)所有的服務(wù)么?
也許ESB的應(yīng)用范圍就是在公司內(nèi)部或者有限范圍內(nèi)的整合目標明確的業(yè)務(wù)節(jié)點之間業(yè)務(wù)的整合。
ruby很火,ror很火。但凡一個東西火,我們要知道他火的原因。
因為他開發(fā)快,你看
rails project_name
#config db
rake db:create:all
rake db:mirage scoffled table_name [field_name:field_type,.....]
#編輯model
rake db:mirage
#編輯action和route
ruby script/server
然后一個應(yīng)用程序就生成啦,這個過程大概就2、3分鐘;而且他熱部署,所寫即所得,語法超級強大,簡單幾句話就可以表達很復雜的邏輯,真正讓人把精力集中在業(yè)務(wù)邏輯上和頁面邏輯上(他的mirage真是太cool了,完美的體現(xiàn)了定義一次schame,到處使用的原則)
坦率的講,這些別的東西——包括java都可以做到~,為什么到現(xiàn)在java還是這么殺手呢(不是應(yīng)用程序殺手,是程序員殺手,開發(fā)起來羅嗦到死。
既然ror出現(xiàn)了,所以我想jor也很快了,不過ruby使人愉快的是,它從不限制你,包括寫的更難懂——如果你真的覺得別人寫的你看不懂的話——幸運的是,它也沒有限制你寫的更簡單。
那就用ruby去快樂的編程吧
linux控制臺分辨率調(diào)節(jié)
2007年12月07日 上午 11:16 | 640x480 800x600 1024x768 1280x1024
-----+-----------------------------------------------------
256 | 257 259 261 263
32k | 272 275 278 281
64k | 273 276 279 282
16M| 274 277 280 283
VESA:
Colors (depth) 640x480 800x600 1024x768 1280x1024 1600x1200
------------------+-----------+-----------+------------+-------------+-------------
256 ( 8 bit) | 769 771 773 775 796
32,768 (15 bit)| 784 787 790 793 797
65,536 (16 bit)| 785 788 791 794 798
16.8M (24 bit) | 786 789 792 795 799
查上面的表,編輯/boot/grub/menu.lst
kernel /boot/vmlinuz-2.6.15-23-386 root=/dev/hdb10 ro quiet splash vga=791
這行最后補上vga=792
說說韓寒
http://bbs.book.tom.com/i_87_22259.html
各項指數(shù)綜合打分,活著的大陸人里面,韓寒應(yīng)該可以排到我最欣賞(敬佩)的人的前三名——還有一位應(yīng)該是曉波老師。還有一位?暫時空缺,歡迎推薦。王怡信教之后越來越看不懂了,連岳又太“大隱隱于市”了。
以前很傻,以為自己比韓寒年紀大就敢于瞧不起人,愚昧!后來才慢慢調(diào)整過來,敢于承認一個年輕人,一個誰都敢批幾句的年輕人,其實比自己強太多了。
說幾點我欣賞韓寒的地方:
語言才華:這個不用說了;
獨立精神:主要是對作協(xié)的態(tài)度;
公民意識,有社會責任感:比如對廈門px的關(guān)注,比如幫助路人;
生活態(tài)度,有健康的心理:純屬個人感覺。聚光燈下,不變態(tài)很難,難得韓寒還有平常心。我挺認同韓寒自己說的“并不叛逆”;
職業(yè)精神:愛一行做一行,還都能做好,比如半月前奪得2007華賽CFR全國汽車場地錦標賽中國量產(chǎn)車1600cc組年度車手總冠軍;
掙錢的能力也很強:現(xiàn)在越來越認同一個人賺錢的能力了,以前一直回避這一點。而且“君子愛財,取之有道”,這八個字說起來容易,真正做好很難;
還有,人也長得挺帥的,作為公眾人物,這點還是很重要的,比如看了郭敬明的照片,吃飯就會很困難。
......
突然說起這些,是因為昨天看了南方周末對韓寒的采訪。
南方周末:你怎么看待張悅?cè)弧⑿★垺⒐疵鞯却笈?#8220;80后”作家加入作協(xié)這件事?
韓寒:我覺得也挺好的,總得有他們這樣的人。要不然我又得和一幫人競爭。現(xiàn)在比較好,就我一個人,沒有對手。我是一個冠軍車手,我的內(nèi)心比他們更強大,我覺得是這樣。而且很多時候他們也只是可能有熟人介紹,面子上過不去罷了。以張和郭現(xiàn)在的能量,是否加入作協(xié)應(yīng)該無所謂。
南方周末:如果他們邀請你,你會去參加作協(xié)嗎?
韓寒:可以啊,我可以把這個當作代言活動。所有的商業(yè)代言我都是推掉的,這一次我可以代言你們作協(xié),作協(xié)需要一個年輕化的代表,我代言你們給我200萬,這算是我給作協(xié)的一個面子——第一次商業(yè)代言就給你,而且價格也不高。但你要我加入作協(xié)不可能。
我的立場一如既往,我絕不加入作協(xié),打死我也不干。我認為,真正的藝術(shù)家應(yīng)該永遠獨立,絕不能被組織左右。
韓寒:陸 天明罵作協(xié)門檻降低,把抄襲犯 都收進來了,說自己當年加入作協(xié)如何難,你進入作協(xié)身份就高人一等嗎?我認為,國家就不應(yīng)該有這些協(xié)會,想當初,加入作協(xié)對你的意識形態(tài)有所控制,文字更 加奴性,現(xiàn)在雖然好很多,但對創(chuàng)作沒有任何幫助。一幫作家閑云野鶴的,自由創(chuàng)作多好,要什么協(xié)會。我在電視上一看到那些作家參加什么會的時候,和一些領(lǐng)導 彎腰點頭握手,表示一定要把頌歌唱得更動聽。作為一個作家,這種行為是不道德的,你仗著自己文字功底好,和喉舌機構(gòu)的御用文人搶飯碗,怎么可以嘛。
南方周末:怎么看待那些和你一起出道的年輕人的改變?加入作協(xié)、買房、結(jié)婚、生子、賺錢。
韓寒:我不會因為歲數(shù)增長而改變。很多人婚姻不幸,其實是因為歲數(shù)的原因,到了一定的歲月就要結(jié)婚、生子、賺錢,所以才造成了很多不幸,我現(xiàn)在還住在老家鄉(xiāng)下房子里。我內(nèi)心很有安全感,房子、錢,我并不覺得這些很安定。一場地震一分鐘就能摧毀一切,保險公司還都不賠。好多人沒有安全感,所以要寄托在一些身外之物上。
南方周末:你也會老的,你能永遠保持少年偶像這個形象嗎?
韓寒:對 我來說,少年偶像是別人給的,不是我自己要保持,或者說不是我想保持下去我就能保持下去的。這是一種慣性,你自己一點辦法都沒有。生活里我是一個很不修邊 幅的人,沒有經(jīng)紀人、助手。我也看過明星玩賽車,賽車前還在那里化妝,其實比賽的時候有很多汗,化妝干什么?他們才是真正想要做偶像,想要做明星。
幾年前就有人請我拍戲、唱歌、做商演、做代言,都被我拒絕了。有錢是一個很好的事情,如果能夠賺更多的錢更好,但問題是賺那個錢我心里會不舒服,我會權(quán)衡這個重要,還是錢重要。比如說你看到某個作家在那里推薦藥、腎寶、洗液什么的,我覺得那個效果很怪。權(quán)衡下來,我覺得單純的錢不能打動我。
我去年推掉的代言至少有500萬到1000萬,全部推掉了。去年靠寫作和賽車,我一共賺了兩百萬,我認為自己歸根結(jié)底還是一個寫東西的人。
我發(fā)現(xiàn),人生里30-50歲這一段是最尷尬的,不再是一個憤怒青年,也不是一個老頑童,有些不倫不類。我現(xiàn)在離尷尬的時間已經(jīng)很近了,所以我要比他們更早地打好基礎(chǔ),以免像崔健一樣,步入中年再交出DV短片那樣的學生作業(yè)來。
南方周末:近兩年,你一直在博客上發(fā)言,什么戶口啊、交通啊都要參與一把。動機是什么?
韓寒:我在博客上寫那么多免費文字,就一些社會問題發(fā)言,有人說我是在炒作知名度賣書。我寫博客真的不是為了炒作自己,寫那么多文字,甚至參與那么多討論,還和人吵架,沒有任何經(jīng)濟收益,甚至我覺得自己在影響書的銷量。
作為一個公民,我認為我有權(quán)對一些社會問題發(fā)表自己的觀點和意見。以前只對朋友說,現(xiàn)在對大家說。
南方周末:你愿意成為王小波那樣的公共知識分子嗎?
韓寒:想 起王小波是很難受的一件事情。王小波生前寫了那么多文字,苦口婆心講道理說常識。后來他死了,人們才假裝發(fā)現(xiàn)了他作品的價值,覺得他寫得不錯,是個優(yōu)秀的 作家。如果王小波沒有死,到今天的話,他在人們口中應(yīng)該算是那種一天到晚炒作的人吧。炒作和冒著一定的風險發(fā)表觀點是有很大區(qū)別的,也是非常好分辨的。只 可惜,大家似乎都分辨不了。
在這個國家,做一個憂國憂民的人是最傻和最痛苦的,國家不樂意,國民不在意。我不要做那樣的人,我只希望自己60歲時是個被年輕姑娘喜歡的深沉的老頑童。
工作兩年了。這兩年的時間一直感覺很充實。最近卻突然感覺有點無聊的感覺——以前兩年一直計劃學的東西都學差不多了。
了解函數(shù)式編程的途徑中,知道了lambda演算。簡單看了看,發(fā)現(xiàn)居然是數(shù)學的一個分支——可嘆我數(shù)學系理學學士,居然是第一次聽說這個名詞。google之下,不勝渺小了。于是后悔起大學的幼稚來。
上學的時候,總是抱怨整天學習、面對的都是數(shù)學,枯燥無聊而且沒用,除了大一大二好好學習,大三大四都是逃課比上課多,而且居然因此自鳴得意.....幼稚...
最近有點小想法。突然覺得我這樣的程序員沒有技術(shù)含量,平心而論,現(xiàn)在我寫的東西,一個高中生也可以寫;而我大學學的那些東西,這些年一點沒用上,這說明這份工作技術(shù)含量不是很大。那么做開發(fā)最大的技術(shù)含量在哪里?其實最大的技術(shù)含量(即..的解決方案)在寫代碼之前以前做完了,代碼不過是把(..解決方案)具體化了而已,所謂的“..解決方案”,有業(yè)務(wù)的,也有技術(shù)上的,反正不是代碼。無論精通struts還是hibernate,還是spring,會rpc、ext....都沒有區(qū)別,之不過把已經(jīng)有的組合起來,是誰都可以做。
考慮考慮自己的未來之路......
首先現(xiàn)了一個ruby的netbeans,地址....(這里沒記清楚:),這個東西大小才30m,還不錯。
然后感覺字體不爽,就想換字體(參見那個啥的方法——把vjre\lib\font*.properties里面東西改改),然后也ok了。
開始寫代碼的時候,覺得屏幕好像刷新率不夠似的,于是又google了一下,把jdk換成6的(正搞個openjdk玩)——那個je上的啥說的。然后發(fā)現(xiàn)還是不快,換成jdk5的,快了好多。郁悶一個。。。。。
下面是ruby筆記第一天
#
# To change this template, choose Tools | Templates
# and open the template in the editor.
##一,了解ruby中類的構(gòu)造
#定義一個類,并定義初始化方法,可以給new使用做構(gòu)造函數(shù)
class Dog
def initialize(name)
@name = name
end
# def initialize(name,color)
# @name = name
# @color = color
# end
#在類中追加定義一個方法,@是ruby中的變量的開頭.默認的ly,ruby認識什么是屬性什么是變量
def eat(food)
@food = food
puts @name + "eat "+@food
end
end
class Dog
def la
puts @name +" la "+ @food
end
end
#你看,我們定義了一個啦的方法,把狗狗吃的全啦出來了:-)
@dd = Dog.new("Big Dog")
@dd.eat('food')
@dd.la
##他還支持重載么?看一下我們定義的構(gòu)造函數(shù)(的時候沒報錯,現(xiàn)在調(diào)用的時候呢??)——他告訴我
#E:\mydoc\NetBeansProjects\RTest\lib\main.rb:29:in `new': Wrong # of arguments(1 for 2) (ArgumentError)
##from E:\mydoc\NetBeansProjects\RTest\lib\main.rb:29
#@gg = Dog.new("name", "color")
#@gg.eat(food)
#@gg.la
puts "Hello World"
——javablog居然不支持ruby的語法。就模擬vb的好了,反正都有個end
度假回來以后就來uns上班了。uns的框架是evan寫的,看了兩天:服務(wù)器端還滿容易懂的,關(guān)鍵是ext.js不熟。
evan準備使用ext.js(jquery),以前我只使用過propetype.js,所以jquery.js也要看,還好,一看之下發(fā)現(xiàn)是更好用的js框架。
——馬上臺風了,接下來回家寫。。。。。。
ext.js沒什么感想。因為不熟,evan些的服務(wù)器端我有點感想。
1,首先可以肯定的是evan些的這個框架非常好,spring,hibernate,webwork等使用的非常恰當,層次結(jié)構(gòu)也非常合理
2,evan和我說他們是TDD開發(fā)。我看了一下,其實不是的。
所謂的TDD是什么,是測試驅(qū)動,是需求驅(qū)動。現(xiàn)實的情況我們實踐的是數(shù)據(jù)庫驅(qū)動的開發(fā),更嚴重的問題是這個結(jié)構(gòu)一桿子到底。我不希望看到UserInfoDaoHiberante-UserInfoDao-UserInfoManagerImpl-UserInfoManager這樣的結(jié)構(gòu)。這是完全不對的,不論什么驅(qū)動的開發(fā),都應(yīng)該完全以業(yè)務(wù)為中心的結(jié)構(gòu)UserInfoDao-UserDao-UserManagerImpl-UserManager
3,因此evan的所謂那個模板我看還是不用的好。
這里記下來,回頭和evan討論下。
去度假之前我塞了本spring到旅行包里,尋思路上看看。可是路上實在是凈不下心來,于是暗暗告誡自己:回來的路上一定要看一看。。。。。回來的路上基本上光睡覺了。慚愧啊~~~
可是那本spring,的確是讓人生厭,自從上周翻完以后,我就再也提不起再讀一遍的興趣來。我的想法就是理解其所以然,至于具體用法用時再查就是了。于是心安理得的看了一會恐怖片,上一會網(wǎng)——發(fā)現(xiàn)了一個討論討論ejb架構(gòu)的帖子。于是想起來再讀WITHOUT EJB的興趣來。上次讀的時候,大不以為然,大家把這本書都夸到天上去了,可是我什么都沒看出來,感覺就是在談概念,今天一讀之下(其實還沒讀,就是看看目錄,猜猜里面講什么,猜測作者意圖傳達的想法)發(fā)現(xiàn)真不愧是人人傳誦的好書。J2EE最近兩三年的潮流,不外是此書罷了。
一年來,從當初剛剛會struts、hibernate的小菜鳥,經(jīng)歷了追逐新的技術(shù)潮流,理解新的技術(shù)理念,從僅僅負責項目的某個模塊到自己負責整個項目,從編寫代碼的程序員到真?zhèn)€項目的需求規(guī)劃管理等。我不是當初的我了。
所以我想:讀書,何必強求自己呢!
倘若有讀書的愛好,他喜歡讀哈利波特,何必非要強求他讀紅樓夢呢。順其自然而已。
剛剛離職,本來想好好休息一陣子。沒想到前天以前一個同事對我說要我給他一份簡歷,他們公司缺人。我不好意思推托,就答應(yīng)了。
面試那天,當然是我那個同事面試我的,可是令我驚奇的是另外一個面試官也是我的一個同事,不過是上上家公司的同事。。。。。好驚奇啊!!!!
于是大家攀談了好大一會,順便聊了點面試題目
1,xmlFactory和ApplicationContent的區(qū)別
我還真是不太了解,隱約知道后者好像是對前者的加強。。。。。哎~~~那個郁悶啊
第二個問題更郁悶呢~
2,悲觀鎖和樂觀鎖的區(qū)別
我隱約記得以前做同事的時候他就說過這個,那時候我還搜索了一下。現(xiàn)在卻怎么也想不起來。。。。。哎~~~~更郁悶啊~~~~
還有第三個問題
3,寫過JS表樹么>.>..>......
剛開始我還以為是樹,就說EXT不是有現(xiàn)成的么?他說是表格里的樹。于是我明白類似RCP中的TableTreeViewer。老實說沒有。然后他告訴我他們準備寫一個這個。。。。。
我的那個汗~~~~~
面試還從來沒這么窘迫過啊 ~~~~
不過,也挺有趣的。。。。