[實戰]C# Net Core ResultFilter
前言過去幾個專案在執行時,有時候 API 格式規劃、調整、修改必須要有一個統性規劃,也是新手在開發時常常會忽略的部分,因此這篇主要是紀錄一下 ResultFilter 的使用方式。
參考文件
ASP.NET Core 中的結果過濾器
ASP.NET Core Web API 入門教學(13_5) - ResultFilter 之統一回傳格式紀錄
補充需要學習進階 API 使用方式,可以參考上方文章、影片會有所幫助。
何謂 ResultFilterResultFilter 是一個可以在執行結果前、後進行處理的過濾器,主要是透過 OnResultExecuting、OnResultExecuted 來進行處理,以下為官方文件範例。
123456789101112public class SampleResultFilterAttribute : Attribute, IResultFilter{ public void OnResultExecuting(ResultExecutingContext context) { // Do som ...
【前端】 (九) - 使用api方式加入routes
一、前言最近幾個月使用 github coplit 來練習 react ,順便紀錄 react 的學習過程,這篇主要是使用 api 方式加入 routes。
二、使用 api 方式加入 routes2-1 加入 API 調用在 App.js 中加入 API 調用,並將獲取的數據設置到狀態中。以下為資料庫結構
123456789[ { "id": 1, "name": "首頁", "path": "/", "importAt": "Template/Home", "icon": "fas fa-home" }]
以上目的是為了抓取 import 的路徑,並且將資料庫的資料設置到狀態中,以便後續使用。接著用從 API 取得資料即可。
12345678const [routesData, setRoutesData] = useState([]);useEf ...
使用 Github Action (六) - 使用 Actions 實現排程效果
一、前言近期已經完成 WebJob 章節,後續衍生一些問題是 Azure WebJob 排程上的問題一直沒有執行成功,利用最簡單方式 CI/CD 來解決這個問題。
1-1. 期初想法第一次使用 CICD 會有幾個想法。
動作 : CICD 可以編譯、發佈、測試、部署、排程、通知等等。可以把所有事情都做完,非常符合我的需求。
定時/手動 : CICD 是可以定時執行,也可以手動執行,非常方便。
環境 : CICD 可以在不同環境執行,例如:測試、正式、開發等等。
Git 選擇 : Github 必定是首選。光 Actions 額度、便利性、社群、擴充性等等都是首選。
二、Github Action前幾篇有提到 Actions 實作方式,這裡就用最簡單方式來實作排程。需要步驟如下 :
手動/定時執行 : 手動排程可以直接點選執行,定時排程可以設定排程時間。當功能異常可以利用手動排程來執行。
環境 : 因為我使用的是 .NET CORE 可以用 linux 減少建置、執行時間。
執行動作 : 動作需要安裝Nuget、建置、執行
2-1 手動/ ...
Docker (五) - httpd 修改 index 內容
前置作業完成下方指令已可繼續本章節。
123docker pull httpddocker create -p 8080:80 --name web -i httpddocker start web
進入 Container 內 Cli12docker ps -a #看狀態 docker exec -it web bash
修改 index.html 內容123456#找到 htdocs內的index.htmlcat htdocs/index.html## 修改index.html內容echo Hello world - Docker > htdocs/index.html && exit
離開後直接開啟 http://localhost:8080/ 即可看到效果,如果看不到效果請再重新整理container。
Docker (四)- port設定篇(httpd)
使用 httpd這邊使用上篇使用方式設定port。步驟如下
創建 images1docker pull httpd
創建 Container 環境這裡需要留意 -p 、--publish兩個參數可以使用,都是設定port forwarding。
host 8080連線後,會直接轉到Container 中的 80 port。12```cmddocker create -p 8080:80 --name web -i httpd
稍微補充資訊,像是沒有特別指定 port 參數是不會有預設port ,如下圖顯示。
執行畫面start沒有設定port參數,所以需要從 Container 設定 ,啟動後就可以使用 httpd畫面
1docker start web
刪除背景程式httpd 執行後會以背景程式方式執行,如果想要直接結束作業必須要使用 -f參數,如下指令。
1docker rm -f web
【筆記】加解密基礎概念
一、加解密基礎概念當我們談論加解密時,我們實際上是在討論一種數學和計算概念,其目的是保護資訊的機密性和完整性。加解密是資訊安全的基石,它們用於在傳輸或存儲資訊時將其保護起來,使得未經授權的人無法存取或理解其內容。
加密 (Encryption):加密是將原始資訊轉換成不可讀的形式的過程,以保護資訊的隱私。這通常涉及使用密鑰(key)來對資訊進行數學運算,從而產生看似雜亂無章的資料,即密文。常見的加密算法包括對稱加密和非對稱加密。
對稱加密 (Symmetric Encryption):在對稱加密中,相同的密鑰用於加密和解密資訊。這意味著發送和接收方都必須共享相同的密鑰。AES(Advanced Encryption Standard)是一個廣泛使用的對稱加密算法。
例如,當Alice想要發送一個加密的訊息給Bob時,她將使用共享的密鑰對訊息進行加密。Bob將使用相同的密鑰對接收到的密文進行解密,以恢復原始的訊息。
非對稱加密 (Asymmetric Encryption):在非對稱加密中,有一對密鑰:公開金鑰和私密金鑰。發送方使用接收方的公開金鑰來加密資訊,而接收方使用他們的私密 ...
【VB】VBA 腳本使用 - 加入SHA 加密
一、VBA 腳本使用1. 啟動Excel並打開VBA首先按下Alt + F11,進入VBA編輯器,然後在左側的專案總管中,選擇這台電腦,右鍵選擇插入,選擇模組,即可進入VBA編輯器。
二、使用 SHA 加密製作1. 加入SHA 加密Function1234567891011121314151617181920Public Function SHA1Hash(sIn As String, Optional bB64 As Boolean = 0) As String Dim oT As Object, oSHA1 As Object Dim TextToHash() As Byte Dim bytes() As Byte Set oT = CreateObject("System.Text.UTF8Encoding") Set oSHA1 = CreateObject("System.Security.Cryptography.SHA1Managed") TextToHash = ...
【VB】VBA 基本語法 03 - 錯誤處理、偵錯、其他
如何開啟 VBA 編輯器首先按下Alt + F11,進入VBA編輯器,然後在左側的專案總管中,選擇這台電腦,右鍵選擇插入,選擇模組,即可進入VBA編輯器。
VBA 基本語法 - 錯誤處理、偵錯、其他一. 錯誤處理VBA中的錯誤處理有兩種,一種是On Error Resume Next,一種是On Error GoTo。
1234' On Error Resume NextOn Error Resume Next ' 可能會發生錯誤的程式On Error GoTo 0
1234567' On Error GoToOn Error GoTo 錯誤標籤 ' 可能會發生錯誤的程式Exit Sub錯誤標籤: ' 錯誤處理程式End Sub
二、偵錯VBA中的偵錯有兩種,一種是設置斷點,一種是使用Debug.Print。
12' 使用Debug.PrintDebug.Print "輸出文字"
點選程式碼指定行數【設置斷點】即可
三、其他VBA中的其他有兩種,一種是設置變數類型,一種是設置變數作用域。 ...
【VB】VBA 基本語法 02 - 函數、子程序
如何開啟 VBA 編輯器首先按下Alt + F11,進入VBA編輯器,然後在左側的專案總管中,選擇這台電腦,右鍵選擇插入,選擇模組,即可進入VBA編輯器。
VBA 基本語法 - 函數、子程序一、函數VBA中的函數有兩種,一種是內建函數,一種是自定義函數。
12' 內建函數內建函數名稱(參數1, 參數2, ...)
1234' 自定義函數Function 函數名稱(參數1, 參數2, ...) ' 函數內執行的程式End Function
二. 子程序VBA中的子程序有兩種,一種是Sub子程序,一種是Function子程序。
1234' Sub子程序Sub 子程序名稱(參數1, 參數2, ...) ' 子程序內執行的程式End Sub
1234' Function子程序Function 子程序名稱(參數1, 參數2, ...) ' 子程序內執行的程式End Function
三. 物件VBA中的物件有兩種,一種是內建物件,一種是自定義物件。
12' 內建物件內建物件名稱.屬性名稱
12& ...
【VB】VBA 基本語法 01 - 註解、變數、輸入輸出、條件判斷、迴圈
如何開啟 VBA 編輯器首先按下Alt + F11,進入VBA編輯器,然後在左側的專案總管中,選擇這台電腦,右鍵選擇插入,選擇模組,即可進入VBA編輯器。
VBA 基本語法 - 註解、變數、輸入輸出、條件判斷一、註解VBA中的註解只有單行註解,如果要多行註解需要點選【檢視 > 工具列 > 編輯】叫出【工具列】點選 【使程式行變為註解】。
1' 單行註解
二、變數VBA中的變數有兩種,一種是動態變數,一種是靜態變數。
12' 動態變數Dim 變數名稱 As 變數類型
12' 靜態變數Static 變數名稱 As 變數類型
三、輸入輸出VBA中的輸入輸出有兩種,一種是輸入,一種是輸出。
12' 輸入InputBox("輸入提示文字", "輸入標題", "預設值")
12' 輸出MsgBox "輸出文字"
四、條件判斷VBA中的條件判斷有兩種,一種是單條件判斷,一種是多條件判斷。
1234' 單條件判斷If 條件 Then ...