들어가기복잡한 로직을 설계할 때는 여러 컴포넌트들이 서로 어떻게 상호작용하는지,그리고 특정 작업을 수행하는 데 드는 비용과 그 작업이 실패했을 때 다시 원래 상태로 되돌리는 비용을 고려해야 합니다.그래서 비용이 적게 드는 컴포넌트에 대해 먼저 작업을 시도하고,실패했을 경우에는 빠르게 원래 상태로 되돌리는 '롤백(rollback)' 방식을 사용하기도 합니다.이 과정에서 Golang의 defer를 사용하면 어떻게 효율적으로 개선할 수 있는지에 대해 설명합니다.defergolang에서 defer는 함수가 종료될 때 실행되는 코드 블록을 정의하는데 사용됩니다.그래서 주로 리소스 해제나 파일 닫기, 뮤텍스 잠금 해제 등에 쓰입니다.func example() { defer fmt.Println("이 메시지는 ..