星期日, 5月 26, 2024

Side project 更新小記

 

完成兼職工程師的第一單任務,心驚膽跳,值得紀念 XD

任務是讓土炮搜尋引擎能讓其他單位用。為了後續開發、維護和資安稽核,不得不把 project 套件全都更新一輪,從 Laravel 8 一口氣升到 11 開始。
 
因為版本差太多,連 DB schema 都不完全相容,且老系統基本只有我在用,除了需要被 search 的資料外,沒什麼值得備份的。這次「升級」乾脆直接重建,用乾淨 Laravel 11 環境,再把原本的 App 逐步移植過來。線上部分環境也推倒重來。
 
升級過程根本是災難片。Laravel 包含前後端全家桶還有大量 dependency,牽一髮動全身。例如 Laravel 11 改用 Vite 取代 Laravel Mix,所以 view template 語法得改,JS 也要 require 改用 import,導致 variable scope 和載入順序都不一樣等。Dependency 大改也引發一堆問題,例如部分自動化測試更新後,莫名其妙的 InnoDB deadlock,原來是測試 case 沒有正確解構,舊版本剛好沒觸發 bug。前端套件升級也讓頁面毀容,需要細微但繁複的修改,開著 CSS 原始碼、套件官方 demo、自己網頁的 Firefox console 來回比對好久才清理掉發現的問題。
 
升級還是有愉快的部分。因為直接打掉重練,所以可以下 drop database production_db 這種快樂指令。只可惜 dev team 只有我一人,無法找其他 member 分享刪庫的喜悅。等搜尋引擎未來逐漸成為公司資產後,應該就不能享受一言不合就 drop database 的快樂 QQ。
 
這次升級,慶幸當初有認真做自動化測試。雖然沒完整自動化 CI/CD,但至少我寫的後端 code 有 100% test coverage。後端真的 test 全過,線上就過。趁周末值班空檔備份、下線、刪庫、更新、部分重新初始化,解掉個佈署腳本的小 bug,docker 一啟動看到的就是正常的服務,非常舒心。
 
過程中 GPT-4 老師也很幫忙。像我 jQuery 老人根本不懂什麼 import、require、CommonJS、AMD 啊,現在問題和 code、錯誤訊息全問 GPT。GPT 如果不能直接給 sample code 也能給 hint,幫我這一人萌新團隊快速過掉問題。
 
之後還有很多問題要處理,特別是安全方面沒碰過頭有點大,只能走一步看一步。現在還已經正式兼職,不能再說我只是個發燒友來推託了 orz
全文連結

星期六, 5月 25, 2024

「尬麻」食記

對和牛念念不忘的我,之前搜尋店面才發現常去的南紡對面,就有一家和牛吃到飽的火鍋店,好像跟 XM 同體系,昨天就去吃。

店面裝潢風格是夜店風,但裡面出入的人看起來都正常 XD 店家服務品質很好。東西吃完馬上有人清盤子,不用主動提醒。湯快沒了,舉手後服務員就自動帶湯,不需要我開口指出需要加湯。第一次用餐鬧出不少笑話,例如我以為機器人螢幕顯示了的桌號,菜又端來我身邊,那當然東西就是給我的,沒想到不同層放的是不同客戶的,然後就不小心吃掉了別人的東西 Q<>Q 或是不熟悉盤子的厚度,結果沒發現盤子下面還有另外一盤肉,傻傻的一直等 etc. 但服務員都用很和善的態度服務。

但食物方面就有些遺憾。湯頭方面,這次不用額外加錢的厚白和麻辣感覺普普通通。大部分的肉類都不錯,伊比利豬香 Q 彈牙,和牛丸夠香,餃類、豬肚等也很好吃。其他配料也夠誠意,冰淇淋有 Coldstone 和 Haagen Daz 無限挖到飽,但關鍵的和牛掉了鍊子!外觀看來,餐廳肉片確實是日本和牛油花,涮起來口感也夠嫩,但缺乏關鍵的香氣和入口後融化的口感。甚至比涮乃葉的安格斯牛還差些,導致無法達成來店的根本目的。

有日本和牛的套餐 $859,單身狗用餐還要開鍋費 $100,加服務費後就破千。但和牛的部分沒達到預期。如果要吃和牛,在一樣破千的前提下我會去選黑毛屋和牛。雖然沒有吃到飽、但湯頭、和牛口感大勝。雖然這家店其他的方面都不錯,但可能就當成一次店了。

