Spring Boot Executable Jar and Fat Jar
沒有框架時,常見做法是把 class 與所有相依函式庫打成一個 jar-with-dependencies.jar。 原因很單純:一般 java -jar 只看 manifest 的 Main-Class,classpath 要自己處理;把相依函式庫攤進同一包,可以少帶一堆 lib/*.jar。 但 Spring Boot 不需要這樣做。 Spring Boot Maven plugi...
沒有框架時,常見做法是把 class 與所有相依函式庫打成一個 jar-with-dependencies.jar。 原因很單純:一般 java -jar 只看 manifest 的 Main-Class,classpath 要自己處理;把相依函式庫攤進同一包,可以少帶一堆 lib/*.jar。 但 Spring Boot 不需要這樣做。 Spring Boot Maven plugi...
這篇是在整理一個實作選擇:SwiftData 的 SwiftUI Preview,到底要不要沿用 Apple WWDC 範例專案常見的 ModelContainerPreview / ModelContainer.sample 寫法? 先講結論:到 2026-06-30,這個方向仍然值得沿用。原因不是「舊範例一定比較好」,而是它把 Preview 需要的 SwiftData contain...
錯誤 測試用 UIGraphicsImageRenderer(size:) 產生 32 x 24 圖片,但匯入後讀到: 96 x 72 原因是 renderer 使用目前裝置 scale。iPhone simulator 常見 scale 是 3,所以 32 x 24 point 會變成 96 x 72 pixel。 解法 測試 fixture 要固定 renderer scal...
錯誤 SwiftData 測試只保留 ModelContext,沒有保留 ModelContainer。測試一進到 modelContext.fetch(...) 就 crash,Xcode 顯示: Test crashed with signal trap. 問題程式碼: let container = try ModelContainer(...) self.modelCont...
錯誤 Swift Testing 可能同時執行多個 test case。當多個測試都建立 SwiftData container、UIKit image fixture,或啟動 app host 時,錯誤容易先被包成: Test crashed with signal trap. 這種訊息不一定會直接指出是哪個 assertion 失敗。 解法 先把 suite 改成 seria...
整體記憶路線 blame 先看目前行最後誰碰,但不要急著定罪。 log --follow 看檔案是不是搬過。 log -S method 找功能何時出現或搬動。 show commit^:path 看可疑 commit 前一版,排除只是搬程式。 show --name-status 用 R100 確認是不是完整搬檔。 log -S 壞掉特徵 搜危險字串,找真正改壞的...
Checkout Only the SVN Directories You Need with --depth SVN でリポジトリ全体を checkout せず、必要な階層やディレクトリだけを取得したい場合は、--depth を使う。 ルートだけ checkout する まずは作業コピーのルートだけを作る。 svn checkout --depth empty https://sv...
結論から word は英数字とアンダースコアをひとまとまり、記号を別のまとまりとして扱う。そのため "--oneline" は "--、oneline、" に分かれる。 WORD は空白だけを境界として見るため、"--oneline" はひとまとまりとして扱われる。 i は inner。外側の空白は含めない。ただし 2iw、2iW のように count を付ける場合、単語間の空...
Ubuntu で Slack を更新したいとき、ウィンドウを閉じただけでは Electron の helper process が残ることがある。 今回の環境は snap 版 Slack。 基本方針は、いきなり強制終了しないこと。 まず SIGTERM でアプリに終了を依頼し、残った場合だけ SIGKILL を使う。 Check まず実際の process を見る。 ps aux ...
Ubuntu に SSH したとき、MOTD の更新通知だけが意図しない簡体字表記になることがあった。 原因は SSH ではなく、locale fallback と update-notifier の MOTD キャッシュ。 Check cat /etc/default/locale locale cat /var/lib/update-notifier/updates-availab...