2009年3月10日 星期二

十二星座與生命靈數

12星座加上靈數會有什麽樣的新火花呢?你的靈數個性將告訴你最秘密潛在性格哦!

生命靈數演算法:

例:生日是1980年8月16日
他的生命靈數就是
1+9+8+0+8+1+6=33 3+3=6

我們可以知道生命靈數是6,8月16日誕生是獅子座,由此而看獅子座靈數6的部份。

白羊座 :

生命靈數1:你是個主觀很強的人,只想著自己想做的事。
生命靈數2:你會在意別人看你的眼光,個性比較害羞一點。
生命靈數3:喜歡表達自己的想法,但也要多聽聽別人的意見哦!
生命靈數4:你對未來很關心,很少胡思亂想,會腳踏實地的努力。
生命靈數5:最愛玩的白羊非你莫屬,尤其喜歡到處去湊熱鬧。
生命靈數6:你很固執哦!尤其是感情層面,而且非常的主觀。
生命靈數7:對於自己覺得有理的地方非常的堅持,不聽別人的意見。
生命靈數8:很重視實際層面的成就,會很努力在學習和工作上。
生命靈數9:你是較不切實際的人,不過你的熱情可將不可能變成可能。

金牛座 :
生命靈數1:你的行動力很強,對事自有一套,做法也不喜歡受干涉。
生命靈數2:你會重視人際關係,在與別人相處時也比較容易受影響。
生命靈數3:你是牛座中比較靈活的,喜歡發表自己所研究出來的事物。
生命靈數4:你是牛座中最固執的哦!你的想法常常和別人不太一樣。
生命靈數5:你是一隻多才多藝的牛,如果能夠定下來會更有成就。
生命靈數6:你是最念舊的牛座,對於自己重視的東西會非常呵護。
生命靈數7:你是有叛逆性格的牛牛,不易被別人說服,自有一套想法。
生命靈數8:你很重視實際層面的成就,會努力讓自己更加的優秀或成功。
生命靈數9:你是牛座中最有夢想的,但是要多學習如何落實在現實中。

雙子座 : 
生命靈數1:喜歡自由自在的你,對於自己有興趣的事情都會去鑽研哦!
生命靈數2:你是最喜歡與別人溝通的雙子座,不過很容易受外來的影響。
生命靈數3:你真的是雙子座中最爲多才多藝的,什麽東西都是一學就會。
生命靈數4:你是比較重視生活規律的人,看來隨和但自有一套規則。
生命靈數5:喜歡到處亂跑的你真是交友滿天下,心性上也比較不穩定。
生命靈數6:你是雙子中最重視人情味的,尤其重視老朋友之間的感情。
生命靈數7:你是雙子中最刁鑽古怪的,常想些別人都不會想到的問題。
生命靈數8:你喜歡享受生活,會特別的注重自己的生活品質。
生命靈數9:你是雙子中最會胡思亂想的,同時也是比較熱情的。

巨蟹座 :
生命靈數1:你個性上有點自閉哦!不容易真正和別人有好的交流。
生命靈數2:會很看重別人的意見,要小心因此喪失自己的意見。
生命靈數3:喜歡感情上的表達與溝通,在藝術上會有不錯的天份。
生命靈數4:你是蟹子中比較龜毛的,尤其重視自己生活上的規律。
生命靈數5:你不一定喜歡亂跑,但不能受到太多拘束,喜歡自由自在。
生命靈數6:你是蟹座中最重感情的,尤其在感情世界裏很要求完美。
生命靈數7:你是蟹子中想得最多的,表現出來的模樣也頗爲固執己見。
生命靈數8:你很重視現實上的成就與穩定,會努力讓自己的生活更好。
生命靈數9:你是蟹子中相當熱情的,但剛到新的環境會比較害羞。

獅子座 :
生命靈數1:你是獅子座中最爲自我的,但可能因此造成人際問題。
生命靈數2:別人的肯定對你來說非常重要,可能因此而失去自我。
生命靈數3:你是獅子座中最愛表現自己的,通常是人際關係中的佼佼者。
生命靈數4:你是固執的獅子,而且在行動上比較缺乏冒險犯難的精神。
生命靈數5:獅子中最熱愛自由的就是你啦!一般來說你們是相當大方的。
生命靈數6:你是獅子座中比較龜毛的,尤其是感情的表達上會顯得害羞。
生命靈數7:你是很會想的獅子座哦!雖然比較主觀,但還可以溝通。
生命靈數8:你是一個講究生活品味的人哦!喜歡從容優渥的過日子。
生命靈數9:你的熱情很容易感動別人,在人群中常是人氣旺的明星喔!

處女座 :
生命靈數1:你有點孤僻,常常覺得別人不瞭解你,要多與別人互動才好。
生命靈數2:你會很注重每個人的意見,與別人來往時也是非常誠懇的。
生命靈數3:能力頗佳的你,適合擔任發言或主持的任務。
生命靈數4:你是處女座中最爲龜毛的,尤其容易劃地自限,要特別注意。
生命靈數5:你是屬於比較外向的,容易交到許多朋友,但知心的並不多。
生命靈數6:你是非常非常念舊的人哦!尤其是感情上,常常很難割捨。
生命靈數7:你的個性比較剛直,不過在與人交往上還是要多體諒別人哦!
生命靈數8:你是比較圓滑的人,很瞭解人際上的交流要如何互動。
生命靈數9:對你投入的事情非常的狂熱,有時甚至因此而廢寢忘食。

