close

前一陣子在公司收到USER的問題信

原本可以透過UI從資料庫撈取全部資料

但過了一天之後同樣的動作卻發生404的錯誤訊息...

做了許多交叉測試

最後發現當資料庫筆數超過一定數量(大約三萬筆),就會造成這種情形...

思考了一陣子並且與主管及同事討論後

主要的解決方案方向是,將原本一次撈取三萬筆,分為兩次撈取

但是若將來資料超過 7 萬筆,又會遇到相同問題,因此這個解決方案無法使用

雖然我本身有 HTML、PHP的開發經驗,但因為公司的專案都是用 JSP + SSH(struts spring hibernate) 撰寫

加上我才來公司一個多月

所以對於這方面來說,我著實是一個菜鳥,怕改了這個 CODE,別的問題又接踵而來

而且公司的測試環境也沒有很完善,導致開發、維護都綁手綁腳...

但畢竟是公司的事情,總不能放著不管

因此花了一些時間把測試環境及測試用的資料庫都與 Production 同步

接著就開始逐行程式碼研究,也慢慢的把程式加上自己理解的註解

看了一段時間後也不知道該從哪邊下手改寫,此時不知道哪來的靈感

發現我根本都沒有去翻 LOG 檔案,一看才發現原來問題是因為 EXCEL 檔案過大(6MB)才導致的

後來發現了有一行程式碼

Row dataRow = sheet.createRow((short) m + sheetRowNum);

沒錯..就是這個 short 害我跟同事將近耗了一個禮拜的時間在 Debug ...

把它改為

Row dataRow = sheet.createRow( m + sheetRowNum);

直到目前都沒有遇到問題了~真是感動!!!

所以說阿...基本的程式觀念很重要以外,會看錯誤訊息也非常的重要!

因為你不知道程式在運行的時候到底是長怎樣

這時候有 LOG 幫助下很容易讓你朝對的方向去思考解決方案

另外在寫 CODE 的時候,千萬要註解當時的邏輯想法,讓往後維護的開發人員能夠了解你當初為什麼會這樣寫

以上就是我剛進公司遇到的棘手問題

arrow
arrow

    Wkalpha 發表在 痞客邦 留言(0) 人氣()