분류 전체보기

·Algorithm (PS)
https://www.acmicpc.net/problem/2310 2310번: 어드벤처 게임 입력은 여러 개의 미로로 주어진다. 각 미로의 첫 줄에는 미로의 방 수를 나타내는 정수 n(1 ≤ n ≤ 1000)이 주어진다. 다음 n 줄에는 각 방의 정보가 주어진다. 각 방의 정보는 방의 내용물을 나타 www.acmicpc.net 문제 유형으로는 dfs, bfs문제라고 나와있는데 나는 백트래킹 문제라고 생각한다. bfs로 먼저 접근을 했었는데, 방문처리가 중복이 되는 경우가 발생하는 문제점이 있었다. 또한 문제에서 제시한 조건으로 트롤을 만났을때 통행료를 확인한 후 이 방을 방문처리 할 지 말지가 정해진다. 통행료가 부족해서 통과할 수 없으면 재귀함수를 탈출시키고 통과할 수 있으면 연결된 다음 방 (next..
·Algorithm (PS)
https://school.programmers.co.kr/learn/courses/30/lessons/72413 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import heapq INF = int(1e9) def dijkstra(n, start, graph): # end : a or b distance = [INF]*(n+1) distance[start] = 0 queue = [] heapq.heappush(queue, (0, start)) while queue: dist, now = heapq.heappop(queue) if dist < dista..
쿠버네티스 Volume 쿠버네티스에서 Pod는 이미지로부터 파일 시스템을 제공받아 사용한다. 따라서 Pod가 삭제되면 저장공간도 같이 삭제된다. 이러한 쿠버네티스 컨테이너 상태를, 데이터를 유지하지 않으므로 Stateless 하다고 한다. 따라서 쿠버네티스 클러스터 환경에서는 데이터를 영구적으로 보존하기 위해서 외부 볼륨을 사용할 수 있다. 상황에 따라 간단히 테스트 해보기 위한 간단한 볼륨을 사용할 수 도 있다. 쿠버네티스 볼륨의 종류 emptyDir : 아무 데이터도 없는 빈 디렉토리를 제공한다. 동일한 Pod 내에서 다른 컨테이너들끼리 공유하여 접근할 수 있는 공간이다. hostPath : 각 노드들마다 분리된 저장공간을 제공하는 볼륨이다. gitRepo : 현재는 depreciated 되었다. G..
1. 쿠버네티스 네트워크 아키텍처 보통 쿠버네티스 아키텍처에서는 노드가 여러개인 구조를 가진다. 쿠버네티스 클러스터 환경에서 같은 대역의 네트워크 (192.168.56.0/24) 로 묶여져 있을 것이며, 노드들마다 IP가 할당된다. 그런데 이는 노드에 부여한 IP이지, Pod에 바로 접근할 수는 없다. 각각의 Pod들이 서로 통신을 할 수 있도록 하는 것이 CNI (Container Network Interface)의 역할이다. Pod와 호스트의 인터페이스를 연결해준다. CNI를 통해서 Pod에 할당되는 IP주소로 통신할 수 있게 한다. 그런데 이 Pod라는 것은 일회성으로 사용되는 목적으로 운영된다. 따라서 Pod에 문제가 생기거나 삭제되어버리면 IP가 변동되어 클라이언트 측에서는 Pod의 IP를 예측..
·Algorithm (PS)
https://www.acmicpc.net/problem/22865 22865번: 가장 먼 곳 $N$개의 땅 중에서 한 곳에 자취를 하려고 집을 알아보고 있다. 세 명의 친구 $A$, $B$, $C$가 있는데 이 친구들의 살고 있는 집으로부터 가장 먼 곳에 집을 구하려고 한다. 이때, 가장 먼 곳은 선택할 www.acmicpc.net 다익스트라 알고리즘을 이용해서 a, b, c로부터 모든 지점까지의 거리를 구한다. 그 거리들을 담아 놓은 리스트가 dist_a, dist_b, dist_c이다. for i in range(1, n+1): if max_dist < min(dist_a[i], dist_b[i], dist_c[i]): max_dist = min(dist_a[i], dist_b[i], dist_c[..
Jobs Job 은 하나 이상의 pod들이 성공적으로 종료되기 전까지 실행을 반복하는 오브젝트 컨트롤러이다. 작업을 수행하는 pod 이 성공적으로 완료되면 pod이 맡은 임무를 성공적으로 완료한 것으로 간주하여 pod을 종료시킨다. 또한 Job은 pod들을 병렬적으로 수행하도록 설정할 수 있다. Job은 데몬셋, 레플리카셋과 달리 레이블 셀렉터를 사용자가 직접 지정하지 않으며, 컨트롤러에 의해 부여된 고유값인 UID를 레이블 셀렉터로 사용한다. Job은 pod 1. 직렬적으로 작업 처리하기 (Non-parallel Job) apiVersion: batch/v1 ## batch 그룹의 v1 api 사용 kind: Job # Job object 선언 metadata: name: myapp-job spec: ..
데몬셋 (Daemon Set) 데몬셋은 레플리카셋이나 레플리케이션 컨트롤러처럼 object controller의 한 종류로 pod들을 관리하는 컨트롤러이다. 데몬셋은 Node Label 이 일치하는 노드들 에 pod 복제본이 각 1개씩 실행되도록 관리한다. 만약 Node Label에 대해서 따로 설정을 해주지 않는다면 기본적으로 control plane을 제외한 워커로드에서 pod가 1개씩 실행되도록 관리하는 컨트롤러이다. 레플리카셋 또는 레플리케이션 컨트롤러와 차이점은 별도로 pod 복제본 수를 제어하지 않는다는 점이다. 즉, 처음에 생성한 pod에 문제가 생겨서 삭제가 되면 레플리카셋이나 레플리케이션 컨트롤러는 복제본 pod을 스스로 생성해 준다. 그렇지만 데몬셋은 pod이 삭제가 되더어도 다시 po..
SSL 원래 웹에서 데이터는 평문 일반 텍스트 형태로 전송되었다. 이는 보안에 취약하다. 정보 보호, 인증, 데이터 무결성 보장을 위해 SSL이 등장했다. TLS TSL는 SSL3.0버전에서 이어진 것으로 SSL과 TSL를 혼용해서 부르기도 한다. (TSL라는 이름보다 SSL이라는 이름이 더 많이 사용되고 있다.) 따라서 설명에서는 SSL/TSL 작동을 동일하게 보고 설명하도록 하겠다. HTTPS 와 SSL HTTPS는 HTML을 전송하기 위한 통신 규약인 HTTP 프로토콜에서 Secure라는 의미의 S가 추가되었다. HTTP는 암호화 되지 않은 데이터를 전송하기 때문에 보안상 취약하며, 이를 보완하여 등장한 것이 HTTPS이다. HTTPS는 SSL 프로토콜 위에서 동작하는 프로토콜이라고 이해할 수 있다..
minjiwoo
'분류 전체보기' 카테고리의 글 목록 (25 Page)