프로그래밍을 할 때 개발 환경 구성은 매우 중요하다.
특히나 처음 접하는 언어를 이용해서 프로그래밍을 할 때 도움이 되는 툴을 선택하는 건 쉽지(?) 않은 문제이다.
여기에서는 마이크로소프트에서 만든 개발 환경으로 윈도우, 리눅스, 맥에서 동작하며, 많이 사용되고 무료로 사용할 수 있는 Visual Studio Code{:target=“blank”}를 이용하여 TypeScript개발 환경을 구성해 본다.
준비사항 다음 프로그램들이 설치되어 있어야 한다.
[Visual Studio Code](https://code.visual studio.com/ “Visual Studio Code”){:target=“blank”} Node{:target=“blank”} TypeScript{:target=“blank”} 비주얼 스튜디오 코드 둘러보기 소스 코드를 저장할 디렉터리를 만들고 비주얼 스튜디어 코드를 실행하면 명령 줄에서 코드를 실행 할 수 있다.
Go lang 다운로드 및 설치하기. 먼저 Download Go{:target=“blank”} 에서 해당 환경에 맞는 Go 버전을 다운로드하여 설치한다.
현재 기준으로 최신 Stable version은 1.10.3 버전이다.
Linux를 기준으로 설치 방법은 다운받은 Go 파일의 압축을 해제하기만 하면 된다. 시작하기 가이드에 있는 경로에 설치 하기 위해 다음 명령어를 이용하여 압축을 해지한다.
sudo tar -C /usr/local -xzf go1.10.3.linux-amd64.tar.gz chown -R [OWNER]:[GROUP] go 설치후 환경변수에 패스를 등록해준다.
export GOROOT="/usr/local/go" export PATH=$PATH:$GOROOT/bin 설정 및 설치가 잘되었는지 확인 해본다. $ go version go version go1.
linux 의 less 명령어는 파일 내용을 확인하는 명령어들 중에 하나로 파일을 읽어 화면에 출력하는 명령어이다. 비슷한 명령어로 cat, more가 있다. more는 파일 내용을 확인 할 떄 위에서 아래 방향으로만 출력되어 지나간 내용을 다시 볼 수 없지만 less는 한 번에 보여지는 만큼만 읽어서 출력하기 때문에 크기가 큰 파일을 볼 때 유용하게 사용할 수 있다.
기본 사용법은 다음과 같다.
$>less [filename] 기본동작은 엔터키를 입력하면 한줄씩 출력되고 스페이스바를 입력하면 한 화면씩 출력된다.
옵션 텍스트 모드 단축키 q : 프로그램 종료 엔터 : 1라인 아래로 이동 방향키 업 : 위로 1라인 이동 방향키 다운 : 아래로 1라인 이동 b or page up : 위로 1페이지 이동 space bar or page down : 아래로 1페이지 이동 G : 텍스트 파일의 제일 마지막으로 이동 1G or g : 텍스트 파일의 맨 처음으로 이동 /문자열 : 아래 방향으로 진행하며 입력된 문자열 찾기 n : 이전 검색어의 다음 찾기 z : 아래로 한 화면 이동 w : 위로 한 화면 이동 d : 아래로 화면의 절반 이동 u : 위로 화면의 절반 이동 h : 도움말 보기 +[linenumber] : 지정된 라인부터 내용을 출력 +G : 텍스트 파일의 제일 마지막 내용을 출력
Docker 설치 설치 환경 : Mint 17 (Ubuntu)
$> sudo apt-get install docker.io $> sudo apt-get install docker.io Reading package lists... Done Building dependency tree Reading state information... Done The following package was automatically installed and is no longer required: python3-pyqt4 Use 'apt-get autoremove' to remove it. Suggested packages: btrfs-tools debootstrap lxc rinse Recommended packages: aufs-tools The following packages will be REMOVED: docker-engine The following NEW packages will be installed: docker.
Docker 옵션 $> docker docker info Containers: 1 Images: 3 Storage Driver: aufs Root Dir: /var/lib/docker/aufs Backing Filesystem: extfs Dirs: 5 Dirperm1 Supported: false Execution Driver: native-0.2 Kernel Version: 3.13.0-24-generic Operating System: Ubuntu 14.04.3 LTS CPUs: 8 Total Memory: 15.56 GiB Name: geeksaga ID: LABC:D6KO:QT4K:WOXZ:YLE4:CPBY:DFM2:2SKJ:A6ZG:MTLJ:M6NC:ANFW WARNING: No swap limit support Docker 설정 파일 /etc/default/docker
$> cat /etc/default/docker # Docker Upstart and SysVinit configuration file # Customize location of Docker binary (especially for development testing).
###Strategy Pattern Strategy Pattern 은 알고리즘군을 정의하고 각각의 알고리즘 클래스 별로 캡슐화하여 동적으로 알고리즘을 변경할 수 있는 구조로된 패턴이다.
(Object) Behavioral Patterns
[Strategy Pattern]({% post_url design-pattern/2017-01-10-strategy-pattern %})
클래스 내부의 알고리즘을 캡슐화한다. [Template method Pattern]