전체 글 썸네일형 리스트형 2. 쿠버네티스 환경 구축과 예제 애플리케이션 배포 - 1 2.1.1 AWS 계정과 요금 AWS 프리티어 계정을 사용할 것이고, 이용 요금은 10,000 ~ 20,000원 정도 예상된다. 2.1.2 예제 애플리케이션의 개요 이 예제 애플리케이션은 마음에 드는 장소를 등록하는 서비스다. 여기서는 장소를 표시, 등록하는 웹 애플리케이션과 장소 정보를 일괄 등록하는 배치 애플리케이션으로 구성한다. 예제 애플리케이션 구성 요소는 다음 그림과 같다. 예제 애플리케이션은 SPA(Single Page Application)의 프론트엔드와 백엔드로 구성된다. 프론트엔드는 파일을 S3(Simple Storage Service)에 저장하고, CloudFront를 통해 정적 웹 콘텐츠로 배포한다. 백엔드는 EKS 클러스터 워커노드에 컨테이너로 배포하고, RDS(Relational .. 더보기 프로그래머스 - N Queen(Java) 백트랙킹 문제입니다. N이 주어질 때, 크기가 N*N인 이차원 배열에서 N개의 퀸이 놓여질 수 있는 경우의 수를 구하는 문제입니다. 퀸은 다음과 같은 특징을 지니고 있습니다. 하나의 퀸이 놓여진 직선에는 다른 퀸이 놓여질 수 없다. 하나의 퀸이 놓여진 대각선에는 다른 퀸이 놓여질 수 없다. 퀸은 각 행과 열에서 오직 하나만 존재할 수 있기 때문에, 이차원 배열을 일차원 배열로 압축할 수 있습니다. 일차원 배열의 '행(row)'는 이차원 배열과 같이 '행(row)'을 의미하면 되고, 일차원 배열의 값은 해당 퀸이 놓여져 있는 '열(column)'의 위치를 의미하면 됩니다. 즉, 일차원 배열의 '행(row)'에 대한 값은 퀸이 놓여져 있는 '열(colimn)'을 의미합니다. // 배열의 값은 해당 행의 qu.. 더보기 프로그래머스 - 테이블 해시 함수(Java) 단순 구현 문제입니다. 주어진 조건에 맞춰 정확히 구현만 하시면 됩니다. 문제 조건을 하나씩 살펴보겠습니다. 1. 해시 함수는 col, row_begin, row_end을 입력으로 받습니다. - 입력 숫자는 1부터 시작한 다는 것만 주의하시면 됩니다. 2. 테이블의 튜플을 col번째 컬럼의 값을 기준으로 오름차순 정렬을 하되, 만약 그 값이 동일하면 기본키인 첫 번째 컬럼의 값을 기준으로 내림차순 정렬합니다. - Comparator만 사용할 줄 아시면 문제 조건에 맞춰 람다식 혹은 익명 함수로 구현하시면 됩니다. // 람다식 사용 int finalCol = col; Arrays.sort(data, (o1, o2) -> { if (o1[finalCol] == o2[finalCol]) return o2[0].. 더보기 프로그래머스 - 호텔 대실(Java) 누적합 문제입니다. 일반적으로 배열에 공간이 비어있는지 확인하기 위해서 0과 0이 아닌 숫자를 사용합니다. 0은 비어있다는 뜻이고, 0이 아니면 공간이 차 있다는 뜻입니다. [3, 7]까지 배열로 공간을 채워 보겠습니다. 여기서 추가로 [4, 8]까지의 공간을 채워 보겠습니다. 이렇게 연속된 공간을 채우는 방법은 일반적으로 두 번의 반복문을 사용합니다. int[] arr = new int[11]; for(int i=3; i 더보기 [쿠버네티스] 1. 컨테이너 기술 보급과 쿠버네티스 1.1 컨테이너란? 일반적인 가상머신은 호스트 OS에 하이퍼바이저(Hypervisor)를 설치하고 그 위에 게스트 OS를 동작시키는 형태로 동작한다. 컨테이너 기술은 호스트 OS에 컨테이너 런타임을 올리고 그 위에 프로그세스로서 컨테이너를 동작시킨다. 컨테이너란 호스트 OS의 커널을 공유하면서 분리된 프로세스로서 실행해 마치 가상머신이 움직이고 있는 것 처럼 보이게 하는 기술이다. 컨테이너의 실체는 단순한 프로세스이므로 가상 머신에 비해 매우 가볍고 빠르게 동작할 수 있다. 💡 컨테이너들은 호스트 OS의 커널을 공유하기 때문에, 가상머신과 달리 동립적인 운영체제를 가질 수 없다. 1.2 도커란? 1.2.1 도커의 특징과 장점 도커(Docker)는 컨테이너를 동작시키기 위한 엔진중 하나다. 도커의 가장 큰.. 더보기 프로그래머스 - 숫자 변환하기(Java) 동적 프로그래밍(dp) 문제입니다. x, y, n의 값이 주어집니다. 세 가지 연산을 통해 y를 만드는 최소 방법을 구해야합니다. 세 가지 연산은 다음과 같습니다. x * 2 x * 3 x + n 이는 x부터 y까지 최소 방법을 갱신해 나아가며 나아가되, 현재 위치에서 (i / 2), (i / 3), (i - n)의 위치에 있는 값을 가져와 비교를 하면 됩니다. 말로는 이해하기 힘들 수 있으니 x = 10, y = 25, n = 5일 때를 그림으로 나타내 보겠습니다. 우선 y의 값까지 배열을 만듭니다. x의 값은 10이기 때문에, 11 ~ 25 까지 1씩 증가시켜 해당 숫자를 만드는 최소 방법을 배열에 저장시킵니다. 10을 만드는 방법은 x 자신이므로 0입니다. 11의 세 가지 연산은 다음과 같습니다. .. 더보기 프로그래머스 - 시소 짝꿍(Java) 이진 탐색 문제입니다. 비례식과 이진탐색 상한과 하한을 적용하여 해결했습니다. 1. 비례식 몸무게의 좌우 균형을 맞추기 위해서는 비율 계산이 필요합니다. 비율 계산, 즉 비례식은 다음과 같습니다. 이는 '내항과 외항의 곱이 같다'라고 나타낼 수 있습니다. 이를 이항을 통해 y를 구하는 하나의 식으로 나타낼 수 있습니다. 예를 들어, 270 과 3 : 4의 비율을 갖는 y의 식은 다음과 같습니다. 식의 결과로 y는 360이 나오게 됩니다. 2. 이진탐색 상한 및 하한 이진 탐색은 기본적으로 정렬이 되어있어야 합니다. 배열을 탐색 하면서 현재 위치와 다음 위치들을 비교합니다. 현재 위치가 맨 위의 식에서 x가 되고, 비율을 통해 y을 구합니다. int y = ((x * rate[0]) / rate[1]); .. 더보기 카프카 컨슈머 spring boot로 구현하기 카프카 컨슈머를 Spring Boot로 어떻게 구현하는지 설명하도록 하겠습니다. 모든 소스 코드는 아래 링크를 통해 보실 수 있습니다. https://github.com/kang-seongbeom/kafka-consumer-example 오늘 구현할 것을 그림으로 나타내면 다음과 같습니다. 프로젝트 구조는 다음과 같습니다. consumer |_ config |_ KafkaConsumerConfig.class |_ TaskExecutorConfig.class |_ dto |_ PushRequestDto.class |_ service |_ PushRequestKafkaMessageListner.class |_ KafkaConsumerExampleApplication.class 1. 의존성 설정 org.spr.. 더보기 이전 1 ··· 12 13 14 15 16 17 18 ··· 48 다음