天秤座 :
生命靈數1:你是秤子中比較獨立的,在決定事情時也比較不會猶豫不決。
生命靈數2:在秤子中你是最需要別人陪伴的,如果沒有伴會感到不安。
生命靈數3:你是秤子中最有才華的,在各項藝術領域都有不錯的天份。
生命靈數4:你是秤子中最爲重視實際層面的,也是比較有責任感的哦!
生命靈數5:你是一隻喜愛交流的天秤,對感到好玩的事情都不會放過。
生命靈數6:感情的順利與否對你來說非常重要哦!要小心的經營才好。
生命靈數7:你是秤子中最喜歡思考的,對許多事都會找出合理的方法。
生命靈數8:很重視生活的感覺,不能忍受太差的生活環境,有雅癖傾向。
生命靈數9:你許多想法都有些不切實際,而且熱情常常無法持久哦!

天蠍座 :
生命靈數1:你很重視自己的目標,不太理睬身邊其他人在做些什麽。
生命靈數2:你很在乎兩人關係上的忠誠,會全心全意的對待另一半。
生命靈數3:對於溝通與人際關係是你的專長,總能夠得到大家幫助。
生命靈數4:你是非常非常固執的,一旦你決定的事就難以改變。
生命靈數5:你是蠍子中最開朗的,也是最容易與大家打成一片的。
生命靈數6:你是個完美主義者,尤其是非常重視感情方面的經營。
生命靈數7:你想的很多,常想到一些別人找不到的問題,非常聰明。
生命靈數8:你很重視自己的社會地位,認爲應該得到的就會去爭取。
生命靈數9:對於你喜歡或相信的事是非常狂熱的,但表面上看不出來。

射手座 :
生命靈數1:你常常我行我素,一有目標就會很快去執行,行動力很強。
生命靈數2:喜歡與別人溝通相處的你,在人際上會得到大家的幫忙。
生命靈數3:你是相當有才華的人哦!很能夠表現自己在藝術上的才華。
生命靈數4:你是射手座中最重視生活規律的,而且也很有自己的想法。
生命靈數5:哇!你真是超愛亂跑,一直待在同一個地方會讓你很難過。
生命靈數6:你是很重視親情的人哦!在人際交流上也是很有一套的。
生命靈數7:你真是想得太多,又有點固執的人,懷疑的心態很強哦!
生命靈數8:你很重視自己的成就和外在的表現,喜歡富裕的生活環境。
生命靈數9:你是很有理想的人,也是舉辦活動的高手,受到大家歡迎!

摩羯座 :
生命靈數1:你的自尊心很強哦!會默默的努力讓自己有所成就。
生命靈數2:你覺得與人交流是件重要的事,另外感情也是生活重心。
生命靈數3:只要你多加努力就能展現出自己的才華,會很有成就哦!
生命靈數4:你很重視腳踏實地的生活,會努力讓自己生活穩定下來。
生命靈數5:你是摩羯座中比較開朗的,對一些事比較不會那麽憂慮。
生命靈數6:感情是你生活平穩的重點,希望經營有未來的感情生活。
生命靈數7:你是一個非常聰明的人,但有時會因情緒化而下錯判斷。
生命靈數8:對你來說功成名就吸引力大,會努力成爲重要的人物。
生命靈數9:你對自己想做的事非常投入,不過有時會忘了實際狀況。

水瓶座 :
生命靈數1:你是瓶子座中最自閉的,有時候會顯得太過我行我素了些。
生命靈數2:你會比較受到別人的影響,但還不會失去自己原本的主張。
生命靈數3:你是個多才多藝的瓶子,尤其擅長於表達與溝通哦!
生命靈數4:你是瓶子中比較穩定的,會習慣維持某一種生活的方式。
生命靈數5:常常讓人找不到的就是你這種瓶子啦!朋友也是多不勝數。
生命靈數6:你是比較重感情的瓶子,感情問題會比較多。
生命靈數7:你是瓶子中最爲理性的,太過聰明的話有時候會不近人情。
生命靈數8:你是瓶子中比較重視物質的,會去追求自己所想要的生活。
生命靈數9:你的理想非常高遠,如果持續努力,成功的機會是很大的。

雙魚座 :
生命靈數1:你容易沈溺在自己的世界的,忘記了身邊還有別人存在。
生命靈數2:你很容易受到別人的引導,而忘記了自己原本的方向哦!
生命靈數3:你是天生的藝術家,不過還是要稍爲注意一下現實環境。
生命靈數4:你是追求穩定生活的魚座,不喜歡太過混亂的生活。
生命靈數5:你比較沒有目標,幾乎什麽事都會去做做看,但都維持不久。
生命靈數6:感情是你最煩惱的事,常常因此而受到打擊或挫折。
生命靈數7:你想得很多,但是一旦遇到自己的事情就會比較主觀。
生命靈數8:你是喜歡享受的魚座,對於生活上的小事都非常的注意。
生命靈數9:你對於某些事都抱著很大的熱誠,過度的話會顯得特別偏執。

