當你感到絕望時,可能是最接近成功的時候
之前都是寫一些技術幹活,今天來點雞湯,發表下最近解決幾個問題後的感慨。
問題
最近維護的老專案,線上經常出現一些問題,同時也要面對第三方提供介面的變更,在此背景下,解決問題需要考慮各方面的原因。
昨天一個新版本準備上線、進入線上驗證測試階段,測試反饋了一個bug:線上的功能正常,但是驗證環境上不行。大家第一反應都是這一個版本第三方更新了介面,於是,檢視日誌,但是線上和驗證環境傳參和介面返回都一致;於是看相關資料依賴介面,也沒什麼問題;還看了資料庫記錄;模擬新舊介面呼叫;程式碼邏輯梳理等方式,幾個小時過去了,應該線上和驗證是完全一致的。
此時方法幾乎已經完全嘗試,感到該問題難以解決,同時又面臨著需要上線的壓力,有點絕望的感覺了。
解決
只能喝點水壓壓驚,此時突然想起去對比svn記錄,之前只是看了svn的更新日誌,沒有對比程式碼;於是決定一個個svn版本對比,對比每個版本的每一行程式碼(特別是相關程式碼)更新,不到一個小時,問題終於定位到,而解決方法也很簡單,幾行程式碼搞定。
總結
使用了很多方式,最終只剩下最笨的方式時,其實已經到了最接近成功的時候,因為在此之前,已經排除了其餘所有的問題,以及所有處理問題的方式;你需要驗證的只有最後一種可能,而剩下的也只有最後一種驗證方式;如果說還有機會成功,那麼這就是唯一正確的方式,因為其餘錯誤的方式你已經一一排除了;此時,你需要做的,只是堅持。
原文:簡書ThinkinLiu 部落格: IT老五
ps: 其實針對這一問題,還有其他感慨,比如“原以為的重大bug,其實只是一次編碼時的粗心大意”、“最可怕的不是無法解決問題,而是壓根不知道問題因何而生”;但是最大的感慨還是“當你感到絕望時,可能是最接近成功的時候”。
相關文章
- 當你扛不住的時候就讀一遍
- <span>得瑟的時候就是你要倒黴的時候。</span>
- wordpress 當更新主題時候的鉤子
- 當我們談 Java 併發的時候,你們在談什麼?Java
- 你的 ResNet 是時候更新了
- 你覺得你每天最佳的工作時間是什麼時候?
- 當鉛筆芯加上直流電壓的時候
- [Redis原始碼閱讀]當你啟動Redis的時候,Redis做了什麼Redis原始碼
- 當我們呼叫Express的res.render的時候Express
- 當我們談論版權保護的時候
- 短論:AI有時就是讓我們學會面對絕望AI
- ubuntu 絕望事件Ubuntu事件
- 當心!你的App 可能是山寨的APP
- 當面試官問你這個問題的時候,他想聽到什麼?面試
- 當模型不起作用的時候應該怎麼做?模型
- 當程式設計師遇上極品客戶的時候程式設計師
- 當我談自律的時候,我會談什麼(一)
- 當你的電腦不安全時
- 有點小絕望
- 當發現BUG時,這反應絕了,你是不是這樣的程式設計師程式設計師
- 當你還在苦苦投簡歷時,機器人可能已經替HR拒絕了你的申請機器人
- 你打算敲程式碼到什麼時候?
- 當我們談論Spring的時候到底在談什麼Spring
- 你是什麼時候”突然”學會程式設計的程式設計
- 當1060臺樹莓派整合在一起的時候樹莓派
- worldclim 當前時期的生物氣候變數資料存在的問題變數
- 小時候的螢火蟲
- 是時候,升級你的 Windows 了「GitHub 熱點速覽」WindowsGithub
- 是時候擁有一個你自己的命令列工具了命令列
- WebSocket是時候展現你優秀的一面了Web
- 你們寫程式碼兩年的時候工資多少阿
- 什麼時候都不晚!風變程式設計帶你時刻學習!程式設計
- 當我們說外掛系統的時候,我們在說什麼
- 當我們在談論高併發的時候究竟在談什麼?
- 遊戲的特質:當我們說“play”的時候,究竟在說什麼?遊戲
- 在玩恐怖遊戲時,到底是什麼讓你感到如此恐懼?遊戲
- 什麼時候才是微服務拆分的最佳時機?微服務
- C++中什麼時候用move,什麼時候用forward?C++Forward