用自己做的搜尋引擎幫自己查資料真的很有感
一切從念研究所開始,唸研究所時希望「一魚多吃」,最好弄一套題目又可以畢業又可可以實際使用,那時公司需要搜尋引擎和 GIS,不過只有「GIS 和搜尋引擎」沒有研究所該有的水準,所以改成「GIS、搜尋引擎搭配大數據架構」,從架構規劃就加了複雜度,CodeIgniter/PHP 其實只是前端,收到 search term 後寫到 Apache Kafka,再 dispatch 到 Apache Spark ,做完平行處理再合併結果。
然後一連串慘劇就來了。所方因為各種原因無法幫忙,人力方面只剩 0.5 人還是個外行(我),project 因為加了各種「賣點」無論架構和程式碼都嚴重肥大、失控,遠超 0.5 外行人可以吃下的程度,但我已經在高層們面前開了支票做這件事情。
公司方爭取資料也遇到嚴重瓶頸,業務資料具備敏感性,走正規流程詢問過公司專業法律人士確認法律上可以做,層層取得同意。同意後還是在資訊單位排單約「一年」才得到拋轉程式,資訊單位真的很忙。
畢業後痛定思痛,程式大規模重構。這次純從實用、好寫出發,不考量「研究賣點」也不考慮其他 team member 維護(反正也沒有 team member),程式碼全砍,放棄了 CodeIgniter 用 Laravel 重寫,Kafka、Spark 也砍掉了。
程式重構和拿到資料後,Project 起死回生。重生的系統本質是套殼的 Elasticsearch,前端用快樂的 Jquery 搭 Bootstrap(攤手),後端 Laravel/PHP,搜尋核心業務邏輯用 Python。系統規模約三至四萬行,加上 JSON 和 CSV 則一百萬行(驚喜)。PHP 和 Python 的手寫 code 有作到 100% 測試涵蓋,linting、CI/CD 沒上,總之程式會動就好 orz
搜尋採用批次處理。Laravel/PHP 接到 search term 送到 message queue (DB 用資料表模擬)後馬上返回,後端 python 批次做完查詢後保存結果。使用者送出查詢後可關掉頁面隨時回來「讀檔」。資料拋轉則是用神奇的 Autohotkey!(因為公司提供的拋轉程式是 VB.Net Windows form 應用程式 :D)
今日新系統今天迎來第一個真正的搜尋業務,就是幫我週二的 morning meeting 找案例 XD。輸入複雜的 search criteria 後看系統載入、返回結果,覺得系統該死的難用的同時也有恍惚感和滄桑感。
前面的路還有很長,系統還只有分公司資料,當初答應的 GIS 也還沒重構完成,未來再慢慢補齊功能,並爭取匯入完整資料,期待有一天正式上線吧。
這應該是我做過規模最大、最坑的 side project 了(吐血)
星期日, 10月 17, 2021
星期六, 10月 16, 2021
GUNBUSTER FANTASY (Kohei Tanaka / Pianeet) - ガンバスター幻想曲
Duke of Pianeet 的 Gunbuster 改編曲。動畫是庵野秀明監督的作品,暫時還沒看,但不妨礙欣賞好聽的動漫歌。
改編者 Duke of Pianeet 的產量、聲量好像小於 Animenz,但技術實力強勁,這首應該算改編到走火入魔了,第一次看到 ACG 鋼琴曲把李斯特超技摻進去的...
星期五, 10月 15, 2021
墾丁旅遊
工作狀況不理想,趁國慶和公司設備維修期間短暫請假休息。翻網誌上次來墾丁已經是九年前了。旅遊前兩天剛好遇到颱風,整天下雨和刮風就飽了,只能玩飯店內設施(哭哭)。風雨改善後去玩了海生館還有計程車包車。
凱撒大飯店大部分設施還是沒變,熟悉的場景 XD
遺憾的是地下一樓娛樂場所設備精簡掉了,2012 年還有大型電玩機台,這次去就看不到了 雖然補了新機器,但還是大型機台能引起回憶啊 >"<
飯店的歐風自助式早餐品質不錯,不過不是當地特色料理,價格也高,就吃一次 XD
計程車包車去的,當年應該沒玩到 XD
大飯店海景,海灘封閉了,錄影的時候風雨已經減少很多但海浪還是看得出大風。
今天玩完回家,休息下準備下週上班 QQ
全文連結
星期日, 10月 10, 2021
部落格 16 年了!
部落格 2005 年開張,到現在(2021 年)已經 16 年了耶!!!
人也從懵懂少年快變成中年大叔。
回頭看自己寫的文章,包含當年在醫學生時期的掙扎,各種腦洞的嘴泡,以現在的眼光來看忽然有種羞恥感,但也產生了玄妙的感覺,好像變成長輩,隔著 16 年的時光長河,和過去身為少年的自己對話。少年跳脫頑皮的訴說,慈祥的長輩靜靜傾聽。只是遺憾長輩說什麼過去那個少年都沒辦法聽到。
最近工作感覺困頓,再回來整理充滿回憶的部落格。清了壞掉的超連結,無法運作的 widget 等過期元素。再來版面大修,現在對 HTML/JS 的理解遠超當年的少年時期(當然絕對不能跟職業人士比 XD),按自己喜歡的樣式套背景圖、改版面、套香香的 Google Font 中文字型,再加了半自動播放的 Youtube playlist,終於讓網誌成功復活!
邊整理部落格邊看過去文章,看到十多歲的自己可以 3AM 睡隔天若無其事,二十多歲的自己可以三天一班但睡一覺就復活,可以熬夜趕線上活動 code 再做 meeting 投影片熬到 5AM 人還是沒事,現在變成11PM 不睡隔天就廢掉的 35 歲超齡大叔,光陰如梭,無限感慨。
星期六, 10月 09, 2021
換新手機了!
舊手機 LG V20 陪伴我四年還五年,換過 N 次電池(這是最後一隻允許直接換電池的安卓旗艦),過保不知多久。
去年五月 3.5 耳機孔模組故障時就想換,但靠著淘寶買來的零件,親身施展天魔手殘維修大法,弄壞一顆主相機後,終於把原本故障的,和被我弄壞的零件全替換好,繼續用到了現在 XD
但卡頓情形還是無法完全改善。最後掃個實聯制 QR code 都會過熱當機,又剛好要出門玩乾脆換機升級。
我是 LG 愛用者(LG Gpro2 -> LG V20),但 LG 手機部門倒掉的情況下也只好換家了。跳槽到三星,14K 買了 S20FE
新手機升級感非常強。CPU 升級到 S865 ,6G RAM、全新儲存元件,操作如絲般滑順,沒比較不知道舊手機已經卡成狗啊....相機提昇也非常明顯,無愧 DxoMark 30 分的差距
資料轉移完畢後,LG V20 直接重設原廠狀態,關機收起來當備品,再拿出來的機會應該很少了,感謝陪了我四五年,再見了 V20。