2009年3月5日 星期四

生辰八字怎麼算

生辰八字或者說八字,其實是周易術語四柱的另一種說法。四柱是指人出生的時間、即年、月、日、時。在人用天干和地支各出一字相配合分別來表示年、月、日、時,如甲子年、丙申月、辛醜日、壬寅時等。每柱兩字,四柱共八字,所以算命又稱“測八字”。依照天干、地支沂涵陰陽五行屬性之相生、相克的關係,推測人的體咎禍福。不過我們在這裏要講的不是如何“測八字”,而是如何算八字。


四柱八字排立
四柱以指一人出生的年、月、日、時。四柱排立是指找出一個人的生辰八字。主要分四步進行。


排年柱

年柱, 即人出生的年份用干支來表示. 注意上一年和下一年的分界線是以立春這一天的交節時刻劃分的, 而不是以正月初一劃分. 如某人陽曆2000年2月4日22點17分生, 由於陰曆2000年交立春是陽曆2000年2月4日20點32分, 因此此人的年柱為2000年之庚辰,而非1999年之已卯.

排月柱
月柱, 即用干支表示人出生之年月所處的節令. 注意月干支不是以農曆每月初一為分界線, 而是以節令為准, 交節前為上個月的節令, 交節後為下個月的節令.
一月 寅月 二月 卯月 三月 辰月 四月 巳月
從立春到驚蟄 從驚蟄到清明 從清明到立夏 從立夏到芒種
五月 午月 六月 未月 七月 申月 八月 酉月
從芒種到小暑 從小暑到立秋 從立秋到白露 從白露到寒露
九月 戌月 十月 亥月 十一月 子月 十二月 醜月
從寒露到立冬 從立冬到大雪 從大雪到小寒 從小寒到立春


節令含義:
正月立春: "立"是開始的意思, 表示萬物復蘇的春天又開始了, 天氣將回暖, 萬物將更新, 是農事活動開始的標誌. 立春是西曆的2月4日或5日.


二月驚蟄: 春雷開始轟鳴, 驚醒了蟄伏在泥土裏冬眠的昆蟲和小動物, 過冬的蟲卵快要孵化了, 這個節氣表示春意漸濃, 氣溫升高. 驚蟄是西曆的3月6日或7日.


三月清明: 這個節氣表示氣溫已變暖, 草木萌動, 自然界出現一片清秀明朗的景象. 清明是西曆的4月5日或6日.


四月立夏: 這個節氣表示夏季開始, 炎熱的天氣將要來臨, 農事活動已進入夏季繁忙季節了. 立夏是西曆的5月6日或7日.


五月芒種: "芒"是指殼實尖端的細毛, 在北方是割麥種稻的時候, 也是耕種最忙的時節, 芒種是西曆的6月6日或7日.


六月小暑: 這個節氣表示已進入暑天, 炎熱逼人, 小暑是西曆的7月7日或8日.


七月立秋: 這個節氣表示炎熱的夏季將過, 天高氣爽的秋天開始. 立秋是西曆的8月8日或9日.


八月白露: 這個節氣表示天氣更涼, 空氣中的水氣夜晚常在草木等物體上凝結成白色的露珠, 白露是西曆的9月8日或9日.


九月寒露: 這個節氣表示冬季的開始, 預示氣候的寒涼程度將逐漸加劇, 寒露是西曆的10月8日或9日.


十月立冬: 這個節氣表示清爽的秋天將過, 寒冷的冬天開始, 立冬是西曆的11月7日或8日.


十一月大雪: 這個節氣表示降雪來得較大, 大雪是西曆的12月7日或8日.


十二月小寒: 這個節氣表示開始進入冬季最寒冷的季節, 會有霜凍, 小寒是西曆的1月5日或6日.



以下是年上起月表.
月/年 甲己 乙庚 丙辛 丁壬 戊癸
------------------------------
正月 丙寅 戊寅 庚寅 壬寅 甲寅
二月 丁卯 己卯 辛卯 癸卯 乙卯
三月 戊辰 庚辰 壬辰 甲辰 丙辰
四月 己巳 辛巳 癸巳 乙巳 丁巳
五月 庚午 壬午 甲午 丙午 戊午
六月 辛未 癸未 乙未 丁未 己未
七月 壬申 甲申 丙申 戊申 庚申
八月 癸酉 乙酉 丁酉 己酉 辛酉
九月 甲戌 丙戌 戊戌 庚戌 壬戌
十月 乙亥 丁亥 己亥 辛亥 癸亥
冬月 丙子 戊子 庚子 壬子 甲子
臘月 丁醜 己醜 辛醜 癸醜 乙丑


排日柱
從魯隱公三年(西元前722年)二月己巳日至今, 我國干支記日從未間斷. 這是人類社會迄今所知的唯一最長的記日法.


日柱, 即用農曆的干支代表人出生的那一天. 干支記日每六十天一迴圈,由於大小月及平閏年不同的緣故, 日干支需查找萬年曆.


