
1. 프로듀서(Producer)데이터(메시지)를 발행하는 서비스.다양한 데이터 소스에서 가져온 데이터를 kafka의 특정 토픽에 저장.2. 브로커(Broker)kafka의 핵심 서버 컴포넌트.프로듀서로부터 데이터를 받아 저장하고, 컨슈머에게 전달.kafka 클러스터는 여러 브로커로 구성되며, 각 브로커는 하나 이상의 토픽 데이터를 관리.※ 클러스터: 비슷한 요소들이 모여 집합이나 군집을 이루는 것을 의미.※ 클러스터링: 비슷한 특성을 가진 데이터를 그룹으로 나눈 것.3. 토픽(Topic)kafka에서 데이터를 분류하는 단위.N개의 파티션으로 나뉘어 병렬 처리 지원.프로듀서는 특정 토픽에 데이터를 발행하고, 컨슈머는 해당 토픽을 구독하여 데이터를 소비.4. 파티션(Partition)토픽 내 데이터를 나눈 ..
최대공약수두 개 이상의 자연수의 공통된 약수 중 가장 큰 공약수를 바로 최대공약수라고 한다.예를 들면 12와 8의 최대공약수12의 약수: 1, 2, 3, 4, 6, 128의 약수: 1, 2, 4, 8두 수의 최대공약수는 4이다. 숫자가 3개 이상인 경우1. 모든 수를 동시에 반드시 나눌 수 있는 수로 나눈다.2. 더 이상 동시에 나눌 수 없으면 끝.3. 왼쪽 공약수를 모두 곱한다.최소공배수두 개 이상의 자연수의 공통된 배수 중 가장 작은 값을 의미한다.예를 들면 12와 8의 최소공배수12의 배수: 12, 24, 36, 48,...8의 배수: 8, 16, 24, 32, 40, 48,...두 수의 공통된 배수는 24, 48,...두 수의 최소공배수는 24이다. 숫자가 3개 이상인 경우1. 서로소가 아닌 수가..
https://school.programmers.co.kr/learn/courses/30/lessons/12948 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 설명더보기더보기더보기더보기프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해 주세요. 내가 푼 방식phone_number를 char[] temp에 변환해 저장반복문(for)에서 i 값이 마지막 4자리 전까지는 '*'을 answ..
https://school.programmers.co.kr/learn/courses/30/lessons/12931?language=java 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 설명 더보기더보기더보기더보기자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어주세요.예를 들어 N = 123이면, 1 + 2 + 3 = 6을 return 하면 됩니다. 내가 푼 방식int를 String으로 형변환 후 toCharArray() 메서드를 활용하여 char[] 배열에 담기반복문(for)을 통해 answer에 값 더해주기 char 타입의 문자 '1'을 in..
삽입 정렬(Insertion Sort)은 정렬 알고리즘 중 하나로, 배열을 정렬된 부분과 정렬되지 않은 부분으로 나누어 처리합니다.배열의 요소를 하나씩 꺼내서 이미 정렬된 부분에서 적절한 위치에 삽입하는 방식으로 동작합니다. 삽입 정렬의 동작 과정입니다.배열의 첫 번째 요소는 이미 정렬된 상태로 간주합니다.두 번째 요소부터 순차적으로 선택해, 그 요소가 정렬된 부분에서 올바른 위치에 삽입될 때까지 이전 요소들과 비교합니다.이 과정을 배열의 마지막 요소까지 반복합니다.삽입 정렬의 시간 복잡도는 최악의 경우(내림차순으로 정렬된 배열) O(n^2)이고, 최선의 경우(이미 정렬된 배열) O(n)입니다. 자바 예제 코드import java.util.Arrays;public class InsertionSortExa..
선택 정렬(Selection Sort)은 간단한 정렬 알고리즘 중 하나로, 주어진 리스트에서 매번 가장 작은(혹은 가장 큰) 요소를 찾아 그것을 리스트의 맨 앞(혹은 맨 뒤)으로 옮기는 작업을 반복하는 방식입니다. 시간 복잡도는 O(n2)로, 정렬해야 할 항목이 많을 경우 비효율적이지만, 구현이 매우 간단합니다.선택 정렬의 동작 과정입니다.주어진 리스트에서 가장 작은 값을 찾아 첫 번째 위치에 있는 값과 교환합니다.두 번째 위치부터 끝까지 중에서 다시 가장 작은 값을 찾아 두 번째 위치에 있는 값과 교환합니다.이를 마지막 요소까지 반복합니다.public class SelectionSort { public static void selectionSort(int[] arr) { int n =..
동시성 제어(Concurrency Control)여러 프로세스나 스레드가 동시에 동일한 자원에 접근할 때 발생할 수 있는 충돌이나 데이터 일관성 문제를 방지하기 위한 기법이다. 다수의 스레드가 한 자원(변수, 데이터베이스, 파일 등)에 동시 접근하면 예상치 못한 결과가 발생할 수 있다.스프링에서 동시성 제어 방법ReentrantLock은 자바의 Lock 인터페이스를 구현한 클래스 중 하나로 동시성 제어할 수 있는 도구이다.주요 특징1. 재진입 가능( Reentrant)동일한 스레드가 여러 번 연속해서 lock을 획득할 수 있는 기능을 제공한다. 예를 들어, 한 스레드가 이미 lock를 가지고 있을 때, 스레드가 같은 lock을 다시 요청해도 블로킹되지 않고 바로 접근할 수 있다.2. 공정성 설정 가능 (..
- Total
- Today
- Yesterday
- bool
- Lambda
- Python
- isdigit
- zip
- Lower
- isalpha
- index
- combinations
- find
- Upper
- operators
- Built-in Functions
- If
- Method
- function
- counter
- permutations
- for
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |