白話技術系列
摘要: 技術的另種理解 閱讀全文posted @ 2007-04-30 21:35 西門吹牛 閱讀(608) | 評論 (2) | 編輯 收藏
想怎么吹就怎么吹
posted @ 2006-09-26 13:32 西門吹牛 閱讀(211) | 評論 (0) | 編輯 收藏
從生理學角度而言,人體腦細胞的興奮一般可以持續4~5個小時,之后便會轉入抑制狀態。特別是午飯后,消化道的血液供應明顯增多,大腦的血液供應明顯減少,從而導致隨血流進入大腦的氧氣和營養物質也相應減少,于是人體的生物鐘出現一次睡眠節律,使人產生精神不振、昏昏欲睡的感覺。此時,身體需要進行短時間的調整,以消除疲勞,恢復體力,穩定神經系統功能的平衡。那么,怎樣科學地進行午睡呢?
首先,午睡時間不宜太長,最好在1小時以內。生理學研究表明,人體睡眠分淺睡眠與深睡眠兩個階段。通常情況下,人們在入睡80~100分鐘后,便逐漸由淺睡眠轉入深睡眠。在深睡眠過程中,大腦各中樞的抑制過程明顯加強,腦組織中許多毛細血管網暫時關閉,腦血流量減少,機體的新陳代謝水平明顯降低。如果人們在深睡眠階段突然醒來,由于大腦皮層中較深的抑制過程不能馬上解除,關閉的毛細血管網也不能立即開放,勢必造成大腦出現一過性供血不足,植物神經系統功能出現暫時性紊亂,人體會感覺非常難受。這種不適感覺大約要持續30分鐘左右才會逐漸消失。可見,午睡時間不是越長越好,而應以1小時以內為宜,這樣既能有效消除疲勞,又不至于睡得過沉而不易醒來。
其次,不宜飯后立即午睡。因為午飯后胃內充滿尚未消化的食物,此時立即臥倒會使人產生飽脹感。正確的做法是吃過午飯后,先做些輕微的活動,如散步、揉腹等,然后再午睡,這樣有利于食物的消化吸收。
第三,要講究睡眠姿勢。經常可見有些人午睡時坐在椅子或沙發上打盹兒,有些人干脆趴在桌子上睡。其實,這些做法都不科學。人體在睡眠狀態下,肌肉放松,心率變慢,血管擴張,血壓降低,流入大腦的血液相對減少。尤其是午飯后,較多的血液進入胃腸,此時若再坐著睡,時間久了大腦就會缺氧,使人產生頭重、乏力、腿軟等不適感覺。而趴在桌子上睡,會壓迫胸部,妨礙呼吸,增加心肺負擔。一般認為睡覺姿勢以右側臥位為好,因為這樣可使心臟負擔減輕,肝臟血流量加大,有利于食物的消化代謝。但實際上,由于午睡時間較短,可以不必強求臥睡的偏左、偏右、平臥,只要能迅速入睡就行。
posted @ 2006-09-22 12:47 西門吹牛 閱讀(203) | 評論 (0) | 編輯 收藏
In asynchronous communication, while the server is listening or receiving data from a client, it can still process connection requests from other clients as well as receive data from those clients. When a server is receiving asynchronously, a separate thread (at the OS level) listens on the socket and will invoke a callback function (specified when the asynchronous listening was commenced) when a socket event occurs. This callback function in turn will respond and process that socket event. For example, if the remote program writes some data to the socket, a "read data event" (callback function you specify) is invoked; it knows how to read the data from the socket at that point.
簡而言之,同步是一對一的,異步是一對多的。我翻譯的太牛了,這么多英文就讓我一句話就概括了。
posted @ 2006-09-19 14:42 西門吹牛 閱讀(3068) | 評論 (7) | 編輯 收藏
posted @ 2006-09-19 10:22 西門吹牛 閱讀(261) | 評論 (0) | 編輯 收藏
http://www.javaalmanac.com
Java開發者年鑒一書的在線版本. 要想快速查到某種Java技巧的用法及示例代碼, 這是一個不錯的去處.
http://www.onjava.com
O'Reilly的Java網站. 每周都有新文
http://java.sun.com
官方的Java開發者網站 - 每周都有新文章發表
http://www.developer.com/java
由Gamelan.com 維護的Java技術文章網站
http://www.java.net
Sun公司維護的一個Java社區網站
http://www.builder.com
Cnet的Builder.com網站 - 所有的技術文章, 以Java為主.
http://www.ibm.com/developerworks/java
IBM的Developerworks技術網站; 這是其中的Java技術主頁
http://www.javaworld.com
最早的一個Java站點. 每周更新Java技術文章
http://www.devx.com/java
DevX維護的一個Java技術文章網站
http://www.fawcette.com/javapro
JavaPro在線雜志網站.
http://www.sys-con.com/java
Java Developers Journal的在線雜志網站.
http://www.javadesktop.org
位于Java.net的一個Java桌面技術社區網站.
http://www.theserverside.com
這是一個討論所有Java服務器端技術的網站.
http://www.jars.com
提供Java評論服務. 包括各種framework和應用程序
http://www.jguru.com
一個非常棒的采用Q&A形式的Java技術資源社區.
http://www.javaranch.com
一個論壇,得到Java問題答案的地方,初學者的好去處。
http://www.ibiblio.org/javafaq/javafaq.html
comp.lang.java的FAQ站點 - 收集了來自comp.lang.java新聞組的問題和答案的分類目錄.
http://java.sun.com/docs/books/tutorial/
來自SUN公司的官方Java指南 - 對于了解幾乎所有的java技術特性非常有幫助.
http://www.javablogs.com
互聯網上最活躍的一個Java Blog網站.
http://java.about.com/
來自About.com的Java新聞和技術文章網站.
posted @ 2006-06-08 13:20 西門吹牛 閱讀(278) | 評論 (0) | 編輯 收藏
posted @ 2006-03-21 09:39 西門吹牛 閱讀(401) | 評論 (2) | 編輯 收藏
posted @ 2006-02-23 08:41 西門吹牛 閱讀(186) | 評論 (0) | 編輯 收藏
posted @ 2005-08-17 16:18 西門吹牛 閱讀(367) | 評論 (0) | 編輯 收藏
posted @ 2005-06-08 14:42 西門吹牛 閱讀(656) | 評論 (3) | 編輯 收藏
posted @ 2005-06-08 14:38 西門吹牛 閱讀(896) | 評論 (0) | 編輯 收藏
[1]好好規劃自己的路,不要跟著感覺走!根據個人的理想決策安排,絕大部分人并不指望成為什么院士或教授,而是希望活得滋潤一些,爽一些。那么,就需要慎重安排自己的軌跡。從哪個行業入手,逐漸對該行業深入了解,不要頻繁跳槽,特別是不要為了一點工資而轉移陣地,從長遠看,這點錢根本不算什么,當你對一個行業有那么幾年的體會,以后錢根本不是問題。頻繁地動蕩不是上策,最后你對哪個行業都沒有摸透,永遠是新手!
[2]可以做技術,切不可沉湎于技術。千萬不可一門心思鉆研技術!給自己很大壓力,如果你的心思全部放在這上面,那么注定你將成為孔乙己一類的人物!適可而止為之,因為技術只不過是你今后前途的支柱之一,而且還不是最大的支柱,除非你只愿意到老還是個工程師!
[3]不要去做技術高手,只去做綜合素質高手!在企業里混,我們時常瞧不起某人,說他“什么都不懂,憑啥拿那么多錢,憑啥升官!”這是普遍的典型的工程師的迂腐之言。8051很牛嗎?人家能上去必然有他的本事,而且是你沒有的本事。你想想,老板搞經營那么多年,難道見識不如你這個新兵?人家或許善于管理,善于領會老板意圖,善于部門協調等等。因此務必培養自己多方面的能力,包括管理,親和力,察言觀色能力,攻關能力等,要成為綜合素質的高手,則前途無量,否則只能躲在角落看示波器!技術以外的技能才是更重要的本事!!從古到今,美國日本,一律如此!
[4]多交社會三教九流的朋友!不要只和工程師交往,認為有共同語言,其實更重要的是和其他類人物交往,如果你希望有朝一日當老板或高層管理,那么你整日面對的就是這些人。了解他們的經歷,思維習慣,愛好,學習他們處理問題的模式,了解社會各個角落的現象和問題,這是以后發展的巨大的本錢,沒有這些以后就會笨手笨腳,跌跌撞撞,遇到重重困難,交不少學費,成功的概率大大降低!
[5]知識涉獵不一定專,但一定要廣!多看看其他方面的書,金融,財會,進出口,稅務,法律等等,為以后做一些積累,以后的用處會更大!會少交許多學費!!
[6]抓住時機向技術管理或市場銷售方面的轉變!要想有前途就不能一直搞開發,適當時候要轉變為管理或銷售,前途會更大,以前搞技術也沒有白搞,以后還用得著。搞管理可以培養自己的領導能力,搞銷售可以培養自己的市場概念和思維,同時為自己以后發展積累龐大的人脈!應該說這才是前途的真正支柱!!!
[7]逐漸克服自己的心里弱點和性格缺陷!多疑,敏感,天真(貶義,并不可愛),猶豫不決,膽怯,多慮,臉皮太薄,心不夠黑,教條式思維。。。這些工程師普遍存在的性格弱點必須改變!很難嗎?只在床上想一想當然不可能,去幫朋友守一個月地攤,包準有效果,去實踐,而不要只想!不克服這些缺點,一切不可能,甚至連項目經理都當不好--盡管你可能技術不錯!
[8]工作的同時要為以后做準備!建立自己的工作環境!及早為自己配置一個工作環境,裝備電腦,示波器(可以買個二手的),仿真器,編程器等,業余可以接點活,一方面接觸市場,培養市場感覺,同時也積累資金,更重要的是準備自己的產品,咱搞技術的沒有錢,只有技術,技術的代表不是學歷和證書,而是產品,拿出象樣的產品,就可技術轉讓或與人合作搞企業!先把東西準備好,等待機會, 否則,有了機會也抓不住!
[9]要學會善于推銷自己!不僅要能干,還要能說,能寫,善于利用一切機會推銷自己,樹立自己的品牌形象,很必要!要創造條件讓別人了解自己,不然老板怎么知道你能干?外面的投資人怎么相信你?提早把自己推銷出去,機會自然會來找你!搞個個人主頁是個好注意!!特別是培養自己在行業的名氣,有了名氣,高薪機會自不在話下,更重要的是有合作的機會...
[10]該出手時便出手!永遠不可能有100%把握!!!條件差不多就要大膽去干,去闖出自己的事業,不要猶豫,不要彷徨,干了不一定成功,但至少為下一次沖擊積累了經驗,不干永遠沒出息,而且要干成必然要經歷失敗。不經歷風雨,怎么見彩虹,沒有人能隨隨便便成功!
posted @ 2005-05-13 17:10 西門吹牛 閱讀(662) | 評論 (5) | 編輯 收藏
這些日子我一直在寫一個實時操作系統內核,已有小成了,等寫完我會全部公
開,希望能夠為國內IT的發展盡自己一份微薄的力量。最近看到很多學生朋友和我
當年一樣沒有方向 ,所以把我的經歷寫出來與大家共勉,希望能給剛如行的朋友們
一點點幫助。 一轉眼我在IT行業學習工作已經七年多了,這期間我做過網頁,寫過
MIS、數據庫,應用程序,做過通信軟件、硬件驅動、協議棧,到現在做操作系統內
核和IC相關開發,這中間走了很多彎路,也吃了不少苦。
我上的是一個三流的高校,就連同一個城市的人多數都不知道。因為學校不好
也就沒有指望能靠學校名氣找一個好工作。所有的希望都寄托在自己的努力上了,
大一開學前的假期我就開始了學習,記得我買的第一本書是《計算機基礎DOS3.0》
,大家別嚇著了,其實當時已經普及了DOS6.22了,只是我在書店里看到了DOS4.0,
5.0,6.0的書,以為像英語那樣是第四、五、六冊,記得當時到處找DOS1.0,現在
想想也幸好我沒有找到:)開學前我學完了PASCAL,那時既沒有計算機也沒有人可
以請教,我連程序是什么的概念都沒有, 只好死記硬背代碼,然后拿紙寫,我一直
到大三才有了一臺486,在這之前用紙寫了多少程序我也記不清楚了,只知道最長的
一個我拿A4大小的草稿紙寫了30多頁,我的C語言、C++ 、VC都是在這樣的條件下入
門的。所以說條件是可以克服的,希望我的經歷多少給條件艱苦的同學們一點信心
。第一次上機是在我姐夫的機房,我的心情激動的無與倫比,但是一上機我立刻傻
了眼,他們用的是英文版的Win3.1,我的那點DOS知識都見了鬼,上機提心吊膽的一
陣瞎摸,一不小心把Word弄成了全屏,怎么都還不了原,當時真是心急如焚,我以
為機器被我弄壞了。第一個C語言程序,就是那個經典的HelloWorld,我調了幾個星
期,上機機會非常少,也沒有書告訴我開發環境(TC2.0)需要設置,而且開始我都
不知道有編譯器,我甚至自作聰明把寫好的程序擴展名從.c改成.exe,結果可想而
知。大一學完了C、X86的匯編、數據結構、C++。由于精力都花在自學上了,大一下
四門課掛了彩,三類學校就是這點好,掛上一二十門也照樣畢業。不過扯遠點說,
我那么刻苦都及不了格,可見我們國家的計算機教育有多死板。
大二準備學VC和BC,當時難以取舍,后來選了VC,不為別的,只為書店里兩本
書,VC 那本便宜6塊錢。我的努力在班上無人能及,學的日夜不分,大三有了計算
機后更是如此, 很多次父親半夜教訓我說我不要命了,我一直覺得自己基礎差,記
憶又不行,條件也不好 ,所以覺得只有多花點時間才能趕上別人。居然后來有許多
朋友說我有學計算機的天賦, 讓我哭笑不得。我用的是486,16M內存,1G硬盤,當
時同學們的配置都是P166MMX,我安裝 一個Windows NT4.0需要一個通宵,編譯一個
BC5.0向導生成的程序需要近兩個小時,我的顯示器是個二手的,輻射非常大,開機
屏幕冒火花,看起來很酷的:),有一次程序寫的太久,覺得怎么白色的編輯器背
景變成了紫色,以為顯示器壞了,后來才發現眼睛不行了,不過說來也奇怪,到今
天我的視力還能保持1.5,真是個奇跡。但是就是那臺破機器陪伴了我兩年,讓我學
會了VC、Delphi、SQLServer等。后來那臺機器給我阿姨打字用,據她說一天她正打
的開心,一股青煙夾著火苗從顯示器鉆出來,之后它才壽終正寢。
大三假期找了個機會在一個計算機研究所實習,與其說實習不如說是做義工,
工作了兩個月一分錢沒有拿。但是這兩個月對我的發展幫助很大,讓我早一步了解
了社會,剛去的時候我當然是一竅不通,在那里我熟悉了網絡,學會了Delphi和Or
acle。由于工作很認真, 得到了比較好的評價,在一位長者的引薦下,我開始和他
們一起做項目,這使我在大三大四就有了自己的收入,大四又找了兩家MIS公司兼職
,雖然錢不多,但是在學生期間有1000多的收入我已經非常滿足了,我終于用自己
賺的錢把計算機換了。大四下開始找工作,這時我的工作經驗已經比較多(當然現
在想想非常幼稚),開始聽父母的想去那個研究所, 實習過那個部門也希望我能去
,但是不知道為什么最后不了了之,這種單位就是比較官僚 ,我一氣之下就到了我
兼職的一個公司做MIS的TeamLeader。在大三到畢業一年的時間,做過了各種MIS,
從煤氣、煙廠、公安、鐵路、飲食到高校,什么有錢做什么,工作也很辛苦 ,經常
加班和熬通宵,從跟客戶談需求到設計、編碼、測試、交付都要上。那時覺得很有
成就感,覺得自己還不錯,現在想想真是很膚淺。
剛走上工作崗位的學生很容易被誤導,各種開發工具讓人眼花繚亂,同時也覺
得很受 公司器重,但這樣工作永遠是一個低層次的開發者。不要跟我說什么系統分
析有多么多么重要,多么多么難。你以為自己跟用戶談需求做設計就是系統分析和
設計了嗎,國內又有幾個公司能夠做的很到位很規范?我是ISO9000內審員,也在R
ational公司受過多次培訓,拿了4個證書,還有一個公司讓我去做CMM。這些我聽過
很多,但是很多事情到國內就變了性質,一個公司不是通過了ISO9000或者CMM就能
規范了,我現在在一家有幾十年歷史的外企工作,里面的管理不是一般國內企業能
及的。作為一個畢業不久以前沒有步入過社會的學生,幾乎不可能在很短的時間掌
握系統分析和設計,面向對象、UML只是一個工具,關鍵是人本身的思想,不是說你
熟悉了C++、Rose就能夠做出好的設計,相反如果你具備了很高的素質,你可以用C
寫出比別人用C++更加模塊化的程序。
話說遠一些,國內軟件開發行業有一個怪圈,很多人覺得VC > Delphi > VB,
真是很搞笑。這幾個軟件我都做過開發,說白了他們都是工具,應該根據應用的需
要選擇采用哪個,而不是覺得哪個上層次。如果你因為用某個開發工具很有面子而
選擇的話,只能說明你很淺薄。如果說層次,那么這些工具都不上層次,因為它們
用來用去都是一些系統的API,微軟的朋友不會因為你記住他們多少個API或者多少
個類就會覺得你很了不起,你永遠只是他們的客戶,他們看重的是你口袋里的銀子
。我也做過系統內核,我也封裝過很多API,同樣我也不會看重那些使用這些API做
二次開發的客戶,除非他能夠作出自己獨到的設計。
至于有人認為C++ > C那更是讓人笑掉大牙,不妨你去打聽一下,現在有幾個操
作系統內核是用C++寫的,又有幾個實時系統用的是C++,當然我也不是說C++不好,
但是目前的內核和實時系統中C++還無法與C匹敵,至于說C++適合做應用系統的開發
那是另外一回事。所以我的觀點是不在于你用什么工具和語言,而在于你干什么工
作。你的設計體現了你的技術層次。
這樣干了一年我覺得非常苦悶,做的大多數都是熟練工種的活,個人技術上沒
有太多 的提高也看不到方向。所以決定離開這個城市去上海,尋求更好的發展,并
且打算放棄我以前的MIS轉到通信行業。
寫到這里不能不提到我女朋友,我們是在來上海前半年認識的,她大四在我公
司實習,公司派她給我寫文檔,我們的感情發展的很快。她告訴我很多事情,她家
原本是改革開放的第一批暴發戶,她母親愛打牌,輸掉了幾百萬,還欠了很多債,
她有男朋友,但是她對他沒有感情,只因為他給了她母親兩萬多塊錢,后來還強迫
她寫了四萬塊的借條,她男朋友背叛過她并且不止一次打她,現在逼她結婚不然就
要她還錢。這人居然還是一個高校的老師!她母親把父親給她的學費花了,因為拖
欠學費她沒有辦法拿到畢業證。她母親現在有病需要錢,我拿出了自己的一點積蓄
并且跟朋友們接了一些,替她交了學費并給她母親看 病(后來才知道看病的錢又不
知所終,就連她母親是不是有病我都不知道,但她也是沒有辦法)。這個時候我家
知道了一些事情,堅決反對我和她在一起,她原來的男朋友也極力破壞。無奈之下
我們決定早一定離開這個傷心的城市,并且瞞著我們家。由于時間倉促,我只準備
了4000塊錢,她僅有的幾百塊錢也被她母親要去了,我買了三張票,一張是中午的
,兩張是晚上的,中午我的家人把我送上船,他們一離開我就下了船,我和她乘坐
晚上的船離開了這個我和她生活了很多年的城市,帶走的只是一身債務。沒有來過
上海的我們兩個性倔強,都不愿意去麻煩同學和朋友。來到上海是傍晚6點半,我們
都不知道該去哪里,我們找了一個20塊錢的旅館,這個房間連窗戶都沒有,7月份的
天氣酷熱難耐,房間里非常悶熱。第二天我們開始租房子,因為身上的錢不多,我
們基本都是步行,花了一個星期時間,不知道在浦東轉了多少圈后找到了一個400塊
的房子,但是我們都不了解上海是付三壓一,還要付半個月的中介費,買了一些鍋
碗瓢盆后,我們身上只有800塊錢了,工作都還沒有著落,這800塊錢要支持到我們
拿到第一個月工資,為了省錢我們自己做飯,每天買菜只花兩塊錢,她非常喜歡吃
(也可能她在大學經常挨餓的愿意),看到她現在這樣省吃儉用我真的很不忍心。
她以前的男朋友也沒有放過她,經常打電話來騷擾,并且來上海看她,還說了不少
恐嚇她的話,她過于善良,說他以前畢竟幫助過她,叫我不要與他一般見識。以后
的每天在家就是苦等面試通知,原本我想迅速找一家MIS公司解決眼前的困難,但是
她堅持讓我不要放棄自己的理想,終于功夫不負有心人,我找到了一家通信公司,
4000塊的工資雖然趕不上MIS公司給我開出的價位,但也夠在上海生存。她也找到了
工作,第一天上班她哭了,這是她來上海第一次流淚,我心里很難受也很感動。
由于是全新的行業,我把自己降到了零點,我學的VC、Delphi、數據庫派不上
用場, 擺在我面前的是嵌入式、協議、信令一些我從未接觸過的知識。我知道我沒
有退路,于是拼命的學習,我把自己當做一個應屆畢業生一樣,一分努力一分收獲
,半年過去我終于熟悉了工作,并且得到了公司的表彰,薪水也加了一級。后面的
日子里我們省吃儉用,把欠朋友的1萬多塊錢還了,日子終于上了正軌。這時女朋友
告訴我她想考研究生,我也很支持,于是她辭職在家備考。
另外,在這里我要感謝我的ProjectManager,他原來是一個大通信公司的產品
經理, 對人非常和善,我從他那里學到了很多知識,而且他也給了我許許多多無私
的幫助。在工作上他給我充分的空間和信任。記得公司安排我維護一個接入服務器
軟件,由于代碼量不算太小(5萬行),資料和文檔都不齊全,我維護起來非常吃力
,所以想重新把它做一遍, 公司領導不太支持,可能覺得工作量太大,但是他極力
支持我,私下里他讓我放手去做, 我的維護工作他擠時間做。在他的支持下,我花
了半年時間完成了接入服務器的軟件,并且實現了一個相對完整的TCP/IP協議棧。
在這里我學會了嵌入式系統設計、驅動開發、TCP/IP和很多通信的知識,我花了一
年時間終于使自己從MIS開發轉到了通信行業,并且站穩了腳跟。我的開發大量是對
硬件的直接操作,不再受微軟的操作系統,VC、Delhpi這些開發工具的約束,我終
于看到了另外一片天空。
我做事情喜歡追根問底,隨著開發的深入,軟件開發與硬件聯系越來越緊密,
硬件知 識的匱乏又對我的發展產生了障礙,而且芯片技術基本上掌握在國外公司的
手里,這對做系統級設計是一個非常大的制約,一個新產品出來,第一道利潤(也
往往是最豐厚的利潤)常常都被IC公司如Intel、Motorola賺去了,國內的廠商只能
喝點湯。所以我決心解決自己的硬件技術障礙,并打算離開通信行業,進入IC設計
相關領域。
當然我明白如果我對硬件了解的非常少,沒有哪家IC公司會仁慈到招我這樣一
個一竅不通的人來培訓。所以我必須努力打好基礎,學一些相關知識為以后做準備
。就像我開始從MIS轉到通信一樣,我看過大量通信方面的書,并且給一個ISP做過
RADIUS計費分揀臺,在這樣的背景下這家通信公司才給了我這個機會。我在的通信
公司是做系統設計的,有不少PCB Layout硬件人員,平常我就注意向他們學習,由
于我做的是軟件,在公司看硬件資料不好意思,所以開始只好在家看,剛來上海工
作我連續一年都在加班,后來不加了,因為我要擠出時間學習,通常我12點左右睡
,第二天5點半起,我上班比較早,地鐵上如果人不多我也用來看書。學習當然不會
是一帆風順的,有些實在不懂的問題就積累起來問硬件人員,他們的幫助使我學習
進度快了很多,因為在沒有人點撥的情況下自學,我的一半時間是花在解決疑難問
題上,但這種問題經常是別人的一句話就可以讓我豁然開朗,我非常慶幸我有這樣
的學習環境。在后面的一年里,我學會了看硬件原理圖,學會了簡單的硬件設計(
模擬電路方面還有不小的差距),事情就是這樣的,當你安安份份做軟件,別人永
遠認為你是軟件開發人員,在你開始學習硬件時別人未必會認同,有位中興通訊的
朋友還對我說過,一個人不可能把所有東西都學完。我也明白這一點,但我希望自
己做的更好。但當你熟悉硬件后大家又會覺得你好像原本就是軟硬件都懂的,同事
們也都習以為常了。這個時候我可以把硬件資料堂堂正正的拿到公司看,沒有人再
大驚小怪了。 讓我比較自豪的是我通過自己的努力做了一個IAD(軟交換的終端設
備)系統方案,包含軟硬件的選型、設計等內容,這個方案得到了公司和同事們的
認同,讓我感到非常欣慰。
技術是相輔相成的,當我的硬件有了一定的進步后,我的軟件設計也有了很大
的提高 ,我可以從更深層次理解問題,我做的接入服務器CPU是Motorola PowerPC
860,熟悉的朋友都知道860 QMC與軟件的批量數據傳輸通常采用BD表的方式,硬件
人員做驅動的時候習慣采用固定BD表,每接收或發送數據都將數據從BD表拷貝到用
戶Buffer,或從用戶Buffer拷貝到BD表,由于理解的比較深入,我自己重新實現了
這個過程,采用動態BD表的方式,驅動從一個網口接收數據,提交給我的軟件進行
三層交換,直至從另外的接口發送出去,沒有進行一次拷貝。這樣的設計大大提高
了性能,使系統的指標接近理論值。軟硬件的結合使我的設計水平上了一個臺階。
我現在寫的這個操作系統,編譯后我把程序反編譯成匯編,找出其中不優化的代碼
,然后在C程序中進行調整。舉個例子,很多CPU沒有專門的乘法指令,這個大家應
該都知道,在這種CPU上進行一個乘法操作常常會花費大量的指令周期, 有的朋友
會說這個我知道,我會盡量避免采用×號,但是事情往往不是那么簡單,你知道
C語言中數組的下標操作是怎么實現的嗎?仔細看看反匯編的代碼你就會明白,同樣
是通過下標的定位操作,C編譯器會有時候會產生位移指令,但有時候會用乘法實現
,兩者效率往往是天壤之別,所以明白這些問題你才能將系統性能提升到極致。?
些問題就不多說了,有興趣的話以后可以共同探討。
話說遠一點,我由衷的希望在軟件上做的比較深入的朋友們有機會學學硬件以
及其它 相關知識,尤其是做底層開發和嵌入式設計的。這對軟件技術的提高有非常
大的幫助,否則很多事情你只知道該這樣但不會明白為什么該這樣。我這個觀點在
我現在的IC公司Project Manager那里也得到了驗證。他告訴我們公司現在的802.1
1芯片產品的軟件經理原本是做該芯片硬件設計的,某某某原本是做軟件的,現在在
做IC,類似的例子還有很多,只是在國內這樣的風氣不是非常流行。
我有一些心得體會與大家分享,只有當我干好本職工作后,我才會學習與工作
關系不 大的技術,這樣公司的上司才不至于反感,在入門階段的問題我通常不去問
那些資深人士 ,而是問一些資歷比較淺的朋友,比如剛畢業不久的學生,因為他們
往往會跟你詳細的講解,而資深人士通常覺得你的問題太簡單,所以回答的也很簡
單,我又不好意思多問。等技術上了一定的層次后我才會問他們,他們也能給你比
較深入的回答。另外,有些朋友說我機會比較好,他們也希望能從事新的工作可惜
沒有機會,我聽了只有苦笑,我的機會了解的人都應該知道,我沒有出生在什么IT
世家:)也沒有誰一路提拔我,所有的路都是自己走出來的,我母親去世比較早,
我的后母(我叫她阿姨)看著我努力過來的,一次她看我大年30還在寫程序,她說
像我這樣努力木頭都能學出來。
我的最終目的是IC而不是PCB,所以我下一步的準備開始學習IC設計的知識。公
司的同事沒有懂IC設計的,后面的路又要靠自己了,我買了不少相關的書,在網上
也查了很多的資料,我花了大量的時間去學習VHDL,并且用軟件進行了一些簡單的
設計和仿真(沒有設計ASIC,只是針對FPGA),隨著學習的深入,我漸漸明白了IC
設計的基本流程,同時也明白了這條路的艱辛。這個時候我已經做好了跳槽的準備
,我向一家業界又一定知名度的IC設計公司投了簡歷,并通過了漫長的面試(4個多
小時)。其他的一切我都比較滿意,唯獨薪資差強人意,我也明白原因,因為我是
這個行業的新人,我沒有經驗,我再一次將自己清零了。公司老板問我6000多一個
月能不能接受,我知道他也是照章辦事。想想我通信行業的朋友們,基本上都是年
薪10萬以上,月薪過萬的也比比皆是,朋友們也幫我介紹了不少待遇不錯的公司,
我該怎么選擇,當時我很猶豫,我熱愛我的事業,我向往我的追求, 但我也是一個
普通的人,我也需要養家糊口,我也想早一點買房買車。生活給我出了一道難題。
愛因斯坦在63歲時說過“一個人沒有在30歲以前達成科學上的最大成就,那他
永遠都不會有。”這句話給了我很大的壓力和震動,我馬上就26歲了,離30只有四
年時間,我必須抓緊這幾年寶貴的時間,努力達到我技術上的最高峰。為了這個理
想,為了能離自己的夢更近一些,我選擇了這家IC公司,我明白自己的薪資和公司
剛進來的碩士研究生相差無幾, 但為了今后的發展只能忍受,一切又得重新開始。
換行業是一個非常痛苦的過程,尤其從一個春風得意的位置換到一個陌生的崗位,
感覺象從溫暖的被子里鉆出來跳進冰水中,讓人難以接受。在原來那家通信公司,
我是唯一兩年時間漲了五次工資的員工,公司和同事都給了我極大的認可,工作上
也常常被委以重任。但現在這一切都成了過去,在新的公司我只是一個新人,沒有人
知道也沒有人在意我過去的成績。我決定重新開始,我把自己看作新畢業的學生,
我要用自己的努力得到公司的認可。進入新的行業是非常痛苦的,我告訴自己必須
忍受這一切,雖然外面有很多誘惑,但是既然作出了選擇我就不允許自己輕易放棄
。
我現在已經在這家新公司上了一個多月的班,開始非常艱難,現在慢慢適應了
。第一 個月結束時,Team Leader找我談話,說我是新進員工中最優秀的一個,我
心里很欣慰,這也算對我努力的一個肯定吧。在這里還要感謝我的女朋友,她給了
我很大的支持和鼓舞, 每次在我動搖的時候她都在鼓勵我,讓我堅持自己的理想,
剛來上海是她讓我不要勉強去做MIS,這次也是她讓我頂住了月薪過萬的誘惑,沒有
她我可能不會有今天的成績。 現在的公司有自己的操作系統,自己的CPU、DSP和其
它芯片,在這里我能學到世界上最先進的技術,我們的設計開發不再完全依賴別人
的硬件和系統,這讓我很開心。我打算等工作步入正軌后,全力學習新的知識,實
現我的理想。
在后面的兩年里我給自己定下了幾個目標:
一.努力做好本職工作,在工作上得到公司和同事們的認同;
二.努力學習IC硬件設計知識,多向同事請教,并利用一切機會多實踐;
三.實現我的實時操作系統的主要部分,完成TCP/IP協議棧模塊,并免費發布源代碼
;
四.和我女朋友結婚并買一套小房子,這是最重要的,因為我明白事業是可以重來的
,但是珍貴的感情很難失而復得。
在這里提一下我現在開發的操作系統,它是一個實時嵌入式系統,目前支持以下特
性:
a.支持時間片輪轉調度和基于優先級調度,最多64個優先級;
b.搶占式實時內核;
c.為了便于移植,主體用標準C實現;
d.匯編代碼非常少,不到100行;
e.支持任務管理,各任務有獨立的堆棧;
f.進程同步和通信目前完成了Semaphore,Message Queue正在調試;
g.實現了定時系統調用;
h.可以在windows上仿真調試
我還打算下一步實現優先級反轉保護,Event Flag,Data Pipe,內存管理(以前實
現過)、驅動接口等。 在這之后我還會努力完善它,比如加入文件系統,協議棧、
調試接口等。希望朋友們提出自己的意見和建議,在此不勝感激!
后記:
就像有的朋友說的,我的經歷或許會給一些朋友產生誤導,在這里我必須說明
一下。 我來上海以前學習過于拼命,常常晚上只睡3個多小時,我身高1米71,那時
只有108斤(我現在130多),家人也說我這樣拼命活不過60歲,但是當時的我太固
執,我對他們說只要能實現理想活50歲我就夠了。那時的拼命使我的身體受到了影
響,有一次早上突然腰肌劇痛難忍,痛的我倒在床上站不起來。雖然我現在已經比
較注意,但有時候還會隱隱作痛。后來在女朋友說服了我,來上海以后我不再如此
。我經常引用父親的一句話“身體是革命的本錢”。
而且我也發現拼命不是辦法,我可以熬一兩個通宵,最多的一次我連續工作了
三天三夜, 但是我半個月都沒有恢復過來,這樣是不是得不償失?學習工作應該是
一個長期的過程, 像馬拉松而不是百米沖刺。我現在非常注意調整學習和工作的強
度,我要保證每天盡量有相對充沛的精力,一些年輕的朋友覺得自己也應該拼命努
力,這讓我多少有些擔心,如果我的故事能讓你在學習工作上多一點興趣,我會感
到很開心,但如果誤導了某些朋友,讓你做一些不值得的付出,我會感到很內疚。
技術沒有貴賤之分,我以前換行業是因為自己的興趣所致,而不是對哪個行業
有什么偏見。我希望我的經歷不要給朋友一個錯誤的導向,覺得我始終向更高的技
術發展。其實各行各業做到頂尖都是很困難的。話又說回來雖然技術沒有貴賤,但
是門檻是有高低的, 無論如何,做IC的門檻要比做網頁的高,這一點無可否認。國
家各種人才都是需要的,但是作為個人奮發向上的想法還是應該有的,努力在自己
喜歡的行業上做的更好,而不應該停留在比較膚淺的層次上。
我是一個自己覺得比較有自知之明的人,或許我最大的優點就是知道自己有很
多缺點 :)。我的故事中很多的曲折和錯誤都是由我的缺點造成的,希望大家用審
慎的眼光看待我的經歷,不要被我的“花言巧語”所迷惑。我學習有些隨心所欲,
這給我帶來了無盡的麻煩,也大大阻礙的我的發展。記得我小時候成績比較出色,
但是后來學習嚴重偏科,導致我中學成績一再滑坡,也沒有考上什么好的學校,小
時候的一個朋友,當時的成績和我相仿,但是沒有我這個缺點,她上了清華,后來
在去了美國深造,在一個著名導師手下研究理論科學,這未嘗不是一條更好的出路
。另外我的學習方法也是在不斷改善中的,過去 的學習過于講究數量和時間,那樣
學習既苦而已效率不高,現在我非常注意學習的效率和技巧,這樣才是學習的捷徑
(當然不是指投機取巧),比如說學一相對陌生的技術,如果有條件,不妨問一問
有經驗的人,不需要問很多,往往他不經意的幾句話會給你非常大的幫助,甚至超
過你看一個星期的書。帶著這樣的思想再去學習你會節省很多時間,這樣何樂不為
呢?這些年中我學了不少的東西,由于開始非常盲目,所以學的東西雜亂無章,現
在回想起來讓我啼笑皆非,我把大量的時間浪費在一些沒有必要深入了解的知識上
,畢竟一個人的精力是有限度的。很多朋友很我一樣都背過五筆字形,的確它是個
不錯的輸入法,但是對一個研發人員它絕對不值得你去背,你的時間應該花在有價
值的地方。我這樣的事情還做過很多,我背過CCED、WPS的命令和快捷鍵,在dBase
基本退出歷史舞臺后我還花了很多時間去學習它的使用。所以我的學習在前期缺乏
規劃,沒有明確的短期目的、中期目標,只有一個虛無飄渺的長期的理想。這就像
做設計一樣,好的設計是從需求抽象到代碼有很多過程,而不能得到了需求就立刻
開始開始編碼。
當然這么些年的學習和工作多多少少有些收獲,下面我說說我的一些學習的心
得,這 些方法未必正確,我也在不斷探索和改進中。我的學習和工作有相對明確的
目標,我不會一時心動而去學習某一技術,在下決定之前我會考慮很多,包括長期
的發展,個人路線的規劃,需要付出的代價、可能遇到的困難及解決的辦法等等,
在決定后還會制定更加明確的計劃,包括短期、中期和長期的,身邊可以利用到的
資源(包括好的書籍、資料、軟硬件環境,也包括有經驗的朋友或者師長),以及
每一個階段是怎么過渡到高一階段的計劃,往往在一個學習階段一旦上路后會走的
相對順利,但是跨階段通常比較麻煩,比如從學習基礎知識轉到實踐。另外我買書
也有自己的方法,現在世面上高質量的書遠不如低質量書多,對于一個陌生的技術
,往往在第一次買書會選擇錯誤,即使買到一本好書但是它的方向也未必適合你,
所以我通常會先在網上查找一些該技術的介紹,有了一點點概念后再去買一本比較
薄、相對便宜并且內容相對泛泛而談的書,這是國內作者最善于寫的書:) ,再把
它瀏覽一遍后我就會基本明白這門技術的要點,后面買書和制定計劃就會明確的多
。否則一開始就想找本好書往往比較困難,而且買回來后努力學習,有時候學了一
半才發現是本低質量的書或者是相對過時技術,讓人非常懊惱。另外讓有經驗的人
幫你介紹,通常也是一個不錯的選擇。
有些朋友想學通信、嵌入式開發,但總覺得自己沒有軟硬件環境,我就按我的
了解給 大家介紹一下怎么建立這樣的環境,當然我了解的只是我學習和工作的方向
。通信我做的是數據網方面的工作,包括TCP/IP、二三層交換、對接入網、H.323和
軟交換也有一點認識。這些軟硬件環境都是可以在PC上構建的。你甚至可以在一個
沒有網卡的PC上建立一個包含多個路由器、接入服務器、VoIP網關、網守、主機等
的仿真網絡環境,而且與實際的網絡相當接近,當然這需要你有清晰的網絡概念和
一定的網絡知識,我一直在努力開發一套軟件將這個過程簡化,目前試驗已經做完
,我可能會將它融入我的操作系統外圍擴展軟件中。這樣的方法我無法用簡單的語
句講的很清楚,我可以說一下大概的思想,就是在PC上實現仿真網卡,(知道Wind
ows怎么在沒有網卡的機器實現虛擬網卡技術的朋友都應該會明白),然后每一個仿
真網卡對應一個虛擬設備,如路由器或者主機。你也可以借助第三方工具完成部分
工作,如VmWare等。我現在就是利用一個仿真網卡做自己的開發的。
至于嵌入式開發環境更加容易實現,PC就是一個非常大的硬件平臺,現有的嵌
入式操 作系統通常都支持X86,你可以在上面做開發,通過軟盤Boot或者使用虛擬
機裝載,我用VxWorks做了試驗,在一臺PC上跑Windows和VxWorks兩個系統。另外W
indows上的兼容DOS的16位仿真X86環境也為很多操作系統提供了絕佳的試驗環境,
我的操作系統在Windows上就是這樣實現的。Linux在嵌入式中應用也比較廣泛,它
在網上有大量的資料,而且也相對比較容易實踐。同時很多完善的嵌入式開發環境
支持軟件仿真,如Tornado、WinCE等。
風中玫瑰于2004-11-7 21:50:25編輯過
閱讀次數:209 發表時間:2004-8-17 18:57:15 [轉移] [收藏] [回復] [編輯] [去精華] [解固] [刪除]
用戶注冊 使用說明 功能說明
收費方式 點歌竅門 歌曲列表
回復主題:程序設計師真情懺悔錄
風中玫瑰 | 發貼:11| 魅力:4 | 給他留話
標 題: 程序設計師真情懺悔錄
前言:
不久前,蔡學鏞先生發表了兩篇分別叫做"程序與香雞排","再論香雞排"的文章,受
到的回響之大,據說連作者本人都接到該文的轉寄。足以見得該文的內容道出了臺
灣程序設計師心里最深處的想法。所以,本文想針對臺灣程序設計師來做討論,看看
身為一個程序設計師,究竟犯了什么過錯,導致大家寧愿賣雞排也不愿再繼續寫程
序。璩美鳳小姐為自己驚動臺灣社會的行為寫了真情懺悔錄,我們也該真誠地檢討一
下自己。
本文:
在臺灣,大部分的人都有個認知,就是"搞硬件的比搞軟件的要好賺","做SA/SD比
coding地位要高"。那些做ID Design的家伙待的公司所發的股票,永遠比搞Softwa
re Design的人待的公司發的還多,股價也高出好幾倍。搞SA/SD的人,在公司地位
好象也比單純寫程序的人高。于是我的父親有一次問我:"是不是搞硬件的人智商比
較高?","是不是搞分析設計的人比較有地位?"事實上,在學生時期我就認識不少人
,有的人因為程序寫不過別人,所以轉換跑道專攻硬件;也有人覺得每天面對示波器
和邏輯分析儀讓他們頭痛,工程數學也學不過人家,所以轉行搞軟件。到了實際上
面對許多前來接受教育訓練的學員之后,發現有人是因為寫十幾年BIOS和driver,
覺得乏味而沒有前途,所以想試看看應用程序的開發;有人則是因為受不了客戶每天
改需求,而且寫IOS和driver的人好象比較少,價格比較高,因此想學習如何撰寫系
統軟件。詢問那些上高階課程的朋友,有的人發現自己只會胡做SA/SD唬爛老板和客
戶,所以希望重新打好基礎,從基本的coding做起;有的人則因為寫程序寫太久,覺
得應該往上走向SA/SD的路子,畢竟老了程序就寫不動了。這個世界上什么樣的人都
有,絕對不能以小羨大。就很像搞政治的老是騙我們臺灣只分成外省人和本省人;搞
幫派的人告訴我們警察是帶著槍的流氓。實際上,每個族群大家在沒有被分化之前
都相處的和樂融融,而雖然有警察擄妓勒索,上班時間跑去聚賭,但是也有開我們罰
單時酌情輕罰的警察,和保護我們身家性命的警察。即使如此,身為一個程序設計
師還是要問,那為什么寫程序的好象地位就是比較低? 筆者認為,這是進入門檻的
問題。會做相同事情的人多了,就會削弱那樣技能的價值。就很像考過MCSE/MCSD證
照的人,通常比起考過SCJP/SCJD證照的人要來的沒價值,前者因為考過的人實在太
多,而后者考過的人少,僅是如此而已。但是絕不是代表考過MCSE的人,素質就比
考過SCJP的人要差,也不代表考過SCJP的人,實力真的比較高段。相信求學的時候
您一定遇過一種人,他實力也不怎樣樣,可是考試的時候他x的就是考的比我們高,
怎么我們心里就是不服,可是大多數老師偏偏就是比較喜歡分數高的人。因此,滿
坑滿谷的人自稱會寫程序,老板不愁找不到可以做project的人,你要求的薪水和價
格很高? 沒關系,找個學校剛畢業的小子,寫的比你快,寫的比你好,用的技術比
你新,更重要的,價格比你這個老屁股便宜一
半。所以程序設計師在雇主心中的地位日益低落,自然有跡可循。"那么,為什么寫
程序的進入門檻比較低?"在各位信息從業人員的身邊,非科班出生的比率非常高(當
然沒還賣雞排的高),科班出生的學生,搞不好在老板眼中的地位,還比不上一個半
路出家的自學者。那位
自學者會ASP、JSP、PHP、C++、C+、Java、Linux、Windows、Oracle...等,十八般
武藝樣樣精通。而我們科班出生的學生,只會離散數學、數據結構和算法,Visual
Basic搞不好沒有用的沒人家熟,網站的架設搞不好也沒人家熟,更何況科班出生
的學生,他的基礎學問搞不好根基也不扎實(問看看您身旁的科班學生),難怪最常
見的就是很多非科班的"高手"看不起科班的學生,覺得他們無三小路用,連個Wind
ows操作都比他們差,甚至有的還大言不慚的說:"我這輩子寫程序從沒用過書上的數
據結構和演算法,讀那些干啥?"。長期下來,科班的學生也開始質疑自己的所學,
甚至考慮轉行,當然,也有曲高和寡,孤芳自賞之人。總之,沒辦法受到老板垂青
,薪水永遠那么少,想賣雞排的念頭就開始萌生。之所以會有這種情況,筆者個人
認為有兩種主要原因,一是技術的流通性,二是臺灣軟件市場的需求。為什么技術
的流通性可以產生大量半路出家的非科班生? 這都要感謝臺灣大量作者,寫出大量
的入門書籍,大幅減低的進入程序設計領域的門檻。即使在各位眼中,繁體中文的
爛書很多,而且非常。但是,大家眼中的爛書,常常是再版多次的入門書,對某些
人認為是垃圾的東西,常常是另外一批人進入信息業的最佳踏腳石。不信各位到書
店看看,是"24小時學C++"、"快快樂樂學Java"的書比較多,還是"輕輕松松學微分
方程式"、"21天學復變"、"電子學不求人"的書多? 兩者的差距是 N:0。是微分方程
序和復變比++,Java難學嗎?筆者兩個都學過,至少我可以發誓,就一個有基本學習
能力的人來說,難度是一樣的,學成所需要的時間和功夫也是一樣的。再看我們的
公開討論區(BBS或Forum),我們可以看到大量的軟件技術討論區,卻看不到硬件技
術討論區(喔,請別跟筆者說那些每天問哪家主機板比較好,哪臺燒錄器較穩定、或
者說CPU時脈越高速度就越快越好,或是說x86的Out-Of-Order Executon是"故障執
行" 這一類渾話的討論區和我說的硬件技術討論區是一樣的喔!)書籍和討論區促進
知識的流通,造成了大量的軟件人才,更何況,學習設計軟件只要一臺PC就能寫出好用
的軟件,而學習硬件設計,需要的設備更是天價。
更重要的一點,就是學軟件的人,充分發揮儒家分享的精神,只要不是在BBS上冒充
小妹妹想要騙取大哥哥的同情來幫你寫程序作業,只要不是很差勁的亂問一通,通
常至少會有熱心人士愿意留下一個URL,讓我們可以找到參考文件,更具熱誠的,如
新竹師院BBS站Java版的TAHO先生,還擅用很多生動的比喻讓初學者體會技術的真義
。在這種知識充分流通的環境下,當然產生出非常多的信息從業人員,每買一臺PC
,上頭各種軟件的需求是無窮無盡的,每天都有各行各業的人需要各種軟件,所以
程序設計師的需求有一定的量。難怪有人說:"寫程式的人餓不死,但是也不會發大財
。"再來就是臺灣軟件市場需求所引發的問題.一般我們把軟件分成系統軟件(Syste
mSoftware)和應用軟件(Application Software). 編譯器,組譯器,除錯器,操作系統
,驅動程序,都是屬于系統軟件的一部分.臺灣除了硬件廠商,IC Design House之外,
甚少有撰寫驅動程序的需求.前幾年Linux被炒的熱時,也有許多高手投入操作系統,
編譯器以及簡化標準函式庫的研究.而臺灣所需求的軟件,極大多數是屬于應用軟件
,這些需求的應用軟件其中很大比例是和數據庫有關系的(其實不只是臺灣,其它地方
也是約略相同的情形).所以VB,Delphi和PowerBuilder這類IDE大行其道,因為他們容
易上手,可以快速開發數據庫應用程序,相關入門書籍很多,會的人更多. 因此符合我
們前面所說的:"會的人越多,價值就越低"的理論.但是別忘了,系統軟件有部分是偏
向應用軟件的,比方說開發軟件用的JBuildr和Visual Studio;制圖用的AutoCAD;一
套IC Design用的Xilinx或Altera;做OOA/OOD的Rational Rose和TogetherJ,筆者習
慣稱這些軟件叫做"軟件的軟件"(MetaSoftware).在一般程序設計師眼中,這類軟件
"理所當然"地認為都是由國外所發展.
這類軟件有極高的進入門檻,所以國外這類軟件公司的獲利率很高,所以該公司的程
序設計師可是身價非凡. 要知道,先前在媒體上有報導過,能夠讓Microsoft買軟件來
用的公司,只有Rational Rose(當然,不可能只買Rose來用). 如果做IC Design的人
沒有你的軟件就沒辦法做事,身為一個程序設計師,你會覺得你的身價和地位比做IC
Design的人低嗎? 如果你做的軟體像SoftICE或DriverWorks那樣被做硬件的工程師
大量地倚賴,你會覺得搞硬件的人比你厲害嗎?問題是,知道該如何設計一套這類軟件
的人,恐怕才是真正的異數. 而且需要跨領域的專才.要不是許多OpenSource的proj
ect(例如:KDeveloper)正在進行,恐怕很少人知道該如何設計一套IDE. 既然會制作
這類軟件的人在國內少之又少,那么他們的身價高嗎?很抱歉,臺灣沒有公司發展出足
以和國外大廠競爭的開發工具. 舉IDE為例,國內早期有家公司開發出一套名為DBto
ols的產品勉強可以算的上是這類產品,旗標也曾為它出版過入門手冊,可是使用這套
軟件的人好象...沒看過(如果該產品有不錯的占有率,請原諒我是井底之蛙),沒有市
場,公司無法賺錢,即使你是少數能做制作某類型產品的高手,公司最后關門大吉了,
您也只能算是"少數能讓公司賠錢的程序設計師"罷了.所以我大膽假設, Games Gol
sing或Anders Hejlsberg如果學李敖一樣50年不離開這個小島,大概早餓死了.以上
的討論,真正優秀的高手看了之后,或許會產生有時不我予,不得已必須遠渡他鄉的想
法. 程序設計師的價值就如同書的價值一般,國內和國外有不同的看法.國內教科書
比較便宜,應用的書比較貴.國外教科書比較貴,應用的書比較便宜. 國外重內容,薄
薄一本How Debuger Work可以賣44.99美金.而國內,都是看頁數來計價(侯俊杰先生
的書有努力在打破這個頁數的迷思,也做的蠻成功).有很多原因導致這兩種文化之間
的差異,但是,市場因素肯定是其中重要的一項.
閱讀次數:27 發表時間:2004-8-17 19:00:29 [轉移] [收藏] [回復] [編輯] [加精華] [固頂] [刪除]
回復主題:一對夫妻程序員的故事
風中玫瑰 | 發貼:11| 魅力:4 | 給他留話
標 題: 一對夫妻程序員的故事
發信站: 兵馬俑BBS (Thu Jun 24 12:28:52 2004), 本站(bbs.xjtu.edu.cn)
我剛結的婚,老公是大學同學,都是計算機專業的,畢業之后雙雙來到深圳,熱情
洋溢的工作,期望著靠兩個人的努力建立一個溫暖的小窩,希望永遠相愛過幸福的
日子,畢業一年以后還是男朋友的老公突然被查出來患上了乙肝,很快老公被原來
公司解雇了,而且他們也沒有給我老公辦理任何醫療保險,同時,我也因為化驗單
上出現了三個加號而被公司辭退了,醫生說,我剛剛被感染,可能會產生抗體,也
可能會抵抗不了病毒而患病,和我本來同住的女孩子趁我不在的時候搬走了,當我
看到空白的床鋪時,覺得命運真是會捉弄人,深圳,第一次讓我覺得很冷漠,沒有
了工作,搬離了原來的公司集體宿舍,男友因為打擊而失落的樣子讓我覺得難過極
了,第一次,我沒有任性的哭,而是在街上溜達半天對男友說:沒有關系的,我們
好歹還有點積蓄,我們去租個房子,我去找工作,你好好養病,會好起來的。很幸
運,我在一周之內找到工作了,并在單位附近租了一套房子,那年時內存漲價的時
候,但我怕我不在家的時候他會悶,我們還是花了6400買了一臺電腦,花了1580開
通了ISDN,就這樣,我工作,男朋友開始了艱難的求醫之路,他白天在家里睡覺,上
網,到醫院打針,我每天下班回家做飯,打干擾素很貴,每次都是幾千塊錢,因為
剛到新公司工資不高,原來的積蓄我不敢隨便亂用,準備全部用來支付藥費,所以
在一年的時間里我沒有買過新衣服,沒有買電視,我可是個超級電視迷啊,我上大
學之連自己的內衣都是我媽洗的,現在想想都不知道那個時候自己是怎么堅持下來
的,我本來是個任性的女孩子,愛笑也愛哭,可自從我男朋友病了,我卻很少當著
他的面哭了,想哭我就偷偷一個人哭,記得有一次,老公拿回化驗結果,一點都沒
有好轉的跡象,他終于忍不住哭了起來,看到他的樣子我傷心極了,可我沒有哭,
拼命的逗他笑,可晚上我一個人在洗手間邊洗臉邊哭,現在想想還有點難過,我發
誓我一定要我男朋友重新開心起來,最終有一次,我們從醫院回來,看到化驗單上
的結果醫生將病毒復制的數量標注為微量的時候,我終于忍不住在公車上落淚了,
很奇怪,現在回想這些往事,好像不是發生在自己身上的。
努力的工作,終于讓我得到了高薪和高職位,而男友的身體也沒有那么差了,可
因為他長時間的與外界脫節,而我卻見多了成熟有魅力的大好青年,不免覺得他幼
稚,從此矛盾就產生了,我們吵架,任性的指責他,然后和好,終于我們大吵了幾
次,當我真的想離開他的時候,想起了我們一起度過的日子,我愛他,一如既往,
呵呵,寫到這里,不免要說還是書讀多了就是有好處,讀書讓我們明白事理,知道
討論和溝通的的重要性,我們開始談心,談我們之間性格的差異,談我們因為環境
而造成思想上的差距,最終我們接受了這些,我們承諾對方:我們一起努力。老公
不喜歡交際,除了我,他最喜歡的就是游戲,他是計算機的忠實熱愛者,而我喜歡
玩,是個活潑開朗整天唧唧喳喳的的小女人,終于想明白,思想單純也沒有什么不
好,我工作壓力大,但看到老公就覺得自己因為這些瑣事生氣幼稚極了,所以老公
讓我可以快快樂樂的工作。
不寫了,因為我追看的韓劇開始了,經過8年的風風雨雨,我們結婚了,現在準
備買房子了,好高興的,我不知道我老公是否能看到這個帖子,無論看到與否,我
都想對他說:親愛的老公,我愛你,希望因為有我你可以感到幸福,我會努力的,
努力讓我們更幸福。
很想對天下所有正幸福或者正在經歷不幸的人說:不要被不幸嚇倒,只要熱愛生
活,積極的爭取,幸福會來臨的。
因為愿望是真誠的,所以一定會實現。
今天上班很無聊,喊了老公在sina里聊天,因為他們單位禁了QQ和MSN,我說我
現在覺得很無聊,老公建議我和他一起寫個小游戲然后我們兩個玩,真讓我。。。
暈倒!
其實生活和我剛畢業時夢想的差距很大,而且我付出的努力也應該比其他的女孩子
更多,老公身體不好,被公司辭退,和別人合伙做生意,不僅被騙了三萬塊錢,還騙了
他的全部心血,曾很多時候,我很迷茫,是退縮,還是勇敢的面對一切,我比男孩子
僅有的的一點優勢就是我是女的,而且我不屬于恐龍,我可以嫁個有錢的,而不必
這么辛苦,我很少對朋友講過因為老公的身體不好而帶給我生活的的壓力,因為當
我決定擔負我們生活重擔的時候,我就知道沒有人可以替代我自己,所有的幫助都
是有限的,如果想讓自己幸福,就一定要堅強,要努力,經歷了這么多,真的覺得只
要夠堅強,沒有什么大不了的,我曾經是個程序員,我老公現在也是,所以我知道做技
術很辛苦,也知道做技術的男孩子感情生活也不太多姿多彩,可是,如果熱愛計算機就
努力的工作吧,規劃好自己的發展方向,然后努力,會有豐厚的回報的.
還有,希望社會不要歧視乙肝患者,我老公曾經是嚴重的乙肝患者,我們生活在一
起,我很健康,而我老公曾經因為身體的緣故找工作都成了問題,這些曾給我老公帶來
了很大的壓力,給我們的生活制造了很大的阻力,其實我老公聰明能干,對此我很氣憤
,很想罵人,不過不知道該罵誰好,呵呵. 希望每個人都能夠善待自己,善待別人.祝
福所有喜歡計算機的人,都生活的快樂,幸福.
^-^,第一次將自己的生活感受無所顧忌的寫出來,感覺真好.
閱讀次數:47 發表時間:2004-8-17 19:01:53 [轉移] [收藏] [回復] [編輯] [加精華] [固頂] [刪除]
回復主題:一個還不太老的程序員的體會
風中玫瑰 | 發貼:11| 魅力:4 | 給他留話
標 題: 一個還不太老的程序員的體會
軟件以程序員為本(《程序員》)
謹以此文獻給所有想當程序員的朋友
(一) 文章由來及個人經歷
我是一名計算機專業的本科畢業生,畢業已經1年多了。畢業后從事的是軟件編程工
作,經常有其他專業的朋友想從事軟件編程工作,向我請教如何,因為我自覺涉行
不深,不敢信口開河,無奈朋友信任,我不得不鄭重考慮一下這個問題了,來幫助
朋友選擇和回報朋友的信任。
這也就是此文的由來。
還是先談談我個人的經歷吧。(是不是有點俗套,但我覺得了解我的經歷,有助于
理解我話的含義;我一向認為不了解古龍的生活經歷的,不會真正讀懂古龍的作品
和古龍筆下的英雄的)我本科就讀于南方一所著名的高校(因為自己的不成氣,愧
談母校名謂),學的就是計算機專業。上本科時,幾乎沒有認真的聽完一門專業課
程,上課看報紙睡大覺,下課看錄像看小說看球賽,臨考抱佛腳,每次考試和課程
設計都是蒙混過關。(于之相對是,我選修的工商管理和經濟貿易方面的課到是聽
得不亦樂乎,考的分數頗高,也許這才是我的真正興趣所在。)
總而言之,大學是混過來了,對專業的理解和掌握程度,應該沒有達到畢業要求的
合格水平。(也很后悔,但是有什么用呢,當時不知道珍惜;如果上天再給我一次
機會的話,我一定會抓住,多看點美國大片少看點港片;現在,重回校園是我的一
大理想)但是大學的學習使我有了一個簡單的知識框架(總算學費沒白交),我對
一個朋友這樣形容過我的這個知識框架,“它不是鋼筋鑄的,是稻草扎的”,哈哈
哈,不要笑,真的,我敢說很多本科畢業的朋友的本專業的知識框架也只不過是“
稻草扎的”。直到現在,我一直覺得自己的基礎知識還是很薄弱,一直想抓點時間
,把基礎書本好好的溫習一下。(此項任務正在計劃和實施中)
畢業后,分配到某研究所工作。當領導讓我選擇自己以后的工作方向時,我毫不猶
豫的選擇了軟件(也不知道到底是對還是錯,但我決不后悔)。此研究所主要是以
硬件為核心搞通信控制設備的研發生產;軟件是輔助,所以也不受什么重視,很多
搞軟件的人都跳槽走了,留下來的大都是一些已經廢掉和行將廢掉的“偽/萎”程序
員(名副其實的“軟件人員”)。在這里感覺不到什么高緊張和高技術程度的研究
和開發;軟件開發的技術含量極低,以致于大部分人只有半年的學習和開發經驗,
以后都是這些知識和經驗的重復利用。(我問過其他到研究所工作的同學,他們說
都一樣,嗚呼,我們的國防科研開發呀)對于軟件的開發,領導的意志和老掉牙的
經驗在新課題的技術采用和開發中起了決定性作用,沒有明確的需求,沒有明確的
開發計劃和進度,大家在一天一天一周一周的浪費著寶貴的時間,最后開發出來的
東西修來改去,直至它變成垃圾。 我越來越認識到一點,要么象那些廢人一樣廢掉
,要么自己去努力尋求出路,反正別指望從工作中得到什么高明的經驗了(教訓倒
也許有)。期間發生了一些感情上的糾紛,嚴重的影響了學習計劃和效果,直到現
在浮躁的心仍然有些浮躁。
期間,我讀了一些書,看了一些文章,編過一些小例程,搞了一些沒有什么技術含
量的開發工作,也和一些前輩和高手們談過聊過。 我一直在思考幾個問題;如何學
習軟件開發?如何搞軟件開發,國外的軟件開發到底其秘訣在何處?為何我們的軟
件業一直在低水平徘徊?我們難道真的離了Microsoft就活不了?我們的程序員到底
在浪費時間干些什么?軟件開發到底是如何分類的?我們如何走自己的民族軟件之
路?
我想了很久,一些想通了,一些還在想。但我知道有一點是肯定的,那就是我們一
定要靠我們自己走出自己的軟件之路!跟在別人屁股后面永遠受制于人!
好了,關于經歷和牢騷就先寫這些吧,該進入我們的正題了。
(二) 你適合當程序員嗎,你知道編程序是怎么回事嗎?
1、 程序員意味著要編程序。(如果你僅僅想得到一份高薪水的工作,喝喝咖啡就
等老板發薪水,我奉勸你還是另找一份更合適的工作,譬如練攤,真的,兄弟,這
份工作不適合你)
2、你是學文的還是學理的,編程序也許需要浪漫,但更需要邏輯和嚴謹。(說坦白
點就是,在你沒有找到樂趣以前,它很枯燥)
3、你有對新技術追求的熱情嗎?你有刨根問底的探索精神嗎?(熱情絕對是最重要
的!你仔細思考一下自己的性格適合當程序員嗎?)
4、當程序員決不是什么好差事,時刻需要學習,需要思考。(直到你成為那個可以
引導別人去學習和思考的人,你才可以偷偷的嘿嘿笑,又一群傻蛋)
5、程序員的未來很迷茫。(但我認為關鍵看你自己!我希望你是一個有追求的人,
不僅僅是混碗飯吃。因為真正的樂趣在于創造;如果你能改變軟件業的歷史,那才
是英雄;不想成為Bill Gates,不想成為Dennis Ritchie和 Bjarne Stroustrup,
我會說你沒有追求。有個關于程序員未來的笑話,也許你還沒聽過,你該聽一聽,
摘抄如下:
一個程序員對自己的未來很迷茫,于是去問上帝。
“萬能的上帝呀,請你告訴我,我的未來會怎樣?”
上帝說“我的孩子,你去問Lippman,他現在領導的程序員的隊伍可能是地球上最大
的”
于是他去問Lippman。
Lippman說“程序員的未來就是駕馭程序員”
這個程序員對這個未來不滿意,于是他又去問上帝。
“萬能的上帝呀,請你告訴我,我的未來會怎樣?”
上帝說“我的孩子,你去問Gates,他現在所擁有的財產可能是地球上最多的”
于是他去問Gates。
Gates說“程序員的未來就是榨取程序員”
這個程序員對這個未來不滿意,于是他又去問上帝。
“萬能的上帝呀,請你告訴我,我的未來會怎樣?”
上帝說“我的孩子,你去問侯捷,他寫的計算機書的讀者可能是地球上最多的”
于是他去問侯捷。
侯捷說“程序員的未來就是誘惑程序員”
這個程序員對這個未來不滿意,于是他又去問上帝。
“萬能的上帝呀,請你告訴我,我的未來會怎樣?”
上帝搖搖頭“唉,我的孩子,你還是別當程序員了”)
6、當程序員還是很有樂趣的。(當你學到新知識時,當你有新的思想見解時,當你
有新的產品問世時,和知己探討你的成果時…我問你,覺得這些是樂趣嗎?)
7、當程序員不易也不難。(世間事有難易乎?為之…;不為…。你有決心和信心嗎
?)
8、你真的要當程序員?是你自己的想法?
9、你舍得花錢買書嗎?(讀好書絕對是學習編程的最佳捷徑。你一定會說,現在電
腦書籍真***貴,沒法子,誰讓知識和技術在人家的腦袋,在人家的書里呢;等你寫
書時可以把價格定低一點,記著還有好多沒錢但想買書的兄弟很困難呀。要舍得買
書,買好書,不好的的書不如不讀,其害大于其益,關于買什么書,你可以問高手
或看候捷的書評;準備一個小本子記錄你想買的書的名字,逛書店時看看,如果好
就買下,記住要讀,別光買不看。) 10、我告訴你,程序就是:任何有目的的、預
想好的動作序列,它是一種軟件。
11、編程序就是編寫程序。
12、你想好了嗎?(如果你想好了還是決定要當程序員,可以繼續往下讀;否則,
你可以繼續尋找別的出路了。)
(三) 一個程序員應該具備的基礎知識和概念
1、計算機是有什么組成的,CPU是什么東西,其工作原理是什么。(對于這些以及
下面將要提到的概念我不會告訴你什么答案,你可以看相應的教材,關于教材我會
在下一部分詳述,記住理解最重要!)
2、機器語言和微指令集的概念。
3、程序的概念。
4、匯編語言是低級語言但不是機器語言。
5、高級語言主要有那些?(C,C++,Basic,Pascal,Fortran,C#,Java等等;
如果你是中國軟件業的英雄,你也寫一門語言,最好不用英語) 6、編譯程序和解
釋程序的概念和其原理。(編譯器是高手和專家編寫的)
7、HTML、XML等是標識性語言。
8、Prolog是人工智能語言。
9、操作系統OS的概念和原理。(Windows98,Windows2000,Windows NT,UNIX,L
inux,等等都是OS,還有一些實時OS,嵌入OS,編這些的絕對是高手)
10、Windows編程說白了就是Windows API的調用。(中國的程序員很多只是會編wi
ndows程序,用的是VB,我的建議是這些程序員頂多只是低級編碼員,我稱其是cod
er)
11、VC++、VB、BC、BCB、Delphi、VF等都只是編程的工具和環境,不是編程語言
。
12、面向結構的設計概念。
13、面向對象的概念。(好好理解,兄弟,這個東西還是很重要的)
14、軟件工程的概念和原理。(如果你想當老總就需要好好研究了,系統分析員比
編碼員要高一個等級,薪水也高喲)
15、數據庫的概念。(要熟悉一些著名的數據庫系統和語言的名字,如Orcle,SQL
,DB2,DyBase等)
16、了解網絡概念。
17、了解多媒體概念。
18、熟悉和掌握數據結構和基本算法。
19、是不是要求太高了,別著急慢慢來,進步在不知不覺之中。(一旦開始學習,
一個月以后你就會有一個基本的概念;兩個月以后你就會感覺自己有了全面的基礎
知識;當你知道編程序是怎么回事時,說明你已經入門了。也有很多人編了很多年
程序還沒有入門呢,你不會希望自己步其后塵吧。要有信心和耐心。沉不住氣怎么
能成大事?!)
(四) 教材推薦
――-推薦的教材主要還是針對概念來的,最好選用名校的教學用書。
1、《計算機組成原理》(熟悉)
2、《數據結構》(掌握)
3、《操作系統》(了解->熟悉)
4、《The C language》(掌握)
5、《編譯原理》(了解原理)
6、《匯編語言》(了解)
7、《計算機網絡》(了解)
8、《軟件工程》(了解)
9、《關系數據庫》(熟悉)
10、《The C++Languege 》(掌握)
11、《面向對象設計》(掌握;結合C++學習)
(五)一些經驗和體會
1、真正的程序員用C++;(一位專家說的)
2、動手去編程序;
3、動腦去思考;
4、要有良好的編程風格;
5、讀書,讀好書,盡量讀原版書!(我反復強調這一點,讀書要有選擇,堅持讀好
書,名家出的經典書,不要浪費實踐在一些粗制濫造的書上面;堅持博覽群書)
6、有自己的學習計劃;
7、總結自己的經驗教訓;(準備一個筆記本,記錄錯誤和心得)
8、不要怕學新東西;
9、要有軟件工程的思想;
10、善于發現問題,然后去尋找答案;
11、向高手請教;(要虛心直到你成為高手)
12、和同行交流;(不善于交流肯定不行)
13、懂得軟件的實質,不要被千變萬化的表象所迷惑;
14、真正要學習用的是編程語言和方法,不是什么庫,什么類,什么工具;(學用
那些什么庫都比較簡單,但光會這些庫,我覺得還遠遠不夠)
15、學習wiodows編程主要是學習windows OS和win32 API;
16、有空了解一下嵌入式開發;
17、有空了解一下PDA軟件開發;
18、了解一下.NET框架和C#語言,也許它是你新的衣食父母;
19、要有耐心,不要作浮躁的人; 20、對程序加注釋,并保留你的老程序;
21、學到的東西越多,了解的越多,你就越接近專家;
22、有空去逛逛CSDN,那里有你很多知己;
23、要有信心成為一個優秀的程序;
(六)一些好書的推薦
1、《The C Programming language》 (Keinighan & Dennis Ritchie 1988)
2、《The C++ Programming Languague》(Bjarne Stroustrup 1997)
3、《Inside The C++ Object Model》 (lippmans)
4、《Effective C++》 (同上)
5、《More Effective C++》 (同上)
6、《Exceptional c++》
7、《C++面向對象高效編程》
8、《設計模式》
9、《Thinking In C++》
10、《The Standard C++ Bible》(一般推薦)
11、《The Art of Computer Programming 》
12、《Programming Windows》 (Charles Petzold)
13、《VC++5.0技術內幕》
14、《MFC 深入淺出》
15、《軟件需求》
16、《Advanced Windows》
17、《C++ primer》
18、《win32程序員參考手冊》
19、《用TCP/IP進行網際互連》
20、《COM 本質論》
(七)學習計劃
――-這個學習計劃是我個人定的,也共享給大家參考一下,共同進步吧。 1、《
計算機組成原理》
2、《操作系統》
3、《數據結構》
4、《匯編語言》
5、《 C 》
6、《 C++ 》
7、《VC 技術內幕》
8、《Programming Windows》
9、《深入淺出MFC》
10、《Advanced Windows》
11、《Inside The C++ Object Model》
12、《Thinking in C++》
13、《Effective C++》
14、數據庫
15、網絡
16、嵌入式OS和編程
17、硬件單片機
18、.NET和C#
19、軟件工程
20、UNIX和Linux
(八)后記
一年來浪費了大量的時間去摸索,去思考,走了很多的彎路,直到現在我還覺得自
己是個編程的門外漢。我把我的一些體會和想法說出來(當然,很多都不一定正確
,歡迎大家指正和討論),也許對一些想加入程序員行列的朋友有一些建議和幫助
。希望能幫助這些朋友順利走上編程之路,成為高手。
如果真能如此,我也就很高興了。歡迎有興趣的朋友給我發E_mail(sjpsky@163.n
et);我這個人有兩大業余愛好,其一就是讀武俠小說,其二就是結交英雄俠士。
后記:此文我用analyster的名字登錄,發表在“csdn-程序人生”上了,有很多網
友看了,回了,還收到幾個網友發來郵件,和我探討,我很感謝大家對我的信任和
鼓勵。
我要說明的就是我的這篇小文,主要是想給“一些想成為程序員”的朋友一些建議
,幫他們尋找一條自我培訓的捷徑,(其實世界上沒有什么捷徑的,我覺得一切都
在于悟性,師傅領進門,修行在個人,譬如我就修行不夠)少象我一樣作大量的無
用功。還有,主要就是一個程序員應該具備的基本功(個人看法),有人稱其為“內
功”,我覺得很對。沒有扎實的基本功,我們如何能夠做到游刃有余的編寫高質量
高性能的優秀程序呢?
讓我們共同努力,振興我們的民族軟件業!
posted @ 2005-05-13 17:04 西門吹牛 閱讀(1893) | 評論 (0) | 編輯 收藏
免費的Java電子書籍和技術文章:
http://java.sun.com/docs/books/jls/second_edition/html/j.title.doc.html
Java語言規范 - 第二版 - This book attempts a complete specification of the syntax and semantics of the language. We intend that the behavior of every language construct is specified here, so that all implementations will accept the same programs.
http://www.artima.com/objectsandjava/webuscript/index.html
對象與Java:使用Java來構建面向對象的,多線稱的應用程序 - by Bill Venners - this free book is a work-in-progress.
http://books.iuniverse.com/viewbooks.asp?isbn=15834821801&page=1
Java1.1的面向對象程序設計原理 - The Practical Guide to Effective, Efficient Program Design. (free book)
http://books.iuniverse.com/viewbooks.asp?isbn=05951350051&page=fm1
Java 與Internet 安全- This book offers you introductory and advanced discussions of the hottest security technologies for developing and understanding successful e-business applications. (free book)
http://readingroom.elpress.com/readittoc.jsp?Book=0077094603
Java: 一個面向對象的程序設計語言 - free book. By Michael Smith, publication date: 1999, number of pages: 494.
http://readingroom.elpress.com/readittoc.jsp?Book=0471258415
Java設計模式,第 2卷 - free book. By Mark Grand, publication date: 1999, number of pages: 368.
http://books.iuniverse.com/viewbooks.asp?isbn=15834821721&page=fm1
VB程序員到Java - Java is really quite easy to learn if you have some Visual Basic experience. Furthermore, it gives you a powerful way of moving from standalone Windows programming to GUI programming of web pages and interactions of client and server processes across networks. (free book)
這是一本非常好的書,在書店需要你$50.00美金
精通Enterprise Java Beans和Java 2平臺,
http://theserverside.com/resources/books/ejb-book-roman.zip
This is a Free electronic download for viewing Ed Roman's book, 'Mastering Enterprise Java Beans'. This book costs almost $50.00 at the bookstores, but is now available for free. This is a must have book for those learning and understanding EJBs.
來自Oreilly的免費書籍章節:
http://fatbrain.oreilly.com/catalog/javacook/ch18.html
Web Server Java: Servlets and JSP -chapter from Java Cookbook
http://fatbrain.oreilly.com/catalog/javaxml2/ch12.html
SOAP -chapter from Java & XML, 2nd Edition
http://fatbrain.oreilly.com/catalog/javaxslt/ch05.html
XSLT Processing with Java -chapter from Java and XSLT
http://fatbrain.oreilly.com/news/javaxslt_0801.html
Top Ten Java and XSLT Tips -by Eric M. Burke, author Java and XSLT
http://www.oreilly.com/catalog/javanut3/chapter/ch04.html
The Java Platform -chapter from Java In a Nutshell, 3rd Edition
http://www.oreilly.com/catalog/jfcnut/chapter/ch03.html
Swing Programming Topics -chapter from Java Foundation Classes in a Nutshell
http://www.oreilly.com/catalog/jentnut/chapter/ch04.html
Java IDL -chapter from Java Enterprise in a Nutshell
http://www.oreilly.com/catalog/jenut2/chapter/ch19.html
XML -chapter from Java Examples in a Nutshell, 2nd Edition
http://www.oreilly.com/catalog/jservlet2/chapter/ch12.html
Enterprise Servlets and J2EE -chapter from Java Servlet Programming, 2nd Edition
http://www.oreilly.com/catalog/jservlet/chapter/ch03.html
The Servlet Life Cycle -chapter from Java Servlet Programming
http://www.oreilly.com/catalog/jserverpages/chapter/ch05.html
Generating Dynamic Content -chapter from JavaServer Pages
http://www.oreilly.com/catalog/javadc/chapter/ch03.html
Distributing Objects -chapter from Java Distributed Computing
http://www.oreilly.com/catalog/jthreads2/chapter/ch01.html
Java Distributed Computing -chapter from Java Threads, 2nd Edition
http://www.oreilly.com/catalog/javabeans/chapter/ch01.html
Introduction -chapter from Developing Java Beans
http://www.oreilly.com/catalog/javadata/chapter/ch04.html
Database Access Through JDBC -chapter from Database Programming with JDBC and Java
http://www.oreilly.com/catalog/javasec/chapter/ch01.html
Java Application Security -chapter from Java Security
http://www.oreilly.com/catalog/javacrypt/chapter/ch06.html
Authentication -chapter from Java Cryptography
http://www.oreilly.com/catalog/jswing/chapter/index.html
4 Free Chapters from Java Swing
http://www.oreilly.com/catalog/entjbeans2/chapter/ch04.html
Developing Your First Enterprise Beans -chapter from Enterprise JavaBeans, 2nd Edition
http://www.oreilly.com/catalog/javanp2/chapter/ch11.html
Sockets for Servers -chapter from Java Network Programming, 2nd Edition
http://www.oreilly.com/catalog/javaio/chapter/ch05.html
Network Streams -chapter from Java I/O
http://www.oreilly.com/catalog/java2d/chapter/ch04.html
Painting and Stroking - chapter from Java 2D Graphics
http://www.javasoft.com/docs/books/tutorial/index.html
Java指南- This is a practical guide for programmers with hundreds of complete, working examples. The Tutorial is organized into trails--groups of lessons on a particular subject.
http://chichi.snm.emu.id.au/~scott/java/servletdoc/
Java Servlet 文檔
Chapter 1 - A Revisionist History of Programming - from Java Principles of Object-Oriented Programming
http://www.empowermentzone.com/thinkjav.zip
Java編程思想
http://www.empowermentzone.com/java_age.zip
使用VisualAge 編寫Java 程序
http://www.empowermentzone.com/javatalk.zip
Java Speech API 開發者指南
http://www.empowermentzone.com/java_tut.zip
Sun Microsystems 的Java指南
http://www.empowermentzone.com/javahelp.zip
Collection of Java help files
http://www.empowermentzone.com/jdk11doc.zip
Java1.1 開發包完全開發文檔
http://www.empowermentzone.com/java28dy.zip
28天自學Java
http://www.empowermentzone.com/java_use.zip
使用Java
http://www.kaposnet.hu/books/javabyexample/index.htm
http://screech.cs.alfred.edu/~fogelmdj/JavaBook/index.htm
Java例子by Clayton Walnum
http://www.kaposnet.hu/books/hackjava/index.htm
Java 專家解決方案by Mark Wutka
http://www.kaposnet.hu/books/javaunleashed/htm/toc.htm
Java 1.1??????by Macmillan Computer Publishing
http://www.kaposnet.hu/books/javabeans/index.htm
介紹 JavaBeans by Michael Morrison
http://www.kaposnet.hu/books/profiapplet/index.htm
開發專業的Java Applets by K.C. Hopson and Stephen E.Ingram
http://tango.ce.cctpu.edu.ru/java/JavaUnleashed/httoc.htm
Java ??????
http://tango.ce.cctpu.edu.ru/java/Internet%20Game%20Programming%20with%20Java/
Internet游戲???序21天自學通
http://freebooks.by.ru/view/JavaDevelopersGuide/index.htm
Java 開發手冊
http://freebooks.by.ru/view/JavaQuickReference/ewtoc.html
Java 快速參考
http://linux.manas.kg/books/java_michael_morrison/
Java 第二版
http://linux.manas.kg/books/java_1.1/htm/toc.htm
Java 1.1 發布版
http://www.docs.rinet.ru:8080/langspec-1.0
Java 1.0 官方規范
http://www.docs.rinet.ru:8080/jdk1.0/api
JDK 1.0 手冊
http://www.docs.rinet.ru:8080/Javalocale
Java Locale
http://www.docs.rinet.ru:8080/vmspec
Java虛擬機規范
http://www.docs.rinet.ru:8080/JavDev
Java 開發者手冊
http://www.docs.rinet.ru:8080/Jintra
Intranet With Java
http://www.docs.rinet.ru:8080/UJ11
使用Java 1.1
http://www.docs.rinet.ru:8080/Marimba
Marimba
http://www.docs.rinet.ru:8080/OLDui/OLDui
使用java.awt 創建用戶界面
http://www.docs.rinet.ru:8080/KofeynyyPrimer
Java 例子
http://www.docs.rinet.ru:8080/JSol
Java專家方案
http://www.docs.rinet.ru:8080/JWP
使用Java開發Web程序
http://www.docs.rinet.ru:8080/langenviron
Java語言環境
http://www.docs.rinet.ru:8080/Jtuta
Sun Microsystems 的Java手冊
http://www.docs.rinet.ru:8080/jdk1.2/docs
JDK 1.2 手冊
http://www.docs.rinet.ru:8080/codeconv
Java代碼書寫習慣
http://www.docs.rinet.ru:8080/WebApp
使用Java 創建Web Applet
http://www.docs.rinet.ru:8080/JaTricks
Java 技巧
http://www.docs.rinet.ru:8080/JavaBeans
介紹Java Beans
http://www.docs.rinet.ru:8080/SexJava
探索Java
http://www.dcs.napier.ac.uk/~bill/jbook.html
6章在線免費, 精通 Java
ftp://dl3.51soft.com:8384/jav028.zip
21天自學java (389 KB, html format) - This book teaches you all about the Java language and how to use it to create applets and applications. Here is another download.
ftp://dl3.51soft.com:8384/jav025.zip
介紹Java Beans (201KB, html format) (#695)
ftp://dl3.51soft.com:8384/jav007.zip
Java 開發者指南(1181 KB, html format)
tp://dl3.51soft.com:8384/jav008.zip
Java 開發者參考 (2574 KB, html format) (#699)
ftp://dl3.51soft.com:8384/jav006.zip
Java 例子 (3769 KB, html format) (#697)
ftp://dl3.51soft.com:8384/jav003.zip
開發專業Java Applets (1244 KB, html format) (#981)
ftp://dl3.51soft.com:8384/jav001.zip
使用Java創建Web Applet (4860 KB, html format) - We hope that this book will begin to show you what Java is and what Java is not.
ftp://dl3.51soft.com:8384/jav004.zip
使用 Java開發 Intranet應用程序 (1687 KB, html format) - After reading this book, you should have a good understanding of programming Java applications and how to apply that toward creating applications of your own.
ftp://dl3.51soft.com:8384/jav002.zip
???? Java??? Intranet??????? 1627 KB (#983)
http://www.nopayweb.com/computerbook/java.shtml
更多免費的在線書籍
Java常見問題:
Java FAQ (www-net.com)
JavaSoft FAQ Index
Java eZines:
Java World
Java Pro
Mining Company - Focus on Java
Java Developer's Journal
Java Report Online
NC World Archives
Servlet Central
Java Programming Standards:
Java Programming Standards (.rtf, 338 kb))
The JavaBeans 1.01 Specification
Enterprise JavaBeans Specifications
Code Conventions for the Java Programming Language
AmbySoft's. Java Coding Standards (pdf)
Java Documentation:
Java 2 SDK, Standard Edition Documentation - Version 1.3
Enterprise JavaBeans 2.0 Documentation
Enterprise JavaBeans 1.1 Documentation
JavaBeans API Definitions
Java 2 Platform, Standard Edition, v1.2.2 API Specification
Related Java APIs
面向對象:
Don't Fear the OOP
Techniques for Object Oriented Analysis and Design
The Essence of Object Oriented Programming
Object Oriented System Development (book)
Cetus Links - Object-Orientation
OOSE Articles
Object-Oriented Software Engineering Tutorials and Links
Object-Oriented Programming Concepts from Sun
Object-Oriented Information Sources - Teaching
Object-Oriented FAQ
Java 白皮書:
Java White Papers from Sun
Java 2 Technology White Papers from IBM
Scott Ambler's Online Writings
Javageeks.com White Papers
JBuilder and Java White Papers from Borland and more of same
ITworld.com White Papers and Analyst Reports Database: Search Results for Java
Wireless Java Presentations and Papers
Java Technology for Business Intelligence (free registration)
JavaBeans and EJB Primer
J2EE vs. Microsoft.NET - A comparison of building XML-based web services - In this whitepaper, we will make a powerful comparison between the two choices that businesses have for building XML-based web services.
Bean Connect: Using Java Objects To Implement Crossware Programs - Describes a new Java program model for creating crossware applications that support multiple Java objects running in the same execution space.
J2EE and JDBC: Foundations for Enterprise Computing (.pdf) - Explains how JDBC fits into an enterprise Java architecture.
Designing Performance-Optimized JDBC Applications (.pdf)- How to use various design and implementation methods so your JDBC applications run more efficiently and generate less network traffic. Includes code examples.
Does training influence the quality of the software development process? (Peer Publishing)
Stepping Up to Java 2, Enterprise Edition (Industry Articles)
The Essence of OOP using Java, Classes (Industry Articles)
The Essence of OOP Using Java, Objects, and Encapsulation (Industry Articles)
JTable (FAQs)
To EJB...or Not (Industry Articles)
Are There Limits to Software Estimation? (Industry Articles)
The Secure World of Tomcat 4 (Industry Articles)
Implementing Status Accounting (Peer Publishing)
Windows, Panes, and Frames (Vendor Papers)
作者Blog:http://blog.csdn.net/fasttalk/
posted @ 2005-05-13 16:56 西門吹牛 閱讀(623) | 評論 (0) | 編輯 收藏