Key의 종류 슈퍼 키 (Spuer Key) : 유일성을 만족하는 키. 예를 들면, {학번 + 이름}, {주민등록번호 + 학번} 복합 키 (Composite Key) : 2개 이상의 속성(attribute)를 사용한 키. 후보 키 (Candidate Key) : 유일성과 최소성을 만족하는 키. 기본키가 될 수 있는 후보이기 때문에 후보키라고 불린다. 예를 들면, 주민등록번호, 학번 등 기본 키 (Primary Key) : 후보 키에서 선택된 키. NULL값이 들어갈 수 없으며, 기본키로 선택된 속성(Attribute)은 동일한 값이 들어갈 수가 없다. 대체 키 (Surrogate Key) : 후보 키 중에 기본 키로 선택되지 않은 키. 외래 키 (Foreign Key) : 어떤 테이블(Relation) ..
볼륨(volume) 마운트란? 만약 도커로 데이터베이스 컨테이너를 실행해 애플리케이션을 구동한다 했을 때 해당 데이터베이스 컨테이너가 삭제된다면 데이터도 삭제가 되고 복구할 수 없게 된다. 이런 경우에 데이터를 유지를 위한 몇 가지 방법이 있는데 그중 가장 활용하기 쉬운 방법이 볼륨이다. 불륨 마운트란, 도커가 생성하고 관리하는 방식이다. 볼륨을 생성하면 자동으로 아래의 경로에 볼륨이 마운트 되어진다. (즉, 볼륨 마운트는 아래의 경로에 볼륨이 생성되고 해당 볼륨을 도커와 연결시켜 관리하는 것이다.) /var/lib/docker/volumes/ 볼륨 생성 및 조회 docker volume create [볼륨 이름] 으로 볼륨을 하나 생성합니다. $ docker volume create our-vol ou..
라우팅(Routing) 라우팅이란, 패킷에 포함된 주소(ip 등) 등의 상세 정보를 이용하여 목적지까지 데이터를 체계적으로 다른 네트워크에 전달하는 경로 선택(Path Determination)과 스위칭(Switching)하는 과정이다. 쉽게 말해, 데이터가 전달되는 과정에서 여러 네트워크들을 통과해야하는 경우가 생길 수 있는데, 여러 네트워크들의 연결을 담당하고 있는 라우터(Router)가 데이터의 목적지가 어디인지 확인하여 빠르고, 정확한 길을 찾아 전달해주는 것이다. 현실과 비교한 라우팅 예를 들어 자신이 새로 생긴 맛집에 찾아가려고 한다고 가정해보자. 우리가 가장 먼저 하는 것은 아마 목적지에 어디에 있는 지 주소를 확인하는 것일 것이다. 그런 뒤에 목적지로 가기 위한 다양한 방법 중에서 가장 편..
주어진 숫자가 변속 조건에 맞으면 각 조건에 맞는 결과를 출력하는 문제이다. Softeer - 현대자동차그룹 SW인재확보플랫폼 현대자동차에서는 부드럽고 빠른 변속이 가능한 8단 습식 DCT 변속기를 개발하여 N라인 고성능차에 적용하였다. 관련하여 SW 엔지니어인 당신에게 연속적으로 변속이 가능한지 점검할 수 있는 프 softeer.ai 테스트 케이스 [TC1] 입력 : 1 2 3 4 5 6 7 8 출력 : ascending 해결 과정 기본적인 결과로 mixed로 초기화를 해놓고, ascending이나 descending의 조건과 일치하면 해당 값으로 다시 초기화하는 방식으로 해결했다. 코드 import sys sys.setrecursionlimit(10**6) input = sys.stdin.readli..
배낭에 보석을 최대한 담아 그 가치를 출력하는 문제이다. Softeer - 현대자동차그룹 SW인재확보플랫폼 루팡은 배낭을 하나 메고 은행금고에 들어왔다. 금고 안에는 값비싼 금, 은, 백금 등의 귀금속 덩어리가 잔뜩 들어있다. 배낭은 W ㎏까지 담을 수 있다. 각 금속의 무게와 무게당 가격이 주어졌을 softeer.ai 테스트 케이스 [TC1] 입력 : 100 2 90 1 70 2 출력 : 170 해결 과정 가격이 비싼 보석부터 담고, 남은 공간이 있으면 점점 가치가 적은 보석을 넣어 최대한 배낭을 채운다. 코드 import sys sys.setrecursionlimit(10**6) input = sys.stdin.readline jer = [] result = 0 W, N = map(int, input..
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 문제이다. Softeer - 현대자동차그룹 SW인재확보플랫폼 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. softeer.ai 테스트 케이스 [TC1] 입력 : 3 4 출력 : 7 해결 과정 기본적인 연산자를 통해 해결할 수 있다. 코드 import sys input = sys.stdin.readline T = int(input()) for test_case in range(1, T + 1): a, b = map(int, input().split()) num = a + b print(f'Case #{test_case}: {num}') 주석 처리 import sys input = sys.stdin.readline T = i..
기본 문법 들여쓰기 (indent) YAML은 기본적으로 2칸 또는 4칸을 지원한다. 필자는 2칸 들여쓰기를 한다. 2칸 들여쓰기(추천) person: name: PSC job: Developer skills: - docker - spring 4칸 들여쓰기 person: name: PSC job: Developer skills: - docker - spring 데이터 정의 (map) 데이터는 key : value 형식으로 정의한다. apiVersion: v1 kind: pod metadata: name: echo labels: type: app 배열 정의 (array) 배열은 - 로 표시한다. person: name: psc job: Developer skills: - docker - spring 주석 ..