발음도 어려운 encapsulation은 직역하면 캡슐화 이다. 캡슐은 안의 내용물은 드러나지 않는다. 마찬가지로 encapsulation은 안의 정보가 드러나지 않는 것을 말한다. Hiding infromation 혹은 hiding data라고 한다. 즉 클래스가 담고 있는 데이터를 노출 시키지 않는 것을 말하는 것이다. 클래스가 담고 있는 데이터를 클래스 외부에서의 접근은 막고 클래스 내부적으로만 접근을 허용하는 걸 말한다...
Read아마 많은 개발자들 (경력자들 포함해서)이 클래스에 관해서 설명하는데 굉장히 어려워할 수 있을 것 같다. 클래스를 많이 사용하고 익숙한 개발자들도 클래스가 무엇인지에 대한 추상적인 이해도는 있지만, 클래스를 명확하게 정의한다는 것은 어려울 수 있는 일이다. 그래서 면접에서 클래스에 관해서 설명해보라는 질문이 나오면 많은 개발자들이 긴장한다. 실제로 우리 위코드의 수강생들도 코딩을 배울 때 특별히 어려워하는 개념들이 몇 가지가 있는데 그중 하나가 클래스이다.그렇다면 클래스는 왜 이해하기가 어려울까?...
Read다른 프로젝트와 마찬가지로 terraform도 프로젝트 디렉토리 구조를 잘 잡는것이 중요하다. 하지만 terraform의 `HCL (HashiCorp Configuration Language)`은 Python이나 Java같은 프로그래밍 언어가 아니라 말 그대로 설정 언어이기 때문에 (YAML 같은) 어떻게 프로젝트 구조를 잡아야 좋을지 감이 쉽게 오지 않을수 있다...
ReadMySQL은 ranking 함수가 없다. 그래서 row의 순위 값을 구할려면 variable를 사용하거나 count를 사용한 sub query를 사용해서 구하는 방식이 일반적으로 사용되고 있다...
ReadDocker image는 파일시스템들의 layer로 만들어져 있다. 가장 base layer는 boot filesystem `bootfs`로 일반적인 Linux boot 파일시스템으로 되어있다. Docker 유저가 직접적으로 boot filesystem을 사용할 일은 없으며, 실제로 container가 부팅이 되면 메모리로 옴겨지고 boot 파일시스템은 unmount된다...
Read