2021年7月22日 星期四

使用 .NET 移除工具(Uninstall Tool)刪除系統上用不到的 .NET SDK 和 Runtime

使用 .NET Core 來開發各種應用時,久了都會在系統留下一些過時或用不到的 SDK,放著不理它雖然沒啥大礙,但老實說其實還蠻佔空間的,因此一直想找個機會把他們移除掉。最近剛好看到有人介紹了官方的移除工具,就藉此機會來清理一下硬碟吧^^。


2021年6月24日 星期四

SQL Server 查詢資料時使用非預期索引(Index)的問題探討

最近被一位資深的資訊界前輩問到說,當資料庫查詢資料不是使用你建立的索引時,有沒有什麼解決方式可以改善此類的問題,當時我的回答印象中是先看建立的索引是否有誤或確認有沒有漏掉某些該包含的欄位,對於這樣的回應這位前輩看起來是不太買單XD,經過一番討論後,大概了解到他想聽到的解法為直接在 SQL 查詢語句裡加入指定要使用的索引。嗯...到這邊,我先承認其實我以前還真的沒想到過可以使用這種方式來處理這類問題,因此就趁這個機會來稍微研究一下這個問題背後可能的原因及解決方式,但先說在前,本人對 SQL 並無太多深入的研究,這邊只算是紀錄個人對該問題的處理心得,所以內容不一定正確且適用每個場景,如果有錯的地方,還請各位前輩們高抬貴手給予指正。

2021年3月29日 星期一

在 Ubuntu 下改變時區(Timezone)的方式

以往自己習慣將 Server 上預設的時區(通常為 UTC)調整成跟本地端開發的時區一致,以避免部署後在客戶端發生各種千奇百怪的時差問題。之前因為網站都放在 IIS 上的關係,所以都是直接在 Windows Server 裡到控制台點一點重開機一下即可,但換到 Linux 環境下,沒有什麼東西能點只能靠指令的方式來完成,鑒於本人金魚腦能記的東西實在不多,所以在這邊就記錄一下在 Ubuntu 上設定時區的方式。


2021年3月25日 星期四

在 Entity Framework Core 下使用純 SQL 方式取得資料庫的資料

自己在使用 Entity Framework 或 Entity Framework Core(以下簡稱 EF Core) 時,需要以純 SQL 方式來操作資料庫的場合還真的不多,而剛好最近在學用 Dapper 時,突發奇想說如果不靠 Dapper 只使用 EF Core 的話,是不是也能達成類似目的。那這邊先說結論,試過後還是 Dapper 比較香XD,但如果真的不想讓專案再多依賴一個外部套件的話,單靠 EF Core 也能辦到就是,但就會比較囉嗦,因此這邊就先筆記一些自己用到的案例及解決方式供以後參考。


2021年3月16日 星期二

Nginx 設定裡的 location 匹配選擇機制

最近在設定 Nginx 時,才發現原來它可以根據不同請求的 URI 來給予不同的配置規則,如導向不同的應用程式(有點後知後覺XD),而在實際用過後,登登登,不得了一試成主顧。這讓我想到以前在 IIS 上都沒做過類似的事情,還自以為很懂 IIS,完全自我感覺良好無誤...,既然現在已經知道可以這麼做並且自己也將學習重心移轉到 Nginx 上,當然就要把這次的學習過程給記錄下來,所以這篇就將自己對 location 的認知做個整裡。

2021年3月6日 星期六

2021年3月1日 星期一

使用 Nginx 做 Load Balancer

以往鮮少有機會自己設置 Load Balancer,剛好最近比較常玩 Nginx,知道其本身就有內建相關的機制且設置也不難,因此在這邊就將自己實際用到的部分稍微記錄下來。

2021年2月22日 星期一

在 Ubuntu 上建立自定義的 Shell Script 達成一鍵部屬 .Net Core 應用程式

之前曾經分享過如何透過 Nginx 伺服器在 Ubuntu 上部屬 .Net Core 應用程式,由於部屬方式是採用將應用程式包成檔案的方式再用 Git 上傳到伺服器上,因此每次應用程式在發布新版時,都要先下指令將應用程式暫停,然後處理版控及權限更改等相關指令,最後再下指令將應用程式啟動。這些動作偶爾做還好,但如果常做不免覺得有點浪費時間,所以自己寫了一個 Shell script 來整合上述過程中所有用到的指令碼,指令碼內容可以再視個人需求做相關的修改。

2021年2月9日 星期二

在 Ubuntu 上安裝及更新 Git 的方式

最近某一台 Ubuntu 虛擬機上的 Git 版本太舊,導致某些功能並無支援,要幫它更新時一時之間還真想不到該如何操作,因此在這裡記錄一下搜尋到的結果,也順便把安裝方式一併附上。

2021年1月12日 星期二

Vim 強制覆寫檔案的方式

使用 Vim 編輯檔案時,有時候會遇到權限不足或檔案為唯獨的狀況而造成我們的修改無法順利寫入,這邊提供一些方式來解決此類的問題。

2021年1月11日 星期一

