https://avatars.githubusercontent.com/u/6058558

程式狂想筆記

Playwright 程式碼執行時發生記憶體不足錯誤

最近 .Net 排成程式發生 OOM,奇怪我該關閉程式都有做,但我發現我少一個變數少做 using,所以造成問題。 觀察 我發現有多個子程序沒有關閉,我們從docker top {container_id}可以觀察子程序。忘記這個指令也可以從top、ps aux去做觀察。因為我這個排程每 15 分鐘會跑一次,所以放個3天就會發生。我們可以看到cli.js沒有關閉。 1 2 3 4 5 docker top webcrawlerapi-webcrawlerapi-1 UID PID PPID C STIME TTY TIME CMD root 137707 137686 7 21:30 ? 00:00:04 dotnet WebCrawlerApi.dll root 137757 137707 1 21:30 ? 00:00:01 /app/out/.playwright/node/linux-x64/node /app/out/.playwright/package/cli.js run-driver root 137832 137707 2 21:30 ? 00:00:01 /app/out/.playwright/node/linux-x64/node /app/out/.playwright/package/cli.js run-driver 這裡搜尋到很多程序,我懷疑這些是不是殭屍程式,這邊 Google 找到 Docker 子程序會有殭屍程式問題,但最後跟那個沒有關係。 我的程式如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 _logger.

解決 Read-only file system 問題與系統掛載錯誤

最近遇到了一些系統問題。當我嘗試掛載 /dev/sdc1 (100GB) 到根目錄時,發生了一些問題,系統顯示為只讀文件系統。 Read-only file system 發生連串問題 Read-only file system 問題 當嘗試創建文件時,系統顯示為只讀文件系統: 1 2 user:~$ touch test touch: cannot touch 'test': Read-only file system 解決方法 在網路上找到解決方法,可以使用以下指令重新掛載根目錄為可讀寫模式: 1 sudo mount -o remount,rw / DNS 問題 在嘗試 ping Google 或進行 git pull 操作時,出現 DNS 錯誤: 1 2 3 4 5 6 7 8 9 ping google.com # ping: google.com: Temporary failure in name resolution git pull # ssh: Could not resolve hostname github.

如何尋找 TLS 中繼憑證和驗證憑證

最近在專案進行中,我發現 Ubuntu 上的 Flutter 嵌入式網頁中,發現空白頁面。經過檢查,發現是 nginx 沒有設定中繼憑證的問題。由於明天要進行 DEMO,而 MIS 可能無法聯繫到,我需要快速找到中繼憑證。我該怎麼做呢?第一次找到這個問題後,發現有好用的網站可以快速產生中繼憑證,這裡紀錄一下。

使用 .NET 實作 Azure Storage SAS 上傳檔案起手勢

這邊不詳細介紹什麼是 Azure Storage,這裡簡單介紹一下其組成部分,包括 storage accountContainerblob,如下圖所示。

https://user-images.githubusercontent.com/6058558/234599213-21ae8221-bd83-4287-806e-ed464fa61fba.png

詳細資訊可以參考Blob (物件) 儲存體簡介 - Azure Storage | Microsoft Learn

由於專案時間緊迫,我只拿到了 Azure Storage 的 ConnectionString,需要在短時間內完成上傳功能。以下是使用 .NET 實作 Azure Storage SAS 上傳檔案的步驟。

在 Ubuntu 上監控系統錯誤層級 Log 並發送 Discord 通知腳本

最近我在尋找一種方法,讓樹梅派能夠監控系統 log,並在出現錯誤層級 Log 時發送通知。我曾考慮過 Prometheus Alertmanager,但它似乎無法查看 Log。我也看過 Loki,它確實能達到我要的效果,但我不希望建立集中式 Log,因為樹梅派的儲存空間有限。我也考慮過 mtail,但它可能無法正確解析 Log 層級,所以我最終沒有選擇它。至於 openITCOCKPIT,雖然它需要安裝資料庫,但我認為這不適合在樹梅派上進行,儘管官方有提供安裝教學