全文連結

星期五, 5月 17, 2024

三門數學課

來源

B 站看到的神 comment。「测度论和概率论看IMPA,大样本理论(渐近统计)看UCLA的jingyi jessica Li,高维概率论看原作者Vershynin,高维统计看UCLA ARASH AMINI的,机器学习理论看斯坦福tengyu ma的。统计学Phd在B站可以上完了」

這陣子看神課 Probabilistic Machine Learning 看完兩堂,但看到第三堂 ppt 真的越來越 yabai,投影片看起來需要技能樹非常硬核,可能是實分析 -> 測度論 -> 機率這個硬派進階路線。但我數學分析才剛開門,大佬別玩我 >"< 可能先繼續看下去,如果老師講的完全聽不懂只好回頭補數學了。整理三門課先放著 XD

實分析

大佬陶哲軒的。手上有中文課本和習題解答,選這堂應該有機會事半功倍。數學和寫程式一樣,做題才是本體 QQ


概率論

測度論

全文連結

星期三, 5月 15, 2024

升級 Windows 11

最近 Pchome 買了兩份正版 Windows 11 專業彩盒版升級家中兩台電腦,當堅定支持合法正版的好國民。這應該是最近花錢最多的軟體了 >"<。

為了避免成為正版軟體受害者,這次安裝的版本是自己土炮改過的 UUP ISO,設定該改的改、該禁的禁、再把自己慣用軟體都預裝好。今天順利折騰完一台電腦,準備跟 Windows 10 告別。

全文連結

星期二, 5月 14, 2024

土炮 Windows 11 ISO

最近下定決心,從 PCHome 幫兩台新電腦各買一份 Win11 專業彩盒版,就來折騰自製 Win ISO。流程跟 Win10 不大一樣。

下載 ISO

還是從 http://www.uup.ee/ 找整合更新檔的。

DISM++、NTLite 調整 ISO

DISM++ 目前看來有社群維護,可以調的東西很多,例如禁掉「多嘴的 Cortana」(DISM++界面上的原話 XD)、Windows Defender 等。MSMG 修改 UUP 下載的 ISO 則不方便,需要直接操作 DISM。NTLite 也有一些可調整的項目,例如 Windows Update 等。也把 bitlocker 和系統還原預設不啟用。

虛擬機安裝 Win11

不輸入序號不啟動,一路 Next 裝完 Win11。

關閉 reserved storage

這是這次學到的新教訓,guest OS 裝好第一件事情就是關閉 reserved storage。

如果不在 guest OS 裝好就先關閉 reserved storage,可能導致 sysprep 失敗。第一次安裝時就遇到這問題,登錄檔已經照網路修改,DISM 也顯示 reserved storage 關閉成功,Windows Update 也執行完畢,但 sysprep 一直跳 reserved storage 使用中無法繼續,後來只好整個 guest OS 重裝一遍。

關閉 reserved storage 方法是:regedit,找機碼 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ReserveManager。我將下列機碼全部修改為 0:ShippedWithReserves、BaseHardReserveSize、BaseSoftReserveSize、HardReserveAdjustment、MinDiskSize、PassedPolicy、TiAttemptedInitialization。而 MiscPolicyInfo 設定為 2,重開機,之後執行 dism /Online /Set-ReservedStorageState /State:Disabled,再 dism /Online Get-ReservedStorageState 確認關閉成功。

安裝需要的軟體

這次裝以下軟體
OpenShell
Explorer patcher
.net 3.5 
VC++ runtime
DirectX(directx_Jun2010_redist)
RPG Maker RTP
Lumicons
MacType
Chrome
Firefox
Bandizip
Potplayer
Notepad++
Conemu
Autohotkey
新酷音
Macrium Free 
PDFXchange viewer
LocaleEmu

OpenShell 還有 Explorer patcher 是為了改善 Win11 反人類 UI。Win11 模仿 MacOS 卻又不到位,放正中央的開始功能表、還有要多按很多次的右鍵選單實在不倫不類,裝這兩個軟體可以把 UI 外觀和行為調回 Win10 甚至 Win7 的樣式,讓我肌肉記憶可以繼續使用,不必從頭建立習慣。

調 Win11 config

用 gpedit 停止自動更新驅動程式,功能性更新延遲 30 天,更新限制在 22H2。移除檔案歷程。Windows 服務自動啟動 smartcard,啟用遠端桌面,把一些檔案(如遠端切掉桌面)放到 public desktop...