另外,日與日的分界線是以子時來劃分的, 即十一點前是上一日的亥時, 過了十一點就是次日的子時. 而不要認為午夜十二點是一天的分界點.


排時柱
時柱, 用干支表示人出生的時辰. 一個時辰在農曆記時中跨兩個小時,故一天共十二個時辰.
子時: 23點 --淩晨1 丑時: 1 點 --淩晨3
寅時: 3 點 --淩晨5 卯時: 5 點 --淩晨7
辰時: 7 點 --上午9 巳時: 9 點 --上午11
午時: 11點 --上午13 未時: 13點 --上午15
申時: 15點 --上午17 酉時: 17點 --上午19
戌時: 19點 --晚上21 亥時: 21點 --晚上23



日上起時表:
時/日 甲己 乙庚 丙辛 丁壬 戊癸
------------------------------
子 甲子 丙子 戊子 庚子 壬子
醜 乙丑 丁醜 己醜 辛醜 癸醜
寅 丙寅 戊寅 庚寅 壬寅 甲寅
卯 丁卯 己卯 辛卯 癸卯 乙卯
辰 戊辰 庚辰 壬辰 甲辰 丙辰
巳 己巳 辛巳 癸巳 乙巳 丁巳
午 庚午 壬午 甲午 丙午 戊午
未 辛未 癸未 乙未 丁未 己未
申 壬申 甲申 丙申 戊申 庚申
酉 癸酉 乙酉 丁酉 己酉 辛酉
戌 甲戌 丙戌 戊戌 庚戌 壬戌
亥 乙亥 丁亥 己亥 辛亥 癸亥


拿我的一位朋友舉例:朋友生於1984年8月27日,此年為甲子年(書中查到);按照立月柱歌訣可知:他的年天干為甲,所以月以丙為首,所以他的立月柱為,癸酉;相應的他的日柱為癸巳(書中查到);而他的時立柱根據時立柱歌訣得知:癸巳為日幹時,以壬配子時,所以時柱應為戊辰。這樣就排出了他的生辰八字:“甲子 癸酉 癸巳 戊辰”。


孩子是每一位父母的希望,寶寶一出生,就有了個準確的時間,年月日時,即古人常說的生辰八字,這八個字包含了一個人出生時的天體運行的基本狀態,也蘊含了一個人今後的命運。
要得到正確的出生時間,白天以日晷儀測量最准。鐘錶時間是人為的平均時和地區標準時,必須依節氣(太陽黃經)計算“真太陽時差”與依出生地計算“地方經度時差”,才能得到真正的出生天文時間。

推夜子時法(妥否?):
夜子時,與正子時不同,推法亦稍異。查子時之時間,由夜間十一點鐘開始,至一點鐘為止。在夜十一點至十二點之間生人者,乃是夜子時。是時為今夜之子時,乃屬於今日之內。十二點鐘後,屬明日。所謂夜子時者,乃今日之夜,非明日之早。正子時者,乃明日之早,非今日之夜也。一時有兩點鐘,前一點鐘是夜子,後一點鐘是正子。遁幹之法,與日上起時法,稍有區別。必須于遁得亥時之後,再加遁一位也。

例:假如丙午年,庚寅月,乙丑日,十一點鐘後,十二點鐘前,夜子時生。歌訣雲:乙庚丙作初。是乙日子時(正子)遁丙子,依次順數丁醜,戊寅,己卯,庚辰,辛巳,癸未,甲申,乙酉,丙戌,丁亥,夜子時須即戊子也。


《克擇講義》:每午後十一點五十九分五十九秒五十九微為夜子,屬陰; 就是上四刻,原作現日之額。若超過十二點起至一點內止,則是早子明日,作下四刻,屬陽,萬年不易。
自古至今甲己日起甲子時,夜子原起甲子相同,加注夜子可也。

2009年3月3日 星期二

長生十二神

“紫微斗數”的“長生十二神”,以“長生”為首,代表生命發展的十二個階段。分陰陽、男女、順逆。

“長生十二神”分別為:長生、沐浴、冠帶、臨官、帝旺、衰、病、死、墓、絕、胎、養。


長生:(為人生第一階段)

“長生”為人生的開始,是人面世的開端,並非是生命的開始。

“長生”所體現的是生命力的開展。它並不是一個人生命力最強的階段,卻是生命力蘊藏最深厚的階段。所以“長生”所在的宮垣,便帶有“開啟、悠久、積累、豐厚”的意味。

當“長生”在命、身宮時:代表一個人生命力很強,且溫厚聰明,壽命較長。

當“長生”在兄弟宮時:象徵一個人手足情深,或易得知己。

當“長生”在父母宮時:意味一個人常得人提攜照顧。

當“長生”在財帛宮時:意味財富的積累。

當“長生”在夫妻宮時:意味大小配(以小配為多)。凡夫妻宮不吉,坐“長生”而大小配者,往往無災。

當“長生”在子女宮時:意味(逢“胎、養、長生”)對子女之保育養護有利。

三方四正逢“胎、養、長生”,為得子女之徵兆。

幼輩逢之,能解夭。

餘者類推。

