[프로그래머스] 입양 시각 구하기(1) 문제 설명 ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물 종, 입양일, 이름, 성별 및 중성화 여부를 나타냅니다. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME DATETIME FALSE NAME VARCHAR(N) TRUE SEX_UPON_OUTCOME VARCHAR(N) FALSE 보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알..
Backend
ORACLE, MYSQL 날짜에서 각 값들을 추출하기 🧐 서론 프로그래머스의 입양 시간 구하기(1) 문제로 DATETIME 컬럼의 값에서 시간만 추출해서 데이터를 처리해야 하는 문제였습니다. 이 문제를 풀려면 DATETIME의 값을 시간을 추출하는 방법을 알아야 했으며, 이번 기회에 전체적으로 한번 알아보자고 느꼈습니다. 근데 큰 문제는 ORACLE과 MYSQL과 추출방법이 다르다는 점입니다. 아래에서 각자 살펴보도록 하겠습니다. 모든 테스트는 저 위의 프로그래머스 문제를 기준으로 합니다.(프로그래머스 문제를 직접 실행해 값을 살펴보도록 하겠습니다. 아래의 사진처럼 데이터가 있습니다.(아래 사진보다 더 많은 데이터가 있습니다.) 보기 편하도록 GROUP BY, ORDER BY를 사용합니다. MySQL 개..
[프로그래머스] 중복 제거하기 문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME DATETIME FALSE INTAKE_CONDITION VARCHAR(N) FALSE NAME VARCHAR(N) TRUE SEX_UPON_..
[프로그래머스] 동물 수 구하기 문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME DATETIME FALSE INTAKE_CONDITION VARCHAR(N) FALSE NAME VARCHAR(N) TRUE SEX_UPON..
[프로그래머스] 최소값 구하기 문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME DATETIME FALSE INTAKE_CONDITION VARCHAR(N) FALSE NAME VARCHAR(N) TRUE SEX_UPON_..
[프로그래머스] 동명 동물수 찾기 문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME DATETIME FALSE INTAKE_CONDITION VARCHAR(N) FALSE NAME VARCHAR(N) TRUE SEX_UPO..
[프로그래머스] 고양이와 개는 몇 마리 있을까 문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME DATETIME FALSE INTAKE_CONDITION VARCHAR(N) FALSE NAME VARCHAR(N) TRUE ..
Spring Boot Welcome Page 서론 Spring Boot supports both static and templated welcome pages. It first looks for an index.html file in the configured static content locations. If one is not found, it then looks for an index template. If either is found, it is automatically used as the welcome page of the application. 위의 spring boot docs에 따르면 static폴더의 index.html을 찾아 맨 처음 /(루트) view(Welcome Page)로 지정..
Overloading(오버로딩) VS Overriding(오버라이딩) 서론 Java 개발자로 면접 볼 시 문제로 많이 나오는 개념으로써, 자주 사용하지만 이름과 개념에 대해 정확한 정리가 없어 이야기 하기가 힘들때가 있어서 이번 기회에 정리를 해보려고 합니다. 이 두개는 다형성을 지원하기 위해 나왔습니다. Overloading(오버로딩) 함수 오버로드(영어: Function overloading)는 다양한 에이다(Ada), C#, C++, 자바(Java) 등의 다양한 프로그래밍 언어에서 사용되는 함수의 특징으로, 같은 함수 이름을 가지고 있으나 매개변수, 리턴타입 등의 특징은 다른 여러개의 서브프로그램 생성을 가능하게 한다. (C언어는 지원하지 않는다) - 위키 백과 간단한 정리 같은 이름의 메소드를 여..
WebClient VS RestTemplate RestTemplate이란? Spring은 오랫동안 웹 클라이언트 추상화로 RestTemplate을 제공하고 있었습니다. 내부적으로 RestTemplate은 요청 당 스레드 모델을 기반으로 하는 Java Servlet API를 사용합니다. 이 의미는 웹 클라이언트가 응답을 받을 때 까지 스레드가 차단되는데, 여기서 문제점은 각각의 스레드가 일정량의 메모리와 CPU를 사용합니다. 이때, 결과를 기다리는 느린 서비스를 기다리는 수신 요청이 많다고 한다면 요청이 쌓이고 많은 스레드를 생성해서 스레드 풀을 소모하거나 사용 가능한 모든 메모리를 차지하게 될 것입니다. 또한 빈번한 Context Switch을 통해 성능 저하가 발생할 수 있습니다. 가장 쉽게 생각하면 ..