본문 바로가기

분류 전체보기

(221)
[Docker] Docker의 기능 Docker에는 크게 세 가지 기능이 있다. Docker 이미지를 만드는 기능 (Build) Docker 이미지를 공유하는 기능(Ship) Docker 컨테이너를 작동시키는 기능(Run) - Docker 이미지를 만드는 기능 (Build) Docker는 애플리케이션의 실행에 필요한 프로그램 본체, 라이브러리, 미들웨어, OS나 네트워크 설정 등을 하나로 모아서 Docker 이미지를 만든다. Docker 이미지는 실행 환경에서 움직이는 컨테이너의 바탕이 된다. Docker에서는 하나의 이미지에는 하나의 애플리케이션만 넣어 두고, 여러 개의 컨테이너를 조합하여 서비스를 구축하는 방법을 권장한다. Docker 이미지의 정체는 애플리케이션의 실행에 필요한 파일들이 저장된 디렉토리이다. 이미지를 tar파일로 출력..
[Docker] Docker의 개요 Docker란 Docker(도커)는 애플리케이션의 실행에 필요한 환경을 하나의 이미지로 모아 두고, 그 이미지를 사용하여 다양한 환경에서 애플리케이션 실행 환경을 구축 및 운용하기 위한 오픈소스 플랫폼. Docker는 내부에서 컨테이너 기술을 사용하고 있다. https://www.docker.com/get-started Get Started with Docker | Docker Learn about the complete container solution provided by Docker. Find information for developers, IT operations, and business executives. www.docker.com 프로그래머에게 Docker란? 웹 시스템 개발 시 애플리케이..
[Docker] 컨테이너(Container)란? Docker를 이해하기 위해서는 Docker의 배경 기술인 컨테이너 기술에 대한 이해가 필요하다. 컨테이너란? 컨테이너란 호스트 OS상에 논리적인 컨테이너를 만들고, 애플리케이션을 작동시키기 위해 필요한 라이브러리나 애플리케이션 등을 하나로 모아, 마치 별도의 서버인 것처럼 사용할 수 있게 만든 기술 호스트 OS는 리소스를 논리적으로 분리시키고 여러 개의 컨테이너가 공유하여 사용한다. 오버헤드가 적기 때문에 가볍고 고속으로 작동한다는 것이 특징이다. 보통 물리 서버 상에 설치된 호스트 OS의 경우 하나의 OS 상에서 여러 애플리케이션이 똑같은 리소스를 사용한다. 각 어플리케이션은 데이터를 저장하는 디렉토리를 공유하고, 서버에 설정된 IP주소로 통신을 하기 때문에 미들웨어나 라이브러리 버전이 다른 경우 각..
[프로그래머스][C++] 튜플 출처 프로그래머스 https://programmers.co.kr/ 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 #include #include #include #include #define NOT_FOUND string::npos using namespace std; vector..
[프로그래머스][C++] 크레인 인형뽑기 게임(카카오 2019 개발자 겨울 인턴십 문제) 출처 : 프로그래머스 https://programmers.co.kr/ 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제를 간단하게 설명하면 N * N인 배열에서 인형 뽑기 하듯 선택된 열에서 가장 높은 행의 값을 가져와서 바구니에 세로로 담는데 바구니의 맨 위에 있는 인형의 값과 새로 담는 인형의 값이 같은 경우 인형이 사라지게 된다. 사라진 인형의 갯수를 return 하면 된다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 #includ..
[프로그래머스][C++] 카카오 프렌즈 컬러링 북 출처 프로그래머스 https://programmers.co.kr/ 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2017 카카오 코드 예선 문제이다. 4방향 순회를 재귀함수로 구현하여 문제를 해결하였다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 #include #define NON_COLOR 0 using namespace std; int traversal(vector& check,v..
[프로그래머스][C++] 스킬트리 출처 프로그래머스 https://programmers.co.kr/ 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 문제는 다음과 같다. "CBD"가 스킬이라고 하면 B가 C보다 앞에 있거나 D가 C나 B보다 앞에 있으면 불가능한 스킬트리이다. 그런데 고려해야할 점이 있다. 1. skill_trees의 문자열들이 skill의 문자열을 일부만 포함하거나 아예 없는 경우 이 경우는 가능한 스킬이다 위의 입출력 예시에서도 skill이 "CBD" 일 때 "AECB"는 'D'가 없어도 가능한 스킬이다. 2. skill의 길이가 1인 경우 이 경우엔 선행스킬이 없..
[프로그래머스][C++] 땅따먹기 출처 프로그래머스 https://programmers.co.kr/ 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 너무 복잡하게 생각해서 오래 걸렸던 문제이다 생각보다 코드는 간단하게 나왔다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 #include #include #define NUM_COLUMN 4 using namespace std; int find_max(vector v, int except) { int max = 0; for (int idx = 0; idx
[프로그래머스][C++] 가운데 글자 가져오기 출처 프로그래머스 https://programmers.co.kr/ 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문자열의 가운데 문자를 반환하면 되는 문제이다. 길이가 짝수인 경우 문자 가운데 두 글자를 반환하는 것이 포인트이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #include #include using namespace std; string solution(string s) { string answer = ""; bool isOdd = s.size() % 2; int index = int(s.length(..
[프로그래머스][C++] 124 나라의 숫자 출처. 프로그래머스 연습문제 https://programmers.co.kr/ 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음에 문제를 잘못 이해해서 오래걸린 문제다. 1 - 1 2 - 2 3 - 4 4 - 11 5 - 12 6 - 14 7 - 21 8 - 22 9 - 24 10 - 41 11 - 42 12 - 44 13 - 111 이런식으로 수가 증가한다. 숫자가 1, 2, 4 밖에 없는 3진수라고 생각하고 푸니까 풀렸다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 #include #include #include using ..