但“長生”最忌與空曜同宮,被“空、劫”所夾同論。



沐浴:(為人生第二階段)

人出生後,需要沐浴,洗去從母胎中帶來的血跡。

所以從生命力而言,“沐浴”亦為“積蘊”的表徵。

“沐浴”亦帶有桃花性質,為桃花諸曜之一,而且不是正桃花,常帶有不良性質。尤其是在“子、午、卯、酉”四宮,但在“辰、戌、醜、未”四宮桃花性質便大為減少。

“沐浴”與“昌、曲、化祿、祿存”同度之時,可將桃花轉化為財祿,可視為因異性而得財。

“沐浴”往往主與異性有關,見惡曜,主因異性,而導致破財、失職等狀況。

“沐浴”與“咸池、大耗、天姚、紅鸞、天喜、天刑、陰煞”等同度之時,只能視作桃花。

若又見“貪狼化忌”同度,加強奪愛的意味。

倘若再見“昌、曲化忌”,主因桃花破財,並與異性發生糾紛。

當“沐浴”在命、身宮時:主人優柔寡斷,不聽忠告,一生感情糾紛多。

當“沐浴”在官祿宮時:職業易變。

當“沐浴”在財帛宮時:生逢“敗地”,發也需花。“沐浴”所在的宮位,即為“敗地”。

當“沐浴”在夫妻宮時:主夫妻關係和睦,反為佳格。



冠帶:(為人生第三階段)

古代20歲接受冠禮,表示其人已經長成。

“冠帶”代表成長,所以“冠帶”所在的宮垣,便帶有“成熟、發越、喜慶”的意味。

當“冠帶”在命、身宮時:主人好勝心強,要求高,喜批評別人,對事挑剔、苛刻,有名望,有權威,為自己打算,自私自利。

當“冠帶”在福德宮時:意味思想早熟,或思想成熟。再見“空曜及華蓋”,主人傾向于哲理。

當“冠帶”在官祿宮時:意味事業有發展的希望。

當“冠帶”在父母、子女、夫妻、財帛、僕役宮時:無特殊意義,僅助吉星祥曜,將其性質略為加強。

“冠帶”喜與“昌曲、天才、龍池、鳳閣”同度,主增加人的聰明才藝。



臨官:(為人生第四階段)

人至成年後,應該出而問世,為社會服務。古人把出仕作為最佳出路,故為“臨官”。

“臨官”為“服務與問世”的表徵。

當“臨官”與“天巫”同度時:有升遷的意義。

當“臨官”與桃花諸曜同度時:其人喜服務於異性,事業宜向這方面發展。

“臨官”喜與“七殺、破軍”同度,特別是當“破軍化祿、化權”時,主其人不守一業,喜歡多方面發展,所以多兼行兼業,或多兼職的機會。

“臨官”與“天同、天機”同度時,則僅主其人在事業發展上遊移不定。

“臨官”與“魁、鉞”同度,主其人宜服務於公共事業或政府機構。見“祿存、化祿”則主因為公眾服務而進財。

當“臨官”在命、身宮時:主人白手起家,早年不順,中晚年有成。

不富則高夀。

若為巨富之命,早年必喪妻。



帝旺:(為人生第五階段)

為人生命力最旺盛的階段,如日中天。是生命力的頂峰,一過頂峰,便漸走下坡。

“帝旺”為“氣勢與聲價”的表徵,須注意由頂峰下瀉的危險。

當“帝旺”在命、身宮時:主人傲氣,做事一意孤行,絕無依賴心理,獨來獨往,喜歡以自己的喜好來創造未來。不向人低頭,過於自傲,易得罪人,成就頗費苦心。

女命坐“帝旺”:豪爽,有男子氣,貞潔。

當“帝旺”在官祿宮時:往往主突發,尤其與輔佐諸曜同度時,更確。

當與“火貪”、“鈴貪”同度時,主暴起暴跌、暴發暴敗。

當“帝旺”與“紫微、天府、日生人的太陽、夜生人的太陰”同度時,若再得百官朝拱,主當局者有非常強的領導力,且事業上有氣派。

(當事業與財源一走下坡路的時候,便應當立刻改弦易轍,避免破敗。)



衰:(為人生第六階段)

代表人的生機開始由旺轉弱,即所謂的“盛極必衰”。

“衰” 在命、身宮:主人無生氣,缺乏鬥志,容易虎頭蛇尾。外表沉靜,內心急躁,沒耐心。

女命在“衰”:外貌文靜、秀氣,內心卻較刁蠻。

“衰” 在財帛宮:代表對求財缺乏自信心。

“衰” 在官祿宮:代表其人事業心不強。宜守成,不宜創業,若創業必艱難困苦。

“衰”在六親:往往代表的親切變成疏離。

“衰”對全局的影響不大,只對流月、流日起相當大的作用。




病:(為人生第七階段)

代表人的生機由旺轉衰後,以往累積之病灶,暴露出來,便容易生病。

“病”無非是“衰”的極致。

“病”在命、身宮:不表病,只代表人的生命力不夠強,或意志不夠堅定,做事沒恒心,喜幻想,名聲不響亮。

