본문 바로가기

기록

(96)
[ORACLE] 조건절 부등호 검색 비교 https://okky.kr/articles/436919 OKKY - 오라클 조건절 부등호사용할때 속도문의 테이블 A가 있습니다A테이블의 날짜가 들어있는 한컬럼에 10년치 데이터를 가져오려고 조회조건이 걸려있는상태입니다.그래서 튜닝을 해보려고 이것저것만져보다가 조건타입을 바꿔봤는데 속 okky.kr 오라클 환경에서 쿼리를 조회할때 조건절에 NOT IN과 부등호를 사용하는 방법 중 고민하게 됐다. NOT IN은 OUTER JOIN을 사용해서 null이 많을 때 효과적이라 부등호를 사용하게 되었다. 처음 작성한 쿼리는 다음과 같다. SELECT T1.COLUMN FROM TBL1 T1, TBL T2 WHERE 1 = 1 -- 추가 조건 AND T1.COLUMN2 > '100' ; COLUMN2는 VARCHA..
[Programmers][Java] 소수 만들기 https://programmers.co.kr/learn/courses/30/lessons/12977?language=java 코딩테스트 연습 - 소수 만들기 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 programmers.co.kr 배열 내의 숫자를 임의로 3개를 뽑아 소수가 되는지 확인하는 작업이다. (중복 허용하지 않음) 따라서 이 문제를 배열 내 숫자 중 3개를 조합으로 뽑고, 소수를 판별하는 부분으로 나누어 풀었다. package com.company; import java.lang.reflect.Array; import java.util..
[Programmers][Java] 실패율 https://programmers.co.kr/learn/courses/30/lessons/42889 코딩테스트 연습 - 실패율 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스 programmers.co.kr import java.util.*; public class Main { public static void main(String[] args) { int N = 5; //스테이지 수 int[] stages = {2, 1, 2, 6, 2, 4, 3, 3}; //도전중인 스테이지 번호 //스테이지 당 클리어한 사람 기록 int[] clear = new int[N + ..
[MyBatis] [Error] Cause: java.lang.IndexOutOfBoundsException [문제상황] Mybatis를 사용하여 데이터베이스에서 데이터를 가져오는 과정에서 에러가 발생했다. Cause: java.lang.IndexOutOfBoundsException: Index 4 out of bounds for length 4 문제 상황을 보면 배열을 사용할 때 나타나는 오류와 비슷한데... 동적으로 크기 계산을 하고 있기 때문에 에러를 어디서 체크해야할지 고민했다. [해결 방법] 결과적으로 원인은 모델 객체였다. 내 모델은 @Builder를 사용하고 있는데, Mybatis에서 객체를 매핑할때 resultMap로 리턴하는데 Mybatis에서 미리 인스턴스를 생성한다. 그런데 모델 클래스에 모든 인자가 필요한 생성자밖에 없어서 문제가 생기는 것이다. 그래서 필요한 인자가 없다면 객체 수에 따라..
[Oracle][SQL][Error] ORA-00911: 문자가 부적합합니다 문제상황 java.sql.SQLSyntaxErrorException: ORA-00911: 문자가 부적합합니다 Mybatis로 연동하여 쿼리를 실행하는 과정에서 문제가 발생했다. 문제해결 MyBatis에 작성한 쿼리에 ;(세미콜론)이 포함되어 있었다. 해당 구문에서 세미콜론을 제거하면 해결된다.
[bootstrap][spring] bootstrap net::ERR_ABORTED 404 해결 문제상황 bootstrap 무료 파일을 다운받아 static 폴더 아래에 넣고 실행 중에 bootstrap net::ERR_ABORTED 404 에러가 발생했다. 원인은 bootstrap 파일이 static 폴더 아래에 있는데, spring의 기본 폴더가 static으로 되어 있기 때문에 html 내 bootstrap 경로를 포함시킬 때 static을 포함시켜서 에러가 나는 경우이다. 위와 같이 static을 제거하고 static 이하부터 경로를 기재해주면 에러가 나지 않고 정상적으로 동작한다.
[Java] Builder 패턴 Builder 패턴 생성자를 사용하다 보면 많은 파라미터들을 할당해야할 때가 있다. 파라미터를 할당하는 과정에서 우리는 총 세가지 방법을 사용할 수 있다. 점층적 생성자 패턴 자바 빈즈 패턴 빌더 패턴 점층적 생성자 패턴 필수 매개변수만 받는 생성자, 선택 매개변수를 n개까지 받는 생성자를 하나씩 생성한다. 그리고 필요에 따라 해당하는 생성자를 호출하여 사용하는 방식이다. 불가능한 방법은 아니지만, 실제 사용하기에 의미를 파악하기도 어렵고, 클라이언트 코드를 작성하거나 읽기 어려운 단점이 생긴다. 이 단점을 보완하기 위해 자바 빈즈 패턴이 등장했다. 자바 빈즈 패턴 매개변수가 없는 생성자로 객체를 먼저 만들고, setter 메소드로 매개변수의 값을 설정하는 방식이다. 인스턴스를 만들기 쉽고, 읽기에도 훨..
[카카오] 신고 결과 받기 https://programmers.co.kr/learn/courses/30/lessons/92334 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr 지난 카카오 신입 공채 문제였다. 당시에 나도 도전했으나 몇개 시간초과로 제출했던 기억이 있어서 다시 풀어봤다. 조금 고민을 해보고 몇가지 힌트를 얻어서 다시 풀어서 성공했다. 문제에서 중복으로 신고를 받지 않는 부분에 주목하여 HashSet을 이용하여 문제를 해결했다. 원래는 해시에 String이나 Integer타입으로만 풀이를 적용했더니 시간초과가 발..

LIST