목록예외 (5)
개발자는 기록이 답이다

프로젝트를 진행하면서 상태코드를 반환할때 ResponseEntity와 @ResponseStatus 를 동시에 사용했었는데요. 아래와 같이 PR 리뷰를 받게 되어 자세히 알아보고자 포스팅하려고 합니다. 일반적으로 REST API를 만들 때 @RestController를 사용하여 JSON 형식으로 응답을 반환합니다. 이는 프론트엔드와 API가 연동될 때 상태 코드를 전달해야 하는 이유가 있습니다. 프론트엔드는 서버로부터 받은 상태 코드를 기반으로 다음 동작을 결정하기 때문입니다. 이러한 상황에서는 ResponseEntity나 @ResponseStatus를 사용하여 상태 코드를 반환할 수 있습니다. 이 둘 간의 차이를 이해하기 위해 먼저 각각의 개념을 살펴보고, 동시에 사용할때 어떤 문제가 발생하는지 알아보겠..
Baeldung에 올라온 포스팅을 한글로 번역한 글입니다. Java의 throw 키워드는 사용자 정의 예외 혹은 내장 예외를 명시적으로 발생시키는데 사용됩니다. 하지만 때로는 catch블록에서 동일한 예외를 다시 발생시켜야 할때도 있고, 이로 인해 예외가 다시 발생합니다. 1. Rethrowing Exceptions 때로는 예외를 더 높은 수준으로 전파하기 전에 몇 가지 수행해야 할 것이 있습니다. 예를 들어 DB트랜잭션을 롤백하거나 예외를 기록하거나 이메일을 보낼 수 있습니다. catch블록에서 이러한 활동을 수행하고 예외를 다시 발생시킬 수 있습니다. 이러한 방식으로 시스템에서 예외가 발생했음을 상위레벨에 알립니다. 예시를 들어보면, 아래 코드에서는 동일한 예외가 다시 발생합니다. 그리고 오류 메세지..

프로젝트를 하면서 회원가입 시 요청 값에 대한 검증과 예외 처리를 어떻게 할지 여러 방법을 생각해봤습니다. 요청 값을 검증하는 방법으로 4가지가 있습니다. Argument Resolver 사용 Assert 단언문을 사용한 검증 메소드 Bean Validation 사용 커스텀 어노테이션 사용 회원 가입 로직은 아래와 같습니다. 1. 회원가입 요청 값에 대한 요구사항 이메일 공백이거나 null일 수 없다 이메일 형식이어야 한다 비밀번호 공백이거나 null일 수 없다 영단어 소문자, 숫자 조합으로 각각 1개 이상 포함되어야 한다 범위는 8자~13자 이내여야 한다 생년월일 공백이거나 null일 수 없다 YYYY-MM-DD 형식이어야 한다 이름 공백이거나 null일 수 없다 핸드폰 번호 공백이거나 null일 수..

ALU와 제어장치가 어떤 정보를 내보내고 받아들이는지를 중심으로 두 장치의 역할을 학습하자. 또한, 레지스터를 통해 명령어가 처리되는 과정과 CPU가 하나의 명령어를 처리하는 사이클과 그 흐름을 방해하는 인터럽트에 대해 알아보자. ALU(계산하는 부품) 1+2를 계산할 때 1과 2라는 피연산자와 더하기라는 수행할 연산이 필요하듯, ALU가 계산을 하기 위해 피연산자와 수행할 연산이 필요하다. ALU가 받아들이는 정보 피연산자 제어신호 레지스터를 통해 피연산자를 받아들이고, 제어장치로부터 수행할 연산을 알려주는 제어 신호를 받아들인다. ALU는 레지스터와 제어장치로부터 받아들인 피연산자와 제어 신호를 산술 연산, 논리 연산 등 다양한 연산을 수행한다. ALU가 내보내는 정보 결과값 플래그 연산을 수행한 결..