MurabitoB
item.title
2024 CKAD 考試心得

前言

CKAD 是由 Linux Foundation 與 Cloud Native Computing Foundation (CNCF) 合作的認證考試

主要是針對 Kubernetes 的應用開發者,考一些 Pod / Deployment / Service / ConfigMap / Secret / Network Policy / Storage 等等的操作。

早在 2022 年的時候,就已經許下了一個目標是要在 2023 年能過把他考過,但是因為拖延症發作加上換新工作適應職場,所以遲遲沒有定下心來好好準備去考。

Angular 初探 HttpInterceptor

前言

雖然內建的 HttpClient 本身就可以針對 Http 請求進行設定 header, queryString, body 等參數上的設定。

但是,如果今天的情境是請求要呼叫的 API 需要帶上一些 token 放在 header 或者其他地方的話,在每隻都要主動填入的話會造成一直在寫重複的 Code。

如果今天的情境是在每次呼叫特定的 API 的話都要都要帶上特定的參數的話,這時候就很適合用 HttpInterceptor 來進行處理。

HttpInterceptor 可以針對每次每次的 Request Response 進行加工,使處理的邏輯能夠集中在一個地方,概念上有點像後端 framework 的 Middleware

Angular 自定義 Pipe

首先要實作 Custom Pipe 必須先繼承 PipeTransform Interface,並實作 transform function

此外,還要定義 @Pipe 的 Decorator

@Pipe({
	name: 'custom'
})
export CustomPipe implements PipeTransform {

	transform(value: any){
		return value.subString();
	}
}
Angular Template Form

Angular 的表單可分為兩種,一種是 Template Form ,一種是 Reactive Form。

Template Form 與 Reactive Form 的差異在於 Template Form 會以模板驅動去進行驗證,相關驗證方式都是以在 html template 上面追加 directive 的方式進行驗證,例如 required

其餘 built-in 的 validator 可以參照:Angular - Validators

首先要引用 Template Form 的方法須先引入 FormsModule

@NgModule({

declarations: [

AppComponent

],

imports: [

BrowserModule,

FormsModule,

],

providers: [],

bootstrap: [AppComponent]

})

接著,在自己的 Component 寫一個簡單的表單,並且給希望綁定在表單的元素加上 nameprop 以及 ngModel 的 Directive。

Azure Function .Net Core 開發紀錄(二)

Azure Function .Net Core 開發紀錄(二) 如何取得 config 變數

前言

在 .Net Core API 專案中,我們習慣透過 appsetting.json 來取得 config 的設定值,在 Azure function 中,需要透過專案根目錄裡面的 local.setting.json 的 Values 欄位來設定。

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "UseDevelopmentStorage=true",
    "FUNCTIONS_WORKER_RUNTIME": "dotnet"
    // 從下面開始添加自己的設定
  }
}
Azure Function .Net Core 開發紀錄(一)

Azure Function .Net Core 開發紀錄(一) 如何進行 Dependency Injection

前言

在 Visual Studio 建立新的 Azure Function 的專案的時候,預設是不會有 Dependency Inejction 的相關設定,但是可以透過安裝 nuget 套件來進行設定。

安裝套件

安裝 Microosft.Azure.Functions.Extensions 套件