博客空間用完了,打算重新注冊一個新博客
我習慣連代碼和文章一起貼,現在空間用完了,重新注冊了一個( http://www.aygfsteel.com/heyang ),歡迎大家訪問。
posted @ 2008-11-23 08:27 sitinspring 閱讀(2269) | 評論 (1) | 編輯 收藏
春天里,百花香...
2008年6月17日 #
我習慣連代碼和文章一起貼,現在空間用完了,重新注冊了一個( http://www.aygfsteel.com/heyang ),歡迎大家訪問。
posted @ 2008-11-23 08:27 sitinspring 閱讀(2269) | 評論 (1) | 編輯 收藏
posted @ 2008-11-14 10:44 sitinspring 閱讀(2103) | 評論 (0) | 編輯 收藏
posted @ 2008-11-13 12:52 sitinspring 閱讀(2649) | 評論 (0) | 編輯 收藏
posted @ 2008-10-26 16:53 sitinspring 閱讀(3193) | 評論 (0) | 編輯 收藏
posted @ 2008-10-24 12:25 sitinspring 閱讀(4439) | 評論 (0) | 編輯 收藏
效果:
代碼下載:
http://www.aygfsteel.com/Files/sitinspring/ProvinceCity20081021103649.rar
posted @ 2008-10-21 10:31 sitinspring 閱讀(2607) | 評論 (4) | 編輯 收藏
posted @ 2008-10-16 15:27 sitinspring 閱讀(2182) | 評論 (3) | 編輯 收藏
posted @ 2008-10-12 10:10 sitinspring 閱讀(4386) | 評論 (2) | 編輯 收藏
posted @ 2008-10-11 19:52 sitinspring 閱讀(10294) | 評論 (3) | 編輯 收藏
posted @ 2008-10-08 12:02 sitinspring 閱讀(14779) | 評論 (1) | 編輯 收藏
//*****************************************************
// 《飛翔》 話劇《切格瓦拉》插曲 詞 黃繼蘇 曲 張廣天
//*****************************************************
陸地淹沒了,
你就在海上飛翔。
海洋干涸了,
你就在天上飛翔。
天雷滾動了,
你就在火里飛翔。
火焰熄滅了,
你就在苦難中飛翔。
過去倒下了,
你就在未來飛翔。
未來退卻了,
你就在現在飛翔。
現在遲疑了,
你就在心中飛翔。
心靈敗壞了,
你就在創造中飛翔。
飛翔,飛翔,
永遠的飛翔。
飛翔,飛翔,
不朽的飛翔!
//*****************************************************
// 隨遇而安方為福 曾國藩
//*****************************************************
人生世間,自有知識以來,即有憂患如意事。小兒叫號,皆其意有不平。自幼至少至壯至老,如意之事常少,不如意之事常多。雖大富貴之人,天下所仰慕以為神仙,而其不如意處各自有之,與貧賤人無異,特所憂慮之事異爾。故謂之缺陷世界,以人生世間無足心滿意者。能達此理而順受之,則可稍安。
//*****************************************************
// 治學之道 《中華處世絕學》 一三九頁
//*****************************************************
治學之道,最緊要的是立下堅卓不俗的大志,立志是事業的大門,一個人追求的目標越高,他的學問長進就越快。
當然,僅有高大的志向是遠遠不夠的。治學,還要有“只問耕耘,不問收獲”的務實精神,避免奢談,踏實認真。要明白學問的取得,不是一朝一夕的事情,必須勤學好問,持之以很。學問好比金字塔,基礎越深越搏越好,這樣才能在廣播的基礎上求得高精尖。做學問,必須重視讀書的方法,不要貪多,而要專注于一書,力求吃透。同時,治學須避免門戶之見,博采眾長,兼收并蓄,為我所用,才能學貫中西,博古通今。而依賴于不俗的才學,一個人才可能為國立功,為己立德,為人立言,受到后人的敬仰。
//*****************************************************
// 子曰
//*****************************************************
君子博學而日參省乎己 則知明而行無過矣.
子曰:賜也,汝以予為多學而識之者與?對曰:然,非與?曰:解也!予一以貫之。
//*****************************************************
// 尼采:在世紀的轉折點上 周國平著
//*****************************************************
大自然的星空,群星燦爛。哪最早閃現的,未必是最亮的星宿。有的星宿孤獨的燃燒著,熄滅了,很久很久以后,它的光才到達我們的眼睛。
歷史和文化的星空何嘗不是如此呢?
誰終將聲震人間,必長久深自緘默;誰終將點燃閃電,必長久如云漂泊。
一個精神貧乏,缺乏獨特個性的人,當然不會遭受精神上危機的折磨。
許多人的所謂成熟,不過是被習俗磨去了棱角,變得世故而實際了。那不是成熟,而是精神的早衰和個性的夭亡。真正的成熟,應當是獨特個性的形成,真實自我的發現,精神上的結果和豐收。
當一個人要靠作品來批準自己的一生,他在根基上就變得極為苛求了。
書籍,知識,他人的思想都只能拿來為我所用,而不應當成為目的本身。
偉大的思想,與美麗的女子有相同的趣味,絕不肯讓萎靡的弱者來占有自己。
人只以勇敢和毅力所許可的限度接近真理。強者必須認識并肯定現實,正如弱者必須害怕和逃避現實一樣。
一個人倘若有健全旺盛的內在生命力,他是不會屈服于悲觀主義的,悲觀主義是生命力衰退的表現,屈服于悲觀主義有如屈服于霍亂,表明肌體已經患病。
一個人健康,他就向往人生的快樂;一個人羸弱,他就念念不忘死亡,就悲觀厭世。一個要在世間有所建樹的人最忌悲觀主義“看破紅塵--這是巨大的疲勞和一切創造者的末日。”
沒有痛苦,人只能有卑微的幸福。偉大的幸福正是戰勝巨大痛苦所產生的生命的崇高感。痛苦磨練了意志,激發了生機,解放了心靈。
熱愛人生的人縱然比別人感受到更多更多強烈的痛苦,同時也感受到更多更強烈的生命之歡樂。與痛苦相對抗,是人生最有趣味的事。
假如你在偉大的事業中失敗了,你自己因此便是失敗了么?假如你們自己是失敗了,人類因此便是失敗了么?假如人類也是失敗了,好吧,別在意!
堅強而沉重,或者堅強而陰郁,仍然不符合酒神精神。人生的偉大肯定者應該兼有堅硬的骨頭和輕捷的足,和歌者,武士與自由精神為一體。他應當學會“神圣的舞蹈”,學會歡笑。
//*****************************************************
// 自悟
//*****************************************************
唯有才華具有穿透心靈和穿越時空的力量。
//*****************************************************
// 其它摘錄
//*****************************************************
posted @ 2008-10-03 19:49 sitinspring 閱讀(350) | 評論 (0) | 編輯 收藏
posted @ 2008-10-03 15:35 sitinspring 閱讀(980) | 評論 (0) | 編輯 收藏
posted @ 2008-10-01 11:15 sitinspring 閱讀(440) | 評論 (0) | 編輯 收藏
posted @ 2008-09-28 15:04 sitinspring 閱讀(518) | 評論 (3) | 編輯 收藏
posted @ 2008-09-27 14:41 sitinspring 閱讀(1748) | 評論 (0) | 編輯 收藏
posted @ 2008-09-27 11:57 sitinspring 閱讀(5742) | 評論 (4) | 編輯 收藏
posted @ 2008-09-26 17:05 sitinspring 閱讀(415) | 評論 (0) | 編輯 收藏
posted @ 2008-09-26 12:13 sitinspring 閱讀(672) | 評論 (0) | 編輯 收藏
posted @ 2008-09-19 11:42 sitinspring 閱讀(2868) | 評論 (5) | 編輯 收藏
posted @ 2008-09-16 14:49 sitinspring 閱讀(1982) | 評論 (5) | 編輯 收藏
posted @ 2008-09-13 19:20 sitinspring 閱讀(10307) | 評論 (2) | 編輯 收藏
posted @ 2008-09-05 21:52 sitinspring 閱讀(1226) | 評論 (0) | 編輯 收藏
posted @ 2008-09-01 11:51 sitinspring 閱讀(2212) | 評論 (8) | 編輯 收藏
posted @ 2008-09-01 11:30 sitinspring 閱讀(4442) | 評論 (1) | 編輯 收藏
注意:本文說到的log4j版本為1.2.15,使用的配置文件是屬性文件(properties),如果這些與您的環境不符則請快速離開,以免耽誤你的寶貴時間。
一.log4j在桌面程序中的配置
這個相對簡單了,它的步驟就這樣兩步:
1)將log4j-1.2.15.jar引入到工程的lib目錄中.
2)確保配置文件log4j.properties在程序的代碼目錄(如src目錄,cfg目錄)中,它編譯后應該位于類路徑classes中.
log4j.properties示例(可以拷貝使用):
要對這個文件進行修改的話,基本上改兩個地方就行了。
一個是輸出文件名稱,一個是輸出等級設置。
1) 輸出文件名稱:
log4j.appender.R.File=輸出log文件.log
2) 輸出等級:
log4j.rootLogger=debug, stdout, R
Debug說明只要是logger.debug以上的都記錄
配置到這里,就結束了。下面請看如何在程序中使用log4j。
二.log4j的使用
1) 首先,那個類要用到log4j記錄日志,就應該為類添加一個靜態的成員變量loogger,示例如下:
2) 其次,你就可以使用logger.debug ,logger.info, logger.warn, logger.error, logger.fatal等函數(記錄等級依次提高)來記錄日志內容了,確實是很簡單方便的。
三.log4j在Web工程中的配置
與桌面程序一樣的是,properties文件也需要能被編譯到classes(WEB-INF/classes/)中,建議將屬性文件放在特定的目錄下并設置為源碼目錄,另外放在WEB-INF\src下也不錯。
這一步比前面稍多的是需要配置一個初始化log4j的initServlet,就是在一開始就啟動的Servlet,代碼如下:
然后,在Web.xml中配置一下,讓它在一開始啟動就可以了。
全文完。
posted @ 2008-08-08 12:57 sitinspring 閱讀(1342) | 評論 (1) | 編輯 收藏
一般來說, 在創建一個應用程序之前,首先要決定這個應用程序的體系結構。應用程序體系結構(Application Architecture)由應用程序開發者設計,它指定了在各種各樣的終端系統上,應用程序是如何組織在一起的。為了降低設計難度,大部分程序都以層(稱為layer或level)的方式組織在一起,每一層都建立在它的下層基礎上,使用下層提供的服務,下層對上層隱藏了許多服務實現的細節。這種方法幾乎應用于整個計算機科學領域,也可以稱為信息隱藏,數據類型抽象,數據封裝,面向對象編程等。
分層即是對類進行一些規劃,以流程中的類的用途和所處環節劃分,把程序中將要用到的各個類分別歸納到各個包(目錄)中。分層是對系統進行細分的第一步,它旨在將系統按具體功能和用途分解為相對獨立的各個部分.如果說細分是將把難以解決的大問題分解成了各個容易解決的小問題的話,分層則是把解決同類小問題的類歸納到一起,這樣程序的結構更加清晰,程序的可讀性和可維護性越好,也更容易得到重用。
從大的尺度來講,一個程序可粗略的分成三個層次:
界面層(UI layer),這是用戶能直接感受到的,包含顯示和控制兩部分;
業務層(Business layer),其中包含了業務邏輯和業務處理;
持久層(Persistence layer),它用來將數據存儲和將數據從持久層提取出來。
界面層(UI layer)中,包含兩個層次:視圖層View和控制層Controller.
視圖層View是用戶查看數據,輸入和向用戶輸出結果的一層,這一層是用戶唯一能夠感受軟件功能的窗口,它或者由Swing組件搭建(桌面系統或C/S系統中),或者由JSP搭建(B/S系統),它負責讓用戶輸入數據和將控制層返回的數據顯示給客戶。其中返回的數據一般是領域對象的變體或者直接就是領域對象或其集合。在Web程序中jsp基本就屬于這一層的。
控制層Controller是用來將界面和業務層聯系在一起的,在系統的各層次中,應該和View層打交道一般只有Controller層, Controller層是View層和系統其它層次進行交互的中介者, View層越過中介者直接調用其它層次的行為應該盡量避免。
一般來說,為了減少耦合,提高程序的可維護性,我們一般采用MVC架構模式將業務層,視圖層和控制層分開。
業務層(Business layer)中包含領域層 Domain,服務層 Service和實用工具層Util。
業務層是整個系統的關鍵部分,它主要由領域模型和業務邏輯組成,領域模型定義系統內相互作用的各個實體,業務邏輯則定義了領域模型所能執行的不同操作, 領域層的各個類代表了領域模型,而服務層的各個類代表了業務邏輯. 領域層和服務層是起點,其它各層都從這里起步.
領域層 Domain:領域對象是對現實世界業務處理對象的抽象和歸納,領域層中的類基本上都是實體(Entity)類,如員工管理系統中的Employee,學籍管理系統中的Student,借貸管理系統中的Contract等,系統的業務處理中用到那些實體對象,領域層中一般就應該有和這個實體對象相對應的實體類。這些類在剛開始設計時可能只有一些屬性和對應的getter/setter方法,以后會不斷的加入新的內容(主要是方法),如果有必要的話,可以為這些領域對象設計一些上層的抽象類或者接口,借助于泛型,反射,控制反轉等高級技能能在一定程度上簡化程序的編寫過程。此外,領域層是程序的核心內容,因為其他層次都在很大程度上依賴Domain層的設計,如果這一層設計不夠完善會使以后的工作步履蹣跚.
服務層Service:這一層就是為領域對象提供服務用的,領域對象一般不直接和表現層,持久層直接打交道而是通過服務層進行代理.服務層是UI層到持久層的中間通道,它處于上通界面下通持久層的中間環節,這個特性是使的這一層決定了軟件功能的多少。
一般來說,UI層向服務層傳入的是用戶輸入的一些參數,服務層進行驗證,重組后向下層DAO傳輸;而服務層從Dao層收到的是領域對象或其集合,而它向UI層返回的是領域對象或者其集合的變體或者直接是領域對象或者其集合本身。Service諸類的實例在桌面程序和CS程序中一般作為Model的一個私有成員,而在Web程序中常常要用到時再創建出來。除領域層外,其余各層是在圍繞它而設計.
實用工具層Util:這一層相對簡單,它包含了各種工具類,類中包含的主要是靜態函數和靜態成員變量,這些類對共通的函數,變量進行了歸納,它旨在消除重復代碼,降低主體代碼的復雜程度.一般此層中類的復用程度很高.值得通過項目積累.
持久層(Persistence layer)是直接與持久介質打交道的層次,持久介質可以是常見的關系型數據庫,文件甚至Web Service,它一般包含兩個部分。
數據存儲對象層(DAO層),sql語句一般寫在這層中, 然后由它調用;DAO層是最低的一層,與持久介質直接打交道,它包含具體文件的位置,數據庫連接等;
另一個部分就是持久介質,通常是關系型數據庫。
Dao層中各個類一般作為Service的私有成員,供Service調用。
下圖是各層間的位置關系圖:
如何從需求中分析出諸個層次中的類呢,我們在大尺度上可以按照下面的步驟進行:
Domain the first:首先從業務流和業務規則中歸納總結出領域對象.
Service the second:為領域對象設計服務類。
Persistence the third:持久層的負責領域對象持久化到持久介質以及逆過程,它的設計在領域層和服務層之后,比較典型的持久層設計有數據庫表的設計和ER圖(實體關系圖)的繪制.
View the last:最后設計表現層,表現層受領域層和服務層制約, 容易變化且易于修改,通常放在最后實現.
具體步驟如下
1.理解,分析,鉆研需求,徹底了解你的客戶想要什么,需要你做些什么.
2.將大系統分解成一個個子系統,細分出各個層次,搞清楚各層的任務。
3.分析業務邏輯,歸納出業務流.
4.從業務流和業務規則中總結出領域對象.
5.為領域層實現服務層.
6.以Domain層和Service層為核心設計表現層和持久層,直到形成完整的程序.
7.加入實用層消除重復代碼,梳理結構和簡化流程,.
8.限制跨層的調用.
posted @ 2008-08-08 12:57 sitinspring 閱讀(1663) | 評論 (3) | 編輯 收藏
軟件開發過程中,唯一不變的就是變化。這是一句老生常談,也就是說軟件開發中永恒的主題就是變化。當你把代碼都寫好了,測試也完成了,準備交付的時候客戶忽然要求你在指定時間做出變化,這種情況在外包行業中很常見;而對一些銀行金融項目,邊調研邊開發邊測試屢見不鮮;對于一些Web項目,從來就只有永遠的Beta版,改來改去的事更是家常便飯。對此,程序員一定要求清晰的認識,抱怨只能是嘴上痛快,不解決實際問題。真要解決實際問題,非要動一番腦筋不可,如果合理使用了設計模式,反射或是Spring的IoC,便能變修改噩夢為一次有趣的智慧之旅。
首先我們看原始要求:客戶要求將一批雇員名單存入到CSV和XML兩種文件中去,以后還有可能增加別的文件格式,比如PDF,XLS等,雖然這是下一期的內容,但這一期應該考慮到變化,客戶要求擴展性一定要好。
沒問題,有了設計模式響應變化不難。這時我們可以用到模板方法模式:
定義一個操作中的算法的骨架,而將一些步驟延遲到子類中。
先請看骨架抽象類:
很好,固定的函數和步驟都在抽象基類中寫定了,再看兩個具體實現類,它們要實現的就是makeFile函數而已。
這樣昨完以后感覺很好,因為我們成功的把變化和不變分離開來,不變的部分放在了抽象基類中,而容易變化的部分放在了兩個具體的子類中,這樣如果再增加一種新文件格式,從抽象基類再擴展出一個子類即可。很好,這樣就不怕變化了。客戶對此也沒有異議。
調用示例如下:
客戶看到了我們的調用的例子,覺得應該更靈活一些,他說存成各種不同的文件是通過點擊按鈕來實現的,如果每個按鈕的事件處理函數都要生成具體子類豈不是太死板了嗎?這樣做每個文件下載按鈕的事件處理代碼不是都不一樣?
有點道理,如今理解到這一層的客戶實在是不多見了。不過很容易滿足他的需求,我們可以引入反射的方法:
因為按鈕上的文字和類名是有關的,如下載CSV的按鈕上就有CSV的文字,這可以通過正則表達式取道,再組合一下不就是類名了嗎?csv到com.heyang.CSVFileMaker,xml到com.heyang.XMLFileMaker,其實變化就是三個字母而已。如果增加按鈕,取出按鈕中的三個字母再調用callByReflect函數即可,這個過程簡直可以固化。
客戶看到反射方法以后很是滿意,沒有意見了。待客戶走后,項目經理把你拉到一邊,說:
“你剛才的方法不錯,確實很強,但看得懂反射并能靈活掌握的人水平要夠一年經驗才行,維護的活讓一年經驗的人去干太可惜了,最好改改,最好達到讓新手也能掌握并修改的程度。”。
沒辦法,領導總有領導的考慮,他這么說也很合理,成本問題我可以不考慮,但如果把程序搞得復雜貌似NB,能讓一些學藝不精的人產生云山霧罩的感覺,有時還能被人尊稱一聲“大俠”,但誰也不比誰傻多少,這聲大俠不是白叫的,但是出了問題或是有了變化別人還是要找你,到頭來還是給自己添亂,這些都是義務勞動,何苦來呢?還是應該改得容易些,讓大家都能修改,我可不愿意半夜三更被人叫起來問問題。
用Spring的IoC就可以解決問題,寫一個新類并配置到XML文件中對新手來說問題不大,這下可以讓領導放心了,自己就更放心了。
IoC方案代碼如下:
Bean。xml文件內容很簡單吧:
好了。到這里問題就徹底結束了,終于滿足了客戶和上級的要求,可以回家睡個好覺了,不用擔心別人打攪了。
態度改變一切,變化來了人總是要多做一些,心理當然是不愿意的,但抱怨或是消極抵制都不是解決問題之道;如果把它看做一個挑戰的契機,凡事多思考一些,不但能解決問題,自己也會有所提高,這就是積極的態度帶來的好處。
posted @ 2008-08-08 12:55 sitinspring 閱讀(1043) | 評論 (0) | 編輯 收藏
posted @ 2008-08-08 12:55 sitinspring 閱讀(3858) | 評論 (0) | 編輯 收藏
在Web開發中,文本郵件發送的任務比較常見,我們可以利用它進行一些客戶通知和異常通知,文本郵件發送一般用到JavaMail API,下面是一個我有時用到的郵件發送實用工具類,把其中一些參數修改一下就能為你所用。
注意:在執行代碼前,請把mail.jar和activation.jar載入工程。
代碼如下:
posted @ 2008-08-08 12:54 sitinspring 閱讀(2507) | 評論 (5) | 編輯 收藏
1.實體類(Entity Classes):這種類一般是現實世界事物在代碼世界中的抽象表示,和現實事物有著一一對應關系.存儲到持久介質中時一般對應著一條記錄.如MIS系統中常見的雇員類Employee,論壇系統中常見的Topic等.由于這些類可以直接從現實事物中歸納抽象得來,寫出它們的框架代碼一般相對方便容易,但要真正理順實體類之間的關系需要投入不少精力,這些類一般處于Domain層中.
2.通道類(Plumbing Classes):這種類一般用于充當傳輸實體類的通道,在編程中,經常需要從持久層取出一個或多個實體類的對象或是將實體類的對象存儲到持久層中,這種任務一般由通道類來完成.它們一般由Service或是Dao層中的類來承擔.這些類一般不保存狀態,對外界來說,它們的對外接口(Public Interface)一般比具體的實現重要,在數量較多時,也經常抽象出一些上層的抽象類或是接口出來以方便調用.
3.輔助類(Assistant Classes):這些類一般起輔助任務,一般可以把共通的處理和變量放在其中供其他層次類調用,這樣做一能避免散彈式修改,二能減少重復代碼,三能提高代碼復用度.輔助類一般放在Util包中.
4.框架類(Framework Classes):這些類一般由固定的框架提供,程序員不能改變.在類的層次上它一般處于界面和業務層之間,即控制層的位置,jsp/servlet中的Servlet,Struts1,2中的Action都是這樣的類,它承擔了接受用戶輸入,并展示業務處理的結果的任務.
posted @ 2008-08-08 12:53 sitinspring 閱讀(371) | 評論 (0) | 編輯 收藏
一個技術人員要生存,要發展,要成一番事業,必須遵循一定固定的法則,若逆天而行而不自覺,輕則徒勞無功,白費精力;重則無法立足,庸碌一生。因此把握住自己的發展之道是技術人首要的大事,只有走在正確的道路上,前進才有意義。
一個技術人員,首先要固本培元,什么是技術人的根本呢?無論語言,框架和技術如何發展,數據結構和算法都是其核心內容,所謂萬變不離其宗,有了良好的數據結構和算法的根基,接受并掌握一個新興事物不過旬月時間,若沒有而盲目跟隨,事倍而功半矣。另外面向對象的精髓也要把握,從根本上來講,任何現代框架其核心思想還是沒有超越面向對象的范疇,都是面向對象的繼承和發展,理解掌握了面向對象的思想,就把握住了框架根本性的東西,學習掌握起來就更容易把握其本質.
其次,技術人員必須把握主流技術方向才不至于迷失自己。若在支流中迷失自己恐有空執屠龍之技無用武之地之憂,古代也許還能自娛自樂,現代社會這樣做溫飽都無法解決,房子,車子,孩子更是白扯;只有置身主流,才能繼續奮斗下去。當前的主流技術方向,無非SSH(Struts1/2,Spring,Hibernate)而已,徹底弄清楚它們,才有安身立命之本.君不見諸多招聘廣告,均寫SSH乎.這三項其實也不好掌握,尤其Hibernate,掌握不精深也不行,有些大俠也曾陰溝里翻過船。
其三,技術人員要樂于善于總結提高,對于已經掌握的內容,要及時歸納總結到紙面上,這樣做一能梳理脈絡,讓自己掌握得更全面細致;二能查漏補缺,發現以前忽視或是未接觸過的領域;三能求其友聲,放在博客上供大家分析閱讀討論,彌補自己的不足.有此三益,于己于人都是一件大好事,何樂而不為呢?
其四,技術人員要展示自己的能力和價值,應該具備自己的產品,它可以用來鞏固和展現自己的實力,在產品的研發過程中,技術人員能把自己的知識智慧實用化,可避免走入象牙塔之患;外界也能通過產品來了解發掘自己.這也是一件于己于人都有利的事情.
其五,技術人員應該具備完整的思想體系,有自己獨到的見解并能有所突破創新. 人云亦云無異于鸚鵡學舌,有何能哉? 要想上一個層次,必須鯉魚躍龍門. Gosing和Kaven兩人可作為最好的榜樣。
最后,廣博的知識不可少.拘泥于一處難免死鉆牛角尖,很多情況下換一種思維頓時有撥云見日之感,如有閑暇,技術人員應該跳出圈子,廣采能用之材為我所用.
posted @ 2008-08-08 12:51 sitinspring 閱讀(293) | 評論 (1) | 編輯 收藏
posted @ 2008-07-27 00:11 sitinspring 閱讀(1204) | 評論 (2) | 編輯 收藏
posted @ 2008-07-26 16:25 sitinspring 閱讀(1181) | 評論 (1) | 編輯 收藏
posted @ 2008-07-24 21:49 sitinspring 閱讀(1235) | 評論 (1) | 編輯 收藏
posted @ 2008-07-24 21:37 sitinspring 閱讀(533) | 評論 (0) | 編輯 收藏
posted @ 2008-07-19 22:14 sitinspring 閱讀(1085) | 評論 (0) | 編輯 收藏
posted @ 2008-07-18 10:52 sitinspring 閱讀(537) | 評論 (0) | 編輯 收藏
Employee類:
posted @ 2008-07-15 11:52 sitinspring 閱讀(7585) | 評論 (1) | 編輯 收藏
posted @ 2008-07-08 11:38 sitinspring 閱讀(770) | 評論 (0) | 編輯 收藏
posted @ 2008-07-05 09:14 sitinspring 閱讀(434) | 評論 (0) | 編輯 收藏
posted @ 2008-07-01 22:44 sitinspring 閱讀(552) | 評論 (0) | 編輯 收藏
posted @ 2008-06-25 17:08 sitinspring 閱讀(1331) | 評論 (0) | 編輯 收藏
posted @ 2008-06-24 22:51 sitinspring 閱讀(1208) | 評論 (0) | 編輯 收藏
posted @ 2008-06-18 04:11 sitinspring 閱讀(1215) | 評論 (0) | 編輯 收藏