2011年3月4日
與佛問答
前兩天在某人的Blog里面看到這樣的轉載,每閑來打開翻讀,總覺心馳神靜,真真是:
世上妙語佛說盡
天下名山寺占絕
明理者概多
施型者概寡
言者無心
聞者足戒
好妙絕
-----------------------------------------------
與佛問答
我問佛∶為何不給所有女子羞花閉月容顏?
佛曰∶那只是曇花一現,用來蒙蔽世俗的眼, 沒有什麼美可以抵過一顆純凈仁愛的心, 我把它賜給每一個女子,可有人讓她蒙上了灰
我問佛∶世間為何有那麼多遺憾?
佛曰∶這是一個婆娑世界,婆娑既遺憾, 沒有遺憾,給你再多幸福也不會體會快樂 。
我問佛∶如何讓人們的心不再感到孤單?
佛曰∶每一顆心生來就是孤單而殘缺的, 多數帶著這種殘缺度過一生, 只因與能使它圓滿的另一半相遇時, 不是疏忽錯過就是已失去擁有它的資格 。
我問佛∶如果遇到了可以愛的人,卻又怕不能把握怎麼辦?
佛曰∶留人間多少愛,迎浮世千重變; 和有情人,做快樂事, 別問是劫是緣。
我問佛∶如何才能如你般睿智?
佛曰∶佛是過來人,人是未來佛, 我也曾如你般天真 。
采訪天庭要員
MM:菩薩!您大慈大悲,請您告訴我,我什么時候才能找到老公?
菩薩:天機不可泄露!冥中自有定數!
MM:靠!您這不是廢話嗎?
菩薩:呸!我要知道我還出家?
MM:斗戰勝佛,您當初為什么選擇保唐僧取經?
孫悟空:還不是為了搞到學歷!
MM:學歷真的那么重要?
孫悟空:我一個在五指山下服刑的流氓,現在成了斗戰勝佛,你說重要不?
MM:女媧娘娘!您為什么造人?
女媧:天漏了,我好不容易補上,不造些人,我找誰收維修費去?
MM:那您為什么把人分?
女媧:我本身不男不女,我想知道男和女哪個厲害些?
MM:結果呢?
女媧:我又補了一回天!
MM:后羿!您當年為什么射日?
后羿:有人付錢
MM:為什么留下一個?
后羿:他們只付了九個的錢!
MM:為什么單單留下這個?
后羿:就是它付的錢!
MM:織女!為什么下嫁給董永?
織女:為了愛情!
MM:單單是這個原因?
織女:這。。。。。。
MM:還因為別的什么?
織女:他有房子!
MM:凈壇使者!你為什么喜歡嫦娥?
豬八戒:她漂亮
MM:那現在為什么不和她來往?
豬八戒:老子現在是公務員
接下來我們在桌面新建一個文件夾,命名為“DIV+CSS布局練習”,在文件夾下新建兩個空的記事本文檔,輸入以下內容:
這是XHTML的基本結構,將其命名為index.htm,另一個記事本文檔則命名為css.css。
下面,我們在<body></body>標簽對中寫入DIV的基本結構,代碼如下:
<div id="container">[color=#aaaaaa]<!--頁面層容器-->[/color]
<div id="Header">[color=#aaaaaa]<!--頁面頭部-->[/color]
</div>
<div id="PageBody">[color=#aaaaaa]<!--頁面主體-->[/color]
<div id="Sidebar">[color=#aaaaaa]<!--側邊欄-->[/color]
</div>
<div id="MainBody">[color=#aaaaaa]<!--主體內容-->[/color]
</div>
</div>
<div id="Footer">[color=#aaaaaa]<!--頁面底部-->[/color]
</div>
</div>
為了使以后閱讀代碼更簡易,我們應該添加相關注釋,接下來打開css.css文件,寫入CSS信息,代碼如下:
/*基本信息*/
body {font:12px Tahoma;margin:0px;text-align:center;background:#FFF;}
/*頁面層容器*/
#container {width:100%}
/*頁面頭部*/
#Header {width:800px;margin:0 auto;height:100px;background:#FFCC99}
/*頁面主體*/
#PageBody {width:800px;margin:0 auto;height:400px;background:#CCFF00}
/*頁面底部*/
#Footer {width:800px;margin:0 auto;height:50px;background:#00FFFF}
把以上文件保存,用瀏覽器打開,這時我們已經可以看到基礎結構了,這個就是頁面的框架了。
關于以上CSS的說明(詳細請參考CSS2.0中文手冊,網上有下載):
1、請養成良好的注釋習慣,這是非常重要的;
2、body是一個HTML元素,頁面中所有的內容都應該寫在這標簽對之內,我就不多說了;
3、講解一些常用的CSS代碼的含義:
font:12px Tahoma;
這里使用了縮寫,完整的代碼應該是:font-size:12px;font-family:Tahoma;說明字體為12像素大小,字體為Tahoma格式;
margin:0px;
也使用了縮寫,完整的應該是:
margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px
或
margin:0px 0px 0px 0px
順序是 上 / 右 / 下 / 左,你也可以書寫為margin:0(縮寫);
以上樣式說明body部分對上右下左邊距為0像素,如果使用auto則是自動調整邊距,
另外還有以下幾種寫法:
margin:0px auto;
說明上下邊距為0px,左右為自動調整;
我們以后將使用到的padding屬性和margin有許多相似之處,他們的參數是一樣的,
只不過各自表示的含義不相同,margin是外部距離,而padding則是內部距離。
text-align:center
文字對齊方式,可以設置為左、右、中,這里我將它設置為居中對齊。
background:#FFF
設置背景色為白色,這里顏色使用了縮寫,完整的應該是background:#FFFFFF。
background可以用來給指定的層填充背景色、背景圖片,以后我們將用到如下格式:
background:#ccc url('bg.gif') top left no-repeat;
表示:使用#CCC(灰度色)填充整個層,使用bg.gif做為背景圖片,
top left
表示圖片位于當前層的左上端,no-repeat表示僅顯示圖片大小而不填充滿整個層。
top/right/left/bottom/center
用于定位背景圖片,分別表示 上 / 右 / 下 / 左 / 中;還可以使用
background:url('bg.gif') 20px 100px;
表示X座標為20像素,Y座標為100像素的精確定位;
repeat/no-repeat/repeat-x/repeat-y
分別表示 填充滿整個層 / 不填充 / 沿X軸填充 / 沿Y軸填充。
height / width / color
分別表示高度(px)、寬度(px)、字體顏色(HTML色系表)。
4、如何使頁面居中?
大家將代碼保存后可以看到,整個頁面是居中顯示的,那么究竟是什么原因使得頁面居中顯示呢?
是因為我們在#container中使用了以下屬性:
margin:0 auto;
按照前面的說明,可以知道,表示上下邊距為0,左右為自動,因此該層就會自動居中了。
如果要讓頁面居左,則取消掉auto值就可以了,因為默認就是居左顯示的。
通過margin:auto我們就可以輕易地使層自動居中了。
5、這里我只介紹這些常用的CSS屬性了,其他的請參看CSS2.0中文手冊。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>無標題文檔</title>
<link href="css.css" rel="stylesheet" type="text/css" />
</head>
<body>
</body>
</html>
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/SmartTony/archive/2007/12/17/1944177.aspx
上周自南昌出差上海,途中空閑便拿夏業良先生的《經濟學能做什么》翻閱。鄰鋪一女子,年齡大約二十七八,氣質較好,但形容有些憔悴,正在讀《環球時報》一篇關于臺海局勢的文章。途中,互換閱讀物,開始交談,話題便是臺海局勢。是戰?是和?是統?是獨?我用經濟學的眼光進行了一些分析,女子感到我的分析方法另辟蹊徑,我的結論新穎獨到,于是說:“想不到經濟學如此有趣!不知是否可以解釋情感方面的問題?”旅途勞頓,單調困乏,我一聽有情感故事大餐共享,豈不美哉!連忙說:“應該可以,但結論是否正確還要你自己去評判。”
于是,一場關于情感、戀愛、婚姻的經濟學即興問答拉開序幕。為便于閱讀,我將她的提問逐條編號。
先是女子的自我介紹:“我今年28歲,我和我的男朋友是同班同學,畢業于長春機電學院。幾年前我和他一同來到杭州找工作,我的工作比較理想,在一家電表廠做設計,他的工作不太好,于是我鼓勵他去考研。考取后,我供了他三年,沒想現在他快畢業了,居然提出要分手。后來,我才搞清楚,他在網上談了一個剛大學畢業的女孩。我真的很痛苦,沒想到幾年的情感和心血付諸東流!……”
一、“我想問你,為什么男人總是那么花心!經濟學能解釋這個問題嗎?”
“用經濟學的理論,很容易解釋這個問題,那就是邊際效用遞減。什么是邊際效用遞減呢?就是說一樣東西當你擁有得越多的時候,對你的作用就越小。比方說,你餓了,吃第一個包子特香,第二個很香,第三個還可以,第四個飽了,第五個吃不下,第六個看見都煩!也就是說第六個包子的作用為零甚至為負。邊際效用遞減,是經濟學的公理,是整個微觀經濟學的支柱之一。由于邊際效用遞減,從現在戀愛的角度看,由于你們長時間的親密接觸,你的效用比不上那個網上的女孩(我本想說,你就是那第六個包子,而那個女孩卻是第一個包子,然而,話到嘴邊又吞了回去)。這也是許多的男人為什么家有美貌如花的妻子,卻要在茶座酒吧去找小姐的經濟學理由。”
二、“既然邊際效用遞減是公理,那么為什么花心的女人卻比較少?我想說的是,為什么很少聽說女人花心而不斷去找男人故事?假定邊際效用遞減成立的話,那么女人也應該不斷地在外面找男人養情夫,可是實際上這樣的故事比較少!”女子顯得有些不太服氣。
“花心的男人應該和花心的女人一樣多,一個花心的男人必定要找一個花心女人。假定花心的男人沒有花心的女人相呼應,那么男人又到哪里去花心?準確地說,應該是結了婚的女人中花心的比較少!但這并不等于說,邊際效用遞減在結了婚的女人身上不起作用。結了婚的女人在內心深處未必沒有喜歡更英俊更年輕更富有男性的念頭?只是一般她們不會采取采花行動,這里的道理可以用經濟學的成本收益方法來分析。”
“成本收益方法?像會計一樣計算產成品的利潤率?”女子有些疑惑。
“在經濟學的假設中,人都是理性的,人們采取一項行動都要在心里盤算值不值。假如說收益大于成本,這樣的才值得考慮去做;假如成本大于收益,那是無論如何不會去做的!從我們的日常觀察中可以看到,已婚男人花心,相對于已婚女人其成本是比較低廉的,最多是花幾個小錢,很少有妻子因為丈夫花心而堅決要離婚的,外界甚至還會羨慕他的艷遇與能干。就算是要離婚,男人也許正好順水推舟,說不定找個更年輕漂亮的!假定已婚女子有紅杏出墻打算,心中必定會做一番權衡:這樣做值不值?一般來說,已婚女子花心一旦被發現,其成本是非常高昂的。對大部分男人(包括很花心的男人)來說,戴綠帽子是無論如何不能忍受的,離婚是必然的選擇;而離婚女子在現在的世俗眼里,名聲肯定又是不好的;要想再找對象,也很難再找到與自己年齡相仿男人,一般只能找比自己大得多的男人,這在心理上又很難接受;如果是經濟不獨立的女子,離婚后的生活又缺少了經濟來源;還有對子女的牽掛,又使女人多了一分負擔。正是因為已婚女子紅杏出墻的成本遠大于收益,所以盡管有邊際效用遞減的公理存在,但她們仍然會做出堅決不紅杏出墻的理性選擇。有一種現象可以反襯我解釋的合理性,你看,花心的男人一般找的二奶、情人大都是遠離家鄉的未婚女孩子。”
三、女子神情憤怒:“可是他也太不講道德了!畢業之前他吃我的用我的,現在快畢業了卻和我分手,是不是也太市儈了?他要是三年前提出分手,我并沒有這么難過,現在我是人財兩空!”
“經濟學一般并不研究道德,因為道德要求的是多為他人著想,而經濟學理論的前提卻強調人都是自利的。假定一個人要散盡錢財,甘愿貧困潦倒,流落街頭,這用經濟學是沒法解釋的,也許倫理學、心理學或者哲學可以解釋這個問題。不過,經濟學可以解釋他為什么三年前不提出分手,臨近畢業卻堅決要分手!”
女子似懂非懂地點了點,讓我接著說。
“經濟學認為,人在約束條件下都是追求利益最大化的。大學時期與你談戀愛,那個時候生活基本無憂,追求激情就是戀愛利益的最大化;三年讀研之中,你們之間激情已經沒有了,但是此時他心中的最大利益是為了獲取文憑以便日后能找個好工作,此時,如果和你一刀兩斷,經濟來源就沒有了,請問他怎么能把書讀完?現在他臨近畢業開始實習了,他對自己的前途已經充滿了信心,更不象當初那樣急迫地等著錢用,于是,年青漂亮而充滿激情又成了他戀愛利益的最大化。”
四、“……我當初只是想,如果他能讀個研究生畢業,我們今后一家人的生活會更好些,沒想到現在竹籃打水一場空!”女子無可奈何地嘆了一口氣。
“這說明你在決定供他讀研之前,忘記了經濟學的一條基本原則。”
“什么原則?”
“收益越高,風險越大!你當時只看到了供他讀研畢業后的收益,卻沒有看到他讀研畢業后的風險。一般來說,收益越高的事情,就意味著風險也越大。假定你找個拉黃包車的,風險基本沒有,他不會與你離婚,甚至對你百依百順,但是收益也很小,家庭的經濟來源肯定要以你為主,你帶出去參加應酬也會覺得很沒面子;假定你找了李澤楷,人稱至尊王老五,收益肯定會很高,比如說給你一筆錢或者婚禮絕對很風光,但是離婚的可能性也許是百分百!因為像李澤楷這樣的稀缺資源是每個女人都喜歡的!”
五、“那有什么辦法可以控制風險呢?”女子急切地問道。
“有哇,打結婚證哪!我個人認為,結婚與理想中的愛情是沒有多大關系的,‘問世間情為何物,直教人生死相許!’如果按照大家都認可的這句話來理解,愛情就是為他(她)生為他(她)死。也就是說,如果他愛你,為他生為他死都值;如果他不愛你,你就一定會離開他的,因為你活著的目的就是為了他,沒有結婚證豈不更方便!然而,人類卻要設計一個結婚登記制度,為什么?其實,結婚證就是婚姻當事人中弱者的護身符。如果當初你和他領了結婚證,他現在要分手就沒那么容易了,或者說成本就大得多。首先,婚姻法規定,夫妻離婚有過錯的一方要對無過錯的一方進行經濟補償;其次,他會面對更多的輿論譴責和心理壓力;再次,他今后在社會上的形象就是一個離過婚的男人,總比未婚的純真少年要差;最后,如果你們有了孩子,那就有了共同的利益,離婚就意味著他要放棄血脈親情。”
六、“這一條方法現在恐怕是來不及了!……我全部的希望都寄托在他的身上,沒想到全部落空了,真是希望越大,失望越大!我現在感覺到天都塌下來了!”女子很有感慨。
“希望越大,失望也越大,其實也是符合經濟學道理的。經濟學有一個公式:幸福=效用/期望值。一般來說,同樣的事物效用大致是相當的,但是期望值越高,則幸福感越少。舉個例子:假定我和乞丐都撿到了1元錢,1元錢的作用對兩人來說是一樣的,比方說可以買一碗白米飯。但是,我現在的期望是去美國夏威夷去度假,需要10萬元,1除以10萬,結果我的幸福感是十萬分之一;而乞丐的期望值是今天能夠吃碗白米飯,1除以1,結果他的幸福感是100%。你把全部的希望都寄托在他的身上,也就是期望值近似無窮大,而現在他卻要和你吹,效用接近于零,分母無窮大,分子接近零,那幸福感當然就沒有了。所以,一開始對男友期望值不高的人,分手時痛苦也就不多。”
七、“我現在應該怎么辦?”
“你現在對這件事的感覺何如?”
“痛不欲生!”
“那就再去找找他,動之以情或許還有挽救哇?”
“他現在的確還是在猶豫,而且他的家人也在給他施加壓力,可是我也不想勉強他,萬一他勉強和我結婚,婚后他卻對我不好,我豈不是更痛苦?”
“從經濟學的角度來看,你還是應該去的。”
“為什么?”
“假如你給老板做完了一份設計,報酬是10萬元,但付酬方式有兩種可供你選擇。一種是一次性付10萬,另一種是付你15萬,但卻要分15年給,你選哪一種?”
女子很快搶答:“我選第一種。”
“為什么呢?”我反問。
“因為未來的不確定因素太多,天知道幾年后這個錢還有沒有?再說,到那個時候,錢也不值錢了!”
“你說得很對!現在的錢比未來的錢更值錢,那么同樣的道理,現在的痛苦就比未來的痛苦更痛苦。因為,未來的不確定因素太多,也許沒有了痛苦,也許比現在的痛苦要輕,但現在的痛苦卻是實實在在的。再退一步說,就算你不與他結婚,你又能肯定能找到一個對你絕對真心的人?你們倆畢竟有很深的感情基礎,就這樣放棄了也實在可惜,也許結了婚,特別是有了孩子,你們也許能夠過上幸福生活的!你看很多電視電影中都有相似的情節,當初的戀人都后悔一時氣惱而斷絕了關系,以至婚后又后悔莫及,舊情重續。”
八、“萬一勉強結了婚,婚后他又對我不好呢?”
“那就又回到了前面的原則:收益越高,風險越高。你既然想獲得高收益,就必須面對高風險,此事不可能有兩全方法!”
“我明白了,杭州我就不下了,直接去上海找他。”女子似乎是大徹大悟!
……
次日清晨,車抵上海,我們相互道別。望著她的背影,心里沉思:不知昨夜的婚戀經濟學理論是否真的能撥開她心中的迷霧?又想,如果能讓更多的少男少女懂得一些婚戀中經濟學的道理,或許在戀愛婚嫁的過程中就能少走一些彎路!于是,回到家中,整理思緒,奮筆疾書,遂成此文。
2011年2月28日
計劃單次任務
計劃框架建立在 Java 定時器框架類的基礎之上。因此,在解釋如何使用計劃框架以及如何實現它之前,我們將首先看看如何用這些類進行計劃。
想像一個煮蛋計時器,在數分鐘之后(這時蛋煮好了)它會發出聲音提醒您。清單 1 中的代碼構成了一個簡單的煮蛋計時器的基本結構,它用 Java 語言編寫:
清單 1. EggTimer 類
package org.tiling.scheduling.examples;
import java.util.Timer;
import java.util.TimerTask;
public class EggTimer {
private final Timer timer = new Timer();
private final int minutes;
public EggTimer(int minutes) {
this.minutes = minutes;
}
public void start() {
timer.schedule(new TimerTask() {
public void run() {
playSound();
timer.cancel();
}
private void playSound() {
System.out.println("Your egg is ready!");
// Start a new thread to play a sound...
}
}, minutes * 60 * 1000);
}
public static void main(String[] args) {
EggTimer eggTimer = new EggTimer(2);
eggTimer.start();
}
}
EggTimer 實例擁有一個 Timer 實例,用于提供必要的計劃。用 start() 方法啟動煮蛋計時器后,它就計劃了一個 TimerTask,在指定的分鐘數之后執行。時間到了,Timer 就在后臺調用 TimerTask 的 start() 方法,這會使它發出聲音。在取消計時器后這個應用程序就會中止。
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/cxhzqhzq/archive/2008/12/30/3645423.aspx
2011年2月14日
進行接口的介紹,必須介紹一下程序語言發展的歷史才行,魯迅先生說過“治學先治史”,明白了程序語言發展的前世今生,才能知道為什么這么多語言為什么會這樣,為什么么會那樣?
計算機出現以后,科學家相繼開發了多種語言,從smalltalk,Pascal,Basic,C語言,C++,java,.net等等,這些語言的發展步伐,可以看作是從面向過程向面向對象發展的一段歷史。很多面向對象的書在介紹自己的歷史的時候,都會給讀者介紹這一段歷史,并鼓吹OO編程是多么多么的優異。問題是,很多剛開始學程序的人根本不知道為什么要有這個轉變,他們也很難理解OO語言中的虛函數,接口等概念到底為了什么而提出來。
我們在了解這一段歷史以前,首先給大家介紹一個概念——“粒度”,什么是粒度?作者認為所謂粒度其實就是一個程序中使用代碼單元的組合尺度,我們可以舉一個例子,沙礫——磚塊——房屋模板,我們設想去修建一座房子,其實有很多中修筑方法,如果你不閑麻煩,可以使用沙礫一點點地建筑,或者將沙礫燒制為磚塊,用磚塊來砌,甚至直接從工廠購買房屋的門,窗,墻組件來堆砌。這三種不同的方法代表了三種不同的組合尺度。沙礫是最小的單位,使用它搭建小的房子說不定還可以,但是毫無疑問,我們必須使用很多很多“沙礫”,不便于管理;磚塊比沙礫聚合了一層,可以用來修建較大的房子了;房屋模板是最高的尺寸,使用它可以快速地搭建大規模的房屋。這三種尺度的區別和聯系,與我們編寫程序概念是有很大的相似之處的。
在早期學習Pascal,老師告訴我們這種面向過程語言的最基本的單元是過程和函數,它們是程序中的最小的組件。過程和函數可以實現最基本的代碼重用,當我們把某些固定功能的代碼使用過程和函數編寫后,我們可以在程序中調用它們而不必在任何需要的地方都寫上這樣一段代碼,這樣的好處是顯而易見的。在一些小型的程序里面,使用過程和函數是合適的,但是在大中型程序中,它們的弊端就顯示出來,過程和函數的粒度太低了,如果我們一個系統,有10000個函數和過程,我們的程序員將不得不花費大量的時間去尋找和維護它們,10000個沒有任何關系的函數和過程的管理難度是顯而易見的,就好像10000個人的企業一樣,如果沒有部門和職務,這還不亂了套?!
面向對象語言的出現,就是為了解決這個問題,別聽OO語言吹的天花亂墜,其實它出現就為一個理由——提高編程的粒度。面向對象語言的基本單位是類CLASS,類封裝了很多數據成員和成員函數,過程,將最小組件的提高了一個等級,我們需要直接操作的不是過程和函數了,而是一個個更高層次上的類。我們把10000人分了很多部門,不同的部門負責不同的事宜,這樣公司終于可以走上正軌了。
做成了類CLASS是否就萬事大吉了呢?不一定,新的問題隨之而來,也許我們有一個部門的人很多,可以做很多事情,如何在部門內部實現更好的管理呢?好比我們有一個類,它提供了很多種方法和屬性,這些方法和屬性其實可以分為一堆堆,為不同的功能服務,但是我們的類并沒有做這個管理。在AO種,map對象擁有很多功能,比如管理圖層,管理元素,管理選擇集,進行地圖顯示,每種不同的功能都有好多方法和屬性,現在這些屬性和方法是雜亂無章,沒有任何區別堆積在一個類里面的,當我們的程序員需要尋找一個方法的時候,不得不一個個去尋找,很不方便。
這個時候,接口interface出現了,C++的發明者第一次提出純虛函數(其實就是接口)概念的時候,遭到了很多抵制,很多人都不明白接口的意義何在,我們用虛函數好好的,何必又出來個啥東西都沒有的空架子?說它是類吧,又不能實現產生一個對象;說它是對象吧,又沒有方法體來使用。接口出來干了一件好事,就是將類內部進行分類。對于map對象,我們可以做好幾個接口,這些接口中定義不同功能的方法,函數和屬性,map類實現這些接口,這樣我們可以使用接口定義,實現對象。因此,所謂接口就是一系列相關方法與屬性集合的定義。
Dim pGraphicsContainer as iGraphicsContainer
pGraphicsContainer=application.document.ActiveView.focusMap
pGraphicsContainer可以使用的屬性和方法就只能是它定義的那部分了,而不能使用管理元素等的接口定義的方法和屬性,那我們如何使用其它的功能呢?這就是所謂的QI(Query Interface)功能。從一個接口查詢另一個接口。
Dim pGeoFeatureLayer as iGeofeatureLayer
pGeoFeatureLayer= pGraphicsContainer QI
好了,我們羅嗦了這么多,已經走進了COM的概念了,在正式介紹COM以前我們得最后羅嗦一點:計算機語言的發展歷史,其實就是一部不斷提高組件粒度的歷史,不斷提高代碼重用的歷史。以前我們使用過程和函數,后來我們使用類,現在我們使用接口,都是為了一個目的,讓我們操作的組件在具體和抽象之間尋找一個平衡點。太具體了,如過程和函數,就沒有了框架;太抽象,如類,就無法分別。
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/carlbiao/archive/2009/04/18/4088934.aspx
第一:不要認為停留在心靈的舒適區域內是可以原諒的。
每個人都有一個舒適區域,在這個區域內是很自我的,不愿意被打擾,不愿意被push,不愿意和陌生的面孔交談,不愿意被人指責,不愿意按照規定的時限做事,不愿意主動的去關心別人,不愿意去思考別人還有什么沒有想到。這在學生時代是很容易被理解的,有時候這樣的同學還跟“冷酷”“個性”這些字眼沾邊,算作是褒義。
然而相反,在工作之后,你要極力改變這一現狀。否則,你會很快變成雞尾酒會上唯一沒有人理睬的對象,或是很快因為壓力而內分泌失調。但是,如果你能很快打破之前學生期所處的舒適區域,比別人更快的處理好業務、人際、輿論之間的關系,那就能很快的脫穎而出。
第二:不要把“好像”;“有人會……”;“大概”;“晚些時候”;“或者”;“說不定”之類放在嘴邊。尤其是和上級談論工作的時候。
我十分痛恨聽到的一句話是:“我晚些時候會把這個文件發給所有的人”;因為這往往預示著我必須時刻提醒他不要忘記。同樣,以下這些言辭也會讓人覺得厭惡至極:
“到時候有人會把那些東西都準備好”
“大概是明天”
“明天或者后天客戶會過來拜訪”
“好像他說……”
似是而非的應答往往一樣會暴露出你更多的弱點。可能是以下中的一個或幾個:
1.你之前沒有想到這個工作,或者一直在拖延。
2.你沒有責任心,認為這些并不重要。
3.你應付上級。
4.你不敢說真話。
5.你喜歡逞能,答應一些做不到的事情。
6.你不能獨立工作。
當你的上級在以上選項中懷疑的時候,潛意識中你已經同時具備了以上所有的弱點了。
第三:不要拖延工作
很多人喜歡在學習和玩耍之間先選擇后者,然后在最后時間一次性趕工把考試要復習的東西突擊完成。但是在工作中請不要養成這樣的習慣,因為工作是永遠做不完的,容不得你“突擊”。又或者,當你在徘徊和彷徨如何實施的時候,你的領導已經看不下去,自己去做了。----這是一個危險的信號。
往往我們總是想把事情從頭到尾全部想好了,才開始走第一步-----就摔倒了。
舉個例子: 我小學的時候第一次給我一個喜歡的女孩子打電話的時候,想象了各種情況-------1,她接電話的時候在做作業。2,她在做作業,她媽媽接的電話。3.她也很無聊,很想找人說話。4.她正在被父母訓斥。 5.她正在想另外一個男孩。6.她父親接電話。 7.她家正好來了什么親戚,親戚接了電話。 8.她接了電話,但父母就在身邊,說話不方便。。。。。等等等等。我整整想了一個下午,想好了各種情況的心理準備和應對的策略。然后勇敢的拿起電話機,按下了那幾個按鈕。結果-------她不在家。
所以,當你徘徊不前而手足無措的時候,你要意識到你正在拖延工作。徘徊是因為害怕這個事情可能發生的后果需要自己承擔或應付。工作的時候需要一種起碼的自信,相信自己有能力,不管下一步是什么狀況,我都能把它引導到我需要的那條線上去的。另外,告訴自己,不要想太多時間,如果不知道,就趕快求助,或想辦法,苦惱和憂慮會給你更多的壓力也會把剩下的時間蠶食殆盡。
第四:不要認為理論上可以實施就大功告成了!
這點太重要了,往往當真正實施的人開始做了才會發現計劃完全等于鬼話。如果不親自實踐,做計劃的人會早晚被實施的鄙視。永遠需要提升自己的辦實事的能力,而不是空談。
第五:不要讓別人等你
在任何情況下都不要讓別人放下手頭的工作來等你。在大學中可能只是同寢室的人的幾句半開玩笑的抱怨,在工作上很可能導致你的潛在合作伙伴的丟失。
你在做一個工作的同時要知道別人的進度,而永遠不要落后。這不像是在考試,你比別人做的慢,別人可以先交卷,你到時間了做不完你自己承受扣分。在工作中的情況是這樣的:這是一場沒有人能做完的考試,所有的人,都分配做一張試卷的不同部分,有的人分到的是閱讀理解,有的人做的是完形填空,有的人做的是語法…… 然后大家做完了相互抄,這樣,所有人都做完了。 如果大家都把各自的部分做完了,而你卻還在沒有做完,那么做得快的別人會開始做你的那部分題目,然后也是相互抄。慢慢地,大家會發現你的工作量完全可以由另外人來代替,整個團隊中可以不需要你,這個時候,沒有人從你這里得到試卷的答案,也沒有人會給你他們的答案--------很不幸,你已經沒有利用價值了。
請一定記住這個例子。
第六:不要認為細節不重要
在大學里,往往做事粗枝大葉,看看差不多就行了。相反,在企業里管理的精髓就在于將簡單的事情做到細節。一個慌忙尋找保險箱鑰匙的動作就很有可能喪失你晉升財務主管的機會。
公司的管理,其實需要的并不是把很難的事情做到90%----比如,優化管理層的核心工作流程、改變公司在當地政府面前的形象,提高產品質量,改善工作環境…… 而管理要做的是把每個簡單的事情做到100%-----比如,把公司的每個人的檔案都按照一定的規律整齊的存放起來、在門衛設立一個外來人員的簽到臺、把會議室多余的椅子拿走、和電視臺講好下個禮拜三來公司做采訪、把試用裝送到客戶手里、在生產的咖啡上加一個口子、給下一期的封面人物拍照……等等如此。 如果你能把所有細節的問題都如實做到,那你才有開口升職的本錢。
第七:不要表現得消極,僅僅因為你所做的事情不是你的興趣所在。
學會喜歡自己的工作,并把注意力放在日常工作能學到些什么上去。如果現在你努力的抱怨工作,那么接下來你就是努力的尋找工作。盡量少用“有趣”,“好奇”之類的詞語來描述自己想要的工作,而是“充實”,“有成就感”,“樂意”之類。
第八:絕對不要把改善工作能力僅寄托在公司培訓上
很多學生很看重所選的公司有沒有培訓,這說明,你不但不知道這個公司做什么,你甚至不知道怎樣學習這些技能。
我們把參加培訓和達到效果很幼稚的畫上了等號。其實往往集體培訓上所得到的信息是最沒有實際操作價值的。永遠不要期望單靠聽課,靠老師把同樣的東西給所有的人,你會得到比別人更多。把更多的心思放在觀察和思考自己的需要上,找到問題的所在再通過觀察和實踐得到的答案才是真正的知識。
所以,剛剛開始工作,什么都不會,不要認為那樣是正常的,因為公司還沒有培訓過呢!等我接受培訓了之后,我就全都會了。如果你一無所知還等待別人會可憐你的無知而施舍你知識,那你會為你的無知而付出更多的智商。
第九:不要推卸責任
推卸責任是害怕的條件反射。不要認為別人看不出這點。
我記得我小學里的一件事情。我一次作業沒有帶來,老師要訓斥我,說:你怎么老是作業不帶?
我當時說:不是。。。。 當我正要支支吾吾時候,老師說:什么不是?你帶來了沒有?
我說:沒有
老師說:那不就是沒有帶!什么不是!就是!
之后我就發現,我只是害怕承擔責任而條件反射似的就說了“不是”,仔細觀察一下周圍,你會發現,身邊有無數的人在用“不是”作為被責問之后的第一反應。
其實現在很多人面對工作也是這樣,當上級責問的時候,很條件反射的就做出了推卸動作,然而這樣的動作,接下來往往是無力的辯解,以及一些很粗糙的借口。這樣會讓上司感到你這個人很難溝通,并且很不真實。
第十:不要對自己說“我是大學生”
這點包涵了很多信息。
1.不要認為自己有多清高
2.不要仍然以學生的標準要求自己
3.不要感覺低人一等
4.不要等待別人的關懷
5.不要把這個作為犯錯誤自我安慰的借口
6.不要忘記搞清楚,公司究竟給自己的待遇是多少,老練些,這不是在做志愿者。
2011年1月27日
package com.arj.comm.util;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.URL;
import java.net.URLConnection;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class WeatherReport {
/**
* 獲取SOAP的請求頭,并替換其中的標志符號為用戶輸入的城市
*
* 編寫者:王景輝
*
* @param city
* 用戶輸入的城市名稱
* @return 客戶將要發送給服務器的SOAP請求
*/
private static String getSoapRequest(String city) {
StringBuilder sb = new StringBuilder();
sb
.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>"
+ "<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" "
+ "xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" "
+ "xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">"
+ "<soap:Body> <getWeatherbyCityName xmlns=\"http://WebXml.com.cn/\">"
+ "<theCityName>" + city
+ "</theCityName> </getWeatherbyCityName>"
+ "</soap:Body></soap:Envelope>");
return sb.toString();
}
/**
* 用戶把SOAP請求發送給服務器端,并返回服務器點返回的輸入流
*
* 編寫者:王景輝
*
* @param city
* 用戶輸入的城市名稱
* @return 服務器端返回的輸入流,供客戶端讀取
* @throws Exception
*/
private static InputStream getSoapInputStream(String city) throws Exception {
try {
String soap = getSoapRequest(city);
if (soap == null) {
return null;
}
URL url = new URL(
"http://www.webxml.com.cn/WebServices/WeatherWebService.asmx");
URLConnection conn = url.openConnection();
conn.setUseCaches(false);
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setRequestProperty("Content-Length", Integer.toString(soap
.length()));
conn.setRequestProperty("Content-Type", "text/xml; charset=utf-8");
conn.setRequestProperty("SOAPAction",
"http://WebXml.com.cn/getWeatherbyCityName");
OutputStream os = conn.getOutputStream();
OutputStreamWriter osw = new OutputStreamWriter(os, "utf-8");
osw.write(soap);
osw.flush();
osw.close();
InputStream is = conn.getInputStream();
return is;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
/**
* 對服務器端返回的XML進行解析
*
* 編寫者:王景輝
*
* @param city
* 用戶輸入的城市名稱
* @return 字符串 用,分割
*/
public static String getWeather(String city) {
try {
Document doc;
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setNamespaceAware(true);
DocumentBuilder db = dbf.newDocumentBuilder();
InputStream is = getSoapInputStream(city);
doc = db.parse(is);
NodeList nl = doc.getElementsByTagName("string");
StringBuffer sb = new StringBuffer();
for (int count = 0; count < nl.getLength(); count++) {
Node n = nl.item(count);
if(n.getFirstChild().getNodeValue().equals("查詢結果為空!")) {
sb = new StringBuffer("#") ;
break ;
}
sb.append(n.getFirstChild().getNodeValue() + "#\n");
}
is.close();
return sb.toString();
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
/**
* 測試用
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
System.out.println(getWeather("長沙"));
System.out.println("po&oi".split("&").length) ;
System.out.println("##".split("#").length) ;
}
}
2011年1月26日
1.不要在流淚的時候做任何決定,情緒負面的時候說話越少越好。
2.不要去反復思考同一個問題,不要把所有的感情都放在一個人身上,你還有父母,還有其他朋友。
3.不要害怕做錯什么,即使錯了,也不必懊惱,人生就是對對錯錯,何況有許多事,回頭看來,對錯已經無所謂了。
4.有負面情緒是正常的,但是自己一定要知道,要明白這只是生活的一小部分,在其余的時間里,要盡量的讓情緒平穩起來。
5.那個人突然不聯系你了,很正常;那個人突然又聯系你了,也很正常,這也不說明什么。
6.如果不懂,就說出來,如果懂了,就別說,笑笑即可。
7.一切的煩惱都是自找的,因此也只能自己解決,不要找朋友哭訴,找他們去打球。
8.說過的話一定要做到,即使是很蠢的話,再蠢也比言而無信好。
9.無論發生怎樣的變故,不要打破生活原有的規律,要按時吃飯,按時睡覺。
10.不要去害怕做一件事,不要害怕觸景傷情,不要害怕說錯話,不要害怕想起過去,不要害怕面對未來。
11.無論是對是錯,你需要一個準則,你的行為應該遵循這個準則,并根據現實生活不斷的修正。反反復復優柔寡斷的人,是不可能討人喜歡的,在對錯之間徘徊的人,形象不如從錯到對的人正面。
12.當他說“讓我們冷靜一段時間好嗎?”的時候,要冷靜的說好,然后掛斷電話。不要哀求,他不是來征求你意見的。
13.不要把心底的話全掏出來,這些是只屬于你的財富。
14.不要跟一個人和他議論同一個圈子里的人,不管你認為他有多可靠。
15.當你不知道和他說什么的時候,那就什么也不要說,沉默有無限種含義。
16.不要追求什么結果,每個人結果都一樣,就是死亡。
17.不要后悔,無論怎樣都不要后悔,后悔的情緒比你所做錯的事更可怕,因為這會摧毀你的自信,自尊以及很有可能讓你去做一件更錯的事。