2006年5月19日
如果有一天 我突然用很奇怪的內容聯系你 記得來救我!! (轉)
大家一定要互相關照 我轉一篇很實用的東西
覺得這對大家都有用!!
敏感身邊異常現象
當你聽到電話中,任何女性(尤其是老婆/家人/女朋友/親密朋友,也可能是男性):
· 正和你本人在一起,和已過世的人在一起,和出差/出國的人在一起,和任何不可能的人在一起,在XX地點.. · 任何不可能、異常、蹊蹺的事 ·
跟你借錢,急用 · 電話異常掛斷 (一定打回去,不能再通就更緊急危險) ——這是求救信號! 立刻報警! 救援!
·不要以為她瘋了,不要罵她有病,不要說她明明有錢,不要說出你和她的真實關系或任何真實、實際情況(以防是被迫用手機揚聲器或是免提電話) ·
記住任何與地點信息(如在XX吃飯,XX商場——很可能在車庫遇到危險;家——很可能入室搶劫) ·
她沒說地點要盡量問詳(在X家,問X哪個家,盡管X可能就一個家),她不正面回答要用只需表示肯定否定的一般疑問句盡量問出來
(btw,如果平時手機要沒電了打電話時先說明,既是尊重對方也免得讓對方誤會或擔心你有緊急情況。當然盡量不要讓手機處于這種狀態,耽誤事且輻射比滿電大n多倍)
遇到明顯異常的信息時,多一份留意,因為你的朋友正在向你呼救! 尤其是你,需要多小心了!
一、敏感身邊異常現象
一婦女被劫持,正好其老公打電話過來,她在電話里應付了一通,說正與她媽媽外出。
隨后警察趕到,終于得救。原因即在于,她媽媽早已去世,她丈夫即意識到存在問題。
而遺憾的是,我們多數人,沒有這樣敏捷的反應能力和應變能力。
附件是個事例,前不久在深圳也發生過一起類似事件:
一男駕車被綁架,他與歹徒周旋說沒錢,只是小白領,歹徒要其打電話跟家人、朋友借。
他很機警的跟家人、朋友每人借三、五千,當然有朋友立刻反應過來,他不可能找他們急借這么點錢。 結果他姐姐在大呼
“你還跟我哭窮,你剛賺了錢”,一朋友也大叫“你小子一頓飯就 花三、五千” 等等,——釀成慘重后果。
所以遇事務必保持冷靜,設法周旋,向外傳遞信息。
若遇到明顯異常的信息時,多一份留意,因為你的朋友正在向你呼救。
二、警惕入室盜竊
昨夜遭遇持刀盜賊入室行竊,此刻我仍然驚魂未定,這是我親身經歷的事情,想給我身邊的每一
位朋友一個警覺,永遠不要以為很多事情不會降臨自己的身上,永遠不要以為自己總是幸運的那一個,危險總是出現在我們喪失警覺的時候。
首先交待一下出事的地點及背景:為了遷就公司搬到了北四環以及照顧周末在北大讀書人的老公,我們在望京的新家還沒有裝修好之前,租住在北大中關園教工宿舍,我家是在
2樓。
就在這里 7月26日凌晨3點左右,本來打著微微鼾聲的先生突然說:“ 老婆你聽到什么聲音了嗎”? 迷迷糊糊的我說 “ 沒有啊”
但是緊接著,先生喊了一聲“嘿,干什么”,我也應聲而起 “ 嘿” 。當時恐懼和正義的力量讓我的聲音非常大。
先生迅速關上臥室的門并反鎖,兩個人迅速穿上衣服,我走到涼臺把窗戶打開,當時想要是歹徒不要命的闖進來,我跟先生可以從窗戶逃走,避免跟他搏斗。但是很快冷靜下來,先生從陽臺上喊保安,我開始打110。
110啊110這個從小被我熟記的救命電話號碼,這個被我心中神圣而威嚴的保護傘,在我用手機撥了10幾次后,仍然沒有人工接通的跡象,電話接通后出現電腦聲音,
“ 這里是110報警臺”然后持續44秒之后自動掛斷,始終沒有人應答。此刻,先生的手機不在房間內,臥室內也沒有固定電話。
我急中生智,走到臥室門口隔著門大聲說: “喂喂,110我要報警,嗯嗯
..,我這里有人入室盜竊,目前盜賊還在室內,嗯嗯,是的,請馬上過來吧”
“我的地點啊,地點在北大中關園,XX樓,X單元,對對對,就是方正大廈的后邊,好好,多長時間趕到,嗯好,你們馬上趕到是吧,,嗯嗯,好好,我明白”“ 謝謝你們”
而其實這一切都是我在自言自語。
我走到陽臺跟先生小聲說,我 110壓根沒打通,剛才詐一下歹徒。然后兩個人坐在床上,先生一個勁的對我說:
“老婆,你看你平時老是不愛關窗戶,萬一我出差不在家,你怎么辦啊” 我無言,只有驚恐,心里默念請菩薩保佑。
就這樣大概過了將近20分鐘,我們聽著好像沒有動靜了,也擔心是不是自己聽錯了,想著歹徒聽了我之前的詐報警應該已經逃走了。彼此小聲會意了歹徒可能藏身的地方,因為門口的左邊就是家,在客廳門口和家門之間有個可以掛衣服和放鞋子的衣架,我們確信歹徒很可能藏身在衣架的后面。老公抄著凳子,但是我的武器只有是陽臺上的木頭衣架了,于是先生迅速打開門,凳子朝著衣架方向掄去,沒有動靜,我們打開客廳的燈,這個小小的1室1廳就盡收眼底了(房子是個長方形,北邊是廁所,廚房,中間是小客廳,南邊是臥室,臥室外面是涼臺,南北通透,盜賊就是從廚房進來的)。
我走進廚房,發現原來放在廚房窗臺上的兩層小架子(平時會放一些洗菜的盆子方便面什么的)已經被移動到地下,我很佩服盜賊的技巧,居然把我很辛苦放在那里的小架子就輕易的挪到地上。廚房的窗戶開著,先生的筆記本電腦和我的一個真皮手提包放在地上,先生的手機放在我的手提包。
回頭看到客廳,果然在衣架的旁邊,先生的西裝在地上,廚房的菜刀也在那里。 天哪,如此膽大的盜賊,如此兇殘的盜賊。
先生的筆記本電腦原本是在臥室的桌子上的,盜賊居然從我們的床前明目張膽來回取走了筆記本電腦。
此刻又注意到臥室門口有一條毛巾,那絕對不是我們的毛巾。后來分析是歹徒放在客廳門邊,以 備主人發現關門,不能關死,這樣他才可以順利逃脫。
天哪,我開始回想今晚的一些反常跡象。我跟老公11:00多鐘睡覺,大概凌晨2點多鐘。感覺蚊子特別多,先生自責可能是自己放進來蚊子。而其實入夏以來,我們的房間里面還從來沒有過一個
蚊子。猜想盜賊可能1點多鐘就已經開始進入廚房了,廚房的窗戶開著放進來了蚊子。
由于被蚊子咬醒了,先生起身給他還有我抹了花露水,過了一會,我還是睡不著,沒開燈去了洗手間,推算大概2:20左右,這時發現臥室門口有個包,當時迷迷糊糊的我也沒在意,反而把包挪了一下放在旁邊,心里嘀咕是不是老公沒把包放好,怎么可以放在門口的路上。從洗手間往臥室里面走,發現地上有個東西,由于我是高度近視也沒想什么東西,想著可能是什么東西掉了,懶得揀了,踢到了旁邊,事后發現那是歹徒的毛巾,防止門被鎖死的。
先生用他的沒被盜賊偷走手機終于撥通了110,3個防爆警察10鐘之內就趕到了,這點我稍感欣慰,看到他們手中的槍,覺得踏實多了,可惜之前110沒有打通;小區保安隨后也來了,過了1個多小時,刑警來了,現場取了指紋,拍照,詢問了事情發生的經過。說抱歉來遲了,因為派出所的人都出去
—— 到一個自殺現場去了,天哪,我沒想到身邊會有這么多的事情。之后刑警幫助我們
總結的如下經驗:
1.110的系統是從總局到分局分層下達的,偶爾110系統也會出問題,出現我之前無法到達人工接聽的情形,或者110非常繁忙無法及時接聽,應該記得自己被管轄派出所的電話,直接打派出所的電話是最快最好的方式。所以請大家牢記自己所在派出所的電話,避免出現緊急事務無法到達110的情況。
2. 晚上的門窗務必關好,天再熱也不能放松警惕,盜賊就是這樣乘虛而入的,不要以為這樣的事情離你很遙遠,其實盜賊就在你身邊。
3.遇到入室盜賊盡量不要與其搏斗(除非你是警察或者有專業搏斗訓練),按照刑警的經驗,盜賊都是持刀入室的,前不久頤和山莊一個保姆發現盜賊入室而被刺死。并非不信任我們的警察偵破能力,這樣的被害與虛意被謀殺是兩回事情,除了現場指紋等,沒有什么有效的線索幫助他們破案了。我們的生命遠遠貴重于我們的財產。提醒在遇到事情的時候首先自保。比如我們迅速關上反鎖臥室門,而不是急于求證歹徒是否被嚇走,或者與歹徒正面沖突。
4. 遇到事情不要驚惶,不防對歹徒使詐,事后刑警說我當時自言自語的電話,嚇唬盜賊起了很大作用。
>5.
盡量不要破壞案發現場,然后報警。
>此刻的我想起客廳衣架旁邊的菜刀,確信我去廁所的時候,歹徒就藏匿在那里并用先生的西裝作遮擋(后來發現先生的西裝是在地上的),我們去完廁所,盜賊等我們熟睡后準備逃離時候,被我們發現。一直慶幸我們去洗手間的時候沒有發現持刀盜賊。萬一當時驚動盜賊,生死未卜,此次錢物基本沒有丟失,人身沒有受到傷害,但是我昨夜難以入眠,此刻仍然驚魂未定。我檢討自己的大意,檢討自己總以為很多事情不會發生在自己的身上,事情絕非如此,無論何時當我們放松警惕的時候,危險可能就在我們身邊。洋洋灑灑千言,并非危言聳聽而是我親身經歷的事實,提醒我得朋友提高警惕,希望每個人都平平安安。請朋友們互相轉告,一定注意安全。
三. 當事人已經夠笨了,警察更笨
5月7號,我們單位有一個女生,在家里被人入室搶劫,身中13刀!肺被扎穿,經搶救終于活過來!同事去看她,帶回她驚險的故事,我聽了以后雙腿發軟、雙腿發軟。不是我脆弱,實在是太
可怕了!
這個女生一個人租住在一個比較老舊的小區,被歹徒盯了一個多月。夜里倆點歹徒用鑰匙打開她的家門,把她掐醒、蒙上雙眼、索要錢財。她一直合作,冷靜而機智的與歹徒周旋,凌晨四點歹徒把她綁起來說是要出去聯系買主把她的車賣了。這個女生在半小時后確認歹徒已經離開,掙扎著松綁、報警、給自己的弟弟打電話,然后嚇木了的她在家里等待警方支援(這是她的致命失誤!!)誰知歹徒又回來了,倆人在客廳面對面撞上了!!!
歹徒驚慌失措,氣急敗壞質問她是否報警,她極力否認說只是給家人打了個電話搪塞過去。突然電話鈴響了,她接,是110的確認電話。這個女生仍冷靜機智,說“媽媽,我沒事,我平安到家
了”,誰知110的笨蛋一點都沒職業素質,說:我不是你媽,是110,你剛才是不是報警了?我們確認一下!!(天哪,這個笨蛋!!!害死人哪!以后有危險誰還能相信警察?!!!)女生重復說媽媽我沒事,你放心吧,把電話掛掉!
歹徒已經起疑,女生陷入生死境地!這時候家里的電話又響了!是弟弟打來的!歹徒接了電話,弟弟以為是警察,說找***,然后問姐姐,忘了姐姐家在哪個橋拐了(這個慌亂糊涂的弟弟喲,就是這個電話害了姐姐呀)。可憐的姐姐又在編:**老師,我從老家回來太累了不太舒服,明天不上班了,跟您請個假!那個弟弟不明所以:我是弟弟呀我就問你在哪個橋拐?姐姐只好說***橋-------話還沒說完,歹徒按下電話喪心病狂地朝她猛扎!!!!這個女生先還反抗,后來只能裝死,直到歹徒離去。。。
三分鐘后,警察趕到!在外面敲門說是接到報警電話。可憐的女生忍著劇痛爬去開門,警察看見
地上躺這一個渾身是血的人,第一句話是:還是個大案!(我靠)女生報出自己的車號叫他們攔截歹徒,他們無一人出門偵查追蹤!女生又讓他們叫救護車,然后,弟弟終于趕到。。。。
警察打電話確認確實是現在的工作方式。因為110是總臺,110接到報警電話后會轉到出事地點的片警。但現在看來對于這類入室搶劫的案子還電話確認是有問題。我以前也沒想到過類似問題。
注意:歹徒 tmd拿鑰匙開門。看來還是需要一個插銷之類的東西才保險。
在家被搶后,換個地方等警察,人多的公共場合,也可以找鄰居。
經驗教訓:
1,這樣要緊的電話一定要打給很熟悉自己近況的人,而且反應要快。警察往往不可靠。
2,派出所或者公安局的電話一定要記牢,110有時候也不管用。不過可以考慮119。
昨晚我參加一個的安全防范的研習會,讓我很驚嘆!這場研習會是由一個叫Pat
Malone的人主持,他是知名人士的保鑣,也為FBI工作,并教授警察及海軍的SEALS徒手格斗。
以下建議非常實用,多看幾次,受用無窮!
1.警方的提醒 : 手肘是身體最有力的部位。距離夠近,就善用手肘!
2.假如歹徒向你要皮夾或錢包,
不要遞給他,而是往遠處丟去。歹徒很可能 對財物比對你有興趣,他會去拿皮夾或錢包,這是你逃跑的機會。 往反方向拼命跑!!
3.假如被丟進車子的后備廂:把車后燈踢破,手從洞中伸出去,用力揮手,駕駛人看不到你,但是其他人看得到。這個方法救過無數人命。
4.女性常常在購物、吃飯及下班後進入車子,然後就坐在駕駛座上處理事情(如記帳、列清單等)。千萬不要這么做!
歹徒會藉機觀察情勢,闖入車內,拿槍威脅,控制你的行動。進入車內,立即鎖門,駛離現場。
5.在平面停車場及立體停車場的幾個注意事項 :
A.要警覺: 環顧四周;察看車內的副駕和后座。(接近車子時,留意車底。)
B.假如你的車停在箱型車旁,則應該從副駕車門進入你的車子。許多連續殺人犯都是趁著女性要進入車中時,將她們拖進箱型車中加害。
C.觀察停放在你左右兩邊的車。如果有男性單獨坐在最近的鄰車內,最好回到購物中心或辦公室,找男同事、保安或警察陪你回去。
寧愿防患未然,也不要終生遺憾。 (大驚小怪總比喪命好。 )
6.永遠搭電梯,不要走樓梯。(樓梯間是一個可怕的地方,容易讓人形單影支,變成最好的犯罪場所。)
7.假如歹徒有槍而你并沒有受到他的控制, 一定要跑! 一百次中,只有四次歹徒會襲擊逃跑的目標;即使他攻擊你,大多不會是致命的部位, 要跑!
8.身為女性,我們總是發揮同情心: 不要再這樣! 這樣會增加被強暴或是殺害的機會。一個叫泰得 ·
邦迪(TedBundy)的連續殺人犯就是一個相貌堂堂并且受過良好教育的人,總是利用女性的同情心。他走路時帶著一根手杖或是跛行,經常要求別人「幫忙」他進入車內或是看一下他的車子,趁機綁架受害者。
最近有人告訴我,他的朋友在晚上聽到門口有嬰兒在哭,不過當時已經很晚了,而且她認為這件事很奇怪,於是她打電話給警察。
警察告訴她:「無論如何,絕對不要開門。」這位女士表示那聲音聽起來像是嬰兒爬到窗戶附近哭,她擔心嬰兒會爬到街上,被車子碾過。警察告訴她:我們已經派人前往,無論如何不能開門。警方認為這是一個連續殺人犯,利用嬰兒哭聲的錄音帶,誘使女性以為有人在外面遺棄嬰兒,騙她們出門察看。雖然尚未證實此事,但是警方已經接到許多女性打電話來說,他們晚上獨自在家時,聽到門外有嬰兒的哭聲,請將這個消息傳給其他人,不要因為聽到嬰兒的哭聲而開門。
請嚴肅看待 , 因為上禮拜六「美國頭號通緝犯」(America's Most Wanted)節目中,報導路易斯安那州的連續殺人犯時 ,
提到了「哭泣嬰兒」的假設 。
請轉寄這封信給你所有認識的女性朋友, 并一個接一個傳下去 。
我原本只想把這封信轉寄給女性朋友,但是男性朋友,假如你愛你的媽媽、太太、姊妹、女兒等等,你也應該把這個訊息傳給他們 .
覺得有用就頂一下吧,讓更多的人知道這些知識
?????? 項目的管理部分用的active_scaffold,active_scaffold對render進行了改寫,theme_support對render_file進行了改寫,導致active_scaffold無法使用theme_support的機制。 ?????? 目前的解決思路是active_scaffold不使用theme_support機制,在active_scaffold中Core文件底部加入rails本身的render_file方法,已達到再次覆蓋的方式。 ?????? 還有一個思路是讓active_scaffold使用theme_support機制,然后對代碼進行改寫,達到兩者兼容,目前這個方法沒有進行,主要是時間問題,而且目前的方式也可以,可能不怎么優雅
???????? 在項目使用active_scaffold來做項目的管理部分,用jrails來代替首頁部分的js。 ???????? active_scaffold用的是prototype.js,jrails用的是jquery。本身prototype和jquery兩者就存在沖突,網上對兩者的解決方式是可以的實現的,可以很好一起工作。但是對于active_scaffold和jrails的沖突還是有不行,jrails的rails中ajax等代碼進行了重寫,導致active_scaffold無法正常工作,我只有想辦法把他們完全分開。 ??????? 我目前的解決方案是module ActionView中? module Helpers重新copy到項目管理部分的代碼中,已達到再次覆蓋,還原到本身的方式。這個辦法可以解決,但是我總覺得不是很好,不知道有沒有更好的辦法呢?
????? 最近買了一臺小黑,IBM T61,第一次感受IBM,小小激動了一把,性能上真的沒話說。 ????? 現在機子上用的是ubuntu7.10,把整個工作環境都搬到了linux,開發的環境是windows上沒法比的,windows上寫好代碼和調試代碼都慢的要命,linux就不會有這個問題,相當流暢,設計的時候不會被打斷思路了。windows上的一寫常用功能linux上都能實現,除了QQ和IE,這兩個現在還沒發丟掉的,所以在linux上通過虛擬機裝上了一個windows xp,這個XP的運行速度也很快,操作沒有停頓,完美解決。有關linux的生活,想接下來具體做些介紹,看時間了。 ??????最后,歡迎來到linux的世界。
????????昨天去交房租的時候,房東說想自己用了,不想租給我們了,主要是我們的房租太便宜。 ????????剛起步就發生這個事情,對我們打擊很大的,沒場地,沒地方辦公,公司怎么辦下去啊。當天晚上和朋友一起去跟房東談這個問題,動之以情、曉之以理,最后加了點房租以告結束,今天把房租交了,總算放下心來。 ??????? 都說創業很難,是的很難,現在一個個困難都擺出來了,處理不好的話,對我們都是一個很大的打擊, ??????? 不過我們有信心一個個解決,只要我們有共同的目標,共同理想,成功在不遠處。
3月26號,ki突然向我宣布一件事情,答應做我女朋友,又是意外又是開心。 前面好幾次提出這個問題,都沒有結果,也是比較郁悶的事情,不過現在好了哈哈 以此紀念,ki,我會好好待你的!
10多年前,在大洋彼岸的美國,有一個即將從商學院畢業的女孩,她是以下面的方法找工作、進入商界的。現在,這個女孩成了美國年輕一代商界女性的明星和楷模,并創建了屬于自己的公司,被譽為“難以抗拒的商界女性”。
請看她如何講述自己當年踏入商場的第一步——
“在商學院的最后一年里,我開始找工作的同時,就著手建立自己的職業關系網。像多數即將畢業的學生一樣,我在商界沒有什么熟人,因此不得不從零開始。我有一個詳細地記載我找工作的筆記,并且每一頁上都寫著我想去工作的公司名稱。每次我發一封信,打一個電話,或跟某個人談一次話,我都記下日期、時間、通信的性質,以及接下來的步驟。(典型的a型性格)。(“a型性格”的人個性急躁、成功心切、善于進取、爭強好勝)。
我有意向的大多數公司,我一個人也不認識。可是我不像其他畢業生那樣給人力資源部打電,而是上網查看公司的網站,找到負責我感興趣的部門的主管名字。我會直接給個人打電話,僅僅是為了弄清楚他或她是不是聯系這份工作該找的人。不過,屢試不爽的是,那個人或者那個對待我像貴賓一樣的助理,會給我另一位需要聯系的主管名字。然后,我在與那位主管聯系的時候,就會在我的郵件里赫然提到前面那位主管的名字: 您的同事某某建議我跟您聯系。 馬上就拉上了關系!
要是這一切聽起來像精于算計,那真抱歉。可它就是那么管用。并且這也是,在我們一起畢業的同學里面,我怎么就能夠得到最高的薪水!
在即將從研究生院畢業時,我想去工作的一家公司,就是薩柏瑞公司。這家公司開創了并緊追網上旅游預訂服務的潮流,是美洲航空公司的母公司美利堅公司的一個分公司。秋季學期的時候,公司到德克薩斯基督教大學校園招人,可是我當時忙于功課,不知道有面試這回事。不過,當一位同學得到了該公司一份收入可觀的工作后,我一下子來了興趣。我決定將薩柏瑞公司也定為自己的目標。碰上這種情形,大多數人都會聳肩嘆息: 咳,我錯過了正式的招聘會,所以我機會了。 我可不這樣。我決定運用已有的一點點關系接近該公司。
我父母有個鄰居是美國航空公司的董事,我給他打電話,問他能否告訴我,要是我想在薩柏瑞公司找份工作該跟誰聯系。他很熱心,給了我幾個人的名字。自然,我給每個人的信都用鄰居的名字開頭—— 執行副總裁喬治某某建議我跟您聯系…… 這樣的介紹把我從一大堆的求職者中分離了出來,讓我比其他無名的求職者得到更多的關注。我相信,有的人給我回復,僅僅是看在我鄰居的面子上,可是管它呢。最終,我得到了與合適的人面試的機會,并得到了一份業務分析師的工作。” 世界經理人博客http://blog.icxo.com
怎么樣,這個女孩是不是有些不同凡響?她叫艾米·亨利(amy henry),上述文字摘自她不久前出版的一本暢銷書——《女總裁告訴你:當代女性如何在商界成功》。
艾米·亨利曾在美國一些領先的it企業擔任高管職,取得了驕人的業績,然后建立了一家管理咨詢公司,成為當今美國炙手可熱的一位企管顧問。她服務、合作過的公司客戶,包括ibm、摩根大通、美林證券、麥肯錫公司、伊士曼化學公司、斯倫貝謝、藍十字保險公司等全球著名企業。艾米·亨利還頻頻受邀到美國和加拿大的許多電視臺、大學、領導才能培訓機構演講,與人們分享自身的經歷和體驗,包括成功與失敗,講述現代女性如何在職場、商界獲取升和成功。
艾米·亨利坦率地說,工作場所不是一個純粹的能人的天下。換句話說,單單有業績并不能保證你步步高升。光知道躲在角落里埋頭干活,很可能會讓別人搶了你的功勞,而你自己卻仍然呆在老地方。如果你想發展,就必須讓人知道你。
統治商界的不是女性(至少現在不是),如果我們想要與那些占統治地位的人一起捉迷藏,我們就不得不努力拼搏。對此,艾米·亨利感受很深。她認為,職場的規則長期以來都是男人們書寫的,女性必須了解那些規則,并學會如何讓那些規則為己所用。但女性應該心安理得地表現得像個女人而不是男人,并善于利用自己的女性資本取得對自己有利的結果。
有些道理總要等到適當的年紀才能明白,人生的哲理總是來得太遲。
(深有同感,當我為工作,生活中的錯誤而自責時,理智卻清醒地告訴自己,這些教訓我早已知曉,并且有無數前人用他們的人生為我做過證明,只能感嘆一句:只有自己經歷過,才會真正明白并記住它們。但是,細想,為什么我就不能盡可能地遵循自己并未經歷但被人證明正確的真理呢?,試著去做吧,既然相信,為何不遵循,回頭時,我會慶幸自己今天做出了這樣的決定)
(1)很多事情其實無關緊要(10年后再回首,有多少擔憂,一笑置之,既如此,早點覺悟又有什么關系呢?) (2)等待有把握時再去做一件事,往往意味著永遠的等待(簡單計劃,立刻出發,不斷修正) (3)一個人能做的最大的冒險事情,就是樂意在公共場合經常暴露自己的愚昧。沒有什么能比這樣學得更快。“哎呀”, 也是一種樂趣。(習慣自嘲是一種優秀的品質,它證明你足夠自信) (4)盲目追趕潮流是對精神和智力的扼殺 你可以成為一個廉價的時尚木偶,也可以成為獨一無二的你,這些都在于自己的選擇。信仰不是群眾的鴉片,流行才是。(最后這句話說的挺妙) (5)如果有人抱怨你太特立獨行,恭喜你,你正走在正確的路上(我希望自己足夠與眾不同,甚至我愿為了特立獨行而特立獨行) (6)如果你將工作等同于生活,那么你將為工作而生活(深表贊同,工作是為了更好的生活) (7)試圖取悅別人是徒勞無益的做法 (如老羅所言:彪悍的人生不需要解釋,我精力有限,在工作以外,把關注放在愛我的我愛的雙親,兄弟,女人身上吧) (8)你不可能取悅、平息或改造一個混蛋 (小人難養,敬而遠之,我不跟你玩了,這還不行,那就得流氓一點,以彼之道還施彼身了) (9)接納自己(因為自卑,悔恨,我還無法真正愛上自己,從思想,身體上去改造自己,希望這一天早點到來吧!) (10)生活中,有時候形式就是內容
這兩天裝了ubuntu系統,然后把整個開發環境都裝到上面了 。 但發現一個很奇怪的問題,hibernate的事務無法會滾,這個問題困擾我好幾天,今天終于解決了,原來mysql有配置有問題。mysql總共有4種存儲方式,MyISAM 是默認存儲方式,但是不支持事務,所以導致了我的問題,只要把默認設置成default-storage-engine=innodb就可以了,當然也可以在每個table創建的時候指定。 希望對碰到此類問題的朋友有所幫助。
今天星期六,放假。
很久沒有雙休日了。
本來想睡個懶覺的,但是到了正常工作時間,還是醒來睡不著了。起來開電腦是我的第一反應,那么多年的電腦和網絡生活讓我有了一種下意識,但是今天這個念頭一閃而過,工作是為了生活,因為我想到了這句話。我們為了工作,而忘記自己的生活應該怎么樣的了。我想我開始去尋找生活還有什么,有爸爸媽媽,有朋友,有痛苦和感動,有無奈和追求,突然發現生活是多么寬廣,原來我把自己局限在工作這個狹窄的空間里了。好好享受我的周末巴。起來給自己弄點東西,拿本自己喜歡的書,一杯咖啡,我喜歡的生活,之一。......
????? 這段時間發生很多的事情,也讓我認識到一些事情。 ????? 羅列一下: ????? 一天早上醒來,我突然產生一個感覺:我沒有那么多的精力去研究那些深奧復雜的it技術細節!這個想法讓我有點發呆 ,一直以來我都是很喜歡這個工作,以極大的熱情投入到研發這個工作中,不知道怎么會產生這樣的想法的。這段時間看了很多資料,也看到自己很多的不足,學的越多,知道自己越不足,難道我在這個無知面前害怕了?還是我的思維中心產生了轉移,因為我在慢慢的考慮往項目管理方面發展。我也搞不清楚了。 ?????? 這兩天在看一本書,《第五項修煉》,很早的書 ,主要講系統的思考方面的。其實去年已經看過,但是只看了前幾章,感覺不好理解,這段時間我又拿起來了,發現里面很多概念和想法,比較容易理解了,而且可以繼續看下去了。我感到很欣喜,這個算不算是一種進步呢?現在每天上班下班,因為是長期出差,平時的活動很少了,朋友接觸也少,感覺有點封閉,我慢慢感到自己的激情在磨損,這個現象終于在我身上體現了 (我居然用了終于這個詞)。進步了,思想在成熟,激情在減少,難道這個是反比的嗎?以我現在的水平無法看清這個問題,等以后慢慢去慢慢弄清楚吧。 ????? 這段時間總的來說不是很快樂,快樂是什么?我有點模糊了,難道就是腦子中的一種蛋白質?還是我想得到的太多,而擁有的太少?這段時間煙抽的有點多,感覺嘴巴不舒服,該收斂一下了,難道是煙抽多了?這段時間喝酒很少,我是一個喜歡喝酒的人,難道是酒的緣故?細細想來,這樣的狀態其實已經很久了。難道是一種必經的過程,我不得而知了。 ????? 今天早上又讓我看到了一句話,工作是為了生活,工作只是生活的一部分。我想我應該重新去理解這句話了,回到我自己喜歡的生活。回的去嗎?不知道,還有半包煙在桌子上,不抽了。抽煙無助與生活和思考。
內容介紹
本書是名著《心靈地圖》的續集。《心靈地圖》從1978年出版以來,連續十多年居于美國最著名的《紐約時報》暢銷書排行榜上,總發行量上千萬冊,在讀者中產生了廣泛的影響和獲得了巨大的認同。 本書為《心靈地圖》添了一個注腳:“人生多變”。每一個人的人生道路都得自己探索,沒有任何絕對的答案可以憑借。但是,我們也不必堅持踽踽獨行,可以向出現在我們生活中任何一種超過我們的力量求助。 在本書中,派克著重談的是“宗教”,但這并不是那種扼殺個人意志的宗教團體所傳播的宗教,而是作為個人信仰追求和靈魂提升的“心靈的宗教”,亦即,本書所宣傳的是一種極其自省的信仰。 本書有助于你避免以偏概全的思考模式,拒絕所有以偏概全的沖動,不要鉆牛角尖去尋找公式或簡單的解答,而開始從多元化的角度思考,崇揚生命的神秘與矛盾,不要因為每一次經驗內在的多重因果關系而惶惑不安,安心去欣賞生命的復雜多變。 愿本書與更多的讀者相遇,共結一段心靈共嗚的緣份!
本書精彩言論選 伊甸園的故事是神話,可是它蘊含著真理,告訴我們害羞是人性的一部分。 任何終生追求心理和心靈成長的人,都可以預防心理上的失調。 我們必須有一點罪惡感,才能在社會中生存。 不恐懼不等于有勇氣;勇氣是你盡管害怕、盡管痛苦,但還是繼續向前。 為自己的極限辯護,你就永遠受制于它們。 治療一個受苦的人最好的法子,并不是設法消除痛苦,而是懷著愿意分享的心坐在他身旁。 愈愿意承擔別人的痛苦,就愈能感受到更多的歡樂。 憤怒有其存在的必要;求生絕對少不了它。 我們必須學習一套復雜的方法,以處理憤怒的情緒。 我們的生活品質就決定于我們所作判斷的品質。 人生一切際遇無非是為了幫助我們靈性的成長。 堅強的意志是人類最大的優點,雖然有了它不一定能擔保成功或善良,但是少了它卻幾乎保證會失敗。 你不能用自己的意志控制意志,因為這樣等于沒有控制。 歸咎游戲也可稱做“要不是因為你”游戲,這是所有婚姻關系中最常見的游戲。 原諒需要正視邪惡,真正的原諒是一個非常困難的過 程,但它也是你維持心里健康一個不可或缺的要素。 你不能因一個人沒有犯的罪而原諒他。只有在確定他有罪以后,才能原諒。 原諒是療傷的必要條件 我們不可忘記任何事。我們做不到真正遺忘,只可能做到真正寬赦。 死亡不僅不剝奪生命的意義,反而是意義的賦與者。 你在跟自己的死亡之秘搏斗的過程中,一定會發現人生的意義。 除非我們能坦然面對自己的死亡、否則就永遠不可能 在生活中找到勇氣和自信。 大多數人其實有能力選擇在何時、何地、以何種方式死去。 要是世界上沒有一件我們愿意為之犧牲生命的事,生命就不完整。 所有的疾病都有心理、心靈、社會、生理的因素。求 生意志能大幅延長壽命,并改善生活的品質。 學習生活一定要面對死亡。因為死亡讓我們記住生命的有限。 如果你罹患嚴重的慢性病,倒不妨檢討一下,自問可 曾做過促使自己生病的事。 如果我們只把死亡當作一場意外,就不僅忽視了大多 數死亡的現實面,也忽視了它的神秘性。 我們遭遇的每一件事,無非是幫助我們學習,而最能 幫助我們學習的就是死亡。 只要我們向前跨出一大步,都會經過否定、憤怒、討 價還價、沮喪、接受的過程。 信仰宗教而能承認死亡的重要性,但然面對死亡,才更勇敢。 漫無節制的自戀是心理與心靈疾病的主要前兆。健全 的心靈生活是一種脫離自戀的漸進成長。 我們對百分之九十的事物的了解還不到百分之一。 我一開始問:“我們不知道什么?”所有我以為已經關 閉的疆域就又重新開放。 我們的知識像一葉扁舟,在無知的大海、神秘的汪洋中漂泊。 現代文化有逃避痛苦的特質,對心理建康并不特別鼓勵。 我們愈能適應現實,生活就愈有意義。 在現實生活里,探究神秘不僅是心理保健的目標也是心靈之旅的目的地。 有人為了逃避神秘而投身宗教,同樣有人為了逃避神秘而投身科學。 迷惑是追尋清晰的第一步,在追尋過程中,你會獲得很多知識。 謙遜就是確實了解自我的真相。真正的謙遜總要與實際相符。 為了生存,我們需要某種程度的罪惡感。要是我們一 直都自以為很好,當然就無法改正有缺點的部分。 我不好,你也不好,不過沒關系。 我們需要破裂時刻,讓我們覺悟到自己有問題,我們并不完美。 罪惡感涌現的時刻、懺悔的時刻、缺乏自信的時刻、面 對自己不喜歡自己的試煉時刻,對我們的成長都是不可或缺。 愛自己,追求自己靈魂的進步,是人生最重要的事。 準備是不能分享的。我們唯一能做的就是盡可能提供別人好好準備的動機。 神話對于了解自我可提供很大幫助,我們可以從中發掘人性的知識。 任何過于簡化的思考方式都會出問題。 神話是有關人性各種矛盾、多重向度、復雜面的一個最佳知識泉源。 人不可能像神一般無所不能,我們不可能靠自己的力量上達于神。 當某種東西擋了你的路,妨礙你的心理健康或心靈成 長,你就該除掉它,不要只是坐著抱怨。 做好事的動機就是創造力的泉源。做壞事的動機只會帶來毀滅,不能創造。 我們只有有學會同時發揮自身的男性和女性特質—— 左腦和右腦并用之后,才能成為英雄。 總有一天我們要放開孩子,他們是上天賜下的禮物,交 給我們照顧——但不是永遠。 人的本性是汁么?我最常給的答復就是,根本沒有這種東西。 我們人類最大的不同,就是在自身行為上享有完全的自由和變通可能。 大多數人當然早已脫離胚胎期。但會隨著年齡增長,更 加堅持自己的方法和本性。 身體的老化不能遇阻,但人的心理不一定要變老。 觸及自身生命的混沌,這可能是人類最痛苦的經驗。 信奉神秘主義的人熱愛神秘,喜歡解開神秘,同時也 知道,解開的愈多,發現的會更多。 處于心靈旅程不同階段的人,相互之間會產生飽受威脅的感覺。 悔改不是一時就結束的事。它跟所有靈性成長一樣,是一種持續不斷的程序。 立足不夠堅定時,固然可能墮落回去,但我們不可能 因此省略心靈成長過程的任何一階段。 關于心靈成長。不論我們發展到多遠,都還會保留一部分早期各階段的痕跡。 每個圣人都有不可告人的過去,每個罪人都有美好的展望。 上癮者有回家的渴望,證明他們比大多數人更努力追 求靈性和上帝,只不過他們搞錯了方向。 西方語言傳統上酒精和靈魂用同一個字表示,并非意 外,也許酗酒者比一般人更渴求靈性。 很多人聽到宗教都會退避三舍,一般人都不久喜歡被 感化而改變,他們有抗拒心理。你唯一改變得了的人就是自己。 每個人都有自己的憂傷與恐懼;也許我們沒有意識到,但這些情緒是存在的。 只有面臨危機時,共同體才會自然發展。 健康心理一大特征就是,及早面對危機的能力。 我們亟須賦與危機應有的尊嚴,只有透過這些痛苦與危機,我們才會成長。 我們的生活太缺乏戲劇味,整日混沌過活,對生命的重要本質毫無覺悟。 不同的人有不同的生存使命,每個人的使命都很獨特 不同的宗教往往殊途同歸,只要能到達同一個目的地, 走不同的路又有什么關系。 只要你認罪、懺侮,那么所有的罪就此滌清。唯一需 要的就是為自己的所作所為。覺得難過、痛苦。 每一個人都應該盡可能從各種宗教傳統中汲取智慧。 不論多么善良的人,都不免偶而因疲倦或過于自信,以至于顯得不夠努力。 用全部的靈魂和全部的力量,全心全意愛你的神。愛如鄰己 學習把自己交給上帝,心甘情愿讓他駕馭我這仍末脫離青春的人生。 或許基督教最大的罪,就是以一種獨特的傲慢或自戀 心態,讓許多基督徒自以為可以量身裁制一個上帝。 我對于凡是號稱足以解釋所有事物的觀念,都采取保留的立場。 身體只是一種限制,我相信靈魂可以不靠肉體存在,它不需要肉體就能進步。 地獄的大門是敝開的,任何人都隨時可以走出去,他 們之所以待在地獄是因為他們選擇不離開。 追求知識最好的方法就是透過經驗。 唯物主義和科學發展帶來一種使人坐立難安的匾乏 感,一種對內在生命的渴望。 分化使事情容易,整合則帶來痛苦。迫不經過整合,一個人永遠是支離破碎。 厘清科學的領域可視為人類智慧史上最重要的事件。 整合的過程需要我們坦然面對各種互相沖突的力量、 觀念,以及生活中的壓力 每當面對一個號稱能解決社會問題的方案,一定要問: “缺少了什么? 佛洛伊德用“愛”與“工作”界定心理健康。 為患恐懼癥的人灌輸比較樂視的世界觀,是唯一的治療辦法。 審慎運用宗教觀念,對于很多精神病例,也有加強療效或加速痊愈的效果。 抑郁源自無禮和不肯贊美別人。 如果父母能溫和的對待孩子,盡可能提供支持,孩子 就能朝脫離自戀邁出一大步。人生就是在你已定好的計劃之外所發生的事。 接受人生層出不窮的矛盾,是心理健康不可或缺的要素。 新時代運動的最大特色,就是對新觀念、新方法采取完全開放的態度。 救贖可以說是一種矛盾的混合,其中有恩典也有努力。 不論我們如何抉擇,其他的選擇并不因此被犧牲、被拋棄。 邪惡跟虛偽有很密切的關系。 從事任何冒險之前,都必須知道如何辨認對健康有益 或有害的事物,心靈旅程當然也不例外。 打好高爾夫球的原則,就是不要以一桿進洞為目標。心靈生活也應是如此。 上帝一方面是我們里面的一個小聲音,但同時也存在 我們外面,無比超越、偉大。 信心若不能化為行動,還有什么價值呢? 我們需要跟自己的極限、自己的支離破碎、以及人際 關系之間無可避免的互相倚賴關系妥協。 新時代運動最大的貢獻也無非是帶來新鮮空氣。 我們應該擺脫競爭和分化,全心追求社會生活和靈性生活各方面的整合。 根據神話的說法,性欲源自有一種不完整感,表現于追求個體完整和神性。 如果你追求最高品質的性高潮,最好的方法就是找自己深愛的人從事性行為。 對沉浸在愛情狂喜里的戀人而言,對方就像通往祭壇 的廟字大門,已經無關重要。 任何以為兩性關系中可以建立永恒羅曼史的人,都注定要失望。 這世界可被當作是一個上帝設計的魔鬼訓練營,其中 最難超越的一項障礙就是性。 性是上天賜與的好禮物,但這不代表它在所有季節,所 有時候都適合所有的人。 我發現了解上帝本質最有意義的方式,就是把人性中 最好的部分投射在他身上。
阮大年
生命的饑渴?????
? 《與心靈對話》是美國著名精神導師派克醫生繼《心靈地圖》(The Road Less Traveled)而寫的續集,顧名思義他所探討的乃是一般人不常去思考的問題,也是一般認為不實際的問題。? ??中國人一向重視實用,也許是中國人的歷史一直是為了生活而努力、奮斗,不得不實際的面對生存問題,在臺灣的這數十年經驗里,果然看到了實用主義的輝煌成果,而使臺灣人民走到任何地方都感到抬頭挺胸、趾高氣昴,甚至表現出不可一世的氣概,只是令人擔心的是,經濟的成就并沒有帶來真正生命的豐盛和愉悅,反而普遍的沉迷與失落。? ??其實臺灣的問題不是偶發的,而是一味追求發達及富足之后的必然因果,一九九二年的《美國新聞與世界報導》雜志中記載︰「近來有一種饑渴,那是源自唯物主義和科學發展而來的,一種使人不安的匱乏感,一種對內在生命的渴望……愈來愈多的人亟于找尋一個從心靈與精神層次出發的答案」。同樣的話可描繪在臺灣的中國人,我們目前心靈的饑渴及精神的苦悶,比當時的美國人可謂有過之而無不及。? ??派克醫生的主張是因應這種饑渴而寫的。? ??人生是由一連串的饑渴而編織成的,一個嬰孩一生下來就饑渴--需要食物及溫情;稍長后又對知識、真理產生饑渴--因此要上學、讀書;有生理及性的饑渴--因此進入婚姻之門;有群居及歸屬的饑渴--因此組織家庭、參加社團;有追求卓越的饑渴--因此努力于求名求利,著書立言等。? ??饑渴感并沒什么不好,而且是使人類努力的原動力,然而吾生也有涯,往往因為忙于解決上述一般的饑渴后,人生也就在解饑止渴的過程中溜走了,而很多人一輩子都沒有體會到生命中有另一種更基本及深邃的饑渴--心靈永恒的需求。? ??圣法蘭西斯有言︰「神啊!我心永遠不得安息(或作永遠在饑渴),直到在你里面。」? ??派克醫生的話,不一定能解除你我心靈中的饑渴,就像他一開始就說的「壞消息--我什么也不知道。」他的目的也不是給我們一個標準答案,雖然他承認已經尋到了自己的答案及方向。? ??派克醫生提醒我們,生命是有限卻又可能是永恒的,我們外在、可見的身體是會變老及消逝,但我們內心已經看見心靈是永存及可以日新又新的,只可惜我們幾乎把一生的精力及時間都去改進和化裝外在的形體,而忽視了對心靈的貫注及追尋。從某方面講,外在努力是可見且容易見效的,也易引人注意,甚至功成名就還可以遺傳給兒女,惠及子孫何樂而不為,反之,對心靈的追尋,是非只存乎一心,別人也體會不到,更不易傳授轉贈,因此在功利的環境中更加不受重視及被忽略了。? ??我推薦這本書,因為它系暮鼓晨鐘,在這個多元卻無目標的社會中發出了一個聲音,「要追求永恒!」、「要自省!」確實,這一代可稱為不多自省的一代,我們每天看到的都是批評、不滿,卻鮮見任何人自省。? ??派克醫生認為人類的心靈有無止境求新求變的獨特能力,這也是孟子所說人之異于禽獸者的「幾希」,而作者認為心靈的成長可大致分為四個階段︰? ??第一階段的人可謂是混沌的心靈,只有生活的過程而沒有明確的人生目標。? ??第二階段的人屬于需要形式才能滿足的心靈,他們倚賴某些形式作為生命意義之所依,這形式可能是宗教、藝術團體,也可能是黨派、社團,他們的特征是強調組織內的形式及教條,而以儀式為最高準則。? ??第三階段的心靈較自由且理性,也許沒有明顯的信仰主題,但都熱心積極正面的參與社會,認為生命的意義在貢獻自己,使世界更美好。? ??第四階段的心靈可以說是第三階段努力尋求后的答案,他們不迷信宗教,卻真正的可以認識上帝,生命中有不能說的真正神秘,也真正能感到天人合一的生命境地。然而這并不是一個目的地,第四階段只是表明真正進入一個有無限發展可能的心靈之旅,也正如基督教所謂的信仰是一條路--來于信,以致于信。? ??無論如何,一個好好接納本書的讀者,對自己心靈的成長都有更高、更深一層的激勵,也能認清自己內心有比目前更進步的可能,正如王爾德所說的︰「每個圣人都有不可告人的過去,每個罪人都能有美好的盼望!」?
王浩威醫師(專欄作家、臺大醫院精神部兼任主治醫師)的導讀
?
原先翻閱派克醫生著的《心靈地圖》時,總有些隨興消遣的意味,畢竟市面有太多「勵志」、「心理」或「心靈」的書籍了,令人覺得翻來翻去,也不過如此。偶爾拾遇了一本令我眼睛一亮的這類書籍,好不容易記住作者的大名,待他的新作出版時便趕快買一本,然而,常常原本抱著極大期待的,卻一次次的失望了。
?
看《心靈地圖》的感覺卻截然不同。躺在床上翻著這本書時,睡意逐漸消失,取而代之的是對作者的好奇。「愛」是談得令人有點厭煩的字眼,而「紀律」則是天生引人反感的,然而在這本書中,一切卻有了重生的定義。
?
對作者而言,寫作的材料原本就是源自實務的臨床經驗。病人或個案所陳述的生命經驗,觸目驚心地引發了他對自己的思考,寫作也就成為另一種自我探索的紀錄。
身為一位擅長精神分析的精神科醫師,在學理訓練的出發點上,他很明顯受到佛洛伊德和榮格的影響。特別是有關自戀的理論,佛洛伊德首先提出了原初自戀和次發自戀,榮格進而將之視為自我完成的必要途徑,也就是除了一般人知道的「自戀人格違常」這類負面陳述以外,其實自戀也有另一種正面的意義呈現。
?
在派克醫師的筆下,這一切學理化為無形,取而代之的是極其平易的舉例和用詞。也因為對這個平易的要求,他毫不畏懼地重新用了一些已經有些俗氣的字詞。這時,「紀律」已經不再是團體對個人的要求,而是來自自我的要求,是自我進行著紀律,而非自我被要求守紀律;同樣的,「愛」也不再是對他人的付出,而是「擴充自我的意愿」,只不過前提是「滋養個人和他人心靈成長」罷了。這是作者極其高明的地方,他用平凡得甚至有點保守的字眼,來暢談他極其進步的觀念。
?
到了《心靈地圖2》這本書,他進而開始談宗教。
?
直到今日,雖然很多人已經不再像馬克思一般強烈排反宗教:但對于社會上各種宗教形式的盛行,不免還是有些擔憂,從書中可以看出,派克醫師也懷有這樣一份隱憂,他敢于拂逆當今盛行的新世紀運動,指出各種盲點和困境,就是典型的例子。
?
然而作者也不忌諱宗教,甚至用信仰來解決宗教的困境。對他而言,宗教是必要的;但他指的是個人信仰的追求,而非宗派團體的遵循。
?
當下的宗教團體往往在無形中扼殺了個人的意志。關于這點,如果用強烈的字眼,便是常見的「宗教法西斯」:如果用派克醫師的說法,就是「秘密教派」。作者不擔心教派的攻擊,甚至提出了它們的十大特征,認為只要符合三、四點就可以了,像對領袖魄力的偶像崇拜、地位崇高的權力核心、行政黑箱作業、隱瞞財務、鼓勵教徒倚賴、強化教徒一致性、特殊語言、武斷的教義、異端邪說或是自認掌握了上帝。他列出了這份標準,幾乎是從新時代運動到傳統的基督教或佛教,全都被擊中要害了。
?
另一方面,他卻是極力陳述個人心靈或個人信仰的重要性,雖是科學訓練出身的精神科醫師,他還是排斥了以科學自居的狹義心理學,從《心靈地圖》到《心靈地圖2》,最大的突破莫過于這種將宗教和心理學融為一體的努力,恐怕是和心理學的人格階段相關;他對個案信仰活動發展出的興趣,特別強調了類似艾瑞克森(Eric Erikson)「認同危機」一般的「信仰危機」。
?
宗教的特殊角色,一種極與自省的信仰,成為本書最大的特色。作者自己也承認,他的受洗是在《心靈地圖》完成之后,《心靈地圖2》是重新信仰以后寫就的。因為宗教和科學(心理學和精神醫學)的兼顧,讓他能看見更廣闊的視野。
?
對于不可知的世界,他永遠保持必要的敬畏,像現象學常說的「劃上括號」(bracketing),也就是「存而不論」;承認它的存在,但暫時不會急著說定它。因為這樣的敬畏,他開始談論密契主義和死亡,甚至認為性愛高潮和性靈經驗有著一定的相關性。
?
如果《心靈地圖》是一本有關自我心理調適和成長的書籍,那么《心靈地圖2》則是自我靈性的修行和解放。這其實是很不容易的一步,然而作者平易而輕松地做到了。
??????? 春節假期結束,也告別了忙碌的2006年,迎來一個還未知的2007。想起2006年初,我給自己定的一些目標,慚愧的是大多數沒有完成,有些還在進行中。但是2006,對我來說也算是個充實的一年,有了很多的第一次,對事情思考比以前深入了,不過也許到了2008回想,現在的思考也是膚淺的,我希望是如此,這樣表示我在進步。
?????? 過去的2006有太多的內容,我也不想去細數了,還是在這里說說2007的目標。
- 作為一個軟件開發人員,我還是一如既往地對新技術、新思想關注,并努力的應用到平時開發工作中去,讓發揮其價值。
- 這一年我會更加關注敏捷管理,對于敏捷的思想和做法,我一直在徘徊在門外,不是猶豫,而是還在找哪扇門,希望今年能有機會能夠在實踐中應用。
- Kent有一句名言,"程序員要取得成功,關鍵在于程序之外的東西"。雖然平時也有這所認識,但是不夠重視,比如溝通能力(特別是口頭溝通和書面正式文檔的編寫)、全面系統思考問題的能力、組織協調能力、策劃推動能力、自我管理和團隊管理能力、工作的規范性和質量意識,等等。這需要我們更用心的去思考、去摸索、去提升,就是要有一個全面的提高。
- 到年底,目標是能達到一個項目經理的水平,要以一個項目經理的要求來衡量自己。
- 工作為了生活!我很喜歡這句話,但是現實和喜歡存在著很大的差距,只能在平時忙碌的工作中努力協調這個矛盾。
- 2006接觸了一些健康方面的知識,人體使用手冊讓我初步了解了人體的奇妙,健康一生讓我認識到飲食的重要性。忙碌的工作往往會把身體搞垮,不規律的飲食,不正常的加班熬夜,我們要怎么來呵護我們的身體呢?是不是工作到不惑之年后就疾病纏身呢?我不想要這樣的生活,2007年我會把一些健康知識應用到實際中來,如果有效,我還會推薦給我的朋友們。這一點也是對第五點的補充。
??????? 春節在家里找到一本以前看過的書,與心靈的對話,還是高中的時候看過這本書,主要說的是人生多變,人生的目標是讓自己的靈性成長,講的非常好。當時對其中講的很有感觸,現在拿起來又讀,猶如第一次讀一樣,引領我對人生的思考,而且比以前讀更加的能理解其中的含義。2007我將細讀這本書,特別在我這個年齡段,現實的沖擊,生活的壓力,導致我們對人生的迷惑。
??????? 2007會帶來什么誰也不知道,也許這就是人生多變,我喜歡這個多變。
??????? 人生就是你計劃之外發生的事情。2007,唯一現在要做的就是保持一種樂觀積極的心態。
???
Quartz作為一個開源的作業調度框架,已經廣泛應用于j2ee中。因為項目需要一個任務管理模塊,所以選擇了Quartz這個強大的框架,并對其進行
了擴展以適應項目的要求。首先介紹一下我們的系統構架,采用webwork,spring,hibernate整合架構,我的任務是無縫的把Quartz
加入到系統,提供一個界面,提供一些操作,使最終用戶能夠自己定義在什么時間對什么東西做哪些事情,“哪些事情”是預先定義的,提供給客戶選擇,這是客戶
需求,系統地要求是能夠容易的擴展,對增加一個新的任務定義提供一些簡單的接口。這里不對Quartz作介紹了,想了解的人參考官方網站:http:
//www.opensymphony.com/quartz/,由于涉及的東西比較多,有些細節就帶過了,我就大致的介紹一下總體的設計。
??? 作業調度框架,主要要解決的問題是在某個時間對某些對象作某些動作。
???
對于某個時間,Quarta提供一個字符表達式來表示,這方面要做的是提供一個方便的界面,直觀的對其進行設置,不能讓最終客戶看那些對客戶沒意義的字符
串。這個工作需要解析那些字符,做起來還是有點意思的,也是比較麻煩的,有興趣的話可以自己去試試。
???
對于某些對象作和某些動作,Quartz都交給程序員自己去定義,它提供一個Job接口,對我們來說增加任務是比較簡單的一件事情.既然Quartz提供
這么簡單的接口,我為什么還要對其進行擴展呢?這就要來看"某些對象"了.在一般的系統來"某個動作"所操縱的對象是固定的,比如定期刪除日至,定期檢查
庫存等.由于系統地特殊性,我們"某個動作"對哪些對象是不確定的,"哪些對象"由我提供一個界面,由最終客戶去決定對一個或多個對象進行操作.
???
這樣就引入了一個范圍的概念,"某個動作"是作用在一定范圍內的,這個范圍就不僅僅是哪些對象了,也可能是時間范圍,比如刪除幾天前的日志信息.到這里對
任務的定義有所改變了,一個任務包括一些范圍也可以說是條件,這個條件不包括觸發點這個條件),一個動作.所以系統中定義了一個IRange接口,范圍的
表示都保存在一個XML字符串,XML字符串的結構和怎么解析都交給具體的子對象,這樣就給了子類的靈活性.
public interface IRange {
??? public Map saveToMap(String strMap);//保存范圍參數
??? public List getResult(Map map);//解析范圍參數,并返回操作對象線程列表
??? public List getViewInfo();取得頁面表示方式,結合了webwork
}
一個任務對應一個IRange的子類,IRange的子類對任務的各種參數范圍,動作進行了實現.接著還加入一個IRangeManager接口,
public interface IRangeManager {
??? public void saveDataMap(Long jobId, String strMap)throws SchedulerException;//保存范圍參數
??? public List getObjects(Map map);//取得對象列表,其中包括了對參數的解析
??? public List getViews(Map map);
}
??? 實現的功能是對范圍進行管理,包括對Quartz的操作,主要一些保存數據庫等的操作,這樣對于增加一個新的Range子類就可以不用知道Quartz了.
??? 這樣因為很多東西都是可配置的,增加了靈活性,對以后任務的添加定義了一些接口,考慮到了擴展性.在設計這個模塊的時候,總的思路是把那些不變的東西都封裝起來,把能變得東西都交給具體的任務了.
上面我只是大致講了一下,由于水平有限,可能講的不是清楚,比較亂,我沒有提供具體的例子,只是提供了一個思路,希望對大家有所幫助,或者你還有更好的設計,請與我聯系.
???
首先介紹一下我們的系統構架,采用webwork,spring,hibernate整合架構,現在引入Quartz框架,Quartz和
hibernate各自擁有的自己數據庫配置和連接池的配置,現在的任務是把兩者用同一套配置.
先談談Quartz,我用的版本是1.5.1,后面的版本我沒去看了,沒時間,接下來說的都以這個版本為準.Quartz雖然在提供一個
ConnectionProvider接口,提供給程序擴展,但是看它的StdSchedulerFactory實現類,要對它進行擴展還是一件比較麻煩
一件事情,所以我就直接修改了StdSchedulerFactory類,以達到的我的需求.
接下來的問題是既然要結合,那么讓Quartz來提供連接池配置呢還是有Hibernate提供.研究了兩者的連接池方面的源代碼,發現
Hibernate的連接池設計遠遠好于Quartz,Quartz目前只提供一個連接池提供類PoolingConnectionProvider,而
且使用的連接池是dbcp,這個連接池聽說問題多多,相反hibernate提供了更加靈活的配置,所以連接池由Hibernate提供.
??? 首先實現一個Quartz中ConnectionProvider子類HibernateConnectionProvider
public class HibernateConnectionProvider implements ConnectionProvider {
??? private Connection con = null;
??? protected static ThreadLocal hibernateHolder = new ThreadLocal();
??? public Connection getConnection() throws SQLException {
??? ??? con = null;
??? ??? SessionFactoryImpl sessionFactory = null;
??? ??? sessionFactory = (SessionFactoryImpl) Global.getSessionFacotry();
??? ??? con = sessionFactory.getConnectionProvider().getConnection();
??? return con;
}
public void shutdown() throws SQLException {
??? // FIXME Auto-generated method stub
}
}
,然后修改StdSchedulerFactory,在不破壞其本來的邏輯和可配置性下進行了相應的修改.修改的是private Scheduler
instantiate() throws SchedulerException方法,找到//Set up any
DataSources段進行修改,代碼如下:
String[] dsNames = cfg.getPropertyGroups(PROP_DATASOURCE_PREFIX);
??? ??? for (int i = 0; i < dsNames.length; i++) {
??? ??? ??? PropertiesParser pp = new PropertiesParser(cfg.getPropertyGroup(
??? ??? ???
??? ??? PROP_DATASOURCE_PREFIX + "." +
dsNames[i], true));
??? ??? ??? String dsDriver = pp
??? ??? ???
??? ???
.getStringProperty(PROP_DATASOURCE_DRIVER, null);
??? ??? ??? String dsURL = pp.getStringProperty(PROP_DATASOURCE_URL, null);
??? ??? ??? boolean dsAlwaysLookup = pp.getBooleanProperty(
??? ??? ???
??? ???
PROP_DATASOURCE_JNDI_ALWAYS_LOOKUP, false);
??? ??? ??? String dsUser = pp.getStringProperty(PROP_DATASOURCE_USER, "");
??? ??? ??? String dsPass = pp.getStringProperty(PROP_DATASOURCE_PASSWORD, "");
??? ??? ??? int dsCnt = pp.getIntProperty(PROP_DATASOURCE_MAX_CONNECTIONS, 3);
??? ??? ??? String providerClass = pp.getStringProperty(
??? ??? ???
??? ??? PROP_DATASOURCE_PROVIDER_CLASS,
null);
??? ??? ??? String dsJndi = pp
??? ??? ???
??? ???
.getStringProperty(PROP_DATASOURCE_JNDI_URL, null);
??? ??? ??? String dsJndiInitial = pp.getStringProperty(
??? ??? ???
??? ??? PROP_DATASOURCE_JNDI_INITIAL,
null);
??? ??? ??? String dsJndiProvider = pp.getStringProperty(
??? ??? ???
??? ??? PROP_DATASOURCE_JNDI_PROVDER,
null);
??? ??? ??? String dsJndiPrincipal = pp.getStringProperty(
??? ??? ???
??? ??? PROP_DATASOURCE_JNDI_PRINCIPAL,
null);
??? ??? ??? String dsJndiCredentials = pp.getStringProperty(
??? ??? ???
??? ??? PROP_DATASOURCE_JNDI_CREDENTIALS,
null);
??? ??? ??? String dsValidation = pp.getStringProperty(
??? ??? ???
??? ??? PROP_DATASOURCE_VALIDATION_QUERY,
null);
??? ??? ??? if (providerClass == null
??? ??? ??? ??? ??? || providerClass.equals("")
??? ??? ??? ??? ??? || providerClass
??? ??? ???
??? ??? ???
???
.equals("org.quartz.utils.PoolingConnectionProvider")) {
??? ??? ??? ??? if (dsDriver == null) {
??? ??? ???
??? ??? initException = new
SchedulerException(
??? ??? ???
??? ??? ???
??? "Driver not specified for DataSource: "
??? ??? ???
??? ??? ???
??? ??? ??? + dsNames[i]);
??? ??? ??? ??? ??? throw initException;
??? ??? ??? ??? }
??? ??? ??? ??? if (dsURL == null) {
??? ??? ???
??? ??? initException = new
SchedulerException(
??? ??? ???
??? ??? ???
??? "DB URL not specified for DataSource: "
??? ??? ???
??? ??? ???
??? ??? ??? + dsNames[i]);
??? ??? ??? ??? ??? throw initException;
??? ??? ??? ??? }
??? ??? ??? ??? try {
??? ??? ???
??? ??? PoolingConnectionProvider cp =
new PoolingConnectionProvider(
??? ??? ???
??? ??? ???
??? dsDriver, dsURL, dsUser, dsPass, dsCnt,
??? ??? ???
??? ??? ???
??? dsValidation);
??? ??? ???
??? ??? dbMgr =
DBConnectionManager.getInstance();
??? ??? ???
??? ???
dbMgr.addConnectionProvider(dsNames[i], cp);
??? ??? ??? ??? } catch (SQLException sqle) {
??? ??? ???
??? ??? initException = new
SchedulerException(
??? ??? ???
??? ??? ???
??? "Could not initialize DataSource: " + dsNames[i],
??? ??? ???
??? ??? ???
??? sqle);
??? ??? ??? ??? ??? throw initException;
??? ??? ??? ??? }
??? ??? ??? } else if (providerClass
??? ??? ???
??? ???
.equals("org.quartz.utils.JNDIConnectionProvider")) {
??? ??? ??? ??? Properties props = null;
??? ??? ??? ??? if (null != dsJndiInitial || null != dsJndiProvider
??? ??? ???
??? ??? ??? || null !=
dsJndiPrincipal || null != dsJndiCredentials) {
??? ??? ??? ??? ??? props = new Properties();
??? ??? ??? ??? ??? if (dsJndiInitial != null)
??? ??? ???
??? ??? ???
props.put(PROP_DATASOURCE_JNDI_INITIAL, dsJndiInitial);
??? ??? ??? ??? ??? if (dsJndiProvider != null)
??? ??? ???
??? ??? ???
props.put(PROP_DATASOURCE_JNDI_PROVDER, dsJndiProvider);
??? ??? ??? ??? ??? if (dsJndiPrincipal != null)
??? ??? ???
??? ??? ???
props.put(PROP_DATASOURCE_JNDI_PRINCIPAL,
??? ??? ???
??? ??? ???
??? ??? dsJndiPrincipal);
??? ??? ??? ??? ??? if (dsJndiCredentials != null)
??? ??? ???
??? ??? ???
props.put(PROP_DATASOURCE_JNDI_CREDENTIALS,
??? ??? ???
??? ??? ???
??? ??? dsJndiCredentials);
??? ??? ??? ??? }
??? ??? ???
??? JNDIConnectionProvider cp = new
JNDIConnectionProvider(dsJndi,
??? ??? ???
??? ??? ??? props,
dsAlwaysLookup);
??? ??? ??? ??? dbMgr = DBConnectionManager.getInstance();
??? ??? ??? ??? dbMgr.addConnectionProvider(dsNames[i], cp);
??? ??? ??? } else if (providerClass
??? ??? ???
??? ???
.equals("org.quartz.utils.HibernateConnectionProvider")) {
??? ??? ???
??? HibernateConnectionProvider cp = new
HibernateConnectionProvider();
??? ??? ??? ??? dbMgr = DBConnectionManager.getInstance();
??? ??? ??? ??? dbMgr.addConnectionProvider(dsNames[i], cp);
??? ??? ??? } else {
??? ??? ??? ??? initException = new SchedulerException(
??? ??? ???
??? ??? ???
"Provider_Class not Supported: " + providerClass);
??? ??? ??? ??? throw initException;
??? ??? ??? }
??? ??? }
??? 最后就是修改配置文件quartz.properties,加入
#org.quartz.dataSource.myDS.provider_class = org.quartz.utils.JNDIConnectionProvider
#org.quartz.dataSource.myDS.provider_class = org.quartz.utils.PoolingConnectionProvider
org.quartz.dataSource.myDS.provider_class = org.quartz.utils.HibernateConnectionProvider加#的供參考.
??? 經過測試,需要對hibernate連接池的一些參數進行微調,這樣就完成了Quartz與Hibernate在數據庫的連接方面的結合,如果有更好的解決方案,請聯系我.
|
|
| 日 | 一 | 二 | 三 | 四 | 五 | 六 |
---|
30 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|
常用鏈接
留言簿(6)
隨筆分類
隨筆檔案
文章檔案
相冊
我關注的文章
我聽的音樂
我瀏覽的網站
我的好友
我看的書
我看社會
搜索
最新評論

閱讀排行榜
評論排行榜
|
|