이후 Terraform Provider를 Framework로 마이그레이션 하는 도중 어떤 부분이 바뀌어야 하는건지 감이 잘 잡히지 않아 공식문서를 번역하며 두 버전의 차이에 대해 알아보고자 한다.https://developer.hashicorp.com/terraform/plugin/framework-benefits#interfaces-instead-of-declarative-structs Home - Plugin Development: Plugin Framework Benefits | Terraform | HashiCorp DeveloperCompare the prior SDKv2 and the framework for provider development. The framework is easier a..
해당 문서를 통해 우리는 아래의 항목이 가능한가에 대해 배울것이다프레임 워크가 필요하지 않다.디자인을 지나치게 복잡하게 하지 않는다테스트를 용이하게 한다범용적인 함수를 뛰어나게 작성할 것이다.func Greet(name string) { fmt.Printf("Hello, %s", name)}간단한 printf 함수가 있다. fmt.Printf를 호출하면 stdout으로 출력된다. 우리는 이제부터 print 하는 것을 의존성 주입(인자를 넘기는 것을 고급지게 표현했다- tdd 문서 표현)을 해보도록 한다우리의 함수는 어디에서 또는 어떻게 print가 발생하는 지를 신경 쓸 필요가 없다. 그래서 우리는 구체적인 type보다는 interface type을 허용해야 한다.⇒ 즉, 우리는 제어하는 어떤 것으..
이전의 배열과 슬라이스에서는 값을 순서대로 저장하는 방법에 대해 학습했다. 이번에는 항목을 key에 따라 저장하고, 저장한 key를 찾는 방법에 대해 알아보도록 하자.⇒ Key-Value가 있던 python의 Dictionary와 유사하다!테스트 코드 작성하기func TestSearch(t *testing.T) { dictionary := map[string]string{"test": "this is just a test!"} got := Search(dictionary, "test") want := "this is just a test!" if got != want { t.Errorf("got %q want %q given, %q", got, want, "test") }}맵을 선언할 때에는 map이라..
해당 포스팅은 Learn Go with Tests Gitbook을 따라 실습한 내용을 정리한 문서입니다. 테스트 코드 작성하기func TestWallet(t *testing.T) { wallet := Wallet{} wallet.Deposit(10) got := wallet.Balance() want := 10 if got != want { t.Errorf("got %d want %d", got, want) }} ⇒ 메서드를 통해 코드를 제어할 수 있도록 한다.type Wallet struct { balance int}func (w Wallet) Deposit(amount int) { w.balance += amount}func (w Wallet) Balance() int { return w.balan..