跳到主要內容

發表文章

目前顯示的是 2月, 2008的文章

如何在40歲以前成功

很普通的一本勵志書,裡面有幾個方法我還蠻喜歡的,可以試看看 培養慾望 排序1-10個慾望,可以在三個月到半年內做到的。 寫多張紙放在自己常看到的地方。 醒來念一遍、睡前在念一遍。 睡前幻想一想自己達到後的樣子。 持續1-2個月,不能有任何消極、退卻的念頭。 越想得到越往那裡想。 培養潛意識學習 躺在床上準備睡覺時,把所有要記得是情婦息一遍。 解決問題 盡量收集相關資料 從每個角度檢查研究,心中反覆思考 暫時離開該問題。 訓練解決問題 找一位肯認真傾聽我們計畫的人,把我們所想的事情,像他作有條理的說明。 把問題寫在紙上,用簡單的言語表達該問題。 治療心病 面對問題 假設一個最惡劣的狀況 去除感情緊張的原因 把憂愁事說出來 以好心情替帶壞心情 踏進新境界看看 聽取別人的良言 捕獲機會的秘訣 把自己安置在一較有機會的場所,公司必須是充滿機運的 應事先有妥當的準備 盡力工作,不論時間 好問 不分工作種類,主動承擔下來。 絕不說「沒辦法」 有機會的工作 發展中的事業 發展中的公司 經營方法是否開明 年輕人佔著重要地位 放鬆 養成定時就寢 休息就休息,不要操心 把心平靜下來,不要胡思亂想。 記載紙上,忘記他 對自己的肌肉講話。

看懂即時行情程式的必備程式技巧

今天中午跟柏彥談,像他從網頁開發程式語言轉入VC的開發,學習哪些會比較快入手。其實當初我也是比較擅長網頁的開發,物件導向概念相對於今日來說實在薄弱的可憐,縱使我用過java寫過case tool,但從今天的角度看來,我最多只懂的繼承罷了。返回正題,如果現在的我告訴兩年前的我,要從哪些地方下手,比較快能進入狀況呢? c++的部份 瞭解指標的基本概念與用法,但是不用太精研一些太難的用法,例如***p或*p1=&p1,這種神奇用法的真實意義,基本上連**p在程式裡都看不太到了。 函式傳址與傳值的用法。 初步stl用法,像vector.pushback語法,瞭解為啥用vector也不用陣列的意義。 memory leak。 建構與解構的概念。 多載。 oo三大特性,繼承、多型(虛擬機制、轉型)、封裝(存取層級)。 MFC與vc部份 編輯與執行環境設定 版本設定 trace與debug技巧 ClassWizard,如何對應各種事件與函式。 mdi架構初步瞭解 view初始時的message順序,OnCreate,OnShowWindow..... message routing 機制 看懂基本巨集 書籍部份,c++我推薦Essential c++,因為夠薄,撇開templete大概只有一百多頁,而且重點大多有講到。MFC的話,就深入淺出MFC,看完前面一兩章,再粗淺看完以上MFC所提出的部份就可以了。以上看完一遍,就可以進入實做啦!不懂再回來翻書,最慢一個禮拜應該可以進入狀況。 最近有想到一個很符合三從一大的訓練法則的方法,便是看完以上講的項目後,直接進入開發或debug,譬如說現在可以從file server抓200的IMMain,當有bug時,同步和我修改,等改完以後可以進vss抓最近更新的檔案,看我是改了哪些,完全符合從實戰練習出發此原則,從嚴的話,比較一下那一個改的比較好,思考一下為啥要這樣改,從難的話,一個禮拜就直接進入實作,我是覺的就算很難的啦!如果是r01就進來一起debug的話,就可以體驗什麼叫大量練習,哈哈XD! 或許有些主要要知道的項目漏了,但是我覺得邊移動邊開火,從實戰出發,是一個讓人快速進入狀況的好方法,看不懂程式的話再回去翻書或問人,總比多看一個月的書,多看一些系統用不到的方法,這樣對進入狀況卻沒什麼幫助,以前慘痛經驗總結。這樣方法或許對基礎

PostMessage bug

這兩天在解一個只有release才會發生的bug,我的直覺解法先找當的地方。所以一開始就大量的插log,但所有想得到的地方都插log了。但是沒想到所有函式都正常執行到最後,完全不知道是哪裡掛了。而這個bug難解的另一個原因,他是移植的功能,也就是是從其地方的程式碼抄過來的,裡面的邏輯我大部分沒仔細看過,也完全不想動。我可不想解了一個又產生另外一個。 花了快一天的工作天,還是找不出來,最後只好猜猜看,一段一段mark,沒想到這招反而找到了,是postmassage的問題,因為延遲執行,所以相關函式其實都有執行到最後。我原本也有想到是postmessage的相關函式。但是相關函式也插了log,也都正常執行。最後是用註解法,猜到是註冊的地方出錯了。出錯的原因是函式的宣告。原本我將post呼叫的函式,直接引用已經存在的一般函式,不是特殊宣告的格式,改為正常格式就可以了。這種編譯器可以過,Debug模式也沒問題,而在release也要執行兩次才會發生,真的是很特別的bug,紀錄一下。 void OnImportFav( WPARAM wParam, LPARAM lParam ); //參數就算沒用到,也需一致 DECLARE_MESSAGE_MAP() //必須加在message_map內