본문 바로가기

분류 전체보기

(107)
[프로그래머스] 두 개 뽑아서 더하기(C++, Java) 카테고리 기본 알고리즘 나만의 카테고리 함수 활용 문제 문제 링크 programmers.co.kr/learn/courses/30/lessons/68644 코딩테스트 연습 - 두 개 뽑아서 더하기 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한 programmers.co.kr 요점 중복제거에 대한 요령이 필요하다 (Set활용, Sort와 unique활용 등) 참고 지식 [C++] sort(start, end) [C++] unique(start, end) [Java] Set 컨테이너 풀이 (C++) #include #include #in..
Http와 Rest API에 대한 간단한 정리 1. HTTP - HyperText Transfer Protocol - 링크 기반의 데이터 교환 방식을 의미 - 클라이언트와 서버간의 데이터 교환하는 방식이다 1.2 HTTP 동작 방식 - 클라이언트 : 서버에 Request - 서버 : 클라이언트로부터 받은 요청을 처리한 후 Response를 돌려준다 1.3 HTTP 특징 1. 비연결성 (Connectionless) = 클라이언트와 서버가 연결을 한번 맺었다면 응답을 받으면 연결을 끊음 장점 : 클라이언트와 계속 연결을 유지하는 리소스를 줄일 수 있다. 단점 : 연결 및 해제에 대한 오버헤드가 발생, 이에 대한 선택적인 해결책으로 KeepAlive 속성이 존재 * KeepAlive : 이 속성을 On이라면 지정된 시간동안 클라이언트에게 주기적으로 패킷을..
Java 1.8 Default Method Default Method - 자바 1.8부터 도입된 문법으로 인터페이스 내부에 로직을 포함 시킬 수 있는 것이 특징 - 하위호환성을 위해 도입 Interface 라는 기능에 어울리지 않는 Default Method가 Java 1.8에서 추가 되었습니다. 하위호환성을 위한다는 것은 기존의 레거시 코드에 interface 메소드를 추가해야한다면 해당 interface를 상속받는 모든 클래스에서 추가된 메소드의 구현을 해줘야합니다. 하지만 Default Method를 사용하고 수정이 필요한 클래스에서만 메소드 오버라이딩을 해준다면 간편하게 수정할 수 있습니다. interface TestInterface { //기존 메서드들 public void go(); public void get(); default vo..
[프로그래머스] 도둑질 (Java) 카테고리 DP (동적계획법) 나만의 카테고리 간단한 DP 문제 링크 programmers.co.kr/learn/courses/30/lessons/42897?language=java 코딩테스트 연습 - 도둑질 도둑이 어느 마을을 털 계획을 하고 있습니다. 이 마을의 모든 집들은 아래 그림과 같이 동그랗게 배치되어 있습니다. 각 집들은 서로 인접한 집들과 방범장치가 연결되어 있기 때문에 인접한 programmers.co.kr 요점 3번째 부터 뽑는 경우의 수를 생각해야한다 참고 지식 Math.max() 풀이 (Java) import java.util.*; class Solution { public int solution(int[] money) { int answer = 0; int[] firstDp = ne..
[Spring Batch] Spring Batch chunk 지향 처리에서 error 없이 insert가 안되는 이슈 1. 이슈 환경 Spring Batch chunk size = 1000 custom skip policy로 Duplicate Key 에러 발생 시 skip 하도록 처리 2. 해결 해당 배치는 A 테이블에서 B 테이블로 단순히 옮겨지는 배치였습니다. 단! B 테이블의 Primary Key (우선 키)가 A 테이블의 Primary Key의 일부였습니다. - A 테이블 예시 id - PK title user_name in_time - PK - B 테이블 예시 id - PK code target 이러한 환경에서 에러는 나지 않고 정상적으로 실행되어 보였지만 DB를 확인해보니 insert가 전혀 되어 있지 않았습니다. 디버깅으로 확인해보니 Reader에서 A테이블을 Select 하는 부분에는 전혀 문제가 없었고 ..
[프로그래머스 SQL] 있었는데요 없었습니다 카테고리 SQL - JOIN 나만의 카테고리 비교 연산자 사용 문제 링크 programmers.co.kr/learn/courses/30/lessons/59043 코딩테스트 연습 - 있었는데요 없었습니다 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 요점 DATE 형태 비교 방식 공부 참고 지식 CDATA - MyBatis 사용시 비교연산자를 문자열로 인식시키기 위해서 사용 풀이 (MySQL & Oracle) SELECT AI.ANIMA..
[프로그래머스 SQL] 없어진 기록 찾기 카테고리 SQL - JOIN 나만의 카테고리 서브 쿼리 문제 링크 programmers.co.kr/learn/courses/30/lessons/59042 코딩테스트 연습 - 없어진 기록 찾기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 요점 OUTER_JOIN 아니면 서브쿼리도 가능하다 참고 지식 OUTER_JOIN SubQuery 풀이 (MySQL & Oracle) // WHERE 절 서브쿼리 활용 SELECT ANIMAL_ID, ..
[Kafka] 카프카 기초 - 2 1.1. Consumer과 Partition 예시 1) 파티션 4개, 컨슈머 2개 위의 그림처럼 적절한 비율로 나눠서 Consume하게 됩니다. 예시 2) 파티션 4개, 컨슈머 1개 컨슈머가 하나밖에 없으므로 하나의 Consumer가 파티션을 순차적으로 Consume 하게 됩니다. 예시 3) 파티션 4개, 컨슈머 5개 파티션보다 Consumer 개수가 많으면 남은 Consumer는 일을 하지 못합니다. 즉, Consumer 개수는 파티션보다 많으면 안된다. 1.2. Consumer 장애 상황 장애 시 리밸런싱 발생 리밸런싱 : 컨슈머의 장애 혹은 session_timeout_ms가 지나면 할당된 컨슈머 재조정 1.3. Consumer Group 컨슈머는 그룹을 지정해서 사용할 수 있다 컨슈머 그룹 단위로..
[Kafka] 카프카 기초 - 1 참조 블로그 : server-engineer.tistory.com/681 이 글은 위의 참고 영상과 그 밑의 정리해놓은 다른 블로그를 참조하며 정리한 글입니다. 제 글보다는 위의 글이 더 깔끔하다고 생각합니다... ㅎㅎ 0. 시작하며 이 글을 시작으로 꾸준히 업로드 될 카프카 시리즈 게시물은 제가 직접 카프카를 사용해 보면서 이정도만 알면 흐름정도는 알고 사용할 수 있겠구나 하는 정도로만 설명을 하고 정리를 할 예정입니다. 게시물을 끊어가는 기준은 부족한 제가 공부할 때 이해한 큰 단위 기준으로 나누게 되었습니다. 가볍게 짧은 시간에 보실 예정이라면 추천드리지만 깊게 알고싶으신 분들은 추가 검색을 권장드립니다. :) 1. Kafka 용어 정리 Broker : 카프카 서버의 단위 Topic : 사용자가 데..
[프로그래머스] 주식가격 (C++) 카테고리 스택/큐 나만의 카테고리 스택/큐, Vector 문제 링크 programmers.co.kr/learn/courses/30/lessons/42584 코딩테스트 연습 - 주식가격 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00 programmers.co.kr 요점 각각 순회해서 처리하는 편이 간단하고 효율성 테스트를 통과할 수 있다. 참고 지식 Vector (C++) 풀이 (C++) #include #include using namespace std; vector solution(vector prices) { vector ..