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

程式狂想筆記

在 Ubuntu KVM 安裝 Window Server 2022

最近一台舊筆電閒置,因為最近跳去寫 Net Core,公司伺服器所有環境幾乎都是 Windows,因為我也不太熟,想測試 Windows Server 環境,最近找一些方案執行,順便紀錄。可以透過 VNC 遠端操作 VM。

Ubuntu 20.04 內建遠端方法

最近嘗試了 Ubuntu 遠端方法,發現 VNC 有很多種方式。這邊嘗試很多種方法,很多都會登入會閃退,不然就要裝 xfce4 能成功,但桌面好像會有一些問題,最後採用原生方法,這邊就紀錄一下。

PowerShell 防止同時執行程式(使用Mutex)

平常我們很常寫程式都會設主程式,會有同時執行 Issue。這邊最近找到用 PowerShell 防止同時執行方法,但後來還是遇到一些問題,所以就不使用了。

第一次用的人需要開權限

請參考: PowerShell 更改執行原則,解決無法執行 ps1 指令稿問題 - Office 指南

1
Set-ExecutionPolicy RemoteSigned

使用 Mutex

參考:讓powershell同時只能運行一個腳本(進程互斥例子) - PowerShell免費軟件 - 博客園

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
# PowerShell 進程(腳本)互斥的例子
$互斥名字 = 'Global\我代號為天王蓋地虎'
$建立互斥成功否 = $flase
$互斥對象 = New-Object System.Threading.Mutex ($true,$互斥名字,[ref]$建立互斥成功否)
if ($建立互斥成功否)
{
    write-host '互斥成功,開始幹活!'
    start-sleep  -Seconds 60 #你的任務
    $互斥對象.ReleaseMutex() | Out-Null
    $互斥對象.Dispose() | Out-Null
    write-host '活幹完了,釋放'
}
else
{
# 每個互斥腳本必須單獨佔用一個進程!powershell傳教士 win7 ,win10, powershell core v6.0 beta8 on linux測試通過
    write-host '互斥失敗 !'
}

後續我沒有使用這個方法

我發現我寫在我動態排程啟動器,發現執行第一次後,後續不一定次數後 Mutex 功能會失效,得到資訊都會是 false。這邊就不使用這個方法。至於發生什麼問題我還沒找到原因,但我猜是鎖壞掉了,可能沒解鎖到。

Net Core 路由設定探討

之前寫.NET Core MVC裡面探討Services.AddMvcServices.AddMvcCore方法差異。
這邊只有簡單紀錄重點。

addMvcCore: 只包含MVC功能。所以Controller 用到JSON 回傳會錯誤。
addMvc: 包含MVC Core和相關第三方常用服務方法。

最近建立空白專案,發現所有 Startup.cs 都是空的。瞬間不知道要放什麼…
還是了解一下這些事做什麼,主要記錄這篇以後使用知道自己在幹嘛

LocalDB 開發程式使用的資料庫

最近開始碰 SQL Server,我朋友推薦安裝 SQL Server Express,但要執行 SQL Server Express 在電腦資源這也不是我很想要的事情。我有看到開發用的 LocalDB ,這邊根本機 SQL Server 不會衝突,我朋友沒用過,可能也會擔心相容性問題,這邊我當勇者試試。 看網路上也沒有人提到相容性不好,所底應該可以用。

Visual Studio 做 Net Core 專案分層

什麼是程式分層呢?在平常我們在大專案會做分層,讓程式不會特別亂。當然有些小專案不會這麼複雜,有些公司(優良)可能會用,但有些可能不會特別設定,但正常專案通常都會切。設定這個可能也需要一些編譯程式知識,新手不了解編譯程式相關知識可能會遇到很多問題,我推薦了解再回來看可能會比較懂在做什麼。