【人生的BUG】下
.
既然人生不可能出錯,不好的bug會被系統移除,好的bug可以變成秘技,那麼人生還會有bug嗎?
.
在我的觀察中,我發現人生會出現的bug的情況有四種。
.
相信大家都有買過新電腦,然後當你使用久了以後,即使你經常清記憶體,但是電腦仍然會累格給你看,速度跑起來很慢,或是彩虹圈圈一直轉,這很熟悉對吧?
.
既然我們是在遊戲世界,透過一個軟體系統的運作,時間久了(人類遊戲對我們來說是不可能重新開機的,但對上界來說是可以的)。就跟電腦一樣,當我們安裝了太多亂七八糟的程式、開啟目前沒必要運作的軟體,這些因素都會造成系統的不穩定。
.
所以從人生來看,我認為第一個會產生bug的是矛盾的欲望。我有一個個案,他喜歡A女,希望可以追求到A女,但過程中又出現了他也感興趣的B女,(兩個女生彼此是認識的)所以他想請我讓他兩個女生都可以追到手。我一開始勸他不要這樣做,但他執意想試試看,做了量轉後約一年,他與A女兩人只有些許的進展,他與B女則在半年內什麼事情都沒有發生。
.
後來我一看,發現之所以沒進展並不是量子轉化效果不好,而是這件事被個案本身矛盾欲望產生的bug所干擾了。個案想跟A女結婚,跟B女比較是玩玩的性質,所以他經常處在一個「如果現在跟A在一起論及婚嫁的話,我就不能跟B在一起了,如果先跟B在一起,又被A知道的話,我跟A也就會告吹了」的矛盾。
.
再簡單一點的比喻,我們想像他心裡的指令一下子是「要」、一下子是「不要」,重複不斷累積了一年的結果,宇宙不對這樣的指令感到錯亂才怪。這樣的錯亂,對事件產生了許多的bug,尤其是個案針對B女的bug超級多。我先幫個案清除了bug,請他想清楚到底想跟誰在一起,這樣應該可以讓事情單純化,解決bug的出現與干擾。
.
第二,經常性的想很多與情緒處在負面的狀態。這就像是你一直在開啟不需要運作的軟體,記憶體被佔滿,一定會產生bug。而且因為你的系統太習慣於負面的狀態,就會一直在這樣的狀態下空轉。空轉還不是最可怕的,因為你一直習慣負面,所以最終你的系統失去了辨識出什麼是快樂的能力,自然你的生命就會永遠的處在倍感匱乏與痛苦的狀態裡。
.
第三,身體的bug。我們要體驗D文明的遊戲,就必須透過這個肉身這個載體。身體本身也提供了上界許多有趣的遊戲與行程,有些身體上的不適與疾病是你在上界原先就購買好的行程,有些問題則是系統運作不穩定所產生的bug;而如果你太疲勞與缺乏休息也容易產生身體上的bug。
.
我自己的經驗是,一個身體(或其他事件)的問題出現時,最好能先確定是否有bug,因為bug所產生的健康問題反而比較難清除,要釐清與考量的要素比較多,這也就是有時候生病了怎麼看醫生都不會好的原因。要處理bug相關的疾病與不適會需要很精準的能量測試技術、高強的法力與醫學知識才能正確的判斷與處理。
.
最後第四,能量、靈、詛咒方面所產生的bug。我一位通靈朋友曾經告訴我,他有一對不孕的夫妻個案到處拜拜希望可以懷孕生子,但多年一直未能開花結果。我朋友開了天眼看了一下,發現天上滿天神佛圍在一個小嬰兒身邊,可是因為這堆夫妻到處求,導致沒有神明願意出手幫忙,所以孩子雖是有,但是卻沒有機緣可以來到世上。
.
除了同一件事情到處求神拜佛會有bug之外,找一堆老師問事處理的,也會產生bug。不同身心靈派別之間的技巧相容度並沒有大家想像中來得高,所以也跟第一種bug會有類似的情況:不同技巧間因為不相容而產生bug,同樣的也會導致問題進退兩難與空轉而無法被解決。
.
此外,被作法被詛咒太嚴重的,因為違背了原本人生的劇本走向,會讓被作法與詛咒的對象生命中出現紊亂的bug現象,如果被重複作法,能量會往上加疊,重複卡,導致閃神、恐慌、憂鬱、鬼打牆、跳針、精神錯亂、做惡夢、失眠、衰運、想死等等現象。
.
(請注意,我不幫人處理被作法詛咒的問題,因為那等同要與別人開戰,擋人財路。)
.
那麼人生遇到了這些bug該怎麼自救呢?答案很簡單,還是「情緒釋放」。雖然情緒釋放未必能解決掉所有的問題,但是在釐清自己的目標與設定句的時候,多少還是能處理掉矛盾所產生的念頭,也能幫助自己脫離負面情緒的桎梏。有些因為負面情緒所引起的身體問題,也可以透過情緒釋放而改善。
.
其實人類遊戲還有病毒的問題,但原則上這個不會發生在一般人身上,所以我們可以跳過不討論。
.
#零通靈博士事件簿
#系統優化很重要
#人生簡簡單單就好
#想太多很累
#我連想太多都懶
#讓我好好睡就很開心
同時也有2部Youtube影片,追蹤數超過1萬的網紅鍾日欣,也在其Youtube影片中提到,我是JC老師 電腦相關課程授課超過6000小時的一位 Photoshop 課程講師 由於實在太多同學向JC老師反映,希望可以有線上課程學習,所以就決定錄製一系列的 Photoshop 線上影片教學 而且不加密、不設限、不販售,就是純分享,希望可以幫助到有需要的朋友們 如果這部 Photoshop 教...
清除記憶體指令 在 紀老師程式教學網 Facebook 的最佳貼文
[熱門文章] 程式設計、重構、與其它任何東西的終極問答
"The Ultimate Question of Programming, Refactoring, and Everything"
網頁版: http://goo.gl/6jIcIp
PDF 版: https://yadi.sk/i/pBZqebxsr5Wyg
#Craftmanships #SoftwareEngineering #CPP #Refactoring #ProgrammingSkills
好的!遲交比不交好,今天的推薦文來了(笑)~
今天介紹這篇,是過去一個禮拜在國外鄉民聚集地 Reddit 程式設計版瘋傳的文章。標題很臭屁「The Ultimate Question of Programming, Refactoring, and Everything」(沒錯!我就在意它最後一個字 "Everything"。咬我啊! XD)。因為轉載的人實在太多,讓我不禁努力地把它看完了。
其實這篇文章講的是 C/C++ 程式寫作者應該注意、或建議遵守的 42 個小訣竅。既不「Ultimate(終極)」,也不是涵蓋「Everthing」。不過裡面還是有不少中肯的建議,所以我還是將它介紹給大家。
為了讓英文苦手的朋友也能稍微感受一下這篇文章在講什麼,所以我不負責任地快速翻譯了每個標題一下。如果對哪個主題有興趣的,就麻煩大家直接對照標題號碼去看原文解說。原文有些標題用「戲謔」或「隱晦」寫法,我若直接翻譯,大家可能不知道原作者想表達什麼。所以我會將某些標題,用比較易懂的中文重新表達。一切以「標題編號(1~42)」為準。
接下來就請享用我這個不負責任的翻譯了。有會錯原文意思的,還請各位留言在下方、然後鞭小力一點 XD。我會馬上修正的:
1. 不要去做編譯器會做的事情
如:用迴圈能存取 a[0] ~ a[9],就不要用「拷貝貼上」a[0], a[1], a[2]..., a[9] 來存取裡面的內容值。
2. 大於 0 不代表它等於 1
若文件告訴你某函數執行成功會傳回「大於0」的值、但目前這個大於0的值是「1」。請你寫程式的時候不要自作聰明地偵測「傳回值 == 1」當成成功,請乖乖遵照規格書用「傳回值 > 0」等於成功。因為將來的版本有可能還會傳回 2, 3...等其他值。
3. 當你拷貝貼上一段程式碼,記得檢查它的副本兩遍
有時候你拷貝貼上一段程式碼,會忘了去修改裡面一些不同的小數字,導致花了大把時間去檢查錯誤到底出現在哪裡。
4. 小心使用「? :」運算子。並記得多加括號
「? :」是 C/C++ 內常用的運算子。若您寫了一段這樣的原始碼「a - b?0:1」,您可能以為它是這樣運作的「a - (b?0:1)」,事實上,它是這樣運作的「(a-b)?0:1」。結論是,多加括號保平安。
5. 多用市面上有的工具來分析您的原始碼
市面上有些工具,如:原始碼靜態分析工具、原始碼排列工具...可以幫您在把原始碼送入編譯器前,就抓到錯誤。不過作者也提到,別以為倚賴這些工具,錯誤就不會發生。真正要減少錯誤還是得靠多讀規格書,增加程式寫作經驗才辦得到。
6. 確認您所有的指標,都已經轉型成整數型態
作者擔心,某些使用 64 bits 當成指標變數寬度的系統,到 32 bits 的機器內重新編譯時,會產生高位元組被截斷的慘劇。某些編譯器提供「uintptr_t」這個專門給指標變數使用的型態,會隨著編譯器所在的環境,自動調整指標寬度。
7. 別在迴圈內呼叫「alloca()」這個函數
萬一迴圈失控,alloca() 函數會霸佔大量記憶體無法釋放。建議事先在迴圈外霸佔一大塊足夠的記憶體,然後在迴圈內慢慢蠶食之。
8. 在「解構函數(Destructor)」內使用「例外處理(Exception)」是很危險的!
作者認為,在負責釋放記憶體、收尾等工作的解構函數,還去霸佔新記憶體作事情是不好的。若真的發生例外(Exception),直接「吃掉(Supress)」不要讓它出現在使用者面前可能還比較好。
9. 若你要比對字串結尾,請用 '\0' 代表
有些程式設計師因為 '\0' 其實就是數字 0,而在比對字串結尾時,直接使用 0 來比對字串結尾。作者認為這個習慣不好。
10. 請勿濫用 # ifdef
# ifdef 很好用,但很容易讓原始碼雜亂難讀。作者不會建議大家不要用,但他反對連可以用 if ~ else 解決的場合,都濫用 # ifdef。
11. 別把一堆運算子全都擠在同一列
多分成幾列,Debugger 可以比較容易指出發生錯誤的是在哪個環節。
12. 當你「拷貝貼上」程式碼時,特別注意「最後一列效應」
作者還是不太建議濫用拷貝貼上,他認為需要重複使用一段程式碼,不如好好考慮寫成稍有彈性的函數,然後重複叫用。此外,他建議大家去看「最後一列效應」這篇文章(連結在本文),並了解最後一列效應在拷貝貼上程式碼內,所扮演的角色。
13. 程式碼若很長,盡量多折幾列,然後排成像表格般一樣整齊(Table-style)
14. 好編譯器 + 好的寫碼習慣是不夠的
內文舉了個後括號「)」括錯位置,但編譯器抓不出來的例子。
15. 若有一堆意義相關的常數,請用 enum 括住它們
16. 「看我能把程式碼寫得這麼屌!」的炫耀寫碼心態不可取
寫程式碼要以「穩」「易讀」為主,不是把一些剛學不久,覺得很酷,但三個月後會忘個精光的技術用進程式碼內。
17. 想用程式碼把一塊資料清乾淨,最好把清除程式碼獨立拉出來成一個專屬函數
18. 你在一個語言行得通的方法,在另一個語言不一定行得通
19. 盡量用技巧避免在同一個類別內,建構函數彼此呼叫的情況
20. 讀檔時,只檢查有沒有讀到檔尾(EOF)似乎是不夠的
21. 正確檢查 EOF 的方法
22. 有比使用 # pragma warning(...) 來印錯誤訊息更好的方法,勿濫用
23. 如果你想取得字串長度,用函數自動幫你算,別用手算然後硬填數字上去
24. 請多使用 "override" 與 "final",它們會是你的好朋友
25. 別再把 "this" 指標跟 "nullptr"(空指標)拿來作比較
26. 小心使用 VARIANT_BOOL 這個陰險狡猾的東西
27. BSTR(Binary STRing)這個用於微軟 COM/Automation 技術中的資料型態,請小心使用
28. 能用函數把一段程式碼包起來重複用,就別用巨集包它(使用巨集函數的缺點多於優點)
29. 在迴圈或迭代程式碼間,使用 ++i,來取代 i++(i++ 編譯後的執行效能稍微差那麼一點)
30. wprintf() 函數的使用陷阱:Win32 印寬字元字串要用 %S(大寫),Win64 要用 %s(小寫)。
31. 陣列在 C/C++ 傳給函數時,並非是「傳值呼叫」(Call by Value)
32. 要把檔案內的文字直接印在螢幕上時,請不要直接使用 printf() (怕檔案內夾雜 % 開頭的字,這些字對 printf 是有特殊意義的)
33. 想對一個指標取值(亦即:*p),記得檢查它是否為 NULL。否則你對 NULL 取值會導致系統出錯的
34. 別以為 int 的上限 21億+ 很多,在 64 bits 系統中,這個數字很容易爆掉
35. 若您把 enum 常數與 switch~case 連用,增加新元素進 enum 時也別忘了加新 case 進 switch
36. 如果有怎麼抓都抓不出來的 bugs,記得往「記憶體」的方向去思考(32bits vs. 64bits 之類的問題)
37. 在 do~while() 內用 continue 指令要小心,有可能會跳過你放在底部的「更新條件」,導致無窮迴圈
38. 對於指標,請用 nullptr 代替 NULL,這是新的 C++ 規格書希望您遵循的
39. 試著別把一列式子搞得太複雜,這樣比較不會有「咦?為何這段寫錯的程式碼居然可以運作」的問題出現
40. 開始使用「原始碼靜態分析工具」吧!
41. 別為了要使用某函式庫的一個函式,而引進整個函式庫。如果只用了一個函式,建議自己寫比較容易維護。
42. 別再用 empty 這個曖昧的字眼當函數名稱了。用 erase(), clear() 都比 empty() 好。
如果您覺得小弟翻譯了這麼多,沒有功勞也有苦勞,那就麻煩按個讚犒賞小弟一下吧!當然歡迎轉發給您 Facebook 的朋友共同討論。最後提醒一句,上述 42 點別把它們全都當聖旨,親身體會驗證才是最重要的喔!
祝福大家假期愉快!
清除記憶體指令 在 鍾日欣 Youtube 的最佳貼文
我是JC老師
電腦相關課程授課超過6000小時的一位 Photoshop 課程講師
由於實在太多同學向JC老師反映,希望可以有線上課程學習,所以就決定錄製一系列的 Photoshop 線上影片教學
而且不加密、不設限、不販售,就是純分享,希望可以幫助到有需要的朋友們
如果這部 Photoshop 教學影片對你有幫助的話,請幫我按個讚,給我點鼓勵,也多分享給需要的朋友們喔~
Photoshop 線上教學影片目錄:http://bit.ly/2A9PH3B
Photoshop 線上教學影片範例下載:http://bit.ly/2A9TcHu
JC-Design 網站:http://jc-d.net/
JC-Design 粉絲團:https://www.facebook.com/jcdesigntw/
JC-Design LINE ID:@umd7274k
---------------------------------------------------------------------------------------------------------
還原
● 編輯 / 還原(Ctrl+Z):可以還原一次
● 連續還原:(Ctrl+Alt+Z)
● 檔案 / 回複製前次儲存:必須為已存檔之檔案
---------------------------------------------------------------------------------------------------------
步驟記錄
● 視窗 \ 步驟記錄回復視窗
● 將從開啟檔案後所執行的步驟陳列於浮動視窗上,只要用滑鼠單點欲回復的步驟,即可回復至指定步驟
● 「步驟記錄」面板中不會反映整個程式的變更 (例如,面板、色彩設定、動作和偏好設定的變更),因為這些變更並非針對特定影像的變更。
● 依預設,「步驟記錄」面板會列出之前的 20 個狀態。您可以在「偏好設定 \ 效能」下設定偏好設定,來變更記錄的狀態數目。 為了釋放出更多記憶體供 Photoshop 使用,系統會自動刪除較早的狀態。若要保留整個工作階段的特定狀態,請取得狀態快照 (請參閱建立影像的快照)。
● 文件一旦關閉又重新開啟後,上次工作階段的所有狀態和快照就會從面板中清除。
● 依預設值,文件初始狀態的快照會顯示在面板的頂端。
● 狀態會加入清單的底部。也就是說,最舊的狀態會顯示在清單的頂端,最近的狀態顯示在底端。
● 每個狀態都會一併列出用來更改影像的工具名稱或指令。
● 依預設,當您選取狀態時,該狀態下面的所有狀態都會變成灰色,無法使用。這樣您就能清楚地看到,如果從選取的狀態繼續工作,有哪些更改會被放棄。
● 依預設,選取狀態後如果變更影像,會將這個狀態之後的所有狀態消除掉。
● 當您選了某個狀態,之後又更改影像,因而消除掉後面所有的狀態,這時可以使用「還原」指令還原前次更改,並復原消除掉的狀態。
● 依預設,刪除狀態會刪除該狀態和該狀態之後的所有狀態。如果您選擇了「允許非線性步驟記錄」選項,這時刪除一個狀態就只會刪除該狀態。
---------------------------------------------------------------------------------------------------------
====== 延伸線上教學聯結 =======
3ds Max 2015 線上教學影片目錄:http://bitly.com/2dUGqn3
AutoCAD 2015 2D 線上教學影片目錄:http://bitly.com/2dUGm6Y
TQC AutoCAD 2008 2D 線上教學影片目錄:http://bitly.com/2dUGQtB
清除記憶體指令 在 鍾日欣 Youtube 的精選貼文
我是JC老師
電腦相關課程授課超過6000小時的一位 Photoshop 課程講師
由於實在太多同學向JC老師反映,希望可以有線上課程學習,所以就決定錄製一系列的 Photoshop 線上影片教學
而且不加密、不設限、不販售,就是純分享,希望可以幫助到有需要的朋友們
如果這部 Photoshop 教學影片對你有幫助的話,請幫我按個讚,給我點鼓勵,也多分享給需要的朋友們喔~
Photoshop 線上教學影片目錄:http://bit.ly/2A9PH3B
Photoshop 線上教學影片範例下載:http://bit.ly/2A9TcHu
JC-Design 網站:http://jc-d.net/
JC-Design 粉絲團:https://www.facebook.com/jcdesigntw/
JC-Design LINE ID:@umd7274k
---------------------------------------------------------------------------------------------------------
還原
● 編輯 / 還原(Ctrl+Z):可以還原一次
● 連續還原:(Ctrl+Alt+Z)
● 檔案 / 回複製前次儲存:必須為已存檔之檔案
---------------------------------------------------------------------------------------------------------
步驟記錄
● 視窗 \ 步驟記錄回復視窗
● 將從開啟檔案後所執行的步驟陳列於浮動視窗上,只要用滑鼠單點欲回復的步驟,即可回復至指定步驟
● 「步驟記錄」面板中不會反映整個程式的變更 (例如,面板、色彩設定、動作和偏好設定的變更),因為這些變更並非針對特定影像的變更。
● 依預設,「步驟記錄」面板會列出之前的 20 個狀態。您可以在「偏好設定 \ 效能」下設定偏好設定,來變更記錄的狀態數目。 為了釋放出更多記憶體供 Photoshop 使用,系統會自動刪除較早的狀態。若要保留整個工作階段的特定狀態,請取得狀態快照 (請參閱建立影像的快照)。
● 文件一旦關閉又重新開啟後,上次工作階段的所有狀態和快照就會從面板中清除。
● 依預設值,文件初始狀態的快照會顯示在面板的頂端。
● 狀態會加入清單的底部。也就是說,最舊的狀態會顯示在清單的頂端,最近的狀態顯示在底端。
● 每個狀態都會一併列出用來更改影像的工具名稱或指令。
● 依預設,當您選取狀態時,該狀態下面的所有狀態都會變成灰色,無法使用。這樣您就能清楚地看到,如果從選取的狀態繼續工作,有哪些更改會被放棄。
● 依預設,選取狀態後如果變更影像,會將這個狀態之後的所有狀態消除掉。
● 當您選了某個狀態,之後又更改影像,因而消除掉後面所有的狀態,這時可以使用「還原」指令還原前次更改,並復原消除掉的狀態。
● 依預設,刪除狀態會刪除該狀態和該狀態之後的所有狀態。如果您選擇了「允許非線性步驟記錄」選項,這時刪除一個狀態就只會刪除該狀態。
---------------------------------------------------------------------------------------------------------
====== 延伸線上教學聯結 =======
3ds Max 2015 線上教學影片目錄:http://bitly.com/2dUGqn3
AutoCAD 2015 2D 線上教學影片目錄:http://bitly.com/2dUGm6Y
TQC AutoCAD 2008 2D 線上教學影片目錄:http://bitly.com/2dUGQtB