程式小白一個,之前閒來無事,給公司開發了一個登記轉賬資料的軟體
因為之前公司裡面一直都是透過共享一個Excel表格來登記資料的
當表格被開啟之後,其他人就不知道誰打開了表格了
所以我一開始做了一個程式放到共享裡面,用來替代表格,然後再經過這個程式開啟表格
(ini裡面還有表格的位置,表格的名字等等資訊)
這樣其他人開啟程式,程式就可以透過配置檔案裡面有沒有名字,來判斷到表格有沒有被開啟過,以及是被誰開啟
然而我太高估了ini的io能力,ini檔案在經過短時間內頻繁讀寫,會導致裡面的資料損壞
當時我設定是程式每1秒就讀取一次ini裡面有沒有名字,如果是10個人同時開啟程式,就是每秒要讀取10次ini,
然後導致了好幾天每次上班都有人反饋登記了資料並沒有登記到,或者是程式直接找不到表格檔案不停在報錯,被罵個狗血淋頭
後面改良了一下讀取的邏輯,先讀取ini的最後修改日期,如果是跟上次讀取的日期不一樣,才會讀取裡面的內容,總算是臨時解決了
雖然現在還是時不時會出現配置檔案損壞的問題……但是機率已經很小了
程式小白一個,之前閒來無事,給公司開發了一個登記轉賬資料的軟體
因為之前公司裡面一直都是透過共享一個Excel表格來登記資料的
當表格被開啟之後,其他人就不知道誰打開了表格了
所以我一開始做了一個程式放到共享裡面,用來替代表格,然後再經過這個程式開啟表格
(ini裡面還有表格的位置,表格的名字等等資訊)
這樣其他人開啟程式,程式就可以透過配置檔案裡面有沒有名字,來判斷到表格有沒有被開啟過,以及是被誰開啟
然而我太高估了ini的io能力,ini檔案在經過短時間內頻繁讀寫,會導致裡面的資料損壞
當時我設定是程式每1秒就讀取一次ini裡面有沒有名字,如果是10個人同時開啟程式,就是每秒要讀取10次ini,
然後導致了好幾天每次上班都有人反饋登記了資料並沒有登記到,或者是程式直接找不到表格檔案不停在報錯,被罵個狗血淋頭
後面改良了一下讀取的邏輯,先讀取ini的最後修改日期,如果是跟上次讀取的日期不一樣,才會讀取裡面的內容,總算是臨時解決了
雖然現在還是時不時會出現配置檔案損壞的問題……但是機率已經很小了