전체 글 96

Spring 심화 주차 개인 과제 - Trouble Shooting

1. 개요JAVA Spring 에 대하여 좀 더 깊이 공부하고자 Code 분석 및 Test Code, Logging 등 실습을 통해 기능 구현 2. 과정● Code 개선 ▶ N+1 문제 해결 ▶ 테스트코드 연습 ▶ API 로깅 ( Interceptor, AOP ) 3. Trouble shooting● API 로깅 ( AOP ) - 설정 방법이 2가지!! ◎ 원인 : AOP 같은 경우에는 Spring Boot 에서 의존성을 추가해 자동으로 로직에 적용되는 경우가 있으며 다른 경우에서는 코드 내에서 AOP 적용할 부분을 정의 ( 예 : @Aspect ) 하는 것이 있습니다. 큰 틀은 결국은 의존성을 따로 해줘야지만 호환성이나 버젼에 따라 @EnableAspectJAutoProxy 해당 어노테이션을 설정..

Sparta/Task 2025.04.21

Spring 심화 주차 개인 과제

1. 개요제시된 기능 이외 제가 정의한 문제와 해결 과정을 정리하려고 만들어 봤습니다. 2. 문제 인식 및 정의- 패스워드 변경 시에는 정규식 패턴을 넣는데 처음 생성할 때는 값이 비어있지만 않으면 된다는 부분에서 문제가 있다는 것을 느끼게 되어 문제점이라고 인식하게 되었습니다. 3. 해결 완료- 처음 생성시에도 정규식 패턴을 넣어 유저가 중간에 비밀번호를 추후에 비밀번호가 변경이 되더라도 사용자가 이상함을 감지하지 않도록 설정

Sparta/Task 2025.04.18

보호소에서 중성화한 동물

보호소에서 중성화 수술을 거친 동물 정보를 알아보려 합니다. 보호소에 들어올 당시에는 중성화 되지 않았지만, 보호소를 나갈 당시에는 중성화된 동물의 아이디와 생물 종, 이름을 조회하는 아이디 순으로 조회하는 SQL 문을 작성해주세요.SELECT AO.ANIMAL_ID,AO.ANIMAL_TYPE, AO.NAMEFROM ANIMAL_INS AILEFT JOIN ANIMAL_OUTS AO ON AI.ANIMAL_ID = AO.ANIMAL_IDWHERE AI.SEX_UPON_INTAKE LIKE "%Intact%" AND AO.SEX_UPON_OUTCOME NOT LIKE "%Intact%"ORDER BY 1

일정( Calendar_CRUD ) Trouble Shooting

1. 개요JAVA Spring 시작!Schedule_CRUD Upgrade! 더 많은 기능을 넣어 구현을 해보았습니다.!!    2. 과정● 유저 CRUD ▶ 일정 CRUD ▶ 로그인 기능 ▶ 예외 처리 ◎ exception : 오류 처리 및 응답 관리 🚨 ○ CustomException: 애플리케이션에서 발생할 수 있는 오류를 정의하고, 해당 오류를 클라이언트에 전달하는 커스텀 예외 클래스○ ErrorCode: 애플리케이션에서 발생할 수 있는 여러 가지 오류 코드와 그에 대한 메시지를 정의하는 Enum 클래스○ ErrorResponseDto: 오류 발생 시 클라이언트에게 반환되는 오류 응답의 형식을 정의하는 객체입니다○ GlobalExceptionHandler: 전역 예외 처리 클래스입니다. 이 클래..

Sparta/Task 2025.04.04

있었는데요 없었습니다

관리자의 실수로 일부 동물의 입양일이 잘못 입력되었습니다. 보호 시작일보다 입양일이 더 빠른 동물의 아이디와 이름을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 시작일이 빠른 순으로 조회해야합니다.SELECT AI.ANIMAL_ID, AI.NAMEFROM ANIMAL_INS AILEFT JOIN ANIMAL_OUTS AO ON AI.ANIMAL_ID = AO.ANIMAL_IDWHERE AI.DATETIME > AO.DATETIMEORDER BY AI.DATETIME

카테고리 별 도서 판매량 집계하기

다음은 어느 한 서점에서 판매중인 도서들의 도서 정보 (BOOK),  판매 (BOOK_SALES) 정보 테이블입니다. 2022년 1월 의 카테고리 별 도서 판매량을 합산하고, 카테고리 (CATEGORY),  총 판매량 (TOTAL_SALES)  리스트를 출력하는 SQL문을 작성해주세요.결과는 카테고리명을 기준으로 오름차순 정렬해주세요.SELECT B.CATEGORY, SUM(S.SALES) TOTAL_SALESFROM BOOK BLEFT JOIN BOOK_SALES S ON B.BOOK_ID = S.BOOK_IDWHERE YEAR(S.SALES_DATE) = 2022 AND MONTH(S.SALES_DATE) = 01GROUP BY 1ORDER BY 1

없는 숫자 더하기

0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers 가 매개변수로 주어집니다. numbers 에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요.나의 풀이class Solution { public int solution(int[] numbers) { int answer = 45; for (int num : numbers){ answer -= num; } return answer; }}다른 풀이import java.util.Arrays;class Solution { public int solution(int[] numbers) { ..

오랜 기간 보호한 동물

ANIMAL_INS  테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다.ANIMAL_OUTS 테이블의 ANIMAL_ID 는 ANIMAL_INS의 ANIMAL_ID 의 외래 키입니다.아직 입양을 못 간 동물 중, 가장 오래 보호소에 있었던 동물 3마리의 이름과 보호 시작일을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 시작일 순으로 조회해야 합니다.SELECT AI.NAME, AI.DATETIMEFROM ANIMAL_INS AILEFT JOIN ANIMAL_OUTS AO on AI.ANIMAL_ID = AO.ANIMAL_IDWHERE AO.ANIMAL_ID is nullORDER BY AI.DAT..

자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기

CAR_RENTAL_COMPANY_CAR  테이블에서 '통풍시트', '열선시트', '가죽시트' 중 하나 이상의 옵션이 포함된 자동차가 자동차 종류 별로 몇 대인지 출력하는 SQL문을 작성해주세요. 이때 자동차 수에 대한 컬럼명은 CARS로 지정하고, 결과는 자동차 종류를 기준으로 오름차순 정렬해주세요.SELECT CAR_TYPE,COUNT (*) CARSFROM CAR_RENTAL_COMPANY_CARWHERE OPTIONS LIKE "%열선시트%" OR OPTIONS LIKE "%통풍시트%" OR OPTIONS LIKE "%가죽시트%" GROUP BY 1ORDER BY 1