2021/03/21 3

[C++] 템플릿 메소드 패턴 (Template method pattern)

동작 상의 알고리즘의 프로그램 뼈대를 정의하는 행위 디자인 패턴이다. 알고리즘의 구조를 변경하지 않고 알고리즘의 특정 단계들을 다시 정의할 수 있게 해준다. - https://ko.wikipedia.org/wiki/%ED%85%9C%ED%94%8C%EB%A6%BF_%EB%A9%94%EC%86%8C%EB%93%9C_%ED%8C%A8%ED%84%B4 동작 상 흐름의 뼈대가 되는 부분은 변하지 않게 정의하고, 변하는 부분만 파생 클래스에서 재정의할 수 있도록 만든 패턴입니다. 부모 클래스에서는 뼈대가 되는 부분은 private이나 protected로 정의하여 외부에서 건들지 못하게 하고, 변해야 하는 부분은 public으로 정의하여 파생 클래스에서 재정의할 수 있도록 합니다. 이런 동작을 통해 코드의 중복을 ..

Pattern/C++ 2021.03.21

[C++] 프로토타입 패턴 (Prototype pattern)

객체를 복사하여 새로운 객체를 만들 때 사용하는 패턴입니다. 객체를 새로 생성할 때, 객체의 타입을 프로토타입인 인스턴스로부터 결정되도록 하며, 인스턴스는 새 객체를 만들기 위해 자신을 복제(clone)하는 패턴. https://ko.wikipedia.org/wiki/%ED%94%84%EB%A1%9C%ED%86%A0%ED%83%80%EC%9E%85_%ED%8C%A8%ED%84%B4 객체를 생성할 때 런타임 시 new를 사용하지 않고 clone하기 때문에 내부의 변수(속성, attribute)들이 그대로 복제됩니다. new를 사용하면 내부의 변수들은 초기화된 상태로 새 객체가 생성됩니다. 이를 위해 부모클래스에서 virtual 함수로 Clone()을 정의해 주어야 합니다. #include using nam..

Pattern/C++ 2021.03.21

Node.js 설치 및 Helloworld 실행

1. Node.js 홈페이지에서 본인의 사양에 맞는 버전을 다운로드 받아 설치합니다. nodejs.org/en/download/ 저는 아래 옵션을 선택하여 이것저것 자동으로 설치해 보았습니다. Command 창에서 node 를 실행해서 잘 설치가 된 것을 확인합니다. 2. 프로젝트 생성 프로젝트를 생성할 디렉토리로 이동 후 npm init 을 입력합니다. 프로젝트 세팅에 대한 내용들입니다. 우선 연습용에서는 크게 연연하지 않고 엔터키로 계속 넘어갑니다. > npm install 이 내용들은 해당 디렉토리에 package.json 파일로 저장됩니다. 다음은 npm install express 를 입력합니다. express는 간단하게 서버를 구현할 때 사용하는 Node.js 용 웹 프레임워크입니다. > np..

Node.js 2021.03.21