본문 바로가기

분류 전체보기

(644)
kafka 조금 아는 척하기 1 (개발자용) https://youtu.be/0Ssx7jJJADI?si=_phzVmPI-on5Aj81 카프카란? - 분산 이벤트 스트리밍 플랫폼 - 고성능 1. 카프카 클러스터 : 메시지를 저장하는 저장소, 데이터를 이동하는 데 필요한 핵심 역할 수행 2. 브로커 : 각각의 서버라고 보면 됨 3. 주키퍼 클러스터(앙상블) : 카프카 클러스터와 관련된 정보가 기록 및 관리됨 4. 프로듀서 : 메시지를 카프카에 넣음 5. 컨슈머 : 메시지를 카프카에서 읽어옴 토픽 - 메시지를 저장 및 구분하는 단위 - 파일 시스템의 폴더와 유사함 - 한 개의 토픽은 한 개 이상의 파티션으로 구성 파티션 - 메시지를 저장하는 물리적인 파일 - (기본적으로) 추가만 가능한(append-only) 파일 - 오프셋 : 각 메시지의 저장 위치 -..
TwoSum 문제를 풀면서 배우는 내가 짠 코드의 성능을 개선하는 과정!! (feat. 코딩 테스트) https://youtu.be/cxhbgAbAiXI?si=Bj2dDUU__RCQ2Ews 문제 : 리스트에 있는 서로 다른 두 정수의 합이 target number와 같다면 true를 반환하는 함수를 구현하시오. 풀이1) 시간 복잡도는 n^2 def twoSum(nums, target); for i in range(len(nums)): for j in range(len(nums)): if i == j: continue if nums[i] + nums[j] == target: return True return False 풀이2) 시간 복잡도는 n^2 -> 풀이1과 동일하지만 성능이 향상됨 def twoSum(nums, target); for i in range(len(nums)): for j in range..
[프로그래머스/MySQL] 자동차 대여 기록 별 대여 금액 구하기 SELECT H.HISTORY_ID, ROUND(C.DAILY_FEE * (DATEDIFF(H.END_DATE, H.START_DATE) + 1) * (1 - IFNULL(DISCOUNT_RATE, '0') / 100)) AS FEE FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY AS H INNER JOIN CAR_RENTAL_COMPANY_CAR AS C ON H.CAR_ID = C.CAR_ID AND C.CAR_TYPE = '트럭' LEFT JOIN CAR_RENTAL_COMPANY_DISCOUNT_PLAN AS P ON C.CAR_TYPE = P.CAR_TYPE AND P.DURATION_TYPE = ( CASE WHEN (DATEDIFF(H.END_DATE, H.START_..
[프로그래머스/자바] 영어 끝말잇기 import java.util.*; class Solution { public int[] solution(int n, String[] words) { List list = new ArrayList(); list.add(words[0]); for (int i = 1; i < words.length; i++) { if (words[i].charAt(0) != words[i - 1].charAt(words[i - 1].length() - 1)) { return new int[]{i - (i / n) * n + 1, i / n + 1}; } else if (list.contains(words[i])) { return new int[]{i - (i / n) * n + 1, i / n + 1}; } else lis..
[프로그래머스/자바] 카펫 class Solution { public int[] solution(int brown, int yellow) { int tmp1 = brown / 2 - 1; int tmp2 = (brown - (tmp1 * 2)) / 2; while (true) { if ((tmp1 - 2) * tmp2 == yellow) return new int[]{tmp1, tmp2 + 2}; else { tmp1 -= 1; tmp2 = (brown - (tmp1 * 2)) / 2; } } } }
[프로그래머스/MySQL] 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기 SELECT CONCAT("/home/grep/src/", F.BOARD_ID, "/", F.FILE_ID, F.FILE_NAME, F.FILE_EXT) AS FILE_PATH FROM USED_GOODS_FILE AS F INNER JOIN USED_GOODS_BOARD AS B ON F.BOARD_ID = B.BOARD_ID WHERE B.VIEWS = ( SELECT MAX(VIEWS) FROM USED_GOODS_BOARD ) ORDER BY SUBSTR(FILE_PATH, 22, 10) DESC;
[프로그래머스/MySQL] 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 SELECT CAR_ID, IF(CAR_ID IN ( SELECT CAR_ID FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY WHERE '2022-10-16' BETWEEN START_DATE AND END_DATE ), '대여중', '대여 가능') AS AVAILABILITY FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY GROUP BY CAR_ID ORDER BY CAR_ID DESC;
[프로그래머스/MySQL] 식품분류별 가장 비싼 식품의 정보 조회하기 SELECT CATEGORY, PRICE AS MAX_PRICE, PRODUCT_NAME FROM FOOD_PRODUCT WHERE CATEGORY IN ('과자', '국', '김치', '식용유') AND (CATEGORY, PRICE) IN ( SELECT CATEGORY, MAX(PRICE) FROM FOOD_PRODUCT GROUP BY CATEGORY ) ORDER BY MAX_PRICE DESC;