
@ExceptionHandler controller 계층에서 발생하는 에러를 잡아서 메서드로 처리해주는 기능이다. Service와 Repository에서 발생하는 에러는 제외한다. @ControllerAdvice @Controller와 handler에서 발생하는 에러들을 모두 잡아주는 역할을 한다. @ControllerAdvice 안에 @ExceptionHandler가 있어서 에러를 잡는다. @ControllerAdvice는 모든 에러를 잡기 때문에 일부 에러만 처리하고 싶을 경우에는 따로 설정을 해준다. // 1. @ControllerAdvice(annotations = RestController.class) public class ExampleAdvice1 {} // 2. @ControllerAdvi..

ResponseEntity 1) Spring에서 제공하는 클래스 중 HttpEntity라는 클래스가 존재하는데 이것은 HttpHeader와 HttpBody를 포함하는 클래스이다. 2) HttpEntity 클래스를 상속받아 구현한 클래스가 RequestEntity와 ResponseEntity 클래이다. 3) ResponseEntity는 사용자의 HttpRequest에 대한 응답 데이터를 포함하는 클래스이다. Custom Exception - 상세한 예외 정보를 제공할 수 있다. - Enum과 함께 사용하여 예외에 대한 응집도를 높을 수 있다.

Logback이란? - 자바 오픈소스 로깅 프레임워크로 slf4j의 구현체 - 스프링 부트 기본으로 설정되어 있어서 사용시 별도의 라이브러리를 추가하지 않아도 된다. - spring-boot-start-web 안에 spring-boot-starter-logging 구현체가 있다. - 로깅을 수행하기 위해 필요한 주요 설정 요소 3가지는 Logger, Appender, Encdoer가 있다. Logback 기본 설정 logback-spring.xml을 resources 디렉토리에 만들어서 참조 1) classpath에 logback-spring.xml이 있으면 설정파일을 읽어간다. 2) logback-spring.xml이 없으면 .yml의 설정을 읽어간다. 3) logback-spring.xml과 .yml..

Entity(엔티티) 데이터베이스에 쓰일 필드와 여러 엔티티간 연관관계를 정의하는 역할을 한다. 테이블에 대응하는 하나의 클래스 Repository(저장소) Entity에 의해 생성된 DB에 접근하는 메소드들을 사용하기 위한 인터페이스 MVC 패턴에서 Model에 해당하는 부분으로 Persistence Layer와 1:1 매칭이 가능하다. 기본 storage에 접근하기 위해 DAO를 사용할 수 있고 도메인 개체에 가까운 상위 개념이다. Controller(컨트롤러) View에서 Client의 요청을 받아 흐름 제어를 통해 Model에서 필요한 데이터를 호출하여 View에 다시 반환한다. Service(서비스) DAO가 DB에서 받아온 데이터를 전달받아 가공하는 비즈니스 로직으로 Controller의 부담..
@RequestParam spring MVC에서 쿼리 스트링 정보를 쉽게 가져올 수 있음 - required = false와 같이 required 속성을 추가하면 해당 필드가 쿼리스트링에 존재하지 않아도 예외가 발생하지 않는다. - required = true와 같은 속성을 추가하면 해당 필드가 쿼리스트링에 존재하지 않을 때 예외가 발생하도록 한다. - defaultValue는 파라미터 값이 없을 경우 기본으로 들어갈 값을 지정해주는 것이다. User Agent HTTP 요청을 보내는 디바이스와 브라우저 등 사용자 s/w의 식별 정보를 담고 있는 request header의 한 종류이다. 임의로 수정될 수 없는 값이고 보통 HTTP 요청 에러가 발생했을 때 요청을 보낸 사용자 환경을 알아보기 위해 사용한..

* HomeBrew를 설치 한 후 시작합니다. 출처: https://parkjh7764.tistory.com/196 설치할 수 없다고 뜨는 경우 해주어야 할 것! 명령어로 rosetta 설치 // 1. 라이센스 동의 필요 softwareupdate --install-rosetta // 2. 라이선스 자동 동의 /usr/sbin/softwareupdate --install-rosetta --agree-to-license 4. JDK 설치 확인하기 java -version 5. 환경변수 설정 for zshrc vi ~/.zshrc => i를 눌러 입력모드를 활성화 한 후 아래 명령어 복사 붙여넣기 export JAVA_HOME="/Library/Java/JavaVirtualMachines/adoptopenj..

출처: https://velog.io/@twentizz20/Homebrew-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0 Homebrew 설치하기 (M2 맥북 에어) homebrew 설치 및 에러 해결 방법 velog.io 1. 명령어 입력1 ~% /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 2. 명령어 입력2 ~% echo 'eval $(/opt/homebrew/bin/brew shellenv)' >> /Users/본인 홈 이름/.zprofile ~% eval $(/opt/homebrew/bin/brew shellenv) 3. homebrew 설치 확인 ~..

BOM, Browser Object Model 브라우저 객체 모델(BOM)은 문서 객체 모델(DOM)과는 달리 W3C의 표준 객체 모델은 아닙니다. 하지만 이 모델은 자바스크립트가 브라우저의 기능적인 요소들을 직접 제어하고 관리할 방법을 제공해 줍니다. 자바스크립트에서는 이러한 BOM 모델의 객체들을 전역 객체(global object)로 사용할 수 있습니다. Window 객체 웹 브라우저의 창(window)을 나타내는 객체로, 대부분의 웹 브라우저에서 지원하고 있습니다. 자바스크립트의 모든 객체, 전역 함수, 전역 변수들은 자동으로 window 객체의 프로퍼티가 됩니다. Location 객체 현재 브라우저에 표시된 HTML 문서의 주소를 얻거나, 브라우저에 새 문서를 불러올 때 사용할 수 있습니다. 이..