devs

Dev

Encapsulation이 무엇인가요?

발음도 어려운 encapsulation은 직역하면 캡슐화 이다. 캡슐은 안의 내용물은 드러나지 않는다. 마찬가지로 encapsulation은 안의 정보가 드러나지 않는 것을 말한다. Hiding infromation 혹은 hiding data라고 한다. 즉 클래스가 담고 있는 데이터를 노출 시키지 않는 것을 말하는 것이다. 클래스가 담고 있는 데이터를 클래스 외부에서의 접근은 막고 클래스 내부적으로만 접근을 허용하는 걸 말한다...

Read
Dev

Class가 무엇인가요?

아마 많은 개발자들 (경력자들 포함해서)이 클래스에 관해서 설명하는데 굉장히 어려워할 수 있을 것 같다. 클래스를 많이 사용하고 익숙한 개발자들도 클래스가 무엇인지에 대한 추상적인 이해도는 있지만, 클래스를 명확하게 정의한다는 것은 어려울 수 있는 일이다. 그래서 면접에서 클래스에 관해서 설명해보라는 질문이 나오면 많은 개발자들이 긴장한다. 실제로 우리 위코드의 수강생들도 코딩을 배울 때 특별히 어려워하는 개념들이 몇 가지가 있는데 그중 하나가 클래스이다.그렇다면 클래스는 왜 이해하기가 어려울까?...

Read

Terraform Proejct Directory Structure Best Practice

다른 프로젝트와 마찬가지로 terraform도 프로젝트 디렉토리 구조를 잘 잡는것이 중요하다. 하지만 terraform의 `HCL (HashiCorp Configuration Language)`은 Python이나 Java같은 프로그래밍 언어가 아니라 말 그대로 설정 언어이기 때문에 (YAML 같은) 어떻게 프로젝트 구조를 잡아야 좋을지 감이 쉽게 오지 않을수 있다...

Read
Dev

Terraform으로 AWS Security Group 설정하기

Seucrity Group(보안그룹) 은 하나 이상의 인스턴스에 대한 트래픽을 제어하는 가상 방화벽 이다. 이전 [post](https://rampart81.github.io/post/vpc_confing_terraform/) 에서는 VPC를 사용하여 큰그림의 전체적인 네트워크를 구현했다면 Security Group을 사용해서 더 세부적으로 (서버별로) 네트워크 트래픽을 제어할수 있다. Security Group을 사용하여 해당 인스턴스에 접속 할수 있는 소스 IP, Protocol 와 해당 인스턴스가 보낼수 있는 outbound 트래픽까지 설정할수 있다. 이전 [post](https://rampart81.github.io/post/vpc_confing_terraform/)에서 구현했던 네트워크 아키텍쳐를 기반으로 security group 아키텍쳐를 구현해보자...

Read
Dev

Terraform으로 IAM 계정 설정하기

Terraform으로 IAM 계정 설정하는 방법을 설명하였다. Terraform을 사용해서 IAM 계정을 설정하기 위해서 필요한 terraform `resource`들은 아래와 같다...

Read
Dev

S3로 Terraform State file 관리하기

S3로 Terraform State file 관리하기

Read