可能有二次婚姻,早年若無婚變,中年後夫妻關係會漸漸失和。

“病”在財帛宮:代表求財的欲望不大,而且往往缺乏實際行動,若煞忌同度,則代表常因病而花錢。

“病”在官祿宮:代表其人事業心不強。若見“天梁、天月”同時又見吉曜,則代表其人宜、從事與疾病有關的職業。

“病”在六親:六親緣分不足。

“病”在疾厄宮:老、少運逢之,易患重病。



“病”對全局的影響不大,只對流月、流日起相當大的作用。

但當“病” 入流日命宮,往往有小不適。





死:(為人生第八階段)

“死”不是指死亡,而是生命力相當之弱。

“死”在命、身宮、福德宮:代表其人容易優柔寡斷,消極,個性固執,喜鑽牛角尖,冥頑不化。

“死”在官祿宮:代表凡事隨緣,不主動爭取。

“死”在財帛宮:代表絕不爭取賺錢的機會。

“死” 在六親:代表與六親關係相當疏遠。尤其是在父母宮,如無吉星祥曜,而煞忌刑曜齊集時,往往代表無父母的蔭庇力,或跟上司關係不密切。

“死”在疾厄宮:老、少運亦不喜逢之,易帶病延年。



“死”對全局的影響不大,只對流月、流日起相當大的作用。

但當“死” 入流日命宮,該日便容易懶懶散散。



墓:(為人生第九階段)

“墓”,並不代表生機斷絕,或生命消滅,而是指生命力的“隱藏與潛伏”。

“墓”在命、身宮:為人不夠開朗,死氣沉沉。

“墓”在財帛宮:主積聚,尤其是見“化祿”進入後,便為積蓄儲存的表徵。

“祿存”不入墓庫,亦喜在三方會合。

若浮動的星曜“化祿”,入墓庫,可以增加其穩定性(如“天機化祿”等)。



絕:(為人生第十階段)

即走到絕路,性質最為不祥,代表人生發展過程中,一切生機都已斷絕,為徹底的絕滅,但仍不代表死亡。

“絕”在疾厄宮:主病後恢復期長,且比較困難。

“絕”在六親:彼此關係非常疏遠。

“絕”在財帛宮、官祿宮:灰心喪志。



胎:(為人生第十一階段)

屬生命的轉機,當生命滅絕後,重新結胎,於是新生命便開始了。

“胎”,是生機的開始,並不強壯,甚至還很孱弱。

“胎”在命、身宮:其人意志力並不堅強,帶幼稚的性質。

若見“天同”:會使“天同”更趨於情緒化。

若見“天機”:會使“天機”更不穩定。

但對其他星曜的影響作用不大。

另外“胎”還代表希望。

喜入財帛宮、官祿宮,見“入廟的太陽、太陰、天梁”同度:主擅長開展性的計畫。



“胎”為醞釀之喜。流年配合其他星曜有懷孕跡兆。



養:(為人生第十二階段)

為長養。

結胎之後需要長養,因此可視為與“墓”曜相對,兩顆星曜都代表潛藏隱伏。

“墓”曜代表衰落時的隱藏。

“養”曜代表生機發展尚未完全成熟的隱藏。與《周易》乾卦初九的“潛龍勿用”意義相同。

“養”比“胎”更加積極,在十二宮,皆可視作孕育、伺機發動的潛伏期。

“養”在疾厄宮:較為不吉,若同度正曜不吉,則為患上潛伏性的疾病。

“養”在財帛宮、官祿宮:注意“潛龍勿用”的特性,可以積極計畫,培養元氣,但不可冒昧行動。



(以上皆為“長生十二神”的基本性質,若具體論斷,一定要參照同度正曜而定)。

2007年12月25日 星期二

MySQL: 诡异的MySQL server has gone away及其解决

在Mysql执行show status,通常更关注缓存效果、进程数等,往往忽略了两个值:

Variable_name Value
Aborted_clients 3792
Aborted_connects 376

通常只占query的0.0x%,所以并不为人所重视。而且在传统Web应用上,query错误对用户而言影响并不大,只是重新刷新一下页面就OK了。最近的基础改造中,把很多应用作为service运行,无法提示用户重新刷新,这种情况下,可能就会影响到服务的品质。

通过程序脚本的日志跟踪,主要报错信息为“MySQL server has gone away”。官方的解释是:

The most common reason for the MySQL server has gone away error is that the server timed out and closed the connection.

