原创 線上問題記錄:因閏年導致的數據查詢錯誤

在今天的生產環境測試中,測試發現幾個數據頁面顯示爲空白。反饋給開發後,通過查看相關接口和後臺日誌,發現某個查詢 SQL 出現了問題,錯誤信息如下: 此查詢功能的前後端近期沒有改動,排除是改動造成的。從日誌上看,導致錯誤的原因是無效的時間查

原创 記一次換行顯示問題分析

本文記錄在解決換行顯示問題中的分析過程。 背景描述 換行顯示控件 CToolTipCtrl 在顯示時,沒有按照預期進行換行 問題分析 該控件是系統控件,正常來說不會有什麼問題,因此,應該是使用的問題。在網上搜羅一大圈,都說這個控件在默認情況

原创 如何打印數值類型

問題如題目,在最近的工作中,使用 cppcheck 對代碼進行靜態檢查,遇到打印 size_t 類型以及其他類型的警告,再這裏記錄下。 本文提到的打印輸出,指的是 printf 函數或者 Format 函數中格式化的輸出。 各種數據類型的打

原创 跑步,不是那麼簡單的事兒-筆記

本文記錄在學習愛上跑步中筆記,只記乾貨。 跑步的好處 強壯心血管系統,提高身體綜合體能 有效燃脂,幫助燃燒皮下和內臟脂肪 保證精力充沛、注意力集中 有助改善睡眠質量 跑步是一項孤獨的運動,但跑步者並不孤獨。 我超越了昨天的自己,哪怕只

原创 記一次定位偶發崩潰問題

本文記錄定位偶發崩潰問題的全過程,並給出相關建議,沉澱經驗。 背景描述 測試反饋,通過右鍵添加股票,有一定概率閃退,沒有dump以及更多的信息,崩潰頻率隨機。 問題復現 同測試進一步溝通,初步定位崩潰涉及的業務範圍,在本地Debug下,重試

原创 現代C++實戰30講

本文記錄學習吳詠煒老師的《現代C++實戰》課程的心得體會,記錄自認爲值得記錄的知識點。 重新認識的點 如果臨時對象被綁定到一個引用上,則它的生命週期會延長到跟這個引用變量一樣長。以下是例子: result process_shape(c

原创 現代C++實戰30講(2)

本文記錄學習吳詠煒老師的《現代C++實戰》課程的心得體會,記錄自認爲值得記錄的知識點。 重新認識的點 編譯期間的多態 所有容器類都有 begin 和 end 函數成員,這爲通用遍歷容器提供可能。很多容器都有 size 成員,沒有繼承通用

原创 警惕單例濫用,推薦組合引入

在最近的工程中,發現越來越多的單例的時候,感覺有點多餘,在網上搜索了下,發現這應該是單例模式的濫用,這裏提出一個觀點,引入組合優於引入單例,在此記錄一下。 現狀描述 在某一個業務模塊A中,需要定時從服務器獲取文件,解析此文件中的規則並保存起

原创 結構思考力-學習筆記

結構思考力-學習筆記 近期學習了一門《結構思考力》,講師是李忠秋老師,本文將結合書籍 《透過結構看世界》以及學習筆記,梳理總結學習心得。 序言 人生有兩大主題,一是做人,二是做事;做人要有德,做事要有才;人貴有德,做事先做人。這就是人們常說

原创 羅劍鋒的C++實戰筆記(學習筆記1)

本系列文章記載學習一門在線課程 羅劍鋒的C++實戰筆記 過程中的心得體會,只會記錄新增加的知識點,那些心中已熟透的知識點,不會重複記錄。 c++的主戰場在 Linux 上,現在開發 Windows 程序,更多的是用 C# 等語言。 後續以問

原创 羅劍鋒的C++實戰筆記-學習筆記(3)

書接上文,三句名言鎮樓。 三句名言鎮樓 任何人都能寫出機器能看懂的代碼,只有優秀的程序員才能寫出人看懂的代碼 兩種寫程序的方式:把代碼寫的非常複雜,以至於"看不出明顯錯誤"。把代碼寫的非常簡單,以至於"明顯看不出錯誤"。 把正確

原创 羅劍鋒的C++實戰筆記-學習筆記(2)

書接上文,三句名言鎮樓。 三句名言鎮樓 任何人都能寫出機器能看懂的代碼,只有優秀的程序員才能寫出人看懂的代碼 兩種寫程序的方式:把代碼寫的非常複雜,以至於"看不出明顯錯誤"。把代碼寫的非常簡單,以至於"明顯看不出錯誤"。 把正確

原创 關於lower_bound和upper_bound的理解

關於lower_bound和upper_bound的理解 在最近的工作中,看到 lower_bound 和 upper_bound 函數的使用,印象很模糊,查閱相關資料後,對這兩個名字有了更好的理解,在此記錄下來。 基本定義 先來看 low

原创 針對`Code View`友好的代碼重構方法

針對Code View友好的代碼重構方法 本文記錄在開發過程中,寫出對 Code ReView 友好代碼的若干方法。 抽取函數 將較爲獨立的語句抽取爲函數,是一種很常見的重構手段,本文在此基礎上,進一步改進,形成對 Code Review

原创 記一次SVN更新文件失敗

通過SVN更新文件時,有時候會提示 Failed to run the WC DB work queue associated with XXX" 再次更新提示,會提示 previous operation has not finis