분류 전체보기

·Algorithm (PS)
https://www.acmicpc.net/problem/21922 21922번: 학부 연구생 민상 첫 번째 줄에는 연구실의 크기가 세로 $N(1 \le N \le 2,000)$, 가로 $M(1 \le M \le 2,000)$ 순으로 주어진다. 두 번째 줄부터 $N + 1$ 줄까지 연구실 내부 구조 정보를 알려주는 값 $M$개가 주어진다. $1,2,3,4$ www.acmicpc.net 그래프에서의 시뮬레이션 / 구현 문제이다 물건 종류 1 ~4 가 있고 해당 물건을 만날때마다 에어컨 바람에 대해서 조치를 취해주어야 한다 (방향을 바꾸거나, 에어컨 바람이 그냥 통과하거나, 더이상 앞으로 가지 않는 경우 3가지가 있다) 처음에 놓친부분은 : 1) 물건 3과 물건 4를 처음에 단순히 시계방향 반시계방향으로 생..
·Algorithm (PS)
https://www.acmicpc.net/problem/10159 플로이드워셜 알고리즘을 이용하면 날먹할 수 있는 문제이다 왜 플로이드 워셜이냐?! 라고 한다면.. 모든 1 ~ N번 노드가 자기자신을 기준으로 했을때 자신을 제외한 모든 노드까지 도달할 수 있는지를 확인하기 때문이다 입력에서 주어지는 순위는 한방향 그래프라고 이해할 수 있다 따라서 graph[a][b] =1 (a>b인 경우) 저장해서 경로가 있음을 표시했다. n = int(input()) # node m = int(input()) graph = [[0] * (n+1) for _ in range(n+1)] for _ in range(m): a, b = map(int, input().split()) # a > b graph[a][b] = 1..
Persistent Volume 과 Persistent Volume Claim PV는 쿠버네티스 클러스터의 외부 공간과 연결하여 저장공간을 제공하는 볼륨이며 pod에 영구적인 저장 방법을 제공한다. Persistent Volume 을 사용하기 위해서는 Pod 과 직접적으로 연결되는 Persistent Volume Claim 이 필요하다. PV와 PVC로 분리한 이유는 클러스터에서 어플리케이션을 배포하고 싶어하는 개발자가 스토리지에 대한 지식이 없어도 쿠버네티스에서 저장공간을 필요한 만큼 가져다 쓸 수 있도록 하기 위해서이다. PV 와 PVC의 life cycle Provisioning : PV가 생성되는 단계이다. PV의 종류에는 정적 프로비저닝과 동적 프로비저닝이 있다. Binding : PVC 를 만..
Ingress 컨트롤러 Ingress 컨트롤러는 NodePort, LoadBalancer 서비스 타입처럼 서비스를 외부에 노출시키는 방법 중 하나이다. NodePort, LoadBalancer와 다른점은, NodePort, LoadBalancer는 Layer 4 (UPT/TCP) 에서 작동하는 반면, Ingress 는 Layer 7 (HTTP/HTTPS) 에서 로드밸런싱을 제공한다는 점이다. Ingress 컨트롤러는 요청이 왔을 때, 어플리케이션이 사용하는 프로토콜(HTTP/HTTPS) , 서버 주소, 어플리케이션이 구체적으로 접근하고자 하는 리소스의 경로를 보고 특정한 어플리케이션에 요청을 전달해주게 된다. Layer 4 이하의 헤더의 정보들만으로는 이러한 트래픽 요청 사항을 처리할 수 없어서 Laye..
·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를 예측..
minjiwoo
'분류 전체보기' 카테고리의 글 목록 (24 Page)