<script?language="JavaScript">
<!--
var?doc?=?new?ActiveXObject("Msxml2.DOMDocument");?//ie5.5+,CreateObject("Microsoft.XMLDOM")?


//加載文檔
//doc.load("b.xml");

//創(chuàng)建文件頭
var?p?=?doc.createProcessingInstruction("xml","version='1.0'??encoding='gb2312'");

????//添加文件頭
????doc.appendChild(p);

//用于直接加載時獲得根接點
//var?root?=?doc.documentElement;

//兩種方式創(chuàng)建根接點
//????var?root?=?doc.createElement("students");
????var?root?=?doc.createNode(1,"students","");

????//創(chuàng)建子接點
????var?n?=?doc.createNode(1,"ttyp","");

????????//指定子接點文本
????????//n.text?=?"?this?is?a?test";
????
????//創(chuàng)建孫接點
????var?o?=?doc.createElement("sex");
????????o.text?=?"男";????//指定其文本

????//創(chuàng)建屬性
????var?r?=?doc.createAttribute("id");
????????r.value="test";

????????//添加屬性
????????n.setAttributeNode(r);

????//創(chuàng)建第二個屬性????
????var?r1?=?doc.createAttribute("class");
????????r1.value="tt";
????????
????????//添加屬性
????????n.setAttributeNode(r1);

????????//刪除第二個屬性
????????n.removeAttribute("class");

????????//添加孫接點
????????n.appendChild(o);

????????//添加文本接點
????????n.appendChild(doc.createTextNode("this?is?a?text?node."));

????????//添加注釋
????????n.appendChild(doc.createComment("this?is?a?comment\n"));
????
????????//添加子接點
????????root.appendChild(n);
????
????//復制接點
????var?m?=?n.cloneNode(true);

????????root.appendChild(m);
????????
????????//刪除接點
????????root.removeChild(root.childNodes(0));

????//創(chuàng)建數(shù)據(jù)段
????var?c?=?doc.createCDATASection("this?is?a?cdata");
????????c.text?=?"hi,cdata";
????????//添加數(shù)據(jù)段
????????root.appendChild(c);
????
????//添加根接點
????doc.appendChild(root);

????//查找接點
????var?a?=?doc.getElementsByTagName("ttyp");
????//var?a?=?doc.selectNodes("http://ttyp");

????//顯示改接點的屬性
????for(var?i=?0;i<a.length;i++)

????
{
????????alert(a[i].xml);
????????for(var?j=0;j<a[i].attributes.length;j++)

????????
{
????????????alert(a[i].attributes[j].name);
????????}
????}

????//修改節(jié)點,利用XPATH定位節(jié)點
????var?b?=?doc.selectSingleNode("//ttyp/sex");
????b.text?=?"女";

????//alert(doc.xml);

????//XML保存(需要在服務端,客戶端用FSO)
????//doc.save();
????
????//查看根接點XML
????if(n)

????
{
????????alert(n.ownerDocument.xml);
????}

//-->
</script>
7.4、文檔對象模型(DOM)
文檔對象模型(DOM)是表示文檔(比如HTML和XML)和訪問、操作構成文檔的各種元素的應用程序接口(API)。一般的,支持Javascript的所有瀏覽器都支持DOM。本文所涉及的DOM,是指W3C定義的標準的文檔對象模型,它以樹形結構表示HTML和XML文檔,定義了遍歷這個樹和檢查、修改樹的節(jié)點的方法和屬性。
7.4.1、DOM眼中的HTML文檔:樹
在DOM眼中,HTML跟XML一樣是一種樹形結構的文檔,<html>是根(root)節(jié)點,<head>、<title>、<body>是<html>的子(children)節(jié)點,互相之間是兄弟(sibling)節(jié)點;<body>下面才是子節(jié)點<table>、<span>、<p>等等。如下圖:

這個是不是跟XML的結構有點相似呢。不同的是,HTML文檔的樹形主要包含表示元素、標記的節(jié)點和表示文本串的節(jié)點。
7.4.2、HTML文檔的節(jié)點
DOM下,HTML文檔各個節(jié)點被視為各種類型的Node對象。每個Node對象都有自己的屬性和方法,利用這些屬性和方法可以遍歷整個文檔樹。由于HTML文檔的復雜性,DOM定義了nodeType來表示節(jié)點的類型。這里列出Node常用的幾種節(jié)點類型:
接口 | nodeType常量 | nodeType值 | 備注 |
Element | Node.ELEMENT_NODE | 1 | 元素節(jié)點 |
Text | Node.TEXT_NODE | 3 | 文本節(jié)點 |
Document | Node.DOCUMENT_NODE | 9 | document |
Comment | Node.COMMENT_NODE | 8 | 注釋的文本 |
DocumentFragment | Node.DOCUMENT_FRAGMENT_NODE | 11 | document片斷 |
Attr | Node.ATTRIBUTE_NODE | 2 | 節(jié)點屬性 |
DOM樹的根節(jié)點是個Document對象,該對象的documentElement屬性引用表示文檔根元素的Element對象(對于HTML文檔,這個就是<html>標記)。Javascript操作HTML文檔的時候,document即指向整個文檔,<body>、<table>等節(jié)點類型即為Element。Comment類型的節(jié)點則是指文檔的注釋。具體節(jié)點類型的含義,請參考《Javascript權威指南》,在此不贅述。
Document定義的方法大多數(shù)是生產(chǎn)型方法,主要用于創(chuàng)建可以插入文檔中的各種類型的節(jié)點。常用的Document方法有:
方法 | 描述 |
createAttribute() | 用指定的名字創(chuàng)建新的Attr節(jié)點。 |
createComment() | 用指定的字符串創(chuàng)建新的Comment節(jié)點。 |
createElement() | 用指定的標記名創(chuàng)建新的Element節(jié)點。 |
createTextNode() | 用指定的文本創(chuàng)建新的TextNode節(jié)點。 |
getElementById() | 返回文檔中具有指定id屬性的Element節(jié)點。 |
getElementsByTagName() | 返回文檔中具有指定標記名的所有Element節(jié)點。 |
對于Element節(jié)點,可以通過調(diào)用getAttribute()、setAttribute()、removeAttribute()方法來查詢、設置或者刪除一個Element節(jié)點的性質(zhì),比如<table>標記的border屬性。下面列出Element常用的屬性:
屬性 | 描述 |
tagName | 元素的標記名稱,比如<p>元素為P。HTML文檔返回的tabName均為大寫。 |
Element常用的方法:
方法 | 描述 |
getAttribute() | 以字符串形式返回指定屬性的值。 |
getAttributeNode() | 以Attr節(jié)點的形式返回指定屬性的值。 |
getElementsByTabName() | 返回一個Node數(shù)組,包含具有指定標記名的所有Element節(jié)點的子孫節(jié)點,其順序為在文檔中出現(xiàn)的順序。 |
hasAttribute() | 如果該元素具有指定名字的屬性,則返回true。 |
removeAttribute() | 從元素中刪除指定的屬性。 |
removeAttributeNode() | 從元素的屬性列表中刪除指定的Attr節(jié)點。 |
setAttribute() | 把指定的屬性設置為指定的字符串值,如果該屬性不存在則添加一個新屬性。 |
setAttributeNode() | 把指定的Attr節(jié)點添加到該元素的屬性列表中。 |
Attr對象代表文檔元素的屬性,有name、value等屬性,可以通過Node接口的attributes屬性或者調(diào)用Element接口的getAttributeNode()方法來獲取。不過,在大多數(shù)情況下,使用Element元素屬性的最簡單方法是getAttribute()和setAttribute()兩個方法,而不是Attr對象。
7.4.3、使用DOM操作HTML文檔
Node對象定義了一系列屬性和方法,來方便遍歷整個文檔。用parentNode屬性和childNodes[]數(shù)組可以在文檔樹中上下移動;通過遍歷childNodes[]數(shù)組或者使用firstChild和nextSibling屬性進行循環(huán)操作,也可以使用lastChild和previousSibling進行逆向循環(huán)操作,也可以枚舉指定節(jié)點的子節(jié)點。而調(diào)用appendChild()、insertBefore()、removeChild()、replaceChild()方法可以改變一個節(jié)點的子節(jié)點從而改變文檔樹。
需要指出的是,childNodes[]的值實際上是一個NodeList對象。因此,可以通過遍歷childNodes[]數(shù)組的每個元素,來枚舉一個給定節(jié)點的所有子節(jié)點;通過遞歸,可以枚舉樹中的所有節(jié)點。下表列出了Node對象的一些常用屬性和方法:
Node對象常用屬性:
屬性 | 描述 |
attributes | 如果該節(jié)點是一個Element,則以NamedNodeMap形式返回該元素的屬性。 |
childNodes | 以Node[]的形式存放當前節(jié)點的子節(jié)點。如果沒有子節(jié)點,則返回空數(shù)組。 |
firstChild | 以Node的形式返回當前節(jié)點的第一個子節(jié)點。如果沒有子節(jié)點,則為null。 |
lastChild | 以Node的形式返回當前節(jié)點的最后一個子節(jié)點。如果沒有子節(jié)點,則為null。 |
nextSibling | 以Node的形式返回當前節(jié)點的兄弟下一個節(jié)點。如果沒有這樣的節(jié)點,則返回null。 |
nodeName | 節(jié)點的名字,Element節(jié)點則代表Element的標記名稱。 |
nodeType | 代表節(jié)點的類型。 |
parentNode | 以Node的形式返回當前節(jié)點的父節(jié)點。如果沒有父節(jié)點,則為null。 |
previousSibling | 以Node的形式返回緊挨當前節(jié)點、位于它之前的兄弟節(jié)點。如果沒有這樣的節(jié)點,則返回null。 |
Node對象常用方法:
方法 | 描述 |
appendChild() | 通過把一個節(jié)點增加到當前節(jié)點的childNodes[]組,給文檔樹增加節(jié)點。 |
cloneNode() | 復制當前節(jié)點,或者復制當前節(jié)點以及它的所有子孫節(jié)點。 |
hasChildNodes() | 如果當前節(jié)點擁有子節(jié)點,則將返回true。 |
insertBefore() | 給文檔樹插入一個節(jié)點,位置在當前節(jié)點的指定子節(jié)點之前。如果該節(jié)點已經(jīng)存在,則刪除之再插入到它的位置。 |
removeChild() | 從文檔樹中刪除并返回指定的子節(jié)點。 |
replaceChild() | 從文檔樹中刪除并返回指定的子節(jié)點,用另一個節(jié)點替換它。 |
接下來,讓我們使用上述的DOM應用編程接口,來試著操作HTML文檔。
posted @
2006-06-22 12:28 xzc 閱讀(974) |
評論 (0) |
編輯 收藏
http://www.tkk7.com/eamoi/archive/2005/10/31/17489.aspx
posted @
2006-06-22 12:23 xzc 閱讀(260) |
評論 (0) |
編輯 收藏
判定瀏覽器類型:if(document.uniqueID)如果為TRUE是IE,否則非IE。
1向表中追加行
2通過JAVASCRIPT設置元素的樣式
3設置元素的CLASS屬性
4創(chuàng)建輸入元素
5向輸入元素增加事件處理程序
6創(chuàng)建單選按鈕
- 1.
- <table id="MyTable>
- <tbody id="MyTableBody"></tbody>
- </table>
- var cell = documentcreateElement("td").appendChild(document.createTextNode("foo"));
- var row = document.createElement("tr").appendChild(cell);
- document.getElementById("MyTableBoyd").appendChild(row);
- 2.
- var spanElement = document.getElementById("myspan");
- //spanElement.setAttribute("style","font-weight:bold;color:red");
- spanElement.style.cssText="font-weight:bold;color:red";
- 3.
- element.setAttribute("class","stylename");//非IE
- element.setAttribute("className","stylename");//IE
- 4.
- var button = document.createElement("input");
- button.setAttribute("type","button");
- document.getElementById("form").appendChild(button);
- 5.
- var element = document.getElementById("ee");
- element.onclick=function(){todo();};
- 6.
- var ration = document.createElement("<input type='radio' name='radioa' value='checked'>);//ie
- vat radion = document.createElement("input");
- radion .setAttribute("type","radio");
- radion.setAttribute("name","radionsss");
- radion.setAttribute("value","checked");
posted @
2006-06-21 21:55 xzc 閱讀(288) |
評論 (0) |
編輯 收藏
長期以來,程序員被看作是沉默寡言的典型。他們能夠長時間獨自坐下來,不跟別人討論,面對紙張及電腦屏幕來工作的人。現(xiàn)在,這種現(xiàn)象早已經(jīng)不盡然了,新的尤其是敏捷方法論更強調(diào)的是人們之間的有效溝通,而最有效的溝通便是面對面的交流,這也是結對編程取得巨大成功之所在。正如水晶方法論創(chuàng)始人Alistair?Cockburn對軟件開發(fā)活動的總結:“軟件開發(fā)是一場資源有限的創(chuàng)建與交流的協(xié)作性游戲。游戲的主要目標是交付有用的可工作的軟件,次要目標,是為下一場游戲做準備,既知識的累積。下一場游戲可以是改變或者替代當前的系統(tǒng),或是創(chuàng)建另一個相關的系統(tǒng)?!?br />
一個軟件開發(fā)團隊的成功依賴于合作、交流及協(xié)調(diào),而這些因素卻都以人為核心,恰恰是人這個大的因素左右了項目的成敗,而不是所選擇的任何過程與技術,而這個因素卻常常被人們所忽視。當技術與人們的認識和文化價值觀相抵觸時,技術就不會再產(chǎn)生效力。一個擁有充足人員且具有良好機能的團隊往往能更好地完成項目,而不在乎讓他們使用什么樣的過程及技術。
然而,人的能力卻是不可預測的,他們善于尋找、學習并有主動性,特別是善于進行非正式面對面交流,但同時,人們也具有會犯錯誤、墨守成規(guī)、只想創(chuàng)新、積習難改與變化無常等缺點。正因為人是變化無常的,我們不能指望人會成為可預料的或每個人都會變成一個樣子。正如你不能希望給一個人雙倍的酬勞,制定雙倍的懲罰制度,并付出雙倍工作時間,就希望能夠得到雙倍的成果輸出一樣。這是因為,人不是機器,而是復雜的情感生物,輸出的成果最終取決于當時的思考質(zhì)量、思考速度、主動性、身體狀況、情緒等諸多因素。但是,人的內(nèi)在潛力卻是非常巨大的,只要用紀律和寬容來應付人們的共同弱點,便可以去其短,揚其長,來激發(fā)人們的內(nèi)在潛力。當人們有了工作自豪感和公民感,再加上善于尋找和主動性后,我們會發(fā)現(xiàn)人們每天都會積極地完成工作,這將使項目長期處于最佳狀態(tài)。在這方面,XP(極限編程)采用豐富的、短的、非正式交流途徑,同時強調(diào)技能、紀律、個人理解水平,將中間件需求降到最低的方法,來獲得盡可能高的質(zhì)量和生產(chǎn)力。?
變化總是在發(fā)生
他們總是不斷地拿走你的奶酪。
預見變化
隨時做好奶酪被拿走的準備。
追蹤變化
經(jīng)常聞一聞你的奶酪,以便知道它產(chǎn)什么時候開始變質(zhì)。
盡快適應變化
越早放棄舊的奶酪,你就會越早享用新的奶酪。
改變
隨著奶酪的變化而變化
享受變化
嘗試冒險,去享受新奶酪的美味!
做好迅速變化的準備,不斷地去享受變化
記住:他們?nèi)詴粩嗟哪米吣愕哪汤?,如果你不改變,你就會被淘汰?br />
--?引自<誰動了我的奶酪>
面對市場經(jīng)營的特殊挑戰(zhàn),只有那些具有高度靈活機制的企業(yè)才能立于不敗之地。不能適應變化,變化就會把你變得面目全非。再完美的計劃也時常遭遇不測。軟件中的所有東西都在變化。需求在變、設計在變、業(yè)務在變、技術在變、團隊在變、團隊成員在變。問題不在于變化,因為變化總在發(fā)生,問題在于在發(fā)生變化時沒有能力應付。只有變化是不變的,時刻準備著這樣調(diào)整一點,那樣調(diào)整一點。通過許多小的調(diào)整,而不是幾次大的調(diào)整來控制軟件的開發(fā),也就是說我們需要利用及時反饋來知道我們何時出現(xiàn)了錯誤,我們需要很多機會來糾正這些錯誤,而且,我們必須能夠以比較合理的成本完成這樣的糾正,即使你不得不朝完全不同的方向前進,這就是作為一名程序員的生活。敏捷就是快速、輕松和靈活,迅速行動的能力,以最少的開銷完成工作的能力,適應不斷變化條件的能力。
這就像XP方法論創(chuàng)始人Kent?Beck對XP所做的比喻:“XP團隊應該是智慧的游牧人,隨時準備迅速收起帳篷,跟隨牧群到處流浪。這里的牧群可能是與預期不同方向的設計、與預期不同方向的客戶、離開團隊的成員、突然升溫的技術或者是不斷變換的商業(yè)環(huán)境。”敏捷軟件開發(fā)的根本是相信在我們混亂的業(yè)務環(huán)境中有不可預測性,相信人們或團隊在面對這種不可預測性時,有能成功交付軟件能力的可預測性,而這些,這是由于開發(fā)人員之間的有效溝通、與客戶和管理者之間的有效溝通,才使得這種被稱為富于創(chuàng)造與交流的協(xié)作性軟件開發(fā)游戲取得成功。
再富裕的國家,也會因為浪費人才而變得貧窮。與之類似,企業(yè)生存的最大課題就是培養(yǎng)人才,有了好員工,不愁沒有好顧客。企業(yè)的發(fā)達,乃人才的發(fā)達;人才的繁榮,既事業(yè)的繁榮。把人放在第一位,其他事情就會少發(fā)愁。
--?引自<管理智典>
<資本論>指出:一切剩余價值皆是由人創(chuàng)造的,而不是其它任何機器。在軟件開發(fā)中的任何分析和設計工具不管有多先進,都不可能自動產(chǎn)生設計及代碼,而真正產(chǎn)生設計及代碼的,恰恰是操作它們的人,過分信賴過程與工具以及低估人的智力和經(jīng)驗都是一切災難的源泉。
與此同時,<設計模式>一書也指出:在軟件開發(fā)和維護中,從長遠來看,真正引起軟件低效的原因,是人,人的低效才是最主要的。這看起來有點自相矛盾,其實為一體,既:成也在人,敗也在人!
軟件開發(fā)和維護中的低效,初看起來,使人聯(lián)想到的首先可能會是:開發(fā)及維護人員技術水平不夠了、軟件文檔支持不足了、軟件人員偷懶了、開發(fā)或維護團隊內(nèi)部人員關系不好了等等。但深究起來,一般卻和一個企業(yè)的內(nèi)部組織文化有很大的關系。
目前,國內(nèi)很多國企、私企普遍存在的內(nèi)部現(xiàn)象是:一馬在前,萬馬齊拍;前面的馬向后看到的是后面馬的笑臉,后面馬向前看到的是前面馬的屁股。故才會有后面群馬齊拍,前面馬飄飄不知所以然的壯麗場景。在這種企業(yè)文化中,人人只會以乾隆年間的和?和大人為偶像,以“厚而無形,黑而無色”的厚黑精神為人生最高境界。試想在這種企業(yè)組織文化中,真正老實實干的人只能忍氣吞聲、本著不求有功、但求無過之心,整天提心掉膽,人人皆自衛(wèi)。而奸滑的人卻會善于濫竽充數(shù)、邀功請賞、見風駛舵,只要嘴巴甜、馬屁拍的好、拍的妙,定會升官發(fā)財,內(nèi)部則猜疑、譴責、以及微妙和間接的勾心斗角與明掙暗斗隨處可見。這種企業(yè)最終是不會留下真正的人才的,留下的只會是一些馬屁精。如果一個企業(yè)文化如此,開發(fā)及維護團隊會如何,內(nèi)部員工又會怎么做,可想而知!如果你所處的環(huán)境不是這樣,恭喜你。
最好的環(huán)境應該是互相信任,彼此互相尊重,彼此之間都相信對方會把自己的最高利益和整個團體的利益放在心中,彼此都愿意切磋技巧、經(jīng)驗及看法。而要成為一個有效的團隊成員,首先需要認識到自己的無知,每個人都要向別人學習,應該相信直覺,并且開放和誠實的交流環(huán)境常常是保證有效團隊合作的最好策略。
作為一個組織,核心就在于對人的信賴,在于一個適應性強的文化氛圍,這能夠將人捆在一起,獲得有效的協(xié)作關系。一個企業(yè)做的是否成功,關鍵是看它有多強,而不是有多大。把人放在第一位,管理層次少,內(nèi)部信息溝通及時、各職能部門協(xié)作意識強的企業(yè)才更容易成功。?在激勵一個人按某種特定方式工作時,報酬比懲罰更有效,懲罰要盡量避免。你若能在他人心中激起一種急切的需求,并能引導這種需求,你便能無往不勝??释玫絼e人的認可和贊賞,是人類隱藏最深的本性。
--?引自<管理智典>
<孫子兵法-作戰(zhàn)篇>中指出:“殺敵者,怒也;取敵之利者,貨也。車戰(zhàn),得車十乘以上,賞其先得者?!币馑际钦f,要使軍隊勇敢殺敵,就要激發(fā)士兵對敵人的仇恨;要使軍隊奪取敵人的物資,就要以財貨獎賞士兵。所以在車戰(zhàn)中,凡繳獲戰(zhàn)車十輛以上的,要獎最先奪得戰(zhàn)車的人。
同理,<素書六章>中也指出:小功不賞,則大功不立;小怨不赦,則大怨必生。這和前面是一樣的道理,然而,國內(nèi)很多軟件企業(yè)領導者,滿腦子想的仍是:中國人,多的是,有什么用,走一個,馬上還能來一群,怕什么!殊不知,你就再是鐵打的營盤,也架不住流水的兵,不注重人,必會留不住人。
冰凍三尺,非一日之寒,做軟件的,少則數(shù)月,多則幾年。三天兩頭換人,每天看到的都是新面孔,那還象是做軟件的,就象是在選秀。這樣的軟件能成功么?既使僥幸成功,也定不會長久,因為他們不可能織起一個強而穩(wěn)定的團隊,組織起來的只能是臨時應戰(zhàn)的雇傭兵而已。有上面這種想法的領導大多通常是以指令性過程方法和產(chǎn)品為中心,把做作軟件的人看做是“即插即用”的機器,這些高層管理者往往抱著一種“菜譜哲學”的思想,認為如果組織機構有了明確定義的軟件過程方法,詳細地規(guī)定了每個開發(fā)活動的步驟,那么所有問題都將被解決。如果“正確”的過程已經(jīng)開發(fā)好,他們就可以雇用任何人(當然,最好不用人全部由機器自動生成最好),只要遵循制定好的過程,完美的軟件就將準時且不超預算地大量產(chǎn)出,這種信條是建立在把軟件開發(fā)當成是一門科學的基礎之上的,然而,殘酷的現(xiàn)實卻向他們證明,軟件開發(fā)更多的是一門藝術而非科學,是一門需要技能、手藝精巧的人互相協(xié)作的藝術。如果公司領導成天跟員工斤斤計較,抓住員工小辮子不放,動不動就大聲呵斥、擺臉色看、給小鞋穿,還要經(jīng)常免費加班、扣工資、罰資金。試想,在這種環(huán)境下,員工會怎么做,大部分會直接走人,留下的人卻學會了磨洋工。工作時看著忙忙碌碌,實則作秀也。老板可能還會納悶,怎么員工這么買力,產(chǎn)品質(zhì)量還日漸下降。殊不知,這就和菜場買菜一樣,你越和賣菜的討價還價,賣菜的給你菜時越會和你斤斤計較(既缺斤少兩)是一個道理,只有這樣兩方心理才能夠平衡。雖然,聰明一些的高層領導者總是宣稱員工是組織機構中最重要的方面,但骨子里仍把員工看作隨意可替換的資產(chǎn),這也正是人類的一大缺點:嘴上說的和實際做的往往是兩回事。
所謂“道”,就是讓部屬與領導者的價值觀相一致,這樣部屬就會與領導者同生共死,不會畏懼什么困難和危險,表現(xiàn)出崇高的獻身精神。如何讓部屬與領導者的價值觀相一致,其實很簡單,將員工利益看作第一位,以人為本,重視他們、信任他們、支持他們。其實,員工們對公司的要求其實很低,一般如下:
第一、?按時發(fā)工資(基本保證)。
第二、?得到辦公室配送的飲料或食品。
第三、?得到領導賞識。
第四、?獲得特別授權去完成某艱巨任務。
第五、?多發(fā)獎金(不吃大鍋飯)。
第六、?職位上的提升。
第七、?加薪。
以上幾條,對于每一個有遠見的公司領導都是不難做到的。那怕能做一半,員工們也會心存感激之情了。
幫助他人,可說是一種最直接有效、可以激發(fā)自身價值與責任感的方法。在全神貫注幫助他人解決問題的過程中,在悉心呵護照顧他人的過程里,不但我們的無限潛力會因此而充分發(fā)揮出來。而且,相對而來的成就感,也會讓人覺得自己任重而道遠,并能更積極地來面對人生了。
--?引自<好習慣、好人生>
近兩年,書面上流行的狼系列叢書<狼文化>、<狼圖騰>等。也同樣給中國軟件業(yè)發(fā)展以極大的啟示,強調(diào)擁用像狼群般的高度緊密協(xié)作的團隊意識、敏銳的嗅覺(既可以察覺到細小或即將來到的變化)、始終保持野性(既持續(xù)的積極進取的態(tài)度和精神)等。中國人喜歡窩里斗這是出了名的,就是軟件人員內(nèi)部也經(jīng)常在彼此攻擊、無休無止。要知道,在一個有效團隊中是沒有“我”這個字的,只有“我們”。這里借用曹植曹帥哥一句話:“本是同根生,相煎何太急!”?來真心希望中國軟件業(yè)能真正團結一致,齊心合力,建立自己的狼群文化,早日走出低谷,向全世界宣布:我們是狼,不是羊!
創(chuàng)建一個有效的團隊是一項艱苦的任務,它對項目的成功是必不可少的。首先是通過招募好的開發(fā)人員,從好的材料開始,他們可能不具備所有需要的技能,但至少應該愿意去學習。其次是在團隊內(nèi)培養(yǎng)正確的態(tài)度,既他們只有團結一心才能走向成功,每個人都應該積極參與系統(tǒng)開發(fā)。建設和培養(yǎng)一個有效團隊需要時間,但這樣做是組織機構能做的最好的投資之一。?
若是你在一年中不曾有過失敗的記錄,你就未曾勇于嘗試各種應該把握的機會。害怕失敗,就等于拒絕了成功。那些盼望并且追求成功的人,要比那些成天擔心而且接受失敗的人要快樂得多,其成就也會高的多。
--?引自<管理智典>
假如軟件的第一版就做得很好,那么人們就會再次使用該軟件。由于世界上所有的事情都在迅速變化著,因此,軟件也需要不斷更新、擴充、改變及修改。而想要得到穩(wěn)定不變軟件的唯一方法就是讓產(chǎn)品壞到?jīng)]有人再想用它,穩(wěn)定意味著無知覺的產(chǎn)品。要明白,穩(wěn)定的要求是敵人而不是朋友。改變要求是生活中嚴酷的現(xiàn)實,明智的軟件人員應事先預想并處理它而不是抱怨它。而使軟件創(chuàng)建更加快速與健壯的,是軟件復用。有關軟件復用的問題從表面上看是技術上的,實則真正的問題還是來自人。
開發(fā)人員需要擺脫不相信也不想理解別人成果或只想重頭做來增加個人經(jīng)驗的看法,如果不解決人的問題,那么技術問題也就變得無關緊要了。開明的領導和合適的獎賞制度有時能克服這些問題,假如企業(yè)文化把重復使用擱置起來,不與重視,那么在實現(xiàn)重復使用方面的投資、開發(fā)以及努力都將沒有多大的成果??朔说膯栴}最主要的還是有效溝通的問題,雖然我們已經(jīng)學會把感情生活與工作分開,但是如果隊員間不能持續(xù)進行有效的溝通、沒人承認自己的錯誤、怨氣得不到平息、歡樂沒有人共享,那么整個團隊就無法高效率地工作。如果我們每個人都能夠放下生活中所帶的虛假面具,說出自己真實的感覺,也認真傾聽別人的想法,那么任何工作的進展都會順利的多。
一個人并不是生來就要被打敗的,你盡可以消滅他,卻不能打敗他。
--?引自<老人與海>
生命原本脆弱,我們只能堅強地活著,并努力尋找歡樂,就這樣。這里有一點我想告訴大家,大家在積極進取、努力拼搏的同時,一定要多加注意自己的身體。要知道,留著青山在,不怕沒柴燒,身體乃革命的本錢也。千萬不要有這樣思想:三十歲前我用命換錢,三十歲后我用錢換命。要好好想想,沒有了好的身體,我們還能做什么!所以,請記?。号ぷ?,從珍惜生命做起!
生活并不是筆直通暢的走廊,讓我們輕松自在地在其中旅行。生活是一座迷宮,我們必須從中找到自己的出路。我們時常會陷入迷茫,在死胡同中搜尋。但如果我們始終深信不疑,有一扇門就會向我們打開,它或許不是我們曾經(jīng)想到的那扇門,但我們最終將會發(fā)現(xiàn),它是一扇有益之門。
--?引自<誰動了我的奶酪>
最后,讓我引用<WINDOWS游戲編程大師技巧>書中一句話來結束本文:“當你看到眼前有列過山車,請坐上去,不要猶豫。張開你的臂膀,盡情體驗個中滋味,一直堅持到游戲的最后,這就象生活一樣。你的生活將不會留下太多回憶,除非你曾經(jīng)反抗過、吶喊過,并用堅持不懈的努力向著完美伸出雙臂。世上沒有不可能實現(xiàn)的事情,只要你相信能做到,你就能做到!”
posted @
2006-04-01 08:48 xzc 閱讀(333) |
評論 (0) |
編輯 收藏