Easy Sysprep

還是大概按照這篇使用 Easy Sysprep 進行 sysprep。Easy Sysprep 真的很好用,遇到衝突的問題(例如問題 package)還會提供對應 powershell 指令檔並自動複製到剪貼簿,只要照畫面打指令就好。

過程中必須自己另外準備 Windows PE,第一階段 sysprep 完後,必須用 WinPE 重開機,再執行剛才執行過的 Easy Sysprep 執行檔才能進二階段。這部份太久沒用忘記了,攻略也沒細寫,折騰好久。第二步 sysprep 我好像調整了電源設定(不要自動關閉螢幕、電源 etc),加了管理員帳號,禁用自帶的萬能驅動。砍掉  swapfile.sys 和 pagefile.sys 省下大量空間後,直接生成 install.wim。

做 bootable ISO

這裡又踩了坑,原本我 Win10 ISO 是用 ImgBurn 做的,但是 Win11 ISO 製作出來就是無法開機,甚至原生 ISO 解壓後馬上 ImgBurn 封裝也一樣不行,這時我懷疑可能是 ImgBurn 的問題,畢竟這軟體太久沒更新了。當然也可能是我沒找到正確的設定。

後來是安裝 Windows ADK 解決。Windows ADK 只要安裝「佈署工具」就好。裝好後執行
Oscdimg.exe -b"Efisys.bin" -h -m -o -u2 -udfver102 來源目錄 目標 ISO 檔案
其中 -b 指定 boot file、-h 讓 ISO 包含隱藏檔、-m 忽略 ISO 大小限制(可超過 2G)、-o 設定重複的檔案實際只佔一份空間、-u2 讓 ISO 指定 UDF 檔案系統,-udfver102 指定 UDF 版本號

以上都弄好後,用 VirtualBox 測試可以正常安裝,就可以正式寫 USB 裝系統了。 全文連結

星期六, 5月 11, 2024

星期五, 5月 10, 2024

Probabilistic Machine Learning -- Philipp Hennig, 2023

Youtube 播放清單
投影片

好課,把 ML/DL 會用到的機率知識整合起來,而且深度非常夠。

現在坊間「AI 背後的數學」課和書籍不少,但大多數太淺,例如微積分可能就講到 chain rule。對於看 paper 來說完全不夠用,課本和 cutting edge research 有巨大落差。直奔數學系的課,內容又太多不知從何學起,像本座高等微積分現在才換了老師剛看到收斂數列的性質,初微、線代課看完了現在習題都沒做 XDDD 課程還提供投影片讓人自習。非常慷慨。

原本是 B 站上看的,但 B 站沒搬運到最新的版本,且字幕不全,就去 Youtube 找最新完整版了。


全文連結

星期一, 5月 06, 2024

資料搬家

看到母校公告,校友 Google Drive 要從無限空間直接縮到 1G,只好準備告別,設法幫 2T+ 資料搬家,結果空間挑好久。

MS365 已經備份了一份,基於 3-2-1 原則第二備份不想再用 MS365。Google Drive 5T 和 Dropbox 3T 都貴,錢去買 MS365 6T 都有找,還附贈 Office。後來試俄羅斯 Yandex 360 family plan 1T*8 年繳不到 50 鎂,但是繳一個月試用發現 family plan 後台竟然 404,去問客服才說台灣不支援(但開 VPN 換國家也一樣結果耶 XD),服務品質太恐怖,果斷退費。
 
後來改法國 1fichier,年繳 2T €30,4T €60 還是比 MS365 家用版貴,但價格也夠好了。缺點是:光界面就極度陽春,很擔心軟體技術力。官方付款只能銀行轉、虛擬貨幣付款或用溢價極為嚴重的 CashtoCode。要用 Debit card 還要從一堆 reseller 中找一個價格合理的換 coupon,整個充滿詭異感,目前先花 €5 試用一個月,目前rclone 能動,FTP 能連但檔案內容有滯後。如果試用 OK 會用這家當作 MS365 外的第二備份。
 
PikPak 其實更便宜速度還非常快,但這家「新加坡公司」真身疑似迅雷,私密資料就不想放在上面了。萬一 1fichier 不滿意,預計跳 idrive 或 jottadrive 吧。自組 NAS 目前感覺麻煩 XD
全文連結