諸位,咱當(dāng)電子工程師也是十余年了,不算有出息,環(huán)顧四周,也沒有看見幾個(gè)有出息的!回顧工程師生涯,感慨萬千,愿意講幾句掏心窩子的話,也算給咱們師弟師妹們提個(gè)醒,希望他們比咱們強(qiáng)!
[1]好好規(guī)劃自己的路,不要跟著感覺走!根據(jù)個(gè)人的理想決策安排,絕大部分人并不指望成為什么院士或教授,而是希望活得滋潤一些,爽一些。那么,就需要慎重安排自己的軌跡。從哪個(gè)行業(yè)入手,逐漸對(duì)該行業(yè)深入了解,不要頻繁跳槽,特別是不要為了一點(diǎn)工資而轉(zhuǎn)移陣地,從長遠(yuǎn)看,這點(diǎn)錢根本不算什么,當(dāng)你對(duì)一個(gè)行業(yè)有那么幾年的體會(huì),以后錢根本不是問題。頻繁地動(dòng)蕩不是上策,最后你對(duì)哪個(gè)行業(yè)都沒有摸透,永遠(yuǎn)是新手!
[2]可以做技術(shù),切不可沉湎于技術(shù)。千萬不可一門心思鉆研技術(shù)!給自己很大壓力,如果你的心思全部放在這上面,那么注定你將成為孔乙己一類的人物!適可而止為之,因?yàn)榧夹g(shù)只不過是你今后前途的支柱之一,而且還不是最大的支柱,除非你只愿意到老還是個(gè)工程師!
[3]不要去做技術(shù)高手,只去做綜合素質(zhì)高手!在企業(yè)里混,我們時(shí)常瞧不起某人,說他“什么都不懂,憑啥拿那么多錢,憑啥升官!”這是普遍的典型的工程師的迂腐之言。8051很牛嗎?人家能上去必然有他的本事,而且是你沒有的本事。你想想,老板搞經(jīng)營那么多年,難道見識(shí)不如你這個(gè)新兵?人家或許善于管理,善于領(lǐng)會(huì)老板意圖,善于部門協(xié)調(diào)等等。因此務(wù)必培養(yǎng)自己多方面的能力,包括管理,親和力,察言觀色能力,攻關(guān)能力等,要成為綜合素質(zhì)的高手,則前途無量,否則只能躲在角落看示波器!技術(shù)以外的技能才是更重要的本事!!從古到今,美國日本,一律如此!
[4]多交社會(huì)三教九流的朋友!不要只和工程師交往,認(rèn)為有共同語言,其實(shí)更重要的是和其他類人物交往,如果你希望有朝一日當(dāng)老板或高層管理,那么你整日面對(duì)的就是這些人。了解他們的經(jīng)歷,思維習(xí)慣,愛好,學(xué)習(xí)他們處理問題的模式,了解社會(huì)各個(gè)角落的現(xiàn)象和問題,這是以后發(fā)展的巨大的本錢,沒有這些以后就會(huì)笨手笨腳,跌跌撞撞,遇到重重困難,交不少學(xué)費(fèi),成功的概率大大降低!
[5]知識(shí)涉獵不一定專,但一定要廣!多看看其他方面的書,金融,財(cái)會(huì),進(jìn)出口,稅務(wù),法律等等,為以后做一些積累,以后的用處會(huì)更大!會(huì)少交許多學(xué)費(fèi)!!
[6]抓住時(shí)機(jī)向技術(shù)管理或市場(chǎng)銷售方面的轉(zhuǎn)變!要想有前途就不能一直搞開發(fā),適當(dāng)時(shí)候要轉(zhuǎn)變?yōu)楣芾砘蜾N售,前途會(huì)更大,以前搞技術(shù)也沒有白搞,以后還用得著。搞管理可以培養(yǎng)自己的領(lǐng)導(dǎo)能力,搞銷售可以培養(yǎng)自己的市場(chǎng)概念和思維,同時(shí)為自己以后發(fā)展積累龐大的人脈!應(yīng)該說這才是前途的真正支柱!!!
[7]逐漸克服自己的心里弱點(diǎn)和性格缺陷!多疑,敏感,天真(貶義,并不可愛),猶豫不決,膽怯,多慮,臉皮太薄,心不夠黑,教條式思維。。。這些工程師普遍存在的性格弱點(diǎn)必須改變!很難嗎?只在床上想一想當(dāng)然不可能,去幫朋友守一個(gè)月地?cái)偅鼫?zhǔn)有效果,去實(shí)踐,而不要只想!不克服這些缺點(diǎn),一切不可能,甚至連項(xiàng)目經(jīng)理都當(dāng)不好--盡管你可能技術(shù)不錯(cuò)!
[8]工作的同時(shí)要為以后做準(zhǔn)備!建立自己的工作環(huán)境!及早為自己配置一個(gè)工作環(huán)境,裝備電腦,示波器(可以買個(gè)二手的),仿真器,編程器等,業(yè)余可以接點(diǎn)活,一方面接觸市場(chǎng),培養(yǎng)市場(chǎng)感覺,同時(shí)也積累資金,更重要的是準(zhǔn)備自己的產(chǎn)品,咱搞技術(shù)的沒有錢,只有技術(shù),技術(shù)的代表不是學(xué)歷和證書,而是產(chǎn)品,拿出象樣的產(chǎn)品,就可技術(shù)轉(zhuǎn)讓或與人合作搞企業(yè)!先把東西準(zhǔn)備好,等待機(jī)會(huì), 否則,有了機(jī)會(huì)也抓不住!
[9]要學(xué)會(huì)善于推銷自己!不僅要能干,還要能說,能寫,善于利用一切機(jī)會(huì)推銷自己,樹立自己的品牌形象,很必要!要?jiǎng)?chuàng)造條件讓別人了解自己,不然老板怎么知道你能干?外面的投資人怎么相信你?提早把自己推銷出去,機(jī)會(huì)自然會(huì)來找你!搞個(gè)個(gè)人主頁是個(gè)好注意!!特別是培養(yǎng)自己在行業(yè)的名氣,有了名氣,高薪機(jī)會(huì)自不在話下,更重要的是有合作的機(jī)會(huì)...
[10]該出手時(shí)便出手!永遠(yuǎn)不可能有100%把握!!!條件差不多就要大膽去干,去闖出自己的事業(yè),不要猶豫,不要彷徨,干了不一定成功,但至少為下一次沖擊積累了經(jīng)驗(yàn),不干永遠(yuǎn)沒出息,而且要干成必然要經(jīng)歷失敗。不經(jīng)歷風(fēng)雨,怎么見彩虹,沒有人能隨隨便便成功!
美國東部時(shí)間2004年9月29日早上10:58分(北京時(shí)間2004年9月29日晚10時(shí)58分),中國互聯(lián)網(wǎng)人才招聘服務(wù)網(wǎng)站51job(前程無憂)成功登陸美國納斯達(dá)克,開盤價(jià)為每存托股18.98美元,當(dāng)天收市價(jià)為21.15美元,比發(fā)行價(jià)每股14美元上漲51%。前程無憂此次共發(fā)行了604萬股美國存托股(ads),共籌得資金8453萬美元……作為51job的創(chuàng)始人之一,首席執(zhí)行長甄榮輝擁有公司30.6%的股份,是公司的第一大股東。”在國慶長假前的9月30日,國內(nèi)各大媒體、網(wǎng)站紛紛報(bào)道了上述消息。
隨著前程無憂的成功上市,又一個(gè)十億(人民幣)級(jí)的富翁走進(jìn)了人們視線。也許人們津津樂道的是富豪們的身價(jià)排名,或是艷羨于他們“一夜暴富”的傳奇,但是,在故事中的主人公看來,“事實(shí)上,成功一點(diǎn)都不難!最難的是:想成功,但沒有計(jì)劃!如果你有一個(gè)5年或者10年的成功目標(biāo),而且能夠周密地計(jì)劃,堅(jiān)定地執(zhí)行,那么,因?yàn)橛?jì)劃,成功率還是很高的。”
如果成功是能夠被計(jì)劃的,那么,出身于香港平民家庭的寒門“虎子”甄榮輝(1962年出生,屬虎)依靠清晰的人生定位、嚴(yán)謹(jǐn)?shù)穆殬I(yè)發(fā)展路徑計(jì)算、鍥而不舍的努力與堅(jiān)持,一步一步實(shí)現(xiàn)人生目標(biāo)的創(chuàng)富故事將是可以被復(fù)制的……懵懂少年初識(shí)愁滋味無知貪玩的少年第一次經(jīng)受了人生磨難,置之死地而后生的遭遇警醒了他內(nèi)心深處的精英夢(mèng);洗澡排隊(duì)、上廁所排隊(duì)、做飯排隊(duì),香港平民的生存環(huán)境給他上了人生第一課:做任何事必須把握好時(shí)間與效率,看準(zhǔn)了時(shí)機(jī)一定要毫不遲疑地沖上去。
少年時(shí)期的甄榮輝并沒有顯露出大器將成的先兆,反而以“懶”著稱。
1962年甄榮輝出生在香港一個(gè)最普通的平民家庭。其父母是從廣東“移居”到香港的,他和媽媽以及另外七八家20多口人“蜂居”在一套總面積不到80平米的公寓內(nèi),在這種高度擁擠狀況下,做飯要排隊(duì),洗澡要排隊(duì),上廁所也要排隊(duì)。做任何事必須要把握好時(shí)間與效率,這是家庭環(huán)境帶給甄榮輝的重要一課。
炎熱的夏天是最難過的。為了排隊(duì)洗澡,他一放學(xué)就把洗漱用品準(zhǔn)備好,然后每隔5分鐘去洗澡間探查一次,一俟對(duì)方洗完走出房門,他一個(gè)箭步馬上就沖了進(jìn)去。生存的艱難,教育了一個(gè)十幾歲的孩子,一定要抓住機(jī)會(huì),看準(zhǔn)了時(shí)機(jī)一定要毫不遲疑地沖上去。就從“搶”洗澡室開始,甄榮輝小小年紀(jì)便有了競(jìng)爭(zhēng)意識(shí)。
因?yàn)楦改付济τ诖蚬赍X養(yǎng)家,沒有人顧及他的功課,于是那個(gè)時(shí)候的他每天回家把書包一扔就坐在沙發(fā)上看電視,然后看到很晚就去睡覺,盡可能地睡,一天睡16個(gè)小時(shí)。“我不是幾天,幾個(gè)月,而是幾年的時(shí)間我都在跟自己說,哎呀,你怎么可以這么懶呢?每天到睡覺的時(shí)候我也會(huì)自責(zé):今天一天又什么活也沒干!明天一定不能這樣!但是到了明天,依然還是看電視、睡覺,睡覺、看電視……”這樣懶的直接后果是,在1979年他中學(xué)會(huì)考時(shí),全香港30多家預(yù)科學(xué)校,沒有一家愿意要他,因?yàn)樗闹袑W(xué)實(shí)在太爛了。如果不能念預(yù)科,不能念大學(xué),對(duì)于他這樣一個(gè)毫無背景的平民家庭的孩子而言,前途是渺茫的。他第一次開始考慮前途問題,告訴自己:再苦再難一定要考上大學(xué)。“有一天我在烈日下排了很長很長的隊(duì)去報(bào)名,好不容易擠上去,人家一看我的中學(xué),皺皺眉說不要。拿著報(bào)名表出來,后面還有一大群人在排隊(duì)。在太陽下烤得太久,我都幾乎有些中暑了,但我還要打起精神去找下一所學(xué)校。我一邊打著出租車找學(xué)校,一邊告訴自己,如果過了這一關(guān),一定要努力讀書。”
人是需要一些難關(guān)才會(huì)成長的。經(jīng)過這一次的打擊,甄榮輝的自我意識(shí)開始覺醒,他仿佛變了一個(gè)人似的,開始知道發(fā)奮努力了。最后,他進(jìn)入了一所位于偏遠(yuǎn)而荒涼的山上的預(yù)科學(xué)校。經(jīng)過1979年到1981年兩年預(yù)科的努力,他以優(yōu)異成績(jī)考入了香港中文大學(xué)工程系。
小小工程師胸懷鴻鵠志
香港這個(gè)成熟的商業(yè)社會(huì)教育他,走工程師的路很穩(wěn)定,但是不會(huì)有大的成功,而走商業(yè)的路,就像在滿布鯊魚的大海,游得快就會(huì)贏,否則會(huì)被吃掉。為了獲得更大的成功,他進(jìn)入hp香港公司,成為一名頂級(jí)sales。
成長時(shí)期的磨難都是鍛煉。不管是從小學(xué)、中學(xué)還是高中,甄榮輝和他的同代人一樣,一直處于一種熙熙攘攘的競(jìng)爭(zhēng)環(huán)境中,千軍萬馬要擠一條踏向成功的獨(dú)木橋。“所以,對(duì)于競(jìng)爭(zhēng)來說,我從小也就習(xí)慣了。”
在英國統(tǒng)治下的香港,甄榮輝接受的是英國精英教育的熏陶,一定要成為社會(huì)精英人士,爬上去了就是爬上去了。香港這個(gè)成熟的商業(yè)社會(huì)教給他的第一課,是讓他對(duì)商業(yè)的重要性有了認(rèn)識(shí),他的創(chuàng)業(yè)意識(shí)亦有所萌芽了。
1984年甄榮輝大學(xué)畢業(yè)時(shí),大學(xué)組織了一次就業(yè)輔導(dǎo),有來自ibm sales的銷售總監(jiān)及香港電訊的總工程師來給學(xué)生講課。那時(shí)他想:如果我要成功的話,20年后我會(huì)是他們中的哪一位?了解他們的工作及看過當(dāng)場(chǎng)表現(xiàn)后,甄榮輝直覺上很想做sales的工作。“走工程師的路肯定是很穩(wěn)定,走商業(yè)的路,就好像在滿布鯊魚的大海,游得快就會(huì)贏,否則會(huì)被吃掉。”自信自己會(huì)游得快,向往有更大的成功,甄榮輝選擇了挑戰(zhàn)度高的商業(yè)工作,進(jìn)入hp的sales & marketing部門,成為一名銷售工程師。
hp的工作薪水不錯(cuò)而且穩(wěn)定。他第一個(gè)月工資就是4900港元。甄榮輝似乎天生具有銷售才干,三年后,他就成為公司的銷售冠軍。而到第四年,他每天只需工作不到兩個(gè)小時(shí),就可以完成業(yè)績(jī)。“那個(gè)時(shí)候是蠻舒服的。因?yàn)槟阌幸慌罂蛻粼谀愕氖掷锩妫惆阉麄兯藕蚝昧耍@個(gè)客戶其實(shí)是很難丟掉的。”那時(shí)他每天十點(diǎn)鐘出去拜訪客戶,之后就沒事了,但他不敢回家,怕回家老媽操心說,你干嘛這么早回來,是不是給炒魷魚了?于是他就去電影院看電影,一個(gè)禮拜看兩三場(chǎng)電影,看到后來電影都沒得看了,就跑到圖書館睡覺。
輕輕松松就能拿到30萬(港元)的年薪收入(包括銷售提成),而且作為銷售狀元,在hp的發(fā)展前景光明,這樣的環(huán)境是很多人所羨慕的,但是甄榮輝卻開始不滿足,覺得挑戰(zhàn)不夠大。“我分析自己的現(xiàn)狀,覺得這么發(fā)展下去,只有兩個(gè)選擇。一種選擇是改變自己,適應(yīng)環(huán)境。哎呀,你不要要求這么高了。還有一個(gè)就是改變環(huán)境。其實(shí)你會(huì)發(fā)現(xiàn)mba是一個(gè)很好的換環(huán)境的踏腳石。你可以在高科技公司里做事,你也可以去做咨詢管理顧問,或者是去投資銀行,還可以去消費(fèi)品行業(yè)工作……學(xué)一個(gè)mba可以給你好多路的。”甄榮輝決定放棄hp的工作去讀mba。
“小聰明”贏得大機(jī)會(huì)
mba畢業(yè)后的年薪將會(huì)在15萬美元以上,而且有機(jī)會(huì)成為企業(yè)高級(jí)管理人員。他放棄了hp30萬港元的年薪和穩(wěn)定而輕松的工作,將全部的積累用作mba學(xué)費(fèi)。他最終選擇去歐洲念書,“因?yàn)闅W洲學(xué)校只需要1年時(shí)間,不僅花錢少,而且還能早掙錢。”
1984年加入hp時(shí),月工資是4900港元,當(dāng)甄榮輝1988年離開hp的時(shí)候,他的年薪達(dá)到30萬港元,他把在hp攢下的積蓄作為念mba的學(xué)費(fèi)。當(dāng)時(shí)他申請(qǐng)的是法國insead商學(xué)院。之所以選擇這所學(xué)校,是因?yàn)樗鼘W(xué)時(shí)只有一年,而且學(xué)校知名度并不遜于美國院校。“讀美國學(xué)校mba需要2年時(shí)間,而歐洲學(xué)校只需要1年時(shí)間。因此,去歐洲讀書不僅花錢少,而且還能早掙錢。”他是這樣計(jì)算的。
當(dāng)他決定離開hp時(shí),他接受了平生第一次專訪,正是在那次訪問上,他第一次清晰表達(dá)了自己的人生愿望。“我記得是一份計(jì)算機(jī)周刊方面的雜志,他們到惠普來采訪銷售架構(gòu)。后來發(fā)現(xiàn)我是銷售冠軍,結(jié)果我又去念書,他們就來采訪我。他們問我的人生目標(biāo),我說我希望畢業(yè)20年以后成為一個(gè)企業(yè)高級(jí)管理人員。”那時(shí),他是25歲。
要去法國念書,必須會(huì)法語,可是甄榮輝當(dāng)時(shí)沒有任何法語基礎(chǔ),他又一次要挑戰(zhàn)自己的極限了。他花了三個(gè)月來突擊強(qiáng)化法語,但是在考試那天,他依然沒有太多把握。不過,他發(fā)現(xiàn)法語考試主要是面試,由主考老師問幾個(gè)問題,時(shí)間大約為15至20分鐘。他擔(dān)心自己的語言不過關(guān),如果讓老師放開問,自己聽不懂再答不上來不就麻煩了!他事先準(zhǔn)備好20多分鐘的講演內(nèi)容。當(dāng)面試?yán)蠋熖岢龅谝粋€(gè)問題后,他就一口氣地回答下去,一直回答了20分鐘,根本沒有給主考老師提問下一個(gè)問題的工夫。結(jié)果,他就這樣通過了入學(xué)語言考試。
勤奮成就百萬年薪經(jīng)理人
“我要先在國外工作一段時(shí)間,看看國外公司是如何運(yùn)作的。而有國外工作的經(jīng)歷,即使以后回香港也能對(duì)我的簡(jiǎn)歷更有幫助。”在四個(gè)不同的工作意向中,他最后選擇進(jìn)入貝恩國際策略顧問公司英國辦事處。
mba畢業(yè)以后,甄榮輝面臨著幾種選擇:一是回香港工作,二是留在國外工作,或者加入高科技企業(yè),或者進(jìn)入咨詢管理公司。四個(gè)方向的工作他都有選擇的機(jī)會(huì),“我決定要先在國外工作一段時(shí)間,因?yàn)閯偝鰜硪荒昃突叵愀郏瑳]有機(jī)會(huì)看看國外是怎么運(yùn)作的,對(duì)我的簡(jiǎn)歷可能也不是很有幫助。而選擇做咨詢,是因?yàn)樗容^新鮮,可以接觸不同的事情,見識(shí)面廣。”最后,他選擇了貝恩國際策略顧問公司(bain & company),先在其英國辦事處工作。
盡管選擇進(jìn)入貝恩公司,對(duì)他是反復(fù)權(quán)衡之后的理性選擇,他很喜歡這份工作,但貝恩卻給了他一個(gè)下馬威。上班三天之后有一個(gè)項(xiàng)目匯報(bào)會(huì),他參加了這個(gè)兩小時(shí)的會(huì)議,卻發(fā)現(xiàn)有70%的內(nèi)容都聽不懂。連會(huì)議都聽不懂,還怎么開展工作?他給遠(yuǎn)在香港的媽媽打電話說可能很快要回香港了。在這次會(huì)議上的受“辱”經(jīng)歷給他以巨大的打擊,他明白自己還得要拼命努力,就像當(dāng)初考大學(xué),當(dāng)初學(xué)習(xí)法語一樣,愛拼才能贏。
經(jīng)過半年的磨合,他發(fā)現(xiàn)和其他英國同事相比,語言是自己的短處,而分析推理能力是自己的長處。于是,甄榮輝把工作重點(diǎn)放到了項(xiàng)目調(diào)查方面,收集了大量數(shù)據(jù),進(jìn)行調(diào)查分析,并從中找出許多從前別人沒有看到的東西。最初,他的工作是咨詢顧問,當(dāng)他把事先經(jīng)過大量調(diào)查分析后的資料提供給項(xiàng)目經(jīng)理時(shí),項(xiàng)目經(jīng)理似乎驚呆了,因?yàn)楹苌儆幸粋€(gè)咨詢顧問工作像他那樣深入。慢慢地,所有貝恩英國公司的經(jīng)理們都點(diǎn)名要求甄榮輝加入他們的隊(duì)伍。正是由于這樣苦干加巧干,當(dāng)該年貝恩英國要裁員三分之一時(shí),他一個(gè)華人卻被保留下來。
在加入貝恩兩年多后,甄榮輝順利地從咨詢顧問升到經(jīng)理。1991年他被派駐香港建立辦事處,業(yè)務(wù)發(fā)展迅速。很快,在他一手策劃下,貝恩又在北京開設(shè)了辦事處,他出任貝恩中國總裁。1994年,32歲的甄在加入貝恩4年半后,成為貝恩公司歷史上最年輕的副總裁以及最年輕的合伙人之一。這在“不up(提升)就out(離職)”、聰明人成堆的咨詢公司實(shí)屬難得。
“億萬富翁夢(mèng)”的誘惑
做一個(gè)百萬年薪的職業(yè)經(jīng)理人,“薪水很高,職務(wù)也很穩(wěn)定”,但是永遠(yuǎn)不會(huì)成為有影響力的企業(yè)家。“中國未來20年高速發(fā)展的經(jīng)濟(jì)環(huán)境將造就一批百億級(jí)的富豪”,這一誘惑使得他不辭辛苦,屢次創(chuàng)業(yè)。
“作咨詢顧問,每天接觸到不同的客戶,為不同的案子服務(wù)。今天你可能是被客戶用直升機(jī)直接接到他們公司總部的樓頂上,你感受了大公司的豪華氣派;明天你沒準(zhǔn)又要坐長途汽車在農(nóng)村奔波,與泥土牛糞為伴。二者的巨大差異,讓你深深感受到這個(gè)世界好像不公平。錢好像很重要,但是有些東西還不只是金錢帶來的差異。然后你就會(huì)想,人生到底追求什么呢?”在成為年薪百萬的財(cái)務(wù)自由人后,甄榮輝不再是那個(gè)為搶廁所而煞費(fèi)苦心的少年小伙,不再是因?yàn)橛绣X能多吃一碗飯而高興的大學(xué)生,不再是那個(gè)第一次擁有自己愛車而在雨中飆車的浪漫青年,他開始思考“人活著為什么”等哲學(xué)層面的問題,能夠做一些更有社會(huì)影響力的事情,成為他的追求目標(biāo)。
在甄榮輝的記憶中,1995年的一段經(jīng)歷對(duì)他觸動(dòng)很大:“那時(shí)我正負(fù)責(zé)百威啤酒的項(xiàng)目,貝恩總部也過來了一個(gè)高級(jí)合伙人專門負(fù)責(zé)這個(gè)項(xiàng)目。我們陪著百威啤酒董事長august busch在中國各地考察,貝恩的高級(jí)合伙人從來沒來過中國,我全程陪同。有一天晚上,我們和老外在一起喝酒聊天,他們說在中國未來發(fā)展的二十年里面一定會(huì)出現(xiàn)十幾位十億美元家產(chǎn)的富翁。聽到這句話,我心中咯噔一下,因?yàn)槲乙郧皼]想過這個(gè)問題,但仔細(xì)一想覺得很有道理。香港在60年代到80年代的高速發(fā)展中,產(chǎn)生了十多個(gè)十億美元的大富翁,大陸未來20年的高速發(fā)展難道不能產(chǎn)生新的富翁嗎?你既然相信了在中國未來?0年會(huì)有幾十個(gè)富豪出現(xiàn),那你再想一想,自己還有機(jī)會(huì)排上嗎?”
在大陸經(jīng)濟(jì)快速發(fā)展的大潮中,香港人甄榮輝做起了“億萬富翁夢(mèng)”。對(duì)他而言,“這個(gè)出發(fā)點(diǎn)不是錢的問題,而是一種成就感。錢不一定就代表成就,但是在某種程度上還是反映了事業(yè)的成功,或者在市場(chǎng)上的影響力。”
天上不會(huì)掉下餡餅,更不會(huì)掉下財(cái)富。要實(shí)現(xiàn)“億萬富翁”的理想,坐在辦公室等待,或者安于做一個(gè)朝九晚五的打工族肯定是不可能的,必須要投資,要?jiǎng)?chuàng)立自己的企業(yè)。去管理顧問公司的人一般做了兩三年就都想出來自己做事,甄榮輝最初其實(shí)也是有過創(chuàng)業(yè)的想法與嘗試。早在1991年,他就投資做了一種用聲音傳遞郵件的系統(tǒng),后來他還投資做過磁性材料等等,兩次創(chuàng)業(yè)均以失敗告終,但也使他學(xué)到了不少東西,“創(chuàng)業(yè)需要很大的精力,你必須全職去做;同時(shí),團(tuán)隊(duì)也很重要。”
遭受過兩次創(chuàng)業(yè)失敗的打擊,如果不敢再嘗試,就此放棄,也就沒有今天的前程無憂以及今天的甄榮輝了。從失敗中總結(jié)出了一些經(jīng)驗(yàn)與教訓(xùn),1998年甄榮輝又開始嘗試新的投資項(xiàng)目——人力資源服務(wù)。
互聯(lián)網(wǎng)創(chuàng)造了新機(jī)會(huì)
互聯(lián)網(wǎng)經(jīng)濟(jì)的興起,給甄榮輝帶來新的機(jī)會(huì),風(fēng)險(xiǎn)投資成了最熱的話題。甄榮輝想借此良機(jī)把網(wǎng)站作大,決定引入風(fēng)險(xiǎn)投資。他為前程無憂網(wǎng)設(shè)計(jì)了一個(gè)美好的前程:引入投資、上市、做成國際品牌。
1998年甄榮輝和他的創(chuàng)業(yè)伙伴成立了一家人力資源服務(wù)公司。
之所以選擇這個(gè)領(lǐng)域,與他的一段經(jīng)歷分不開。1994年,當(dāng)時(shí)任貝恩公司中國區(qū)總裁的甄榮輝需要招募新人,他先在一份英文媒體上刊登了招聘信息,但效果很差。后來,經(jīng)北京同事指點(diǎn),他選擇了北京人愛看的一份當(dāng)?shù)孛襟w,結(jié)果反饋很好。但甄榮輝自己卻感到當(dāng)時(shí)報(bào)紙的印刷質(zhì)量太差。當(dāng)時(shí)香港的《南華早報(bào)》每周有多達(dá)200多頁的招聘專版,人力資源市場(chǎng)十分活躍。但是,比香港人口還多的北京卻沒有這樣一份專業(yè)的招聘紙媒體。他隱約找到了市場(chǎng)的需求空白。
到了1998年,大陸的人才交流市場(chǎng)日趨活躍,無論是用人單位還是求職者個(gè)人,他們迫切需要一個(gè)更專業(yè)的、定位于白領(lǐng)青年的招聘渠道。市場(chǎng)已經(jīng)成熟!甄榮輝經(jīng)人介紹,和《中國貿(mào)易報(bào)》合作,首先在北京推出了《中國貿(mào)易報(bào).前程招聘專版》。北京《前程招聘專版》的推出,獲得了很大成功,受到了企業(yè)以及求職者的普遍歡迎。受到北京市場(chǎng)的啟發(fā)與鼓舞,甄榮輝和他的創(chuàng)業(yè)團(tuán)隊(duì),開始在全國復(fù)制北京模式。五年多,在全國19個(gè)城市與當(dāng)?shù)孛襟w合作,推出了針對(duì)當(dāng)?shù)厥袌?chǎng)的《前程招聘專版》。
1999年,互聯(lián)網(wǎng)經(jīng)濟(jì)正在全球興起,網(wǎng)絡(luò)給甄榮輝帶來了新的機(jī)遇。
1999年1月,甄榮輝先在上海推出了career-post.com網(wǎng)站,當(dāng)然內(nèi)容只能算是《前程招聘專版》的電子版,是一些企業(yè)招聘信息的集納。1999年底,互聯(lián)網(wǎng)經(jīng)濟(jì)開始膨脹,風(fēng)險(xiǎn)投資成了最熱的話題。甄榮輝想借此良機(jī)把網(wǎng)站作大,決定引入風(fēng)險(xiǎn)投資。他為自己設(shè)計(jì)了一個(gè)美好的夢(mèng)想:引入投資、上市、做成國際品牌。網(wǎng)站也因此易名為無憂工作網(wǎng)(51job.com)。無憂工作網(wǎng)的贏利模式十分符合中國國情,也受到國外風(fēng)險(xiǎn)投資者的青睞,很快,在2000年2月,一筆金額為1400萬美元的投資進(jìn)入了甄榮輝的創(chuàng)業(yè)公司。
2000年以前,甄榮輝在前程無憂的角色還只是一個(gè)“天使投資人”,不參與具體的經(jīng)營管理。等到2000年1400萬美元的風(fēng)險(xiǎn)投資進(jìn)入后,公司發(fā)展需要他全力以赴地投入,這時(shí),他再次面臨著人生的選擇:是繼續(xù)做一個(gè)百萬美金年薪的打工皇帝,還是放棄眼前的舒適去做一個(gè)前途未卜的小公司的ceo,領(lǐng)取6萬美元的年薪?此時(shí),甄榮輝已經(jīng)37歲,在貝恩干了11年,如果繼續(xù)待下去,“薪水很高,職務(wù)也很穩(wěn)定”,但“那時(shí)就有些怕,覺得可能再干20年還是這樣”。同時(shí),互聯(lián)網(wǎng)的起飛讓他看到挑戰(zhàn)背后的巨大機(jī)會(huì):“在互聯(lián)網(wǎng)業(yè),即使你去年做得成功,過了一個(gè)年頭必須重新洗牌。這種充滿刺激的感覺很過癮。可以贏得很大,也可以輸?shù)煤艽螅耆醋约旱臋C(jī)遇與功力。”
2000年4月,甄榮輝經(jīng)過慎重考慮,決定離開貝恩,出任前程無憂ceo。
做中國人的ge公司
也許你看不清路,但你能看得見那里有一座山,那就是你的目標(biāo)。我一直相信人才服務(wù)這塊業(yè)務(wù)有前景,我相信我們有一天是能做到10億美元的;我希望有一天,前程能像ge公司那樣成為行業(yè)典范,影響更多的中國企業(yè)乃至跨國企業(yè)。
甄榮輝認(rèn)為他的成功“一半是運(yùn)氣,一半是努力”。一直有好運(yùn)氣的甄這次也不例外。
2000年2月,前程無憂的1400萬美元風(fēng)險(xiǎn)投資到位,而到了2000年4月,網(wǎng)絡(luò)經(jīng)濟(jì)的泡沫開始破滅,很多創(chuàng)業(yè)網(wǎng)站不能再在投資市場(chǎng)上拿到錢了。而有了這筆投資,前程無憂卻獲得一個(gè)空間去慢慢成長。“有了這幾年的時(shí)間給我們成長,我們可以把我們的規(guī)模做大,把我們的管理做好,把我們的市場(chǎng)地位鞏固。”中國的人才市場(chǎng)正處在發(fā)育階段,機(jī)會(huì)無限,前程無憂得以隨著中國人才市場(chǎng)的成熟而成長,在甄榮輝看來,“這是非常幸運(yùn)、非常快意的事”。
前程無憂的發(fā)展,其實(shí)并非一帆風(fēng)順,也有過十分艱難的時(shí)候。2000年、2001年網(wǎng)絡(luò)泡沫破滅,全球經(jīng)濟(jì)放緩,9.11事件后眾多跨國企業(yè)招聘計(jì)劃凍結(jié),2003年又遇到sars事件,形勢(shì)似乎從來不是一片光明。在最艱難的時(shí)候,甄榮輝有沒有過后悔,有沒有想過放棄?
“我們知道人才服務(wù)這一塊肯定是值得做的,即使最早在北京的東花市小學(xué)起步的時(shí)候我們也看得見。香港《南華早報(bào)》的招聘周刊有200多頁,我們的《前程招聘專版》到現(xiàn)在還沒有發(fā)展到200多頁。所以,我知道成功的機(jī)會(huì)肯定是有的,而且這個(gè)機(jī)會(huì)只有在中國才能找到。日本的人才網(wǎng)站每年幾十個(gè)億美元的營業(yè)收入,我相信我們有一天是能做十億美元的。但是你說是哪一天呢,我也說不出來。你說到底有多長時(shí)間呢,你到底要做多少東西才能得到呢,這個(gè)可能是摸著石頭過河。但是信心我是一直有的。”甄榮輝從來沒有懷疑過自己的選擇。
據(jù)新浪財(cái)經(jīng)報(bào)告顯示:從1999年到2002年的三年間,前程無憂營業(yè)收入就增長了25倍。到2002年,整個(gè)財(cái)年度實(shí)現(xiàn)盈利,銷售收入約2000萬美元,2003年銷售收入為3544萬美元,增長77%。2004年前三季度銷售收入為4386萬美元,較去年同期增長80%。“我們不斷加快速度開設(shè)辦事處,現(xiàn)在已在全國20個(gè)城市開設(shè)有分公司或辦事處;我們又不斷開發(fā)新產(chǎn)品,為客戶提供招聘獵頭、培訓(xùn)測(cè)評(píng)和人事外包等十多項(xiàng)專業(yè)的人力資源服務(wù)……我們的產(chǎn)品線很長,服務(wù)很深入,和客戶的聯(lián)系緊密。這就是我們的競(jìng)爭(zhēng)優(yōu)勢(shì)。”
四年前甄榮輝放棄貝恩的百萬年薪而出任前程無憂6萬年薪的ceo時(shí),他的計(jì)劃是將51job運(yùn)作上市,但這只是一個(gè)開始,他心中還有一個(gè)更宏偉的夢(mèng)想——要做一間中國人的ge公司。在甄榮輝理想中,“當(dāng)企業(yè)成為一個(gè)行業(yè)或企業(yè)群里的典范,它的影響力可以超過它規(guī)模的數(shù)倍甚至數(shù)十倍。譬如ge公司,它的影響力是全球的,經(jīng)營ge不再是經(jīng)營一個(gè)企業(yè)那么簡(jiǎn)單,它在經(jīng)營企業(yè)人的思想,它在與世人分享領(lǐng)先的管理經(jīng)驗(yàn)。現(xiàn)在,前程無憂還很小,但我希望有一天,前程能像ge公司那樣成為行業(yè)典范,影響更多的中國企業(yè)乃至跨國企業(yè)。”
這不是一個(gè)5年10年的工程,20年夠不夠呢?“在我退休之前,我希望能夠?qū)崿F(xiàn)這個(gè)愿望。”甄榮輝又開始了一個(gè)新的人生計(jì)劃!
對(duì)synchronized(this)的一些理解
?
一、當(dāng)兩個(gè)并發(fā)線程訪問同一個(gè)對(duì)象object中的這個(gè)synchronized(this)同步代碼塊時(shí),一個(gè)時(shí)間內(nèi)只能有一個(gè)線程得到執(zhí)行。另一個(gè)線程必須等待當(dāng)前線程執(zhí)行完這個(gè)代碼塊以后才能執(zhí)行該代碼塊。
?
二、然而,當(dāng)一個(gè)線程訪問object的一個(gè)synchronized(this)同步代碼塊時(shí),另一個(gè)線程仍然可以訪問該object中的非synchronized(this)同步代碼塊。
?
三、尤其關(guān)鍵的是,當(dāng)一個(gè)線程訪問object的一個(gè)synchronized(this)同步代碼塊時(shí),其他線程對(duì)object中所有其它synchronized(this)同步代碼塊的訪問將被阻塞。
?
四、第三個(gè)例子同樣適用其它同步代碼塊。也就是說,當(dāng)一個(gè)線程訪問object的一個(gè)synchronized(this)同步代碼塊時(shí),它就獲得了這個(gè)object的對(duì)象鎖。結(jié)果,其它線程對(duì)該object對(duì)象所有同步代碼部分的訪問都被暫時(shí)阻塞。
?
五、以上規(guī)則對(duì)其它對(duì)象鎖同樣適用.
?
舉例說明:
?
一、當(dāng)兩個(gè)并發(fā)線程訪問同一個(gè)對(duì)象object中的這個(gè)synchronized(this)同步代碼塊時(shí),一個(gè)時(shí)間內(nèi)只能有一個(gè)線程得到執(zhí)行。另一個(gè)線程必須等待當(dāng)前線程執(zhí)行完這個(gè)代碼塊以后才能執(zhí)行該代碼塊。
?
package ths;
public class Thread1 implements Runnable {
public void run() {
synchronized(this) {
for (int i = 0; i < 5; i++) {
System.out.println(Thread.currentThread().getName() + " synchronized loop " + i);
}
}
}
public static void main(String[] args) {
Thread1 t1 = new Thread1();
Thread ta = new Thread(t1, "A");
Thread tb = new Thread(t1, "B");
ta.start();
tb.start();
}
}
?
結(jié)果:
?
A synchronized loop 0
A synchronized loop 1
A synchronized loop 2
A synchronized loop 3
A synchronized loop 4
B synchronized loop 0
B synchronized loop 1
B synchronized loop 2
B synchronized loop 3
B synchronized loop 4
?
二、然而,當(dāng)一個(gè)線程訪問object的一個(gè)synchronized(this)同步代碼塊時(shí),另一個(gè)線程仍然可以訪問該object中的非synchronized(this)同步代碼塊。
?
package ths;
public class Thread2 {
public void m4t1() {
synchronized(this) {
int i = 5;
while( i-- > 0) {
System.out.println(Thread.currentThread().getName() + " : " + i);
try {
Thread.sleep(500);
} catch (InterruptedException ie) {
}
}
}
}
public void m4t2() {
int i = 5;
while( i-- > 0) {
System.out.println(Thread.currentThread().getName() + " : " + i);
try {
Thread.sleep(500);
} catch (InterruptedException ie) {
}
}
}
public static void main(String[] args) {
final Thread2 myt2 = new Thread2();
Thread t1 = new Thread(
new Runnable() {
public void run() {
myt2.m4t1();
}
}, "t1"
);
Thread t2 = new Thread(
new Runnable() {
public void run() {
myt2.m4t2();
}
}, "t2"
);
t1.start();
t2.start();
}
}
?
結(jié)果:
?
t1 : 4
t2 : 4
t1 : 3
t2 : 3
t1 : 2
t2 : 2
t1 : 1
t2 : 1
t1 : 0
t2 : 0
?
三、尤其關(guān)鍵的是,當(dāng)一個(gè)線程訪問object的一個(gè)synchronized(this)同步代碼塊時(shí),其他線程對(duì)object中所有其它synchronized(this)同步代碼塊的訪問將被阻塞。
?
//修改Thread2.m4t2()方法:
public void m4t2() {
synchronized(this) {
int i = 5;
while( i-- > 0) {
System.out.println(Thread.currentThread().getName() + " : " + i);
try {
Thread.sleep(500);
} catch (InterruptedException ie) {
}
}
}
}
?
結(jié)果:
?
t1 : 4
t1 : 3
t1 : 2
t1 : 1
t1 : 0
t2 : 4
t2 : 3
t2 : 2
t2 : 1
t2 : 0
?
四、第三個(gè)例子同樣適用其它同步代碼塊。也就是說,當(dāng)一個(gè)線程訪問object的一個(gè)synchronized(this)同步代碼塊時(shí),它就獲得了這個(gè)object的對(duì)象鎖。結(jié)果,其它線程對(duì)該object對(duì)象所有同步代碼部分的訪問都被暫時(shí)阻塞。
?
//修改Thread2.m4t2()方法如下:
public synchronized void m4t2() {
int i = 5;
while( i-- > 0) {
System.out.println(Thread.currentThread().getName() + " : " + i);
try {
Thread.sleep(500);
} catch (InterruptedException ie) {
}
}
}
?
結(jié)果:
?
t1 : 4
t1 : 3
t1 : 2
t1 : 1
t1 : 0
t2 : 4
t2 : 3
t2 : 2
t2 : 1
t2 : 0
?
五、以上規(guī)則對(duì)其它對(duì)象鎖同樣適用:
?
package ths;
public class Thread3 {
class Inner {
private void m4t1() {
int i = 5;
while(i-- > 0) {
System.out.println(Thread.currentThread().getName() + " : Inner.m4t1()=" + i);
try {
Thread.sleep(500);
} catch(InterruptedException ie) {
}
}
}
private void m4t2() {
int i = 5;
while(i-- > 0) {
System.out.println(Thread.currentThread().getName() + " : Inner.m4t2()=" + i);
try {
Thread.sleep(500);
} catch(InterruptedException ie) {
}
}
}
}
private void m4t1(Inner inner) {
synchronized(inner) { //使用對(duì)象鎖
inner.m4t1();
}
}
private void m4t2(Inner inner) {
inner.m4t2();
}
public static void main(String[] args) {
final Thread3 myt3 = new Thread3();
final Inner inner = myt3.new Inner();
Thread t1 = new Thread(
new Runnable() {
public void run() {
myt3.m4t1(inner);
}
}, "t1"
);
Thread t2 = new Thread(
new Runnable() {
public void run() {
myt3.m4t2(inner);
}
}, "t2"
);
t1.start();
t2.start();
}
}
?
結(jié)果:
盡管線程t1獲得了對(duì)Inner的對(duì)象鎖,但由于線程t2訪問的是同一個(gè)Inner中的非同步部分。所以兩個(gè)線程互不干擾。
?
t1 : Inner.m4t1()=4
t2 : Inner.m4t2()=4
t1 : Inner.m4t1()=3
t2 : Inner.m4t2()=3
t1 : Inner.m4t1()=2
t2 : Inner.m4t2()=2
t1 : Inner.m4t1()=1
t2 : Inner.m4t2()=1
t1 : Inner.m4t1()=0
t2 : Inner.m4t2()=0
?
現(xiàn)在在Inner.m4t2()前面加上synchronized:
?
private synchronized void m4t2() {
int i = 5;
while(i-- > 0) {
System.out.println(Thread.currentThread().getName() + " : Inner.m4t2()=" + i);
try {
Thread.sleep(500);
} catch(InterruptedException ie) {
}
}
}
?
結(jié)果:
盡管線程t1與t2訪問了同一個(gè)Inner對(duì)象中兩個(gè)毫不相關(guān)的部分,但因?yàn)閠1先獲得了對(duì)Inner的對(duì)象鎖,所以t2對(duì)Inner.m4t2()的訪問也被阻塞,因?yàn)閙4t2()是Inner中的一個(gè)同步方法。
?
t1 : Inner.m4t1()=4
t1 : Inner.m4t1()=3
t1 : Inner.m4t1()=2
t1 : Inner.m4t1()=1
t1 : Inner.m4t1()=0
t2 : Inner.m4t2()=4
t2 : Inner.m4t2()=3
t2 : Inner.m4t2()=2
t2 : Inner.m4t2()=1
t2 : Inner.m4t2()=0
Configuration cfg = new Configuration().configure("/hibernate.cfg.xml");
??for (Iterator iter = cfg.getTableMappings(); iter.hasNext();) {
???Table table = (Table) iter.next();
???for (Iterator iterator = table.getColumnIterator(); iterator.hasNext();) {
????Column column = (Column) iterator.next();
????System.out.println(column.getName());
???}
??}
摘要: Spring Aop Step-By-Step
學(xué)習(xí)筆記(上)
?www.uusam.com
?
最近由于工作需要,要求掌握關(guān)于
Spring
方面的東西。所以花了兩個(gè)星期的時(shí)間來學(xué)習(xí)
Spring
的基本知識(shí),主要包括
Ioc
...
閱讀全文
MRX3F-47B9T-2487J-KWKMF-RPWBY(VOL 中國工商銀行版)
QC986-27D34-6M3TY-JJXP9-TBGMD
DG8FV-B9TKY-FRT9J-6CRCC-XPQ4G(VOL 上海政府專用)
使用
XP修改器修改成為以上任意一個(gè)序列號(hào)。修改完成后到如下地址驗(yàn)證是否通過,優(yōu)先選擇中國工商銀行版本,有的xp使用上海政府專用的序列號(hào)不行。
http://www.microsoft.com/genuine/downloads/WhyValidate.aspx?displaylang=zh-cn驗(yàn)證結(jié)束!
驗(yàn)證成功后,可以下載更新安裝Media Player 11 和 IE7。
posted @
2006-07-05 15:31 崛起的程序員 閱讀(2988) |
評(píng)論 (1) |
編輯 收藏
Sun公司一名員工自己創(chuàng)作的歌,關(guān)于Java EE 5,很有意思的一首歌,程序員業(yè)余生活也可以這么豐富!
地址:http://tap.javalobby.org/javaee5.mp3
歌詞:
Ladies and gentlemen, this is Java EE 5!
One, two, three, four, five
There's a technology I use day and night
For my application with a web frontend
They told me to use .Net
But I really don′t wanna
So many bugs I fixed last week.
My code is neat and talk is a cheap
I like Glassfish, JSF, persistence API
And as I continue you know they′re gettin′ sweeter
So what can I do I really beg you my Lord
To me codin' it′s just like a sport
All the bad code from the past, let me dump it
Please set in the trumpet
A little bit of injection in my life
A little bit of persistence by my side
A little bit of NetBeans is all I need
A little bit of EJB's what I see
A little bit of standards in the sun
A little bit of XML all night long
A little bit web services here I am
A little bit of code makes me real man
This is Java EE 5!
Jump up and down and move your code around
Shake your head to the sound bury bad code under ground
Move one step left and one step right
One to the front and one to the side
Refactor it once and refactor it twice
If it looks like this you're doin′ it right
A little bit of injection in my life
A little bit of persistence by my side
A little bit of NetBeans is all I need
A little bit of EJB's is what I see
A little bit of standards in the sun
A little bit of XML all night long
A little bit web services here I am
A little bit of code makes me real man
This is Java EE 5!
本文來源:http://www.tkk7.com/Andyluo/archive/2006/06/30/javasong.html
?
1.下載http://www.eu.apache.org/dist/jakarta/tomcat-5/
這里注意,在jakarta-tomcat-5.0.28.exe以前是有默認(rèn)的admin模塊,在jakarta-tomcat-5.5.9.exe則沒有安裝默認(rèn)的admin模塊,這時(shí)http://127.0.0.1:8080/admin打開時(shí)則會(huì)出現(xiàn)
Tomcat's administration web application is no longer installed by default. Download and install the "admin" package to use it.
因此我們現(xiàn)在需要下載"admin"package 包
把jakarta-tomcat-5.5.x.zip? 與?? jakarta-tomcat-5.5.x-compat.zip? 與? jakarta-tomcat-5.5.x-admin.zip
三個(gè)文件解壓在同一個(gè)目錄中
(如果使用jdk1.4,才需要compat.zip用jdk1.5就可以免了這個(gè)。)
2.修改jakarta-tomcat-5.5.x\conf\tomcat-users.xml.
添加管理員賬號(hào)lizongbo,密碼為lizongbopass.
新xml如下:
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
? <role rolename="tomcat"/>
? <role rolename="role1"/>
? <role rolename="manager"/>
? <role rolename="admin"/>
? <user username="tomcat" password="tomcat" roles="tomcat"/>
? <user username="role1" password="tomcat" roles="role1"/>
? <user username="both" password="tomcat" roles="tomcat,role1"/>
? <user username="lizongbo" password="lizongbopass" roles="admin,manager"/>
</tomcat-users>
有時(shí)在%CATALINA_HOME%\server\webapps\admin\WEB-INF\web.xml里面也要做些修改
<!-- Security is active on entire directory -->
? <security-constraint>
??? <display-name>Tomcat Server Configuration Security Constraint</display-name>
??? <web-resource-collection>
????? <web-resource-name>Protected Area</web-resource-name>
????? <!-- Define the context-relative URL(s) to be protected -->
????? <url-pattern>*.jsp</url-pattern>
????? <url-pattern>*.do</url-pattern>
????? <url-pattern>*.html</url-pattern>
??? </web-resource-collection>
??? <auth-constraint>
????? <!-- Anyone with one of the listed roles may access this area -->
????? <role-name>admin</role-name>
??? </auth-constraint>
? </security-constraint>
? <!-- Login configuration uses form-based authentication -->
? <login-config>
??? <auth-method>FORM</auth-method>
??? <realm-name>Tomcat Server Configuration Form-Based Authentication Area</realm-name>
??? <form-login-config>
????? <form-login-page>/login.jsp</form-login-page>
????? <form-error-page>/error.jsp</form-error-page>
??? </form-login-config>
? </login-config>
? <!-- Security roles referenced by this web application -->
? <security-role>
??? <description>
????? The role that is required to log in to the Administration Application
??? </description>
??? <role-name>admin</role-name>
? </security-role>
無論是 Authetication ( 身份驗(yàn)證? 還是 Authorization ( 權(quán)限管控? 都只有設(shè)置相關(guān)的 admin ROLE, 當(dāng)你想要新增或修改相關(guān)的 AA, 就必須修改這一個(gè)文件, 來符合你的環(huán)境.
3.修改jakarta-tomcat-5.5.x\conf\server.xml來解決編碼問題。
(給Connector 添加URIEncoding參數(shù),參考http://blog.csdn.net/darkxie/archive/2004/10/25/TOMCATAPP.aspx)
(可以設(shè)置成GB18030)
??? <Connector port="8080"
?????????????? maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
?????????????? enableLookups="false" redirectPort="8443" acceptCount="200"
?????????????? connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="GBK"
?????????????? compression="on" compressionMinSize="2048"
????? noCompressionUserAgents="gozilla, traviata"
????? compressableMimeType="text/html,text/xml"/>
?
??? <Connector port="8009"
?????????????? enableLookups="false" redirectPort="8443" protocol="AJP/1.3" URIEncoding="GBK"/>
?
4.啟用支持gzip壓縮.
(http://www.linuxaid.com.cn/forum/showdoc.jsp?l=1&i=81169)
添加下列屬性
?compression="on"
????? compressionMinSize="2048"
????? noCompressionUserAgents="gozilla, traviata"
????? compressableMimeType="text/html,text/xml"
?
5.設(shè)置虛擬主機(jī)。
在jakarta-tomcat-5.5.x\下建立文件夾vhost\www.mydomain.com。
然后修改jakarta-tomcat-5.5.x\conf\server.xml
?
<Engine defaultHost="localhost" name="Catalina">
????? <Host appBase="vhost/www.mydomain.com" name="????? </Host>
????? <Host appBase="webapps" name="localhost">
????? </Host>
????? <Realm className="org.apache.catalina.realm.UserDatabaseRealm"/>
??? </Engine>
?
6.添加數(shù)據(jù)庫驅(qū)動(dòng),更新mail.jar和actiovation.jar
復(fù)制mysql-connector-java-3.0.16-ga-bin.jar,pg74.215.jdbc3.jar到 jakarta-tomcat-5.5.x\common\lib\
還有javamail 1.3.2的mail.jar,jaf-1_0_2的 activation.jar
msSQl 2000 JDBC sp3,msbase.jar,msutil,jar,mssqlserver.jar
?
?
7.配置SSL
參考 http://jakarta.apache.org/tomcat/tomcat-5.5-doc/ssl-howto.html
D:\j2sdk1.4.2_06\bin>%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA
輸入keystore密碼:? lizongbossl
您的名字與姓氏是什么?
? [tomcat5.5.x]:? tomcat5.5.x
您的組織單位名稱是什么?
? [jakarta]:? jakarta
您的組織名稱是什么?
? [apache]:? apache
您所在的城市或區(qū)域名稱是什么?
? [hzcity]:? hzcity
您所在的州或省份名稱是什么?
? [gdp]:? gdp
該單位的兩字母國家代碼是什么
? [CN]:? CN
CN=tomcat5.5.x, OU=jakarta, O=apache, L=hzcity, ST=gdp, C=CN 正確嗎?
? [否]:? y
?
輸入<tomcat>的主密碼
??????? (如果和 keystore 密碼相同,按回車):
(必須密碼一致,因此直接回車)
然后再把userhome(例如:C:\Documents and Settings\lizongbo\)下的.keystore復(fù)制到
tomcat的conf\目錄下。
?(例如:D:\jakarta-tomcat-5.5.x\conf\.keystore
配置jakarta-tomcat-5.5.x\conf\server.xml
加上
??? <Connector port="8443"
?????????????? maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
?????????????? enableLookups="false" disableUploadTimeout="true"
?????????????? acceptCount="100" scheme="https" secure="true"
?????????????? clientAuth="false" sslProtocol="TLS"
?????????? keystoreFile="conf/.keystore"
?????????? keystorePass="lizongbossl"> <!--與先前設(shè)置的密碼一致-->
??? </Connector>
8.禁止文件目錄列表,
修改jakarta-tomcat-5.5.x\conf\web.xml,把listing設(shè)置為false
?
??? <servlet>
??????? <servlet-name>default</servlet-name>
??????? <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
??????? <init-param>
??????????? <param-name>debug</param-name>
??????????? <param-value>0</param-value>
??????? </init-param>
??????? <init-param>
??????????? <param-name>listings</param-name>
??????????? <param-value>true</param-value>
??????? </init-param>
??????? <load-on-startup>1</load-on-startup>
??? </servlet>
?
?9.指定了自己的javaEncoding
(參考 http://gceclub.sun.com.cn/staticcontent/html/sunone/app7/app7-dg-webapp/ch6/ch6-4.html?
??? <servlet>
??????? <servlet-name>jsp</servlet-name>
??????? <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
??????? <init-param>
??????????? <param-name>fork</param-name>
??????????? <param-value>false</param-value>
??????? </init-param>
??????????????? <init-param>
??????????? <param-name>javaEncoding</param-name>
??????????? <param-value>GB18030</param-value>
??????? </init-param>
??????? <init-param>
??????????? <param-name>xpoweredBy</param-name>
??????????? <param-value>true</param-value>
??????? </init-param>
??????? <load-on-startup>3</load-on-startup>
??? </servlet>
?10.添加rar,iso等的mime-type映射
避免在瀏覽器里直接打開。
<mime-mapping>
<extension>mht</extension>
<mime-type>text/x-mht</mime-type>
</mime-mapping>
<mime-mapping>
??????? <extension>rar</extension>
??????? <mime-type>application/octet-stream</mime-type>
??? </mime-mapping>
??? <mime-mapping>
??????? <extension>iso</extension>
??????? <mime-type>application/octet-stream</mime-type>
??? </mime-mapping>
??? <mime-mapping>
??????? <extension>ape</extension>
??????? <mime-type>application/octet-stream</mime-type>
??? </mime-mapping>
??? <mime-mapping>
??????? <extension>rmvb</extension>
??????? <mime-type>application/octet-stream</mime-type>
??? </mime-mapping>
??? <mime-mapping>
??????? <extension>ico</extension>
??????? <mime-type>image/x-icon</mime-type>
??? </mime-mapping>
10.1對(duì)html靜態(tài)頁面設(shè)置編碼
<!--? 修改下面兩行以支持靜態(tài)超文本的自動(dòng)編碼
? -->
?<mime-mapping>
? <extension>htm</extension>
? <mime-type>text/html;charset=gb2312</mime-type>
? </mime-mapping>
?<mime-mapping>
? <extension>html</extension>
? <mime-type>text/html;charset=gb2312</mime-type>
? </mime-mapping>
? </web-app>
?
11.添加welcome-file-list,并調(diào)整順序。
?<welcome-file-list>???
??????? <welcome-file>index.jsp</welcome-file>
??????? <welcome-file>index.html</welcome-file>
??????? <welcome-file>index.htm</welcome-file>
??????? <welcome-file>default.html</welcome-file>
??????? <welcome-file>default.htm</welcome-file>
??????? <welcome-file>default.jsp</welcome-file>
??? </welcome-file-list>
--h --help
|
打印常用啟動(dòng)參數(shù)的描述。 |
--cp:p additional_classpath
|
將指定的類路徑附加到 IDE 的類路徑之前。 |
--cp:a additional_classpath
|
將指定的類路徑附加到 IDE 的類路徑之后。 |
--fontsize size
|
設(shè)置字體大小,在 IDE 用戶界面中用磅表示。如果未使用此選項(xiàng),則字體大小為 11 磅。 |
--jdkhome jdk_home_dir
|
注意:測(cè)試 IDE 時(shí)是采用所支持的 Java 2 SDK 版本進(jìn)行的,并且該版本與 IDE 捆綁在一起;因此,在大多數(shù)情況下,不需要使用此開關(guān)。 對(duì)于所有支持的平臺(tái)(除 Mac OS 之外),缺省 JDK 就是與本產(chǎn)品捆綁在一起的 JDK,它位于 <安裝目錄>/java 中。對(duì)于 Mac OS,缺省 JDK 為計(jì)算機(jī)上安裝的最新 JDK。
請(qǐng)使用指定的 Java 2 SDK 版本而不要使用缺省的 SDK。在 Microsoft Windows 系統(tǒng)中,缺省情況下,加載器會(huì)在注冊(cè)表中查找并使用最新的可用 SDK。
請(qǐng)?jiān)谏?jí) IDE 使用的 SDK 之前,備份用戶目錄。如果以后需要恢復(fù)到先前的 JDK,可以切換到已備份的用戶目錄,從而確保不丟失任何設(shè)置。
要切換 IDE 的用戶目錄,請(qǐng)使用 -userdir 開關(guān)。
|
--Jjvm_option
|
將指定的標(biāo)志直接傳遞給 JVM。 |
--locale language[:country[:variant]]
|
使用指定的語言環(huán)境。支持的語言包括: 英語 (en)、西班牙語 (es)、韓語 (ko)、日語 (ja)、法語 (fr) 以及簡(jiǎn)體中文 (zh_CN)。 例如,在 <系統(tǒng)驅(qū)動(dòng)器>:\Program Files\Sun\Creator2\bin 目錄下,鍵入:
creator.exe --locale es
|
--userdir userdir
|
顯式指定用戶目錄,該目錄是存儲(chǔ)用戶設(shè)置的位置。 如果在 UNIX 系統(tǒng)中未使用此選項(xiàng),則缺省情況下存儲(chǔ)位置為$HOME/.Creator/2_1 。
在 Microsoft Windows 系統(tǒng)中,缺省位置是您第一次啟動(dòng) IDE 時(shí)指定的位置。在大多數(shù)情況下,該位置為<系統(tǒng)驅(qū)動(dòng)器>:\Documents and Settings\<用戶名>\.Creator\2_1 。
您可以在“關(guān)于”對(duì)話框中確定當(dāng)前的用戶目錄。選擇“幫助”>“關(guān)于”,然后選擇“詳細(xì)信息”標(biāo)簽。此標(biāo)簽列出了用戶目錄位置以及其他產(chǎn)品詳細(xì)信息。 |