분류 전체보기

    Connection reset by peer 오류 해결기

    매 시간 실행되는 배치 작업 중 특정일 22:00에 java.net.SocketException: Connection reset by peer 오류와 Socket Timeout 오류가 발생했습니다. 이 문제는 일정 시간이 지나면 자연히 해결되거나, ojdbc 버전 변경으로 일시적으로 해결되었습니다 문제 상황3개의 서비스 중 A 서비스에서만 문제 발생 -> 같은 DB 참조A 서버 오류 지속 시 나머지 서비스도 영향 받음랜덤한 특정일 22:00에만 문제 발생DB 툴에서 쿼리 실행 시 정상 작동서버 재시작 후에도 문제 지속SpringBoot의 ojdbc 버전 변경할 시 일시적 문제 해결 의문점매 시간 배치도는 서비스가 총 3개이다. 각각 시스템이 다르지만 참조하는 DB는 같다. 문제가 되는 A서버는 매 시 정..

    결합 인덱스란?

    결합 인덱스란?

    1. a+b+c 결합 인덱스에서 b,c만 사용하는 경우와 a,b만 사용하는 경우의 차이가 있을까?2. and조건절은 순서대로 필터링할까? 1. 결합인덱스의 사용 의의와 특징-결합인덱스란 무엇인가?결합인덱스는 인덱스의 기준이 되는 칼럼이 2개 이상인 경우를 말한다. 토이 프로젝트만 경험한 경우, 결합인덱스의 필요성을 잘 이해하지 못할 수 있다. 예를 들어, AutoIncrement 속성을 가진 기본 키를 사용하면 충분하다고 생각할 수 있다. 하지만 실제 업무에서는 여러 칼럼을 조합하여 인덱스를 설정해야 할 필요성이 자주 발생한다.  -결합인덱스의 필요성실제 업무 환경에서는 검색 기준이 되는 칼럼이 여러 개인 경우가 많다. 예를 들어, 고객번호, 개설일, 번호라는 세 가지 칼럼이 있고, 40개의 테이블과 3..

    [코드트리 조별과제] lower, upper bound

    [코드트리 조별과제] lower, upper bound

    이진탐색 중 Lower Bound와 Upper Bound가 있다. 정렬된 배열에서 같은 값이 여러개인 경우 해당 알고리즘을 사용한다. - Lower: 같은 값들 중 가장 왼쪽에 있는 인덱스 리턴- Upper: 같은 값들 중 가장 오른쪽에 있는 값 한칸 옆에 있는 값 리턴 -> 1,2,3,3,3,4배열에서  target = 3인경우 4가 있는 위치 리턴 function lower_bound(arr, target) set left = 0 // 첫 번째 원소의 위치로 설정합니다. set right = arr.size - 1 // 마지막 원소의 위치로 설정합니다. set min_idx = arr.size // 최소이므..

    [코드트리 조별과제] Run Length 인코딩

    [코드트리 조별과제] Run Length 인코딩

    오랜만에 스택을 활용한 문제를 복습했다. 배열로 접근하다가 Map으로 풀었던 기억이 생각나서 Map으로 접근했는데 중복의 개수를 세는 문제가 아니었다. 문제가 쉽다고 대충 읽지말고 신중히 읽자

    [코드트리 조별과제] 시간복잡도

    [코드트리 조별과제] 시간복잡도

    시간 복잡도에 대해서 배웠다. 대부분 아는 이야기지만 감각으로 깨우친 내용이다. 보통 1초 내 풀려야하는데 1억번 이하로 풀어야한다는 내용을 콕 집어서 가르쳐 주지 않는다. 또한 많이 쓰는 N2 시간복자도도 입력이 100000일 경우 시간초과 나는 사실도 문제를 틀려보면서 배워서 이렇게 집어줘서 알고리즘을 막 시작하는 사람들에게 좋다.

    외래키를 "지양"해야하는가?

    개발 공부를 하면서 외래키를 지양하라는 글을 봤다. 학교수업 및 다양한 강의에서 외래키를 사용하라는 내용은 많았다. 하지만 인프런에서 강의를 듣다가 외래키를 "지양"하라는 내용은 처음 봤기 때문에 관련된 많은 내용을 찾아보고 아래와 같이 정리했다. 외래키를 지양하라는 내용의 핵심은 아래와 같다. 외래키 없이도 조인을 걸 수 있다. Insert, Update, Delete 작업시 락 경합을 유도하고 성능을 저하시킴 https://martin-son.github.io/Martin-IT-Blog/mysql/foreign%20key/performance/2022/02/28/foreign-key-Performance.html 외래키, 성능에 어떤 영향을 미칠까? 외래키 (Foreign Key)란? 외래키는 MyS..

    [JAVA 자바] 프로그래머스 PCCP 모의고사 3번 유전법칙

    https://school.programmers.co.kr/learn/courses/15008/lessons/121685 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 재귀로 풀수있는 문제다. 다른풀이보면 스택과 큐로도 풀었던데 스택과 큐로는 잘 모르겠다. 재귀로 풀때 핵심 재귀로 풀때 핵심은 주어진 세대와 인덱스[3,25]를 받아서 값이 있는 부모까지 재귀를 타고 부모의 값을 찾았다면 그에 해당하는 자식값을 리턴하는식으로 풀 수 있다. 무슨말이냐면 2세대의 인덱스가 1일때는 3을 리턴하고 2세대의 인덱스가 2일때는 4를 리턴한다고 치자. 5세대부터 재귀..

    [JAVA 자바] 프로그래머스 과제 진행하기

    https://school.programmers.co.kr/learn/courses/30/lessons/176962# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 굉장히 까다로운 구현문제다. 여러 조건들이 있고 그 조건을 하나도 빼먹으면 안 되며 문제에 정확히 명시돼있지 않더라도 예외 케이스들을 다 추가해서 구현해야 한다. 배열 VS 우선순위큐 배열을 정렬한 뒤 index를 사용해서 값을 구해도 되고 우선순위큐를 사용해도 되는데 배열을 사용할 경우 까다로운 조건문안에서 매번 index++로 인덱스를 추가관리해야 하기 때문에 우선순위큐를 사용했다. 현재 ..

    [JAVA 자바] 백준 2179

    https://www.acmicpc.net/problem/2179 2179번: 비슷한 단어 첫째 줄에 S를, 둘째 줄에 T를 출력한다. 단, 이 두 단어는 서로 달라야 한다. 즉, 가장 비슷한 두 단어를 구할 때 같은 단어는 제외하는 것이다. www.acmicpc.net 가장 먼저 떠오른 방법은 모든 문자의 모든 경우를 구하는 방법이다. 하지만 입력길이가 20000이기 때문에 N * N * 100으로 시간초과가 난다고 판단했다. 떠오른 방법은 문자를 1자리 2자리 3자리 ...N자리로 다 나누고 set에 넣어 비교하는 방식을 생각했다. S와 T를 저장해서 출력해야 하는데 이 방식은 접두사가 같은 문자를 찾아도 S를 찾을 수가 없었다. 결국은 Map에서 키로 자른문자 value로 원본문자를 넣어서 S와 T..

    도커와 도커컴포즈

    도커와 도커컴포즈

    배경 향수 추천 서비스를 사용하다가 부트캠프에서 제공하는 EC2서버가 만료됐고 도메인을 유지하고 싶어서 서버 이전 작업을 했다. 기존 서버에 설치했던 파일의 버전을 일일이 찾아서 설치하고 이후 세팅을 메모해놓은 뒤 하나하나 설치하는 게 여간 불편한 게 아니었다. 그래서 아래와 같이 여러 이슈들이 발생했다. https://tte-yeong.tistory.com/127 AWS EC2 서버 이전시 발생한 이슈들 -SQLGrammarException: could not extract Result Set 상황 부트캠프에서 제공해주는 EC2의 기간이 끝났다. 이 서버를 aws 프리티어로 옮기는 과정에서 여러 이슈들이 발생했다. 서버에서 설치한 파일, 설정한 명령어 모두를 기록해놔서 어려움이 없 tte-yeong.t..