전체 글 썸네일형 리스트형 3. 쿠버네티스에서 애플리케이션을 동작시키는 구조 - 5 3.5 파드를 안전하게 외부로 공개하기 위한 헬스 체크 서비스를 통해 파드가 공개되면서 요청에 대해 정상적으로 응답하지 못하는 에러가 발생할 수 있다. 여기서는 이러한 경우를 방지하기 위한 두 가지 헬스 체크에대해 설명한다. 3.5.1 Readiness Probe로 파드와 연결된 서비스 모니터링하기 Readiness Probe는 애플리케이션이 공개 가능한지의 여부를 확인하고 정상이라고 판단된 경우 처음으로 서비스를 통해 트래픽을 수신한다. 예를 들어 헬스체크용 응답 페이지를 생성해두고, 해당 페이지에 접속해 상태 코드가 200으로 돌아오면 서비스를 통해 접속하는 방법을 사용할 수 있다. 예제 애플리케이션의 디플로이먼트용 매니페스트인 22_deployment_backend-app_k8s.yaml.templ.. 더보기 프로그래머스 - 미로 탈출(Java) bfs 문제입니다. 시작 지점이 레버를 거쳐 종료 지점 까지 가는 최단거리를 구해야 합니다. 이는 각각 시작 -> 레버, 레버 -> 종료 경로의 최단 거리를 각각 구해서 그 결과를 합치면 됩니다. [구현 코드] class Solution { final int[] dx = {1, -1, 0, 0}; final int[] dy = {0, 0, -1, 1}; int n, m; public int solution(String[] maps) { int answer = -1; n = maps.length; m = maps[0].length(); Road start = null; Road lever = null; Road exit = null; char[][] map = new char[n][m]; for(int i.. 더보기 프로그래머스 - 혼자서 하는 틱택토(Java) 구현 문제입니다. 3*3 보드에 'O', 'X', '.'이 주어질 때, 해당 보드의 말판들이 틱택토 게임 규칙에 벗어나지 않는지 확인해야 합니다. 틱택토 게임 규칙은 다음과 같습니다. 'O'와 'X'를 번갈아 가면서 '.'위치에 놓는다. ('O'가 선공) 'O' 또는 'X'의 직선 길이가 3이되면 게임이 종료된다. 즉, 두 번째 조건에 의해 말판의 개수와 길이가 3인 직선의 유무를 확인하여 판단하면 됩니다. 'O'와 'X'의 말판 개수 차이는 무조건 1이내여야 합니다. 직선 판단의 조건은 아래와 같이 하면 됩니다. 'O'와 'X'의 직선이 모두 만들어질 때 하나의 직선이 만들어지면 게임이 종료되기 때문에 불가능하다. 'O'의 직선만 만들어질 때 선공이 'O'이기 때문에, 'X'와 개수가 같아질 수 없다... 더보기 프로그래머스 - 요격 시스템(Java) 그리디 문제입니다. 문제를 요약하면 다음과 같습니다. 여러 개의 직선이 주어질 때, 모든 선을 지나도록 하는 최소 직선의 개수를 구하라 문제에서 주어지는 예제는 다음과 같습니다. 주어지는 직선은 주황색 직선입니다. 이 모든 주황색 직선을 지나도록하는 선은 위 그림과 같이 최소 세 개가 필요합니다. 어디선가 많이 보던 내용 아닌가요? 네, 스케쥴링 문제와 매우 유사합니다. 스케쥴링 문제와 비슷하게 끝나는 시간을 기준으로 오름차순을 하고, 반복을 하면서 시점과 종점을 비교하면 됩니다. 이와 비슷한 문제로 백준의 회의실 배정 문제가 있습니다. 스케쥴링을 연습하실 분은 아래 링크를 통해 가셔서 풀어보시길 바랍니다. https://www.acmicpc.net/problem/1931 [구현 코드] import ja.. 더보기 백준 - 11501 주식(Java) 그리디 문제입니다. 문제 조건에 의해 각 주식들은 가장 비싼 날에 팔아야 합니다. 즉, 가격으로 내림차순으로 정렬하여 비싼 주식의 이전 주식들을 계산해서 팔면 됩니다. [구현 코드] import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); StringTokenizer stz; int tes.. 더보기 프로그래머스 - 연속된 부분 수열의 합(Java) 투포인터 문제입니다. 투포인터란, 두 가지의 포인터를 사용해 배열에서 조건과 일치하는 연속된 부분을 찾을 수 있는 방법입니다. 조건에 맞춰 서로 다른 두 가지의 포인터를 움직여야 합니다. 입출력 예제 1번을 보도록 하겠습니다. 우선 left, right 라는 이름의 두 가지의 포인터를 배열 0번째 위치에 둡니다. left와 right 사이가 부분 수열이 되는 것입니다. 현재 left와 right의 부분 수열의 합은 1입니다. 현재 부분 수열의 합이 k보다 작기 때문에 right를 움직입니다. (k = 7) 부분 수열이 [0, 1]가 되었습니다. 새로운 원소가 추가되었습니다. 기존의 부분 수열의 합에서 새로운 원소인 2를 더합니다. 그 합은 3입니다. 아직도 k보다 작기 때문에 right를 움직입니다. 부.. 더보기 프로그래머스 - 혼자 놀기의 달인(Java) 파인드(find) 문제입니다. 문제를 요약하면 '같은 집합을 이루는 배열의 원소 개수를 찾아 가장 큰 두 개를 곱하라' 입니다. 입력의 각 원소는 자신과 같은 집합을 이루는 위치를 가르키고 있습니다. 즉, 이미 유니온(union)이 되어있는 집합이 입력으로 주어지는 것입니다. 각 위치에서 find연산을 통해 어느 집합에 속하는지 파악하면 끝나는 문제입니다. 단, 주의해햐할 점이 있습니다. 입력으로 주어지는 배열은 순환을 발생시킬 수 있기 때문에 이미 방문한 곳은 재방문하지 않도록 하면 됩니다. find 연산을 할 때, 최상위 부모를 저장시켜 방문한 곳은 값을 확인하면 됩니다. [구현 코드] import java.util.*; class Solution { int[] parents; public int s.. 더보기 3. 쿠버네티스에서 애플리케이션을 동작시키는 구조 - 4 3.4 설정 정보 등을 안전하게 저장하는 구조 3.4.1 환경 변숫값 전달 모던 애플리케이션을 개발하기 위한 방법론으로 The Twelve-Factor App이 있다. 그 중에 ‘애플리케이션 설정 정보는 환경 병수에 저장한다.’ 라는 정의가 있다. 이러한 정의를 두는 이유는 개발 환경, 스테이징 환경, 서비스 환경 등에서 취급하는 설정 정보가 달라 다시 빌드하는 일이 없도록 하기 위함이다. 쿠버테이스에서는 이와 같은 설정 정보를 파드의 환경 변수로 안전하게 전달하는 구조가 있다. The Twelve-Factor App The Twelve-Factor App Background The contributors to this document have been directly involved in the dev.. 더보기 이전 1 ··· 8 9 10 11 12 13 14 ··· 49 다음