코트카타
36) 문자열 다루기 기본
나의 풀이
class Solution {
public boolean solution(String s) {
boolean answer = false;
if(s.length()==4 || s.length()==6){
if(s.matches("\\d+") ){
answer = true;
}
}
return answer;
}
}
기본값을 false로 두고
문자열 s의 길이가 4이거나 6일 때
정규식으로 숫자일 경우에만 true를 갖도록 했다.
다른 분들의 풀이
class Solution {
public boolean solution(String s) {
if(s.length() == 4 || s.length() == 6){
try{
int x = Integer.parseInt(s);
return true;
} catch(NumberFormatException e){
return false;
}
}
else return false;
}
}
출처:https://school.programmers.co.kr/learn/courses/30/lessons/12918/solution_groups?language=java
try catch문을 사용하신 점이 인상적이었다.
레벨이 올라가면서 점점 다양한 것 활용을 도전해봐야겠다.
스탠다드반 세션
[Spring 5기] 데이터베이스 연관관계 매핑
아직 JPA를 공부하지 않아서 다음에 복습해야 되겠다.
일정관리 과제
도전
Lv 5. 예외 발생 처리
선택한 일정 정보를 조회할 수 없을 때 예외가 발생합니다.
- 잘못된 정보로 조회하려고 할 때
- 이미 삭제된 정보를 조회하려고 할 때 - soft delete 사용
테이블에 deleted 컬럼 추가 -> entity 클래스에 deleted 필드 추가
-> 삭제 시, delete문 대신 update문 사용(deleted 컬럼 값을 false -> true로 수정)
-> 조회 시, deleted = false인 값만 조회
2025-02-03T10:08:51.582+09:00 ERROR 2401 --- [schedule] [nio-8080-exec-3] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: org.springframework.dao.EmptyResultDataAccessException: Incorrect result size: expected 1, actual 0] with root cause
@Override
public ScheduleResponseDto findScheduleById(Long scheduleId) {
try{
boolean deleted = scheduleRepository.validateDeleted(scheduleId);
if (deleted){
throw new ApplicationException(ErrorMessageCode.NOT_FOUND,
List.of(new ApiError("deleted", "이미 삭제된 정보입니다. 다시 입력하세요")));
}
Schedule schedule = scheduleRepository.findScheduleByIdOrElseThrow(scheduleId);
return new ScheduleResponseDto(schedule);
} catch (EmptyResultDataAccessException e) {
throw new ApplicationException(ErrorMessageCode.NOT_FOUND,
List.of(new ApiError("id", "잘못된 정보입니다. 다시 입력하세요")));
}
}
Spring 에서 queryForObject()을 사용할 때,
결과값이 1 이어야 하는데 실제 결과값은 0 일때 다음과 같은 에러가 발생한다.
따라서 try- catch문으로 감싸서 예외처리 했다.
출처 : https://coderanch.com/t/468501/frameworks/handling-simpleJdbcTemplate-error
처음 막막했던 것에 비해
내가 생각했던 나의 한계에 비해
더 도전했고, 노력했다.
그래서 더 스스로가 자랑스러운 시간이었다.
'CODING > 스파르타 내일배움캠프 TIL' 카테고리의 다른 글
일정관리 개인과제 관련 트러블슈팅 TIL 모음 (0) | 2025.02.03 |
---|---|
33_부족한 금액 계산하기_스탠다드 DI, IoC_일정관리 과제 Lv 4,5,6 일부 구현완료_25.1.31(금) (0) | 2025.01.31 |
32_문자열 내림차순으로 배치하기_일정관리 과제 Lv 3 구현완료_25.1.27(월) (0) | 2025.01.27 |
31_약수의 개수와 덧셈_일정관리 과제 Lv 1,2 구현완료_25.1.24(금) (0) | 2025.01.24 |
30_내적_키오스크 과제 피드백_Spring 입문 6주차_일정관리 과제 Lv 0,1 구현중_25.1.23(목) (1) | 2025.01.23 |