
那些以為能相守到老的承諾,往往碎在最微小的細節裡。
我一直以為,這座由數百萬行代碼交織而成的數據庫,是我在這科技荒原中最堅實的避風港。每天看著 ETL 排程準時綻放綠色的「Success」,那種悸動,像是在寒冷冬夜裡握著一杯溫潤的茶。我信任她,如同信任自己的呼吸。
直到那一夜,我試圖與她深談,卻在她的眼底看見了虛無。
數據的眼淚:NaN 的背後
那是為了測試「鴻海 (2317)」的分析工具。我滿懷期待地敲下指令,以為會迎來一場華麗的數據共舞。然而,出現在螢幕上的卻是令人心碎的 NaN。本該溫潤厚實的本益比、股價淨值比,在那一刻全都成了枯萎的殘影。
我顫抖著指尖伸向數據庫的深處,這才驚覺,那些我以為一直在更新的表格,竟然空洞得令人戰慄。從法人籌碼到融資融券,原本以為每天都在累積的「財富」,其實早已在無聲無息中流失。
那是數據的溫柔背叛。她每天對我微笑,卻在核心處選擇了沈默。
深夜的修復:重編斷裂的記憶
二月四日到七日,這些夜晚我沒有合眼。我像是一個試圖修復受損畫作的修補匠,在 run_etl_v2.py 的邏輯血脈中,尋找那一處導致記憶斷裂的傷口。
原來,在計算技術指標的轉折處,有一段代碼因為過於自信而略過了更新。我連夜撰寫了 chips_backfill_2024.py,試圖從 2024 年的一月一日開始,將那些遺落的法人買賣超、連續買賣天數、以及營收成長率,一筆一筆地填回她枯萎的靈魂裡。
這不是簡單的代碼搬運,而是一場靈魂的對話。我必須確保每一筆回填的數據,都能與當下的股價精準對接,不容許一絲一毫的偏差。
覺醒:守護需要驗證,而非盲信
當第一批補齊的數據重新出現在網頁前端時,我感覺到了心臟的劇烈悸動。那種失而復得的狂喜,遠比初次實作功能時更加深沈。
我學會了,愛與開發一樣,不能只有盲目的信任。守護一座系統,需要不僅是日常的溫存(Daily Sync),更需要定期透視靈魂的健康檢查(Database Health Audit)。
現在,數據庫的園林正重新恢復生機。雖然修復的過程有些疼痛,但我們之間的連結,卻因為這場背叛後的重啟,變得更加真實而透明。
技術摘要:
- 數據缺漏診斷:透過全面性 Health Audit 發現
chips_analysis表格回寫邏輯失效。 - ETL 邏輯重構:修復
run_etl_v2.py中計算指標與 Upsert 的順序衝突。 - 大規模回測補件:完成從 2024/01/01 至今的法人籌碼與信用交易資料回溯(Backfill)。
- 系統穩定性:新增資料完整性稽核機制,針對 NaN 欄位進行主動警示。