在 .Net Core 3 上使用 IHttpClient 取得圖片並下載到本地端

因為某些因素需透過圖片連結位址取得目標圖片之 Stream 格式並供網站系統利用,聽起來不是太難的功能,所以照慣例,先詢問谷狗大神參考一下大家的做法,看到蠻多都是採建立 HttpClient 的物件並呼叫 GetStreamAsync() 方法來直接取得。但不知道什麼原因,自己試過後,發現這方法對我行不通,只能透過 GetByteArrayAsync() 方式才能成功取到圖片資源,因此稍微修正了一下實做方式並在這邊做個記錄。

2021年1月10日 星期日

如何手動安裝輕量級專案管理神器 GanttProject

過去自己在做專案管理時,都是使用拉一張 Excel 表的方式來做工作項目的規劃,平時如果專案都有照表操課進行,倒也沒什麼不好,但現實中就是不會事事都這麼順利,有時規格一變動光是改時程之間的相依關係就是一件頗讓人抓狂的事,因此才想說能不能找到一個專門的軟體來改善這塊,所以花了些時間比較了一下。最後選擇了 GanttProject,其有著免費、輕巧、易上手等優點(我自己覺得),事後用起來確實也蠻符合自己的需求,唯一有點小卡的地方就在於前期安裝的細節,因此趁還沒遺忘安裝步驟時(金魚腦XD)趕緊紀錄下來。

2020年12月14日 星期一

在 SignalR 裡使用 .Net Core 內建的 JWT Token 機制來驗證連線

前幾天使用了 SignalR 設計出了一款史萊姆賽跑遊戲(如下圖),今天想要進階一點,想說不知道 SignalR 支不支援客戶端連線的驗證,查了一下微軟官方文件,欸嘿~果然也是可以的。不論是使用 Cookie 驗證的方式或是 Token 為基礎驗證的方式都行的通。所以這篇就筆記一下我如何使用 JWT Token 的方式來達成客戶端連線的驗證,若對 .Net Core 內建的 JWT Token 驗證機制還不太了解的讀者,可以先參考保哥這篇文章。


2020年8月21日 星期五

在 Linux Ubuntu(16.04) 佈署 ASP.NET Core 應用程式至 Nginx 伺服器

在採用 Nginx 來取代 IIS 作為 ASP.NET Core 應用程式的反向代理伺服器(Reverse proxy)過程中,覺得過程有點繁瑣,因此在這邊記錄一下從頭到尾的架設步驟及相關的疑難排解,提供給下一次安裝參考用。

2020年7月29日 星期三

使用 Chrome 無法在 http 的網站裡置放 cookie 的解決辦法

今天在使用 Chrome 測試網站時遇到了一個問題,該網站是採用 ASP.NET Core 的 Cookie 授權認證的方式驗證使用者,但明明使用者已經輸入帳號密碼且 API 也顯示登入成功,照裡來說使用者應該要能通過網站的驗證且 Cookies 裡會有相關的加密字串值才對,但怎麼找就是沒有,後來改透過安全連線(https)來嘗試,竟然就成功了!?這時才想到好像之前有看到一則新聞有關於 Google 針對 Cookies Policy 的更新,馬上上網查了一下是不是跟這有關,果不其然,較詳細的內容及解決方式我就直接列在下面了。

2020年7月27日 星期一

npm 安裝套件遇到 reason: getaddrinfo ENOTFOUND xxx.xxxxxx.xxx 的解決辦法

最近開始嘗試前端導入框架來開發,首要碰的東西(其實以前曾經用過)就是 node 和 npm。之前就曾被這兩個東東茶毒過,心裡的陰影一直揮之不去(怕),果不期然這次剛回來安裝馬上就遇到了找不到下載地址資訊的問題...翻了許多 stackoverflow 及博客的文章,才終於解決了這奇怪的問題,以下提供找到的解決方式。

2020年7月14日 星期二

Windows 7、Windows 10 遠端桌面因身分驗證問題或連接無回應的解決方式

前一陣子,我的公司電腦 Windows 7 在使用內建的遠端桌面連線某幾台電腦時,都會毫無反應就自己關掉應用程式,對! 完全沒錯誤訊息。當時因還有其他替代方案就沒去深究,直到最近聽同事聊到他們也有類似狀況時,也找到了解決方案(他們使用的是 Windows 10,有錯誤訊息),所以估且就死馬當活馬醫試了一下,結果登登登~~~竟然成功了,立馬記錄下來看能不能造福更多人順便積點陰德XD

2020年5月26日 星期二

MCSA 、MCSD 證照考前簡易複習筆記

這邊紀錄一些自己在準備微軟 MCSA、MCSD 的相關證照考試(即將在 2021-01-31 退役)時,較不熟悉(或少用)的部分供考前複習使用,也順便加強自己欠缺不足的地方。

2020年4月10日 星期五

設定 ASP.NET Core 3.x 的起始連結(URL)位址

ASP.NET Core 3.x 本身提供了多種設定起始連結的方式,和過去 2.x 版本其實相差不大,因此下面的範例應該也都適用於 2.x 版本。

訪客統計