posts - 195, comments - 34, trackbacks - 0, articles - 1

               摘要: 什么是好的程序員?是不是懂得很多技術細節?還是懂底層編程?還是編程速度比較快?我覺得都不是。對于一些技術細節來說和底層的技術,只要看幫助,查資料就能找到,對于速度快,只要編得多也就熟能生巧了。
          我認為好的程序員應該有以下幾方面的素質:
           1、有專研精神,勤學善問、舉一反三。
           2、積極向上的態度,有創造性思維。
           3、與人積極交流溝通的能力,有團隊精神。
           4、謙虛謹慎,戒驕戒燥。
          5、寫出的代碼質量高。包括:代碼的穩定、易讀、規范、易維護、專業。
          這些都是程序員的修養,這里我想談談“編程修養”,也就是上述中的第5點  閱讀全文

          posted @ 2007-10-05 00:50 小強摩羯座 閱讀(261) | 評論 (1)編輯 收藏

               摘要: 計算機科學與技術學習反思錄

          很老的帖子了,也不知道是誰寫的

          計算機科學與技術這一門科學深深的吸引著我們這些同學們,上計算機系已經有近三年
          了,自己也做了一些思考,我一直認為計算機科學與技術這門專業,在本科階段是不可能
          切分成計算機科學和計算機技術的,因為計算機科學需要相當多的實踐,而實踐需要技
          術;每一個人(包括非計算機專業),掌握簡單的計算機技術都很容易(包括程序設
          計),但計算機專業的優勢就在于,我們掌握許多其他專業并不“深究”的東西,例
          如,算法,體系結構,等等。非計算機專業的人可以很容易地做一個芯片,寫一段程
          序,但他們做不出計算機專業能夠做出來的大型系統。(與司徒彥南兄的談話)今天我
          想專門談一談計算機科學,并將重點放在計算理論上。

            閱讀全文

          posted @ 2007-10-04 23:53 小強摩羯座 閱讀(306) | 評論 (0)編輯 收藏

          我們這一代招誰惹誰了!!!(80后的都進來看哈)

          我們招誰惹誰了???
                 當我們讀小學的時候,讀大學不要錢;
            當我們讀大學的時候,讀小學不要錢;
            
                 我們還沒能工作的時候,工作也是分配的;
            我們可以工作的時候,撞得頭破血流才勉強找份餓不死人的工作做;
            
                 當我們不能掙錢的時候,房子是分配的;
            當我們能掙錢的時候,卻發現房子已經買不起了;
            
                 當我們沒有進入股市的時候,傻瓜都在賺錢;
            當我們興沖沖地闖進去的時候,才發現自己成了傻瓜;
            
                 當我們不到結婚的年齡的時候騎單車就能娶媳婦;
            當我們到了結婚年齡的時候沒有洋房汽車娶不了媳婦;
            
                 當我們沒找對象的時候,姑娘們是講心的;
            當我們找對象的時候,姑娘們是講金的;
            
                 當我們沒找工作的時候,小學生也能當領導的;
                 當我們找工作的時候,大學生也只能洗廁所的;
            
                 當我們沒生娃的時候,別人是可以生一串的;
            當我們要生娃的時候,誰都不許生多個的。
            
                 我們這一代到底招誰惹誰了 ?!

          posted @ 2007-10-04 22:58 小強摩羯座 閱讀(292) | 評論 (2)編輯 收藏

               摘要: (幾年以前就在BBS上看到別人轉的這篇文章,今天讀來感觸更深,值得保留于此,再三體會)

          計算機科學與技術學習心得

          撰文 曾毅
            閱讀全文

          posted @ 2007-10-04 21:52 小強摩羯座 閱讀(1693) | 評論 (0)編輯 收藏

          我看完了這部電視劇,心中想了很多,于是又回過頭來再想理一下思緒,它為什么會讓我回味無窮,我到底為其中的什么而思考??
          編劇說它是為女人寫的,為了塑造一個像夏琳那樣的形象。告訴現實中那些只滿足于有一個愛她的男人,就可以整天小鳥依人,或做滿足于做全全家庭主婦的那種。他希望女人明白,其實或許有自己獨立人格,獨立追求的女人才更能吸引男人。
          此外,該劇也在不斷的重復著一個問題:男人的理想是什么?劇中結束時,男人們都為了自己的女人的理想去奮斗了。或許其實人本來就很簡單,兩個人就像一個人其中只有一個有理想,或者說必需為一某件事去追逐時,而另一個人也要與它一為此而奮斗。或許這才是奮斗!?


          以下是一些別人的相關評論:
          2007-06-04 15:02:35   來自: LazyLorna (長春)

          奮斗的評論   


            其實愛情里面,沒法談什么公平不公平,就像向南深愛的還是楊曉蕓,而楊曉蕓也不是絕對的大小姐脾氣,她并沒有一直浪費、小心眼、小市民,只是作為一個典型的小女人,不能忍受沒有時不常的新鮮、變化的生活罷了。楊曉蕓喜歡浪漫,多少還是愛幻想,愛享受生活的那一種,她的可愛也恰恰在于她的率性。一個人總能被另一個人莫名的吸引,很難說清楚為什么。向南喜歡楊曉蕓,為她著迷,為她癡狂,只因為他愛她。至于為什么、哪一點,真說不清楚,只能說他喜歡這一類型的,他需要這樣一個女人才能幸福地共度終生,而且他也最適合楊曉蕓這一類型的。
            
            先說楊曉蕓:
            
            年輕人總會自私一點的,楊曉蕓作為小女人體現得就會更多一點,不過她還不至于真的徹底過分,總的來說她還是單純,比方說要和向南和好但直接導致離婚的那一場戲,作為一個成熟的人,是打死也不會講出來的,至少不是這個講法。楊曉蕓還是很有代表性,她確實很可愛,很簡單,所以才會吸引向南死心塌地。向南也不是一個比較成熟的人,他和楊曉蕓在簡單這一點上極其相似,瑤瑤被向南吸引也不只是向南的深情,簡單也很重要。楊曉蕓很真實的一個人,有點小自私,但還不太惹人厭。要說自私,陸濤從某個角度講也有點自私,活在理想里、堅持夢想的一個必然代價,就是產生的后果要別人買單。不過反過來說,任何事情都有代價,成熟了,不要別人買單了,也許激情和夢想就都沒了。瑤瑤其實并不可憐,只是和向南這段姻緣很可惜,其實她的情況在現代高知女性里具有普遍性,她大度,只是也不太會相處,只是一味付出。或者說呢,一味付出,不給別人對你好的機會,也在某種程度上算作一種自私吧,只是這一點當事人一般來說都沒有留意到。
            
            瑤瑤:
            
            所以瑤瑤的性格以及她的故事在現代年輕人里面也是一種很典型的情況,尤其是高知女性。她沒能最終和向南在一起,只是因為向南的心不在她身上,這是一種可惜。如果沒有楊曉蕓,也許他倆是比較幸福的一對,如果相處得好的話。瑤瑤對向南的好,就像向南對楊曉蕓,這一點瑤瑤和向南非常像,都是付出型的,夏琳也是。就像越相像的人越不容易攜手走下去,就是太多交集就不容易互補。向南愛楊曉蕓也不是期望從楊曉蕓那里得到像他那樣那么多的感情,而是楊曉蕓開心幸福,兩人的生活就開心幸福,這是付出型的和接受型的互補。瑤瑤只是沒有找到一種合適的方式來和向南相處,她的胸襟太博大,甚至超過了男人。而男女相處,男人有時候也是可以容忍或需要女人一點不太過分的無理取鬧的,生活不能像一潭死水,有點波瀾才豐富。楊曉蕓就是這樣一個讓向南感到豐富的女人,所以她是所有男女中相對來說生活的最順利、最幸福的一個人,也就是這種沒有什么大才能的小女人,才會生活的最幸福,也最容易得到幸福。
            
            感情與經營
            
            很多女人,大家都稱贊是好女人,可是在感情的路上總是面對有緣無份的尷尬,每個人都知道感情靠經營、婚姻靠經營,只是很多時候知道得太多,為別人考量得越多,越讓別人對你無從是好。相處,都要付出,付出也是一種需要,不能只讓你一個人付出,也要騰出機會讓別人對你好。
            
            一個重感情的人,就像陸濤對夏琳,米萊對陸濤,向南對楊曉蕓,瑤瑤對向南......在他們自己看來,男女朋友就是未來的終生伴侶。可是很多時候不是只要人好、只要知道你對我好、我對你好、心知肚明會永遠好下去就能繼續下去的。很多時候,不會交往,還是不能走到頭;以為會交往,又經常會愛過頭。前者如向南和楊曉蕓,后者如陸濤和夏琳。
            
            其實每個人生活在這世上,都是商人,什么都講回報。只是這個商人,不是平常的那種概念。就像《奮斗》里你可以看到作為一個商人,一個成熟的商人,不是賺錢那么簡單的,成熟的商人,只做他感興趣的、覺得有意義的生意,甚至會時常放棄巨大的利益,這一點是我從《旁觀者》一書了解到的。
            
            
            經營感情的“生意經”
            
            話說回來,拿感情來講,是一種經營,所以徐志森說得沒錯,這在某種程度上也可以看成是一種生意。感情也要有付出有回報,但這種回報對于多數付出者來講,他們需要的只是回應那么簡單。然后需要位置調換,換一方付出,換一方回應。這樣,感情才平衡,人才平衡,交往才能繼續下去。這在根本講究的還是一個回報率的問題,在這里叫做回應率好像更合適、更容易接受一些。感情的事,比生意復雜多了,它更像是太極,而太極最講究的就是平衡。
            
            對于任何一種生意來講,追求高利潤是最危險也最不明智的,只有長久的才是穩定的,才能健步成長。在房地產界最流行“低于40%利潤不做”的說法的時候,王石就曾說過“高于25%的利潤不做”。想持續發展,必須確定一個合理的回報率水平,無論對于嚴格意義上的生意,還是感情,這才能平衡。
            
            《奮斗》里的大部分青年男女都是不平衡的,米萊最不平衡,她付出了所有,可是陸濤無所回應。夏琳也付出了所有,陸濤回應了,但不是夏琳需要的回應,華子和璐璐,向南和楊曉蕓,比比皆是。男女之間,需要有一種平衡,理解,能達成共識,不是那么簡單,并不容易。不過這一點單純的楊曉蕓和長情的向南、璐璐和豬頭最終算是交了昂貴的學費勉強達到了平衡。
            
            
            “像你這么好的姑娘,上哪兒找去啊!”
            
            我問一個朋友:米萊,楊曉蕓,靈珊,露露、夏琳,你喜歡誰?
            答曰:靈珊。
            問:她很招人喜歡?
            答曰:沒啊,就是比較容易迷人的那種。
            又問:要是這些人選一個做女朋友,你選誰?
            答曰:米萊,象米萊這么好的姑娘 哪找去啊?
            又問:要是選一個做老婆呢?
            答曰:女朋友跟老婆一定要區分開啊?在我這兒沒啥區別。
            
            嗯,有這些感觸,因為也有人對我講過“你是一個好女人,很難得”、“像你這么好的,到哪找去啊”、“現在的好女人越來越少了,遇到一個少一個,所以要珍惜”,原話、類似的話,而且不只是一個人的評價。當時得到這樣的肯定很欣慰,現在卻開心不起來。
            
            每個人都有自己獨特的個性,所以你的人生要走什么樣的路通常情況是順理成章的,一路正常的讓你懷疑這是否是神或者上帝的安排。我“長成”這樣,注定不可能成為楊曉蕓那樣的小女人,我自己的性格可能和劇中人物有一些相似的地方,能理解夏琳的迷茫,米萊的痛苦,以及瑤瑤自我保護的辛苦。生活中遇到的問題有些還是能夠了解她的想法和體會的,但經驗是借鑒的,盡量避免片中一樣最后無所適從,盡管生活中必不可免會走很多彎路、遭遇很多坎坷。
            
            再說夏琳:
            
            高學歷的女同胞們多少都會從她那里找到些共同點,和瑤瑤一樣,很獨立,不需要別人寵著、愛著、粘著,她美麗、有才情、有志氣、有想法、有能力,每個見過夏琳的男人都會被她獨特的個性所吸引吧。用米萊的話說:“我真嫉妒你,你又窮,又漂亮,又有才氣,真是嫉妒死了。”
            
            夏琳和很多女人都有相似的地方,和瑤瑤相似的是胸襟很大,和楊曉蕓相似的是夏琳也很可愛、和夏琳在一起特有勁兒(陸濤的原話),和璐璐相似的是有志氣并為之不斷地努力,和靈珊相似的是夏琳也有一種神秘感,那是一種莫名的吸引,令人不得不側目動容......從這些性格來講,夏琳擁有了所有作為一個好女人的優勢,徐志森也說他“也喜歡這個女孩子、很難有男人不喜歡夏琳”。所以,米萊的形容還真是恰當、徹底、痛快!
            
            很多人可能以為夏琳太自我,可是恰恰相反,她和陸濤幾分幾合,原因都在于她失去了平衡、失去了自我。
            
            夏琳和陸濤的搭配純屬校園里最令人艷羨的才子佳人型,而這種模式通常情況下都難以長久。究其原因,就是雙方的個性都太強了,正面交鋒的沒辦法不遇到刺。對于夏琳來說,和陸濤在一起時時刻刻感到巨大的壓力,來自于陸濤事業上的成功、兩人逐漸產生的人生觀的分歧、以及后來陸濤身邊的女人。夏琳多次嘗試與陸濤溝通,拿買車那個例子,夏琳多次和陸濤說:“如果不能和你一起買車,買車這件事對我來說就不能讓我高興”、“如果我是一個愛慕虛榮貪圖享受的人,在幾年前你還穿假名牌的時候我就能得到(車、房、名牌、金錢等)了”。第19集在夏琳家她說的那段“心甘情愿”的臺詞(我在關于《奮斗》經典臺詞匯總中專門有詳述)。很贊同,來回看了好幾遍。
            
            “我所做的一切,都是我心甘情愿的,我從來沒有強迫自己去做過什么,因為我愛你,這是我的意愿,也是我的快樂。”我最喜歡這一段夏琳關于“心甘情愿”的臺詞,盡管夏琳并沒有真正表述清楚她想說的是什么。但顯而易見的是她迷失了自己,迷失了方向。夏琳不知道在怎樣對陸濤好,而陸濤也不明白應該和夏琳怎樣生活。他們倆都迷糊了,所以看上去被對方控制了。徐志森曾多次提醒陸濤不能被夏琳控制,這種描述其實不恰當,實際上夏琳也被陸濤控制了,更好一點的說法是他倆都失控了。好在他們及時踩了剎車,所以又能找到了平衡。但其實陸濤并不是能真正理解夏琳的苦心并找到一些合適的改變,他只是終于能感受得到夏琳想說的、想表達的究竟是什么了。
            
            瑤瑤的問題
            
            瑤瑤也是,她應該勇敢一點,更放得開一點,其實她知道自己應該能夠把握得住這段幸福。很多時候大度的女人還是很內斂很自控的,那是一種自我保護:把自己約束的很嚴格,在任何情況下都那么冷靜、不表露出自己真正是心痛欲碎還是幾近瘋狂,冷靜的近乎殘酷,至少對他們自己來說。就像楊曉蕓在“心碎烏托邦”鬧得那場戲,瑤瑤的識大體,讓心碎烏托邦的所有男人都夸贊。這不太好,過分識大體的女人有些不是人間煙火,讓人只想像神仙姐姐一樣供起來,不適合自己相伴一生,因為不真實,太博大了,太完美了,就算你無理取鬧他們也不會發脾氣,時間長了你會覺得真的受不了,我們需要的是交互,是融合,不是單方面的包容。
            
            其實真正的原因,讓瑤瑤等很多這樣的女人成為并不容易得到幸福的完美女人,還是在于她們害怕自己以楊曉蕓那種方式真的表現出在乎了,就失控了。成熟女人很怕失控,這樣的傷害太大,很難彌補,至少對于自己來講。女人不再勇敢了,至少是小小的勇敢,這不太是好事情。這一類女人,就像是刺猬,受傷的刺猬、用情至深的刺猬、強作堅強的刺猬、一根一根拔掉自己的刺的刺猬。她們一直很會隱藏,露出的都是好的地方,都是沒有刺的地方,其實總在受傷,還硬撐著,明明是很受傷的刺猬,明明是為了各種原因、各種人一根一根拔掉自己的刺,把自己的傷口包起來,隱藏起來,永遠是笑臉。這不是堅強,是逞強,是自我保護,而這種逞強,如果有一天堅持不下去了,自己的死穴秘密完全暴露無遺,或者像楊曉蕓那樣鬧一次、把最最真實的情感表露無疑,自己的“保護系統”就可能隨之完全崩潰瓦解,她們就徹底失控了、徹底迷失了。
            
            也許男人真的永遠沒辦法理解女人,而女人卻真的可以理解他們說的每一件事。只是,女人不是總能找到簡單的話語來直接告訴他們,讓他們明白自己或者雙方共同遇到的問題。女人也不是神,不是智者,她們在自己迷惑或者迷失的時候,自己都無法解決,更不可能給出別人任何簡練的語言明確的說明。這種體會我有過,就像夏琳失去了自己,那個時候,你卻是發現自己無論怎么做都不對的尷尬和痛苦,那真是難受極了,就算你想表達都表達不清楚,而這個時候對方只是覺得自己迷糊、一心想自己要一個痛快的結論,可是,誰來給我一個結論讓我也痛痛快快的解決呢?也許換個環境跳出來冷靜想想只能是唯一的辦法,雖然帶來的巨大痛苦和傷害,也是任何人和任何事都沒辦法彌補的,但這也是沒有辦法的辦法。
            
            誰是最幸福的女人?
            
            所以從幸福的角度來講,楊曉蕓這一類是最容易得到幸福的,因為她是小女人、可愛、簡單。
            不過,如果像夏琳,真正學會了經營,也會非常幸福,而且這種幸福比其他人更穩定更長久,而且這種情況通常也伴隨著普遍意義上的成功,過著更舒適的生活,因為夏琳比楊曉蕓有才能。但對于女人來講,生活是否幸福永遠是第一位的,遠遠超過事業上的成功,理想是否實現。其實這對于男人來講也應該同樣重要。就像徐志森說的:生活永遠是最重要的。
            
             璐璐不能說最早得到了幸福,只能說她得到了想要的生活,她屬于知識層次不高的北飄一族,所以能嫁給豬頭,能安定下來,就是比較理想的生活,其實她自己也說,即是她嫁給了豬頭,但還是喜歡的是華子。正是因為她的要求不高,媽媽、弟弟和自己在一起就行了,所以嫁給了豬頭,因為生活,無法讓一個無根的女人為無法把握的愛而等太久,沒有安全感的生活太辛苦、也太殘酷。華子是個好人,但是他還年輕,很多人生觀的不同,也無法給璐璐安全感,而這卻是璐璐最需要的。
              
             靈珊是一個明智的人,雖然年紀小,但是思想很成熟。從很多事情都能看得出來,包括對陸濤的態度,盡管她被陸濤吸引,但她并沒有像夏琳那樣熱情,也沒有像米萊一樣執著。至于璐璐的弟弟,她只是沒有接觸過這樣的人,覺得好奇,喜歡也只是喜歡,不是愛。她還是愿意當個小孩,跟著父親也只是為了玩,并不是為了做生意。
            
             米萊
            
             很多人不喜歡夏琳,喜歡米萊。其實他倆誰好誰壞,不是能夠簡單評價的,他們都是生活里實實在在存在的人。確實,一個女人要是太喜歡一個男人,失掉了主心骨,下場都不會太好。嗯,這是米萊和夏琳的區別。失掉了主心骨,也就是失掉了自己,失控了。
                  
              不能說陸濤喜歡夏琳純粹是因為她的漂亮,陸濤喜歡的,也有夏琳的有主見的一面,而米萊其實能看到這一點。米萊對陸濤非常執著,執著的可以為他付出全部,其實一點都不缺心眼,就是執著。她陪地、陪裝修、陪房租、陪送自己(這里我用的是“陪”,雖然最后都“賠”了),就想陸濤賠回他們的感情,這是非常“狠毒”的一招,沒幾個男人能拒絕。
                  
              但是,陸濤還是不會放棄夏琳而和米萊在一起,我估計,也沒幾個人在這種情況下最后真敢和米萊在一起。米萊失控了,而夏琳剎車了。所以,換我是陸濤,就算不和夏琳了,也不會和米萊,反而,和靈珊在一起,倒是一種可能性很大的選擇。
                  
              就好像楊曉蕓幾聲撕心裂肺的哭喊,向南的心理防線就徹底崩潰任憑你瑤瑤對他再好再體貼也沒有用。而夏琳雖然不會對陸濤哭喊,但是米萊再怎么陪,都是賠,也贏不回陸濤。 其實我也喜歡米萊,只是為她可惜。
            
             每個人都有自己獨一無二的人生,所以無論你怎么樣,什么樣的性格,和什么樣的人交往,我們都有追求幸福的權利,也要為之努力,認真奮斗,不要僅僅是停留在口頭上。
            
             因為一些原因沒寫完,米萊貌似最傻卻又是最精明最執著的,靈珊是最明智最中庸的,璐璐是最辛苦最無奈的。加上楊曉蕓和夏琳,這五個女人啊,差不多代表著年輕女性最常見的五種情形。以后有空再更新吧,原載地址http://lazylorna.blog.163.com
            
            P.S.男人的一半是女人,女人的全部是男人。《奮斗》里面的男人們也各有千秋,順便提兩嘴。
            
            陸濤就不多說了,華子雖然對哥們仗義、但對于感情也有些怯負責任,向南,這個名字起的也很有深意的,用我好朋友Armyknife的話說,希望他更像個男人......

          posted @ 2007-09-23 13:42 小強摩羯座 閱讀(382) | 評論 (0)編輯 收藏

          曾有人說過:男人是多情和長情的。而女人則是專情與絕情。      

              男人可以在他已和一個喜歡的人在一起的時候,在他的心里說不定還有一個或更多的“她”存在。因為他多情。男人可以在多年以后心中還在掂記著他的女朋友現在過得是否安好。因為他長情。      

              女人卻不一樣。當她和一個喜歡的人在一起的時候,她所想的就是他,她所做的也就是為了他。這時,即使有一個比現在的更好的男人出現,她也不會放棄他的。因為她的專情。而當她決定放棄他的時候,那就是說一切都沒有余地了。因為她絕情。      

              男人,天生就是多情的。只是,他會對某一個人最長情。但這個人成為他妻子的可能性幾乎為零。女人,天生就是專情的。只是,她會對某一個人最絕情。但這個人成為她的仇人的可能性幾乎是零。      

              男人和女人真的很不一樣。當男人知道以前的女朋友現在過得不好,他會去安慰她,而當女人知道以前的男朋友現在過得不好時,大部分肯定不會去安慰他。      

              對男人來說,女人是要來保護的,而他則成了個大英雄。對女人來說,男人是要來依賴的,而她則成了個小鳥兒。      

              女人不明白怎么男人可以有這么多的心去記著那么多的情。而男人不明白怎么女人可以這么決心的忘了一段情。      

              其實,男人對你說分手的時候應該還有余地的。因為他多情,也因為他長情。女人對你說分手的時候那就是沒有余地了。因為她專情,也因為她絕情。      

              就好比,男人和男人之間愛搭肩膀以示友好,而女人和女人之間則愛手拉著手以示友好。相對來說,男人在開心和不開心的時候都喜歡大笑。而女人呢,在開心的時候她會開懷而笑,在傷心的時候她會傷心的痛哭。男子漢,流血不流淚。女人呢?如果她在傷心的時候還滿面笑容的話,那別人肯定會以為她有問題了。      

              一個女人要決心和你分手的時候,你就不要妄想可以再把她的人和心留下。一個女人是不會輕易的把分手二字說出口的。但,一個男人說要和你分后的時候,你還可以努力一把,說不定你們還會有機會。很簡單。就是多情和長情,專情與絕情之分。      

              在一個女人全身心的投入到一段感情中去的時候,那她的心是牢不可破的。但一個男人全身心投入到一段感情中去的時候,卻還是可以有間隙讓另一個她有機可乘。      

              當女人決定,她要離開他的時候,那這段情就真的完蛋了。不要問為什么,這個結果是必然的。當男人決定,他要離開她的時候,那她還可以補救的,未必完蛋。同樣的,這個結果是必然 

          posted @ 2007-09-06 12:25 小強摩羯座 閱讀(469) | 評論 (0)編輯 收藏

          【轉載】能受用終身的九大原理

          彼得原理

          每個組織都是由各種不同的職位、等級或階層的排列所組成,每個人都隸屬于其中的某個等級。彼得原理是美國學者勞倫斯?彼得在對組織中人員晉升的相關現象研究后,得出一個結論:在各種組織中,雇員總是趨向于晉升到其不稱職的地位。彼得原理有時也被稱為向上爬的原理。 這種現象在現實生活中無處不在:一名稱職的教授被提升為大學校長后,卻無法勝任;一個優秀的運動員被提升為主管體育的官員,而無所作為。對一個組織而言,一旦相當部分人員被推到其不稱職的級別,就會造成組織的人浮于事,效率低下,導致平庸者出人頭地,發展停滯。因此,這就要求改變單純的根據貢獻決定晉升的企業員工晉升機制,不能因某人在某個崗位上干得很出色,就推斷此人一定能夠勝任更高一級的職務。將一名職工晉升到一個無法很好發揮才能的崗位,不僅不是對本人的獎勵,反而使其無法很好發揮才能,也給企業帶來損失。

           

          酒與污水定律

          酒與污水定律是指把一匙酒倒進一桶污水,得到的是一桶污水;如果把一匙污水倒進一桶酒,得到的還是一桶污水。在任何組織里,幾乎都存在幾個難弄的人物,他們存在的目的似乎就是為了把事情搞糟。最糟糕的是,他們像果箱里的爛蘋果,如果不及時處理,它會迅速傳染,把果箱里其他蘋果也弄爛。 爛蘋果的可怕之處,在于它那驚人的破壞力。一個正直能干的人進入一個混亂的部門可能會被吞沒,而一個無德無才者能很快將一個高效的部門變成一盤散沙。組織系統往往是脆弱的,是建立在相互理解、妥協和容忍的基礎上的,很容易被侵害、被毒化。破壞者能力非凡的另一個重要原因在于,破壞總比建設容易。一個能工巧匠花費時日精心制作的陶瓷器,一頭驢子一秒鐘就能毀壞掉。如果一個組織里有這樣的一頭驢子,即使擁有再多的能工巧匠,也不會有多少像樣的工作成果。如果你的組織里有這樣的一頭驢子,你應該馬上把它清除掉,如果你無力這樣做,就應該把它拴起來。

           

          木桶定律

          水桶定律是講一只水桶能裝多少水,這完全取決于它最短的那塊木板。這就是說任何一個組織,可能面臨的一個共同問題,即構成組織的各個部分往往是優劣不齊的,而劣勢部分往往決定整個組織的水平。水桶定律與酒與污水定律不同,后者討論的是組織中的破壞力量,最短的木板卻是組織中有用的一個部分,只不過比其他部分差一些,你不能把它們當成爛蘋果扔掉。強弱只是相對而言的,無法消除,問題在于你容忍這種弱點到什么程度,如果嚴重到成為阻礙工作的瓶頸,你就不得不有所動作。

           

          馬太效應

          《新約;馬太福音》中有這樣一個故事:一個國王遠行前,交給3個仆人每人一錠銀子,吩咐道:你們去做生意,等我回來時,再來見我。國王回來時,第一個仆人說:主人,你交給我的一錠銀子,我已賺了10錠。于是,國王獎勵他10座城邑。第二個仆人報告:主人,你給我的一錠銀子,我已賺了5錠。于是,國王獎勵他5座城邑。第三仆人報告說:主人,你給我的1錠銀子,我一直包在手帕里,怕丟失,一直沒有拿出來。于是,國王命令將第三個仆人的1錠銀子賞給第一個仆人,說:凡是少的,就連他所有的,也要奪過來。凡是多的,還要給他,叫他多多益善,這就是馬太效應,反應當今社會中存在的一個普遍現象,即贏家通吃。對企業經營發展而言,馬太效應告訴我們,要想在某一個領域保持優勢,就必須在此領域迅速做大。當你成為某個領域的領頭羊時,即便投資回報率相同,你也能更輕易地獲得比弱小的同行更大的收益。而若沒有實力迅速在某個領域做大,就要不停地尋找新的發展領域,才能保證獲得較好的回報。

           

          零和游戲原理

          零和游戲是指一項游戲中,游戲者有輸有贏,一方所贏正是另一方所輸,游戲的總成績永遠為零,零和游戲原理之所以廣受關注,主要是因為人們在社會的方方面面都能發現與零和游戲類似的局面,勝利者的光榮后面往往隱藏著失敗者的辛酸和苦澀。 20世紀,人類經歷兩次世界大戰、經濟高速增長,科技進步、全球一體化以及日益嚴重的環境污染,零和游戲觀念正逐漸被雙贏觀念所取代。人們開始認識到利已不一定要建立在損人的基礎上。通過有效合作皆大歡喜的結局是可能出現的。但從零和游戲走向雙贏,要求各方面要有真誠合作的精神和勇氣,在合作中不要小聰明,不要總想占別人的小便宜,要遵守游戲規則,否則雙贏的局面就不可能出現,最終吃虧的還是合作者自己。

           

          華盛頓合作規律

          華盛頓合作規律說的是一個人敷衍了事,兩個人互相推諉,三個人則永無成事之日。多少有點類似于我們三個和尚的故事。人與人的合作,不是人力的簡單相加,而是要復雜和微妙得多。在這種合作中,假定每個人的能力都為1,那么,10個人的合作結果有時比10大得多,有時,甚至比1還要小。因為人不是靜止物,而更像方向各異的能量,相互推動時,自然事半功倍,相互抵觸時,則一事無成。 我們傳統的管理理論中,對合作研究得并不多,最直觀的反映就是,目前的大多數管理制度和行為都是致力于減少人力的無謂消耗,而非利用組織提高人的效能。換言之,不妨說管理的主要目的不是讓每個人做得更好,而是避免內耗過多。

           

          手表定理

          手表定理是指一個人有一只表時, 可以知道現在是幾點鐘,當他同時擁有兩只表時,卻無法確定。兩只手表并不能告訴一個人更準確的時間,反而會讓看表的人失去對準確時間的信心。手表定理在企業經營管理方面,給我們一種非常直觀的啟發,就是對同一個人或同一個組織的管理,不能同時采用兩種不同的方法,不能同時設置兩個不同的目標,甚至每一個人不能由兩個人同時指揮,否則將使這個企業或這個人無所適從。手表定理所指的另一層含義在于,每個人都不能同時選擇兩種不同的價值觀,否則,你的行為將陷于混亂。

           

          不值得定律

          不值得定律最直觀的表述是:不值得做的的事情, 就不值得做好。這個定律再簡單不過了,重要性卻時時被人們忽視遺忘。不值得定律反映人們的一種心理,一個人如果從事的是一份自認為不值得做的事情,往往會保持冷嘲熱諷,敷衍了事的態度,不僅成功率低,而且即使成功,也不覺得有多大的成就感。 因此,對個人來說,應在多種可供選擇的奮斗目標及價值觀中挑選一種,然后為之奮斗。選擇你所愛的,愛你所選擇的,才可能激發我們的斗志,也可以心安理得。而對一個企業或組織來說,則要很好地分析員工的性格特性,合理分配工作,如讓成就欲較強的職工單獨或牽頭完成具有一定風險和難度的工作,并在其完成時,給予及時的肯定和贊揚;讓依附欲較強的職工,更多地參加到某個團體*同工作;讓權力欲較強的職工,擔任一個與之能力相適應的主管。同時要加強員工對企業目標的認同感,讓員工感覺到自己所做的工作是值得的,這樣才能激發職工的熱情。

           

          蘑菇管理

          蘑菇管理是許多組織對待初出茅廬者的一種管理方法,初學者被置于陰暗的角落(不受重視的部門,或打雜跑腿的工作),澆上一頭大糞(無端的批評、指責、代人受過),任其自生自滅(得不到必要的指導和提攜)。相信很多人都有過這樣一段蘑菇的經歷,這不一定是什么壞事,尤其是當一切剛剛開始的時候,當幾天蘑菇,能夠消除我們很多不切實際的幻想,讓我們更加接近現實,看問題也更加實際。一個組織,一般對新進的人員都是一視同仁,從起薪到工作都不會有大的差別。無論你是多么優秀的人才,在剛開始的時候,都只能從最簡單的事情做起,蘑菇的經歷,對于成長中的年輕人來說,就象蠶繭,是羽化前必須經歷的一步。所以,如何高效率地走過生命的這一段,從中盡可能汲取經驗,成熟起來,并樹立良好的值得信賴的個人形象,是每個剛入社會的年輕人必須面對的課題。

          posted @ 2007-09-04 00:04 小強摩羯座 閱讀(132) | 評論 (0)編輯 收藏

          Java正則表達式4種常用功能
                   四種功能可以總結成:
                      1、查詢用find()判斷是否查詢到。
                      2、匹配必須先用find()方法判斷查詢到,再用group()得匹配串。沒有使用find()不能直接取出匹配串。
             這樣設計可能是為了一般的處理邏輯上的合理性,因為不能沒有判斷是否查詢到,就去取匹配串,那是不安全的。
                      3、分解串用split()。
                      4、替換方法有replaceAll(),replaceFirst()。
          正則表達式在字符串處理上有著強大的功能,sun在jdk1.4加入了對它的支持

          下面簡單的說下它的4種常用功能:

          查詢:

          String str="abc efg ABC";

          String regEx="a|f"; //表示a或f

          Pattern p=Pattern.compile(regEx);

          Matcher m=p.matcher(str);

          boolean rs=m.find();

          如果str中有regEx,那么rs為true,否則為flase。如果想在查找時忽略大小寫,則可以寫成Pattern p=Pattern.compile(regEx,Pattern.CASE_INSENSITIVE);

          提取:
          String regEx=".+\\\\(.+)$";

          String str="c:\\dir1\\dir2\\name.txt";

          Pattern p=Pattern.compile(regEx);

          Matcher m=p.matcher(str);

          boolean rs=m.find();

          for(int i=1;i<=m.groupCount();i++){

          System.out.println(m.group(i));

          }

          以上的執行結果為name.txt,提取的字符串儲存在m.group(i)中,其中i最大值為m.groupCount();

          分割:

          String regEx="::";

          Pattern p=Pattern.compile(regEx);

          String[] r=p.split("xd::abc::cde");

          執行后,r就是{"xd","abc","cde"},其實分割時還有跟簡單的方法:

          String str="xd::abc::cde";

          String[] r=str.split("::");

          替換(刪除):

          String regEx="a+"; //表示一個或多個a

          Pattern p=Pattern.compile(regEx);

          Matcher m=p.matcher("aaabbced a ccdeaa");

          String s=m.replaceAll("A");

          結果為"Abbced A ccdeA"

          如果寫成空串,既可達到刪除的功能,比如:

          String s=m.replaceAll("");

          結果為"bbced ccde"

          附:

          \d 等於 [0-9] 數字
          \D 等於 [^0-9] 非數字
          \s 等於 [ \t\n\x0B\f\r] 空白字元
          \S 等於 [^ \t\n\x0B\f\r] 非空白字元
          \w 等於 [a-zA-Z_0-9] 數字或是英文字
          \W 等於 [^a-zA-Z_0-9] 非數字與英文字

          ^ 表示每行的開頭
          $ 表示每行的結尾



          "^\\d+$"  //非負整數(正整數 + 0)
          "^[0-9]*[1-9][0-9]*$"  //正整數
          "^((-\\d+)|(0+))$"  //非正整數(負整數 + 0)
          "^-[0-9]*[1-9][0-9]*$"  //負整數
          "^-?\\d+$"    //整數
          "^\\d+(\\.\\d+)?$"  //非負浮點數(正浮點數 + 0)
          "^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$"  //正浮點數
          "^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$"  //非正浮點數(負浮點數 + 0)
          "^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"  //負浮點數
          "^(-?\\d+)(\\.\\d+)?$"  //浮點數
          "^[A-Za-z]+$"  //由26個英文字母組成的字符串
          "^[A-Z]+$"  //由26個英文字母的大寫組成的字符串
          "^[a-z]+$"  //由26個英文字母的小寫組成的字符串
          "^[A-Za-z0-9]+$"  //由數字和26個英文字母組成的字符串
          "^\\w+$"  //由數字、26個英文字母或者下劃線組成的字符串
          "^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$"    //email地址
          "^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$"  //url
          <input onkeyup="value=value.replace(/[^\u4E00-\u9FA5\w]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5\w]/g,''))" value="允許下劃線,數字字母和漢字">
          只能輸入數字:"^[0-9]*$"。
          只能輸入n位的數字:"^\d{n}$"。
          只能輸入至少n位的數字:"^\d{n,}$"。
          只能輸入m~n位的數字:。"^\d{m,n}$"
          只能輸入零和非零開頭的數字:"^(0|[1-9][0-9]*)$"。
          只能輸入有兩位小數的正實數:"^[0-9]+(.[0-9]{2})?$"。
          只能輸入有1~3位小數的正實數:"^[0-9]+(.[0-9]{1,3})?$"。
          只能輸入非零的正整數:"^\+?[1-9][0-9]*$"。
          只能輸入非零的負整數:"^\-[1-9][]0-9"*$。
          只能輸入長度為3的字符:"^.{3}$"。
          只能輸入由26個英文字母組成的字符串:"^[A-Za-z]+$"。
          只能輸入由26個大寫英文字母組成的字符串:"^[A-Z]+$"。
          只能輸入由26個小寫英文字母組成的字符串:"^[a-z]+$"。
          只能輸入由數字和26個英文字母組成的字符串:"^[A-Za-z0-9]+$"。
          只能輸入由數字、26個英文字母或者下劃線組成的字符串:"^\w+$"。
          驗證用戶密碼:"^[a-zA-Z]\w{5,17}$"正確格式為:以字母開頭,長度在6~18之間,只能包含字符、數字和下劃線。
          驗證是否含有^%&',;=?$\"等字符:"[^%&',;=?$\x22]+"。
          只能輸入漢字:"^[\u4e00-\u9fa5]{0,}$"
          驗證Email地址:"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"。
          驗證InternetURL:"^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$"。
          驗證電話號碼:"^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$"正確格式為:"XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX"。
          驗證身份證號(15位或18位數字):"^\d{15}|\d{18}$"。
          驗證一年的12個月:"^(0?[1-9]|1[0-2])$"正確格式為:"01"~"09"和"1"~"12"。
          驗證一個月的31天:"^((0?[1-9])|((1|2)[0-9])|30|31)$"正確格式為;"01"~"09

          posted @ 2007-08-24 23:02 小強摩羯座 閱讀(251) | 評論 (0)編輯 收藏

          Base64編碼方法

           Base64編碼的作用:由于某些系統中只能使用ASCII字符。Base64就是用來將非ASCII字符的數據轉換成ASCII字符的一種方法。它使用下面表中所使用的字符與編碼。
            Base64編碼方法要求把每三個8Bit的字節轉換為四個6Bit的字節,其中,轉換之后的這四個字節中每6個有效bit為是有效數據,空余的那兩個bit用0補上成為一個字節。因此Base64所造成數據冗余還是比較嚴重的,采用這中編碼方法會使得編碼后的數據長度變成編碼前長度的三分之四倍。但是,Base64是當今比較流行的編碼方法,因為它編起來“速度快而且簡單”,這是網上的說法,我更覺得它是歷史遺留下來的原因。
            舉個例子,有三個字節的原始數據:aaaaaabb bbbbccccc ccdddddd(這里每個字母表示一個bit位)
            那么編碼之后會變成:      00aaaaaa 00bbbbbb 00cccccc 00dddddd
            上面的例子只是說明了Base64的移位方式,因為我語言表達能力較差,唯恐造成誤解,故舉此例。
          這還沒完,讀者現在只是了解了Base64編碼方法的一部分,還有一個Base64編碼表需要了解,編碼表是這樣的:
          編號 字符 編號 字符 編號 字符 編號 字符 編號 字符l
          0 A 16 Q 32 g 48 w (pad) =
          1 B 17 R 33 h 49 x
          2 C 18 S 34 i 50 y
          3 D 19 T 35 j 51 z
          4 E 20 U 36 k 52 0
          5 F 21 V 37 l 53 1
          6 G 22 W 38 m 54 2
          7 H 23 X 39 n 55 3
          8 I 24 Y 40 o 56 4
          9 J 25 Z 41 p 57 5
          10 K 26 a 42 q 58 6
          11 L 27 b 43 r 59 7
          12 M 28 c 44 s 60 8
          13 N 29 d 45 t 61 9
          14 O 30 e 46 u 62 +
          15 P 31 f 47 v 63 /
            現在先別管上面這個表,在知道了移位方式之后,請再看個例子。
            有三個字節的原始數據:10101101 10111010 01110110
          編碼之后的數據是:        00101011 00011011 00101001 00110110 (還是數字看起來比較整齊~)
          編碼之后的這四個字節都轉換成為十進制數是:
                     43                   27                 42                   54
            現在用這四個數去上面那個編碼表里找,找到的字符是r b q 2,于是乎,三個字節的原始數據:10101101 10111010 01110110經Base64編碼方法編碼之后的結果是rbq2。
            還有很重要的一點要說明,如果原文的字節數量如果不是3的倍數,不夠的地方可以用全0來補足來湊成6位一組的字節。如前面所述,Base64編碼方法要求把每三個8Bit的字節轉換為四個6Bit的字節,所以當轉換后的字節數不4的倍數時,就要使用“=”來補足,因為編碼前的一個字節只少可以對應編碼后的二個字節,一個正確Base64編碼最多只會有兩個“=”。所以對于Base64解碼,就是把上面的過程逆著來一遍即可。
           

          posted @ 2007-08-21 11:34 小強摩羯座 閱讀(476) | 評論 (0)編輯 收藏

           
          2007-05-11 21:56:41

            本專題從最基礎的表單知識,到表單的高級應用,讓你有一個比較全面地認識,相信你在讀完本專題以后,一定會對表單非常熟悉。

            一、表單概述
            表單,在網頁中的作用不可小視,主要負責數據采集的功能,比如你可以采集訪問者的名字和e-mail地址、調查表、留言簿等等。
            表單的組成
            一個表單有三個基本組成部分:
            表單標簽:這里面包含了處理表單數據所用CGI程序的URL以及數據提交到服務器的方法。
            表單域:包含了文本框、密碼框、隱藏域、多行文本框、復選框、單選框、下拉選擇框和文件上傳框等。
            表單按鈕:包括提交按鈕、復位按鈕和一般按鈕;用于將數據傳送到服務器上的CGI腳本或者取消輸入,還可以用表單按鈕來控制其他定義了處理腳本的處理工作。
            為了顧及不同的網頁設計工具,本文只講述代碼的設計,不具體講述操作方法,下面就是表單的HTML代碼設計要點:
            1.1 表單標簽<form></form>
            功能:用于申明表單,定義采集數據的范圍,也就是<form>和</form>里面包含的數據將被提交到服務器或者電子郵件里。
            語法:<FORM ACTION="URL" METHOD="GET|POST" ENCTYPE="MIME" TARGET="...">. . .</FORM>
            屬性解釋見下表:
            action=url 指定一來處理提交表單的格式.它可以是一個URL地址(提交給程式)或一個電子郵件地址。
            method=get或post 指明提交表單的HTTP方法.可能的值為:
            post:POST方法在表單的主干包含名稱/值對并且無需包含于action特性的URL中.
            get:不贊成。GET方法把名稱/值對加在action的URL后面并且把新的URL送至服務器.這是往前兼容的缺省值.這個值由于國際化的原因不贊成使用.
            enctype=cdata 指定提交的結果文檔顯示的位置:
            _blank :在一個新的、無名瀏覽器窗口調入指定的文檔;
            _self :在指向這個目標的無素的相同的框架中調入文檔;
            _parent :把文檔調入當前框的直接的父FRAMESET框中;這個值在當前框沒有父框時等價于_self;
            _top :把文檔調入原來的最頂部的瀏覽器窗口中(因此取消所有其它框架);這個值等價于當前框沒有你框時的_self.
            例如:<form action="http://www.yesky.com/test.asp" method="post" target="_blank">...</form>
            表示表單將向http://www.yesky.com/test.asp以post的方式提交,提交的結果在新的頁面顯示,數據提交的媒體方式是默認的application/x-www-form-urlencoded方式;
            1.2 表單域
            表單域包含了文本框、多行文本框、密碼框、隱藏域、復選框、單選框和下拉選擇框等,用于采集用戶的輸入或選擇的數據,下面分別講述這些表單域的代碼格式:
            1.2.1 文本框
            文本框是一種讓訪問者自己輸入內容的表單對象,通常被用來填寫單個字或者簡短的回答,如姓名、地址等。
            代碼格式:<input type="text" name="..." size="..." maxlength="..." value="...">
            屬性解釋:
            type="text"定義單行文本輸入框;
            name屬性定義文本框的名稱,要保證數據的準確采集,必須定義一個獨一無二的名稱;
            size屬性定義文本框的寬度,單位是單個字符寬度;
            maxlength屬性定義最多輸入的字符數。
            value屬性定義文本框的初始值
            (觀看效果頁樣例1)
            樣例1代碼:<input type="text" name="example1" size="20" maxlength="15">
            1.2.2 多行文本框
            也是一種讓訪問者自己輸入內容的表單對象,只不過能讓訪問者填寫較長的內容。
            代碼格式:<TEXTAREA name="..." cols="..." rows="..." wrap="VIRTUAL"></TEXTAREA>
            屬性解釋:
            name屬性定義多行文本框的名稱,要保證數據的準確采集,必須定義一個獨一無二的名稱;
            cols屬性定義多行文本框的寬度,單位是單個字符寬度;
            rows屬性定義多行文本框的高度,單位是單個字符寬度;
            wrap屬性定義輸入內容大于文本域時顯示的方式,可選值如下:
            默認值是文本自動換行;當輸入內容超過文本域的右邊界時會自動轉到下一行,而數據在被提交處理時自動換行的地方不會有換行符出現;
            Off,用來避免文本換行,當輸入的內容超過文本域右邊界時,文本將向左滾動,必須用Return才能將插入點移到下一行;
            Virtual,允許文本自動換行。當輸入內容超過文本域的右邊界時會自動轉到下一行,而數據在被提交處理時自動換行的地方不會有換行符出現;
            Physical,讓文本換行,當數據被提交處理時換行符也將被一起提交處理。
            (觀看效果頁樣例2)
            樣例2代碼:<TEXTAREA name="example2" cols="20" rows="2" wrap="PHYSICAL"></TEXTAREA>
            1.2.3 密碼框
            是一種特殊的文本域,用于輸入密碼。當訪問者輸入文字時,文字會被星號或其它符號代替,而輸入的文字會被隱藏。
            代碼格式:<input type="password" name="..." size="..." maxlength="...">
            屬性解釋:
            type="password"定義密碼框;
            name屬性定義密碼框的名稱,要保證數據的準確采集,必須定義一個獨一無二的名稱;
            size屬性定義密碼框的寬度,單位是單個字符寬度;
            maxlength屬性定義最多輸入的字符數。
            (觀看效果頁樣例3)
            樣例3代碼:<input type="password" name="example3" size="20" maxlength="15">
            1.2.4 隱藏域
            隱藏域是用來收集或發送信息的不可見元素,對于網頁的訪問者來說,隱藏域是看不見的。當表單被提交時,隱藏域就會將信息用你設置時定義的名稱和值發送到服務器上。
            代碼格式:<input type="hidden" name="..." value="...">
            屬性解釋:
            type="hidden"定義隱藏域;
            name屬性定義隱藏域的名稱,要保證數據的準確采集,必須定義一個獨一無二的名稱;
            value屬性定義隱藏域的值
            例如:<input type="hidden" name="ExPws" value="dd">
            1.2.5 復選框
            復選框允許在待選項中選中一項以上的選項。每個復選框都是一個獨立的元素,都必須有一個唯一的名稱。
            代碼格式:<INPUT type="checkbox" name="..." value="...">
            屬性解釋:
            type="checkbox"定義復選框;
            name屬性定義復選框的名稱,要保證數據的準確采集,必須定義一個獨一無二的名稱;
            value屬性定義復選框的值
            (觀看效果頁樣例4)
            樣例4代碼:
            <input type="checkbox" name="yesky" value="09">yesky.com
            <input type="checkbox" name="Chinabyte" value="08">Chinabyte.com
            1.2.7 文件上傳框
            有時候,需要用戶上傳自己的文件,文件上傳框看上去和其它文本域差不多,只是它還包含了一個瀏覽按鈕。訪問者可以通過輸入需要上傳的文件的路徑或者點擊瀏覽按鈕選擇需要上傳的文件。
            注意:在使用文件域以前,請先確定你的服務器是否允許匿名上傳文件。表單標簽中必須設置ENCTYPE="multipart/form-data"來確保文件被正確編碼;另外,表單的傳送方式必須設置成POST。
            代碼格式:<input type="file" name="..." size="15" maxlength="100">
            屬性解釋:
            type="file"定義文件上傳框;
            name屬性定義文件上傳框的名稱,要保證數據的準確采集,必須定義一個獨一無二的名稱;
            size屬性定義文件上傳框的寬度,單位是單個字符寬度;
            maxlength屬性定義最多輸入的字符數。
            (觀看效果頁樣例5)
            樣例5代碼:<input type="file" name="myfile" size="15" maxlength="100">
            1.2.8 下拉選擇框
            下拉選擇框允許你在一個有限的空間設置多種選項。
            代碼格式:
            <select name="..." size="..." multiple>
            <option value="..." selected>...</option>
            ...
            </select>
            屬性解釋:
            size屬性定義下拉選擇框的行數;
            name屬性定義下拉選擇框的名稱;
            multiple屬性表示可以多選,如果不設置本屬性,那么只能單選;
            value屬性定義選擇項的值;
            selected屬性表示默認已經選擇本選項。
            (觀看效果頁樣例6)
            樣例6代碼:
            <select name="mySel" size="1">
            <option value="1" selected>yesky.com</option>
            <option value="d2">chinabyte.com</option>
            </select>
            (觀看效果頁樣例7)
            按Ctrl可以多選
            樣例7代碼:
            <select name="mySelt" size="3" multiple>
            <option value="1" selected>yesky.com</option>
            <option value="d2">chinabyte.com</option>
            <option value="3">internet.com</option>
            </select>
            1.3 表單按鈕
            表單按鈕控制表單的運作。
            1.3.1 提交按鈕
            提交按鈕用來將輸入的信息提交到服務器。
            代碼格式:<input type="submit" name="..." value="...">
            屬性解釋:
            type="submit"定義提交按鈕;
            name屬性定義提交按鈕的名稱;
            value屬性定義按鈕的顯示文字;
            (觀看效果頁樣例8)
            樣例8代碼:<input type="submit" name="mySent" value="發送">
            1.3.2 復位按鈕
            復位按鈕用來重置表單。
            代碼格式:<input type="reset" name="..." value="...">
            屬性解釋:
            type="reset"定義復位按鈕;
            name屬性定義復位按鈕的名稱;
            value屬性定義按鈕的顯示文字;
            (觀看效果頁樣例9)
            樣例9代碼:<input type="reset" name="myCancle" value="取消">
            1.3.3 一般按鈕
            一般按鈕用來控制其他定義了處理腳本的處理工作。
            代碼格式:<input type="button" name="..." value="..." onClick="...">
            屬性解釋:
            type="button"定義一般按鈕;
            name屬性定義一般按鈕的名稱;
            value屬性定義按鈕的顯示文字;
            onClick屬性,也可以是其它的事件,通過指定腳本函數來定義按鈕的行為;
            (觀看效果頁樣例10)
            樣例10代碼:<input type="button" name="myB" value="保存" onClick="javascript:alert('it is a example button!')">

            二、表單外觀的美化
            很多時候,我們僅僅為了實現數據采集這個功能來使用表單,常看到的表單都是“千人一面”、毫無生氣,本專題嘗試著來改變這一現象,試圖賦予表單一個豐富多彩的面貌。
            表單的外觀,也是最為直接的花樣,可以通過改變它來實現特效,本文分兩個出發點來講述:CSS魔法和圖像魔法。
            1、CSS魔法
            CSS,就是大家知道的層疊樣式單,它可以定義頁面元素的外觀,包括字體樣式、背景顏色和圖像樣式、邊框樣式、補白樣式、邊界樣式等等,下面就從這幾個方面出發,討論怎樣將CSS應用到表單中,徹底美化它!
            1.1 字體樣式的應用
            字體樣式包括:字體族科(font-family)、字體風格(font-style)、字體變形(font-variant)、字體加粗(font-weight)、字體大小(font-size)、字體(font),具體的定義方法,在這里不詳細講述,可以參考它的資料。
            也許你已經注意到,按鈕上的文字不漂亮,其實可以通過CSS字體樣式來解決,同樣地,其它的幾個涉及到文字的表單項,例如,文本框、多行文本框、口令框、下拉選擇框都可以應用字體樣式。
            為了充分展示這些應用,下例特別設計了幾種樣式,在實際應用中,不必這么凌亂,靈活運用:
            (觀看效果頁樣例11)
            分析:
            文本框里的文字是加粗的,大小是9pt,字體是宋體,代碼:
            <input type="text" name="formExam" size="10" maxlength="10" style="font-family:宋體; font-size: 12px; font-weight: bold" value="加粗">
            口令框文字是紅色的,代碼:
            <input type="password" name="formExam3" style="font-size: 9pt; color: #FF0000" size="8" maxlength="8">
            下拉框文字顏色是紅色的,字體是Verdana,大小是9pt,代碼:
            <select name="select" size="1" style="font-family:Verdana,Arial; font-size: 9pt; color: #FF0000">
            <option value="2" selected>yesky.com</option>
            <option value="1">redidea.net</option>
            </select>
            多行文本框了的字體是Verdana,有下劃線,大小是9pt,代碼:
            <TEXTAREA name="formExam2" cols="30" rows="3" style="font-family:Verdana, Arial; font-size: 9pt; color: #000099; text-decoration: underline" align=right>underline css style</TEXTAREA>
            發送1和發送2按鈕的文字不同,是因為發送1按鈕使用了9pt的宋體文字,所以比較美觀,發送1按鈕的代碼:
            <input type="submit" name="Submit" value="發送1" style="font-family:宋體; font-size: 9pt;">
            小結:只要我們對字體的樣式熟悉了,就可以靈活多變,不一定要在標簽里面使用style來定義,完全可以在<head>里定義,或者外部引用CSS文件,用到的時候引用一下就能達到預期的效果。
            1.2 背景顏色和圖像樣式的應用
            有很多時候,網頁由于顏色的搭配,不得不對表單的背景顏色和圖像樣式進行設計,背景顏色利用background-color屬性,背景圖像利用background-image屬性,顏色和圖像同樣能夠得到意想不到的效果。
            (觀看效果頁樣例12)
            分析:
            文本框背景是黑色的,字體是白色的,代碼:
            <input type="text" name="RedFld" size="10" maxlength="10" style="color: #FFFFFF; background-color: #000000">
            口令框背景是灰色的,代碼:
            <input type="password" name="RedFld3" size="10" maxlength="10" style="background-color: #999999">
            單選和復選按鈕的背景是紅色的,代碼:
            <input type="checkbox" name="checkbox" value="checkbox" style="background-color: #FF0000">
            <input type="radio" name="radiobutton" value="radiobutton" style="background-color: #FF0000">
            下拉選擇框的選項是豐富多彩的背景,代碼:
            <select name="select2" size="1">
            <option selected style="background-color: #FF0000">yesky.com</option>
            <option style="background-color: #0000CC">redidea.com</option>
            <option style="background-color: #009900">chinabyte.com</option>
            <option style="background-color: #ff33cc">sina.com</option>
            <option style="background-color: #999999">sohu.com</option>
            </select>
            多行文本框的背景是一個圖像,代碼:
            <TEXTAREA name="RedFld2" cols="25" rows="3" wrap="VIRTUAL" style="background-image: url(back.gif)"></TEXTAREA>
            submit1按鈕的背景是黃色的,代碼:
            <input type="submit" name="Submit3" value="Submit1" style="background-color: #FF9900">
            submit2按鈕的背景是一個圖像,代碼:
            <input type="submit" name="Submit22" value="Submit2" style="background-image: url(back.gif)">
            小結:用好background-color屬性和background-image屬性,就可以設計很出“色”表單了。
            1.3 邊框樣式的應用
            也許你覺得表單的邊框過于死板,我們能否設計單線條,或者其它的邊框樣式呢?當然可以!
            和邊框有關的屬性有:邊框式樣border-style、上邊框border-top、右邊框border-right、下邊框border-bottom、左邊框border-left、邊框顏色border-colr、邊框寬度 border-width、上邊框寬度border-top-width、右邊框寬度border-right-width、下邊框寬度border-bottom-width、左邊框寬度border-left-width、邊框 border,這里不作詳細的講述,請參考有關資料。
            (觀看效果頁樣例13)
            分析:
            文本框有8種類型邊框樣式,即border-style,分別展示在本例中,邊框寬度的設置有一個規律:
            border-width: [ thin | medium | thick | <長度> ]{1,4}
            邊框寬度用一到四個值來設置元素的邊框寬度,它們分別被應用于上、右、下和左邊框寬度。如果只給出一個值,它被應用于所有邊框寬度。如果兩個或三個值給出了,省略了的值與對邊相等
            例如:<input type="text" name="RedF" style="border-color: #006600; border-style: dotted; border-width: 1px">
            邊框顏色的設置有一個規律:border-color: <顏色>{1,4}
            邊框顏色用一到四個值來設置元素的邊框顏色。如果四個值都給出了,它們分別被應用于上、右、下和左邊框顏色。如果只給出一個值,它被應用于所有邊框顏色。如果兩個或三個值給出了,省略了的值與對邊相等。
            對于多行文本框以及按鈕,設置邊框的方法和文本框一樣,不再陳述;
            由于下拉選擇框Select不支持邊框的設置,所以對它設置是徒勞的;
            單選按鈕和復選按鈕的邊框,設置的效果不十分協調,所以建議不要對它們設置,不然有“畫蛇添足”之感;
            邊框的特殊設計展示
            聰明的讀者一定會想到,如果設計單邊框,一定更加漂亮,對!下面我們來嘗試以下部分邊框的設置效果,本例僅僅以Solid和dotted兩種類型的邊框作演示,其它類型的邊框原理相同:
            (觀看效果頁樣例14)
            代碼:style="background-color: #FFFFFF; border-color: #000099; border-style: solid; border-width: 0px 0px 1px"
            (觀看效果頁樣例15)
            代碼:style="background-color: #FFFFFF; border-color: #CCCCCC black #FF0000; border-style: solid; border-width: 1px 0px"
            (觀看效果頁樣例16)
            代碼:style="background-color: #FFFFFF;border-left: 1px dotted #ff0000; border-right: 1px dotted #ff0000; border-top: 1px dotted #ff0000; border-bottom:1px solid #000000"
            注意:邊框類型的外觀如下:
            none :無邊框。與任何指定的border-width值無關;
            dotted :點線;
            dashed :虛線;
            solid :實線邊框;
            double :雙線邊框。兩條單線與其間隔的和等于指定的border-width值;
            groove :3D凹槽;
            ridge :邊框突起;
            inset :3D凹邊;
            outset :3D凸邊;
            2、圖像魔法
            圖像,是網頁的重要元素,能否應用到表單中呢?接下來,我們用圖像來改造死板的表單,分兩個部分來探討:用圖像代替按鈕、用背景圖美化表單元素。
            2.1 用圖像代替按鈕
            由于默認的表單按鈕太丑陋,絕大多數的網站采用了圖像按鈕,那么,我們通過兩個實例來看看怎樣實現的:
            用圖像代替提交按鈕:
            當只有一個提交按鈕的時候,可以簡單地實現,不用加事件函數,代碼是:
            <input type="image" name="..." src="url" width="" height="..." border="...">
            除了標簽改為input type="image"以外,其它的屬性和<img>標簽的屬性是一樣的。
            (觀看效果頁樣例17)
            是不是只要用圖片就可以代替所有的按鈕呢?是的,不過,不是上面這么簡單了,必須加上事件函數,不然的話,圖片都是提交按鈕,不能完成復位等功能,看看下面的例子就知道了:
            用圖片代替所有的表單按鈕:
            (觀看效果頁樣例18)
            注意:
            代替submit按鈕的圖片代碼格式是
            <input type="image" name="..." src="..." onClick="document.formName.submit()">
            代替reset按鈕的代碼圖片格式是
            <input type="image" name="..." src="..." onClick="document.formName.reset()">
            注:這里的formName是表單的name屬性值。
            2.2 用背景圖美化表單元素
            其實,前面已經提到過,用background-image:url()屬性來定義表單元素的背景圖,這里僅舉一例,可以看到,除了select沒有效果以外,其它的都可以配合網頁的背景來設置它們。
            背景圖的設置
            (觀看效果頁樣例19)

            三、表單的提交
            既然表單是用來采集用戶輸入的數據,那么,就應該保證用戶的數據被準確地提交到預定的地點,也就是說,我們在表單提交的時候,應該對用戶的數據進行檢驗,一來可以避免用戶誤輸數據,二來可以避免用戶輸入非法的,或者說不合格的數據;檢驗合格以后,還要保證用戶的數據提交到特定的程序。
            1.數據的檢驗
            數據的檢驗,通常有兩種程序:客戶端檢驗和服務器端檢驗。客戶端檢驗,比較快,服務器端檢驗,相對來說比較慢,為了確保安全,通常同時采用,這樣就可以避免用戶刻意破壞。
            不管采用什么方式,數據檢驗的原理都是一樣的,一旦用戶輸入的數據不符合規定,就報錯,要求用戶重新輸入,客戶端檢驗常使用Javascrip腳本,服務器端的視系統而定,本文不對數據檢驗的具體程序設計進行探討,僅僅列舉幾個例子來說明。
            必填項,以及簡單的數據類型檢驗
            (觀看效果頁樣例20)
            分析:
            本例給表單添加了onSubmit事件,通過onSubmit="return CheckDate()"指定提交前,必須通過函數CheckDate()來檢驗,如果不合格,返回輸入數據;
            數據檢驗的函數如下:
          <script>
          function CheckDate(){
          //取得輸入的數據
          userName = document.RedForm.userName.value;
          userEmail = document.RedForm.userEmail.value;
          //如果沒有輸入姓名
          if (userName=="") {
          alert("請輸入姓名");
          document.RedForm.userName.focus();
          return false;
          }else{
          //如果沒有輸入Email,或者Email地址錯誤(不含@)
          if ((userEmail=="")||(userEmail.indexOf("@")==-1)) {
          alert("請重新輸入Email地址");
          document.RedForm.userEmail.focus();
          return false;
          }else return true;
          }
          }
          </script>
            2.表單的分支提交
            有的時候,表單需要根據用戶的選擇,提交到不同的程序,怎么做呢?
            通過腳本來檢測用戶的選擇分支,從而向不同的程序提交表單,看看樣例:
            分支提交
            (觀看效果頁樣例21)
            分析:這里首先用到的是form的onSubmit="TwoSubmit(this)",然后根據選擇的分支,來分別遞交到不同的程序,TwoSubmit()函數如下:
          <script>
          function TwoSubmit(form){
          if (form.Ref[0].checked){
          form.action = "cop.asp";//這里是分支一
          }else{
          form.action = "ind.asp";//這里是分支二
          }
          form.submit();
          }
          </script>
            3.用任何元素提交表單
            是不是只有按鈕或者圖片按鈕才能提交表單呢?當然不是,實際上,任何頁面元素都可以提交表單,不過嘛,都是通過腳本來完成的,下面我們就使用鏈接來代替Submit按鈕:
            用鏈接來提交表單
            (觀看效果頁樣例22)
            分析:
            通過onClick="document.form.submit()"來提交表單;用onClick="document.form.reset()"來復位表單,這樣一來,任何一個元素都可以實現提交表單了。

            四、表單的常用技巧
            這些常用技巧,往往是和事件以及腳本聯系在一起,本文注重功能,至于腳本,就不一一詳細分析。常見的技巧有:下拉跳轉菜單,表單內容的聚焦。
            1.下拉跳轉菜單
            在Dreamweaver中,可以很方便地建立基于表單的下拉菜單,為了兼顧非Dreamweaver用戶,這里講述一下這種技巧。
            基于表單的下拉跳轉菜單
            (觀看效果頁樣例23)
            分析:實際上,這里用到了一個函數,用于向選擇的地址跳轉,
          <script language="JavaScript">
          function FormMenu(targ,selObj,restore){
          eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
          if (restore) selObj.selectedIndex=0;
          }
          </script>
            然后,給下拉選擇框賦予一個事件onChange="FormMenu('parent',this,0)",就可以了。
            2.表單內容的聚焦
            內容聚焦,常用在Copy&Paste類網站上,用的好的話,可以方便用戶。
            內容自動聚焦
            (觀看效果頁樣例24)
            分析:上面分別使用了兩個事件,Email的是onFocus="this.value=''",自動選擇的是onMouseOver="this.select()"
            3.去掉表格和表單間的空隙
           表格和表單的空隙處理
            (觀看效果頁樣例25)
            表格,我們常用來構架頁面,可是,表格里的表單總是和表格的內容有一個空隙。
            分析:為什么沒有空隙呢,看看右邊的代碼就知道了。
          <table width="100%" border="1" cellspacing="1" cellpadding="1">
          <tr>
          <form name="form3" method="post" action="">
          <td> <input type="text" name="textfield2"><br>
          <input type="submit" name="Submit22" value="Submit">
          這里沒有空隙 </td>
          </form>
          </tr>
          </table>   
            也就是說,把<form>標簽放到<tr>和<td>中間,對應的</form>放在</td>和</tr>中間!
            4.用Email提交表單(只適合Outlook用戶,不適合Foxmail用戶)
            Email提交表單
            (觀看效果頁樣例26)
            分析:看看我們的表單<form>標簽就知道了,格式如下:
            <form name="..." action="mailto:xxxxx@xxx.xxx?Subject=表單反饋" enctype="text/plain" method="post">...</form>
            這里的mailto:后面加上要接受信息的地址,?Subject是設置默認的Email標題,enctype="text/plain"是必要的,表示信息以文本方式提交,沒有任何加密,所以這種方法常用于沒有Asp/Php/cgi支持的空間,也只是一個代用的方法,用戶必須安裝Outlook,并且是默認的郵件程序,才能順利執行提交,據說TheBat!也可以,大家可以試驗一下。

          posted @ 2007-08-18 01:02 小強摩羯座 閱讀(221) | 評論 (0)編輯 收藏

          僅列出標題
          共20頁: First 上一頁 12 13 14 15 16 17 18 19 20 下一頁 
          主站蜘蛛池模板: 铜山县| 石首市| 房产| 雷州市| 施甸县| 漯河市| 博客| 安图县| 广宗县| 汤原县| 句容市| 延边| 茂名市| 四川省| 登封市| 江源县| 杂多县| 浦县| 灯塔市| 九龙坡区| 婺源县| 时尚| 莒南县| 屏东市| 大新县| 恭城| 武乡县| 金溪县| 子洲县| 新河县| 南陵县| 长乐市| 聂荣县| 皮山县| 东城区| 和政县| 唐山市| 彰武县| 吉林市| 时尚| 尉犁县|