Some other common reasons for the MySQL server has gone away error are:

  • You (or the db administrator) has killed the running thread with a KILL statement or a mysqladmin kill command.

  • You tried to run a query after closing the connection to the server. This indicates a logic error in the application that should be corrected.

  • A client application running on a different host does not have the necessary privileges to connect to the MySQL server from that host.

  • You got a timeout from the TCP/IP connection on the client side. This may happen if you have been using the commands: mysql_options(..., MYSQL_OPT_READ_TIMEOUT,...) or mysql_options(..., MYSQL_OPT_WRITE_TIMEOUT,...). In this case increasing the timeout may help solve the problem.

  • You have encountered a timeout on the server side and the automatic reconnection in the client is disabled (the reconnect flag in the MYSQL structure is equal to 0).

  • You are using a Windows client and the server had dropped the connection (probably because wait_timeout expired) before the command was issued.

    The problem on Windows is that in some cases MySQL doesn't get an error from the OS when writing to the TCP/IP connection to the server, but instead gets the error when trying to read the answer from the connection.

    In this case, even if the reconnect flag in the MYSQL structure is equal to 1, MySQL does not automatically reconnect and re-issue the query as it doesn't know if the server did get the original query or not.

    The solution to this is to either do a mysql_ping on the connection if there has been a long time since the last query (this is what MyODBC does) or set wait_timeout on the mysqld server so high that it in practice never times out.

  • You can also get these errors if you send a query to the server that is incorrect or too large. If mysqld receives a packet that is too large or out of order, it assumes that something has gone wrong with the client and closes the connection. If you need big queries (for example, if you are working with big BLOB columns), you can increase the query limit by setting the server's max_allowed_packet variable, which has a default value of 1MB. You may also need to increase the maximum packet size on the client end. More information on setting the packet size is given in Section A.1.2.9, “Packet too large.

    An INSERT or REPLACE statement that inserts a great many rows can also cause these sorts of errors. Either one of these statements sends a single request to the server irrespective of the number of rows to be inserted; thus, you can often avoid the error by reducing the number of rows sent per INSERT or REPLACE.

  • You also get a lost connection if you are sending a packet 16MB or larger if your client is older than 4.0.8 and your server is 4.0.8 and above, or the other way around.

  • It is also possible to see this error if hostname lookups fail (for example, if the DNS server on which your server or network relies goes down). This is because MySQL is dependent on the host system for name resolution, but has no way of knowing whether it is working — from MySQL's point of view the problem is indistinguishable from any other network timeout.

    You may also see the MySQL server has gone away error if MySQL is started with the --skip-networking option.

    Another networking issue that can cause this error occurs if the MySQL port (default 3306) is blocked by your firewall, thus preventing any connections at all to the MySQL server.

  • You can also encounter this error with applications that fork child processes, all of which try to use the same connection to the MySQL server. This can be avoided by using a separate connection for each child process.

  • You have encountered a bug where the server died while executing the query.


据此分析,可能原因有3:

1,Mysql服务端与客户端版本不匹配。

2,Mysql服务端配置有缺陷或者优化不足

3,需要改进程序脚本

通过更换多个服务端与客户端版本,发现只能部分减少报错,并不能完全解决。排除1。

对服务端进行了彻底的优化,也未能达到理想效果。在timeout的取值设置上,从经验值的10,到PHP默认的60,进行了多次尝试。而Mysql官方默认值(8小时)明显是不可能的。从而对2也进行了排除。(更多优化的经验分享,将在以后整理提供)

针对3对程序代码进行分析,发现程序中大量应用了类似如下的代码(为便于理解,用原始api描述):

$conn=mysql_connect( ... ... );

... ... ... ...

if(!$conn){ //reconnect

$conn=mysql_connect( ... ... );

}

mysql_query($sql, $conn);

这段代码的含义,与Mysql官方建议的方法思路相符[ If you have a script, you just have to issue the query again for the client to do an automatic reconnection. ]。在实际分析中发现,if(!$conn)并不是可靠的,程序通过了if(!$conn)的检验后,仍然会返回上述错误。

对程序进行了改写:

if(!conn){ // connect ...}

elseif(!mysql_ping($conn)){ // reconnect ... }

mysql_query($sql, $conn);

经实际观测,MySQL server has gone away的报错基本解决。

BTW: 附带一个关于 reconnect 的疑问,

在php4x+client3x+mysql4x的旧环境下,reconnet的代码:

$conn=mysql_connect(...) 可以正常工作。

但是,在php5x+client4x+mysql4x的新环境下,$conn=mysql_connect(...)返回的$conn有部分情况下不可用。需要书写为:

mysql_close($conn);

$conn=mysql_connect(...);

返回的$conn才可以正常使用。原因未明。未做深入研究,也未见相关讨论。或许mysql官方的BUG汇报中会有吧。



【转载地址】: http://www.jimmydong.com/blog/post/1/123

2007年12月21日 星期五

cssDoc - Write standardized professional css comments

For everyone familiar with either phpDoc or Javadoc let me introduce you to cssDoc. You can download a first draft of the core team which includes the maker of yaml (yet another multicolumn layout) @ http://cssdoc.net.

This is by far the most evolved attempt at standardizing comments for css. Anyone familiar with both phpDoc or javaDoc can adapt that knowledge directly in 5 mins.

This approach, in one form or another will be adopted by the w3c sometime in the future, I'll bet my ass on that.

/**
* October stylesheet for reinholdweber.com
*
* @section screen
* @author Reinhold Weber
* @version 1.01
* @copyright reinholdweber.com
* @media screen
*
* @link http://www.colourlovers.com/palette/129358/Clownfish_Hiding
* @colordef black #0C0402
* @colordef dark red #591F08
* @colordef dark orange #FE7C00
* @colordef light orange #FD8D00
* @colordef creme #FAF7F2
*
* @todo fix php styleswitcher
*/

I don't hate css but css hates me

50+ CSS Best Practices and Coding Guidelines

40 Tips for optimizing your php Code

  1. If a method can be static, declare it static. Speed improvement is by a factor of 4.
  2. echo is faster than print.
  3. Use echo's multiple parameters instead of string concatenation.
  4. Set the maxvalue for your for-loops before and not in the loop.
  5. Unset your variables to free memory, especially large arrays.
  6. Avoid magic like __get, __set, __autoload
  7. require_once() is expensive
  8. Use full paths in includes and requires, less time spent on resolving the OS paths.
  9. If you need to find out the time when the script started executing, $_SERVER[’REQUEST_TIME’] is preferred to time()
  10. See if you can use strncasecmp, strpbrk and stripos instead of regex
  11. str_replace is faster than preg_replace, but strtr is faster than str_replace by a factor of 4
  12. If the function, such as string replacement function, accepts both arrays and single characters as arguments, and if your argument list is not too long, consider writing a few redundant replacement statements, passing one character at a time, instead of one line of code that accepts arrays as search and replace arguments.
  13. It's better to use select statements than multi if, else if, statements.
  14. Error suppression with @ is very slow.
  15. Turn on apache's mod_deflate
  16. Close your database connections when you're done with them
  17. $row[’id’] is 7 times faster than $row[id]
  18. Error messages are expensive
  19. Do not use functions inside of for loop, such as for ($x=0; $x <>
  20. Incrementing a local variable in a method is the fastest. Nearly the same as calling a local variable in a function.
  21. Incrementing a global variable is 2 times slow than a local var.
  22. Incrementing an object property (eg. $this->prop++) is 3 times slower than a local variable.
  23. Incrementing an undefined local variable is 9-10 times slower than a pre-initialized one.
  24. Just declaring a global variable without using it in a function also slows things down (by about the same amount as incrementing a local var). PHP probably does a check to see if the global exists.
  25. Method invocation appears to be independent of the number of methods defined in the class because I added 10 more methods to the test class (before and after the test method) with no change in performance.
  26. Methods in derived classes run faster than ones defined in the base class.
  27. A function call with one parameter and an empty function body takes about the same time as doing 7-8 $localvar++ operations. A similar method call is of course about 15 $localvar++ operations.
  28. Surrounding your string by ' instead of " will make things interpret a little faster since php looks for variables inside "..." but not inside '...'. Of course you can only do this when you don't need to have variables in the string.
  29. When echoing strings it's faster to separate them by comma instead of dot. Note: This only works with echo, which is a function that can take several strings as arguments.
  30. A PHP script will be served at least 2-10 times slower than a static HTML page by Apache. Try to use more static HTML pages and fewer scripts.
  31. Your PHP scripts are recompiled every time unless the scripts are cached. Install a PHP caching product to typically increase performance by 25-100% by removing compile times.
  32. Cache as much as possible. Use memcached - memcached is a high-performance memory object caching system intended to speed up dynamic web applications by alleviating database load. OP code caches are useful so that your script does not have to be compiled on every request
  33. When working with strings and you need to check that the string is either of a certain length you'd understandably would want to use the strlen() function. This function is pretty quick since it's operation does not perform any calculation but merely return the already known length of a string available in the zval structure (internal C struct used to store variables in PHP). However because strlen() is a function it is still somewhat slow because the function call requires several operations such as lowercase & hashtable lookup followed by the execution of said function. In some instance you can improve the speed of your code by using an isset() trick.

    Ex.
    if (strlen($foo) < 5) { echo "Foo is too short"; }
    vs.
    if (!isset($foo{5})) { echo "Foo is too short"; }

    Calling isset() happens to be faster then strlen() because unlike strlen(), isset() is a language construct and not a function meaning that it's execution does not require function lookups and lowercase. This means you have virtually no overhead on top of the actual code that determines the string's length.
  34. When incrementing or decrementing the value of the variable $i++ happens to be a tad slower then ++$i. This is something PHP specific and does not apply to other languages, so don't go modifying your C or Java code thinking it'll suddenly become faster, it won't. ++$i happens to be faster in PHP because instead of 4 opcodes used for $i++ you only need 3. Post incrementation actually causes in the creation of a temporary var that is then incremented. While pre-incrementation increases the original value directly. This is one of the optimization that opcode optimized like Zend's PHP optimizer. It is a still a good idea to keep in mind since not all opcode optimizers perform this optimization and there are plenty of ISPs and servers running without an opcode optimizer.
  35. Not everything has to be OOP, often it is too much overhead, each method and object call consumes a lot of memory.
  36. Do not implement every data structure as a class, arrays are useful, too
  37. Don't split methods too much, think, which code you will really re-use
  38. You can always split the code of a method later, when needed
  39. Make use of the countless predefined functions
  40. If you have very time consuming functions in your code, consider writing them as C extensions
  41. Profile your code. A profiler shows you, which parts of your code consumes how many time. The Xdebug debugger already contains a profiler. Profiling shows you the bottlenecks in overview
  42. mod_gzip which is available as an Apache module compresses your data on the fly and can reduce the data to transfer up to 80%