Stack 2

AWS CloudFormation 으로 VPC부터 Bastion EC2 생성까지

CloudFormation이란? AWS에서 제공하는 IaC (Infra as Code) 서비스이다. VPC, EC2, S3 등 모든 AWS 인프라를 코드로 관리할 수 있다.이렇게 인프라를 코드로 관리할 경우, 현재 인프라를 다른 지역에 동일하게 생성한다거나, 인프라의 변경이력을 확인하는 등 인프라를 좀더 체계적이고 효율적으로 관리 및 운영하는것이 가능하다. CloudFomation을 위해서는 json 또는 yaml 형식의 template 파일을 작성한다. json과 yaml은 형식만 다를뿐 내용에는 차이가 없다. 개인적으로 가독성이 좋은 yaml 형식을 선호한다. 이렇게 작성한 template 파일(json 또는 yaml)을 CloudFormation에 업로드하면 Stack 이라는 단위로 관리된다. 따라..

IT/Public Cloud 2022.03.12

Tail Recursion(꼬리 재귀)란?

재귀함수 사용시 주의점재귀함수를 공부할때 항상 나오는 단점이 "stack memory" 가 많이 필요하다는 말이다.재귀함수란 A함수 안에서 A함수를 다시 부르는건데,A함수가 종료되지 않은 상태에서 A함수를 한번더 부르기 때문에, 종료되지 않은 함수들이 계속해서 stack에 쌓여간다.따라서 재귀호출이 너무 많이되면 stack memory가 overflow 될 수 있다.이렇게 stack memory를 과다사용하는 재귀호출의 문제점을 피하기 위한 방법이 바로 Tail Recursion(꼬리재귀)이다. Tail Recursion(꼬리 재귀)란?아래 예를 보자 (1~n 까지의 합을 구하는 일반적인 재귀함수다)r_sum 이라는 함수 내부에서 자기자신(r_sum)을 호출한다."r + r_sum()" 으로 되어 있기 ..

IT/Programming 2021